Red Hat Training

A Red Hat training course is available for Red Hat Fuse

10.5. AWS-EC2

EC2 Component

Available as of Camel 2.16
The EC2 component supports create, run, start, stop and terminate AWS EC2 instances.
Note
You must have a valid Amazon Web Services developer account, and be signed up to use Amazon EC2. More information are available at Amazon EC2.

URI Format

aws-ec2://label[?options]
You can append query options to the URI in the following format, ?options=value&option2=value&...

URI Options

Name
Default Value
Context
Description
amazonEc2Client
null
Producer
Reference to a com.amazonaws.services.ec2.AmazonEC2Client in the Registry.
accessKey
null
Producer
Amazon AWS Access Key
secretKey
null
Producer
Amazon AWS Secret Key
amazonEc2Endpoint
null
Producer
The region with which the AWS-EC2 client wants to work with.
operation
null
Producer
Valid values are createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances and unmonitorInstances
proxyHost
null
Producer
Camel 2.16: Specify a proxy host to be used inside the client definition.
proxyPort
null
Producer
Camel 2.16: Specify a proxy port to be used inside the client definition.
Note
You have to provide the amazonEc2Client in the Registry or your accessKey and secretKey to access the Amazon EC2 service.

Message headers evaluated by the EC2 producer

Header
Type
Description
CamelAwsEC2ImageId
String
An image ID of the AWS marketplace
CamelAwsEC2InstanceType
com.amazonaws.services.ec2.model.InstanceType
The instance type we want to create and run
CamelAwsEC2Operation
String
The operation we want to perform
CamelAwsEC2InstanceMinCount
Int
The mininum number of instances we want to run.
CamelAwsEC2InstanceMaxCount
Int
The maximum number of instances we want to run.
CamelAwsEC2InstanceMonitoring
Boolean
Define if we want the running instances to be monitored
CamelAwsEC2InstanceEbsOptimized
Boolean
Define if the creating instance is optimized for EBS I/O.
CamelAwsEC2InstanceSecurityGroups
Collection
The security groups to associate to the instances
CamelAwsEC2InstancesIds
Collection
A collection of instances IDS to execute start, stop, describe and terminate operations on.

Dependencies

Maven users will need to add the following dependency to their pom.xml.
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-aws</artifactId>
    <version>${camel-version}</version>
</dependency>
where ${camel-version} must be replaced by the actual version of Camel (2.16 or higher).