camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From acosent...@apache.org
Subject [6/6] camel git commit: Added AWS components docs to gitbook
Date Tue, 26 Jan 2016 10:39:52 GMT
Added AWS components docs to gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3437b3ed
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3437b3ed
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3437b3ed

Branch: refs/heads/master
Commit: 3437b3ed7e6db320d860ec54f0bec9a225b166f7
Parents: 3f7da0f
Author: Andrea Cosentino <ancosen@gmail.com>
Authored: Tue Jan 26 11:37:55 2016 +0100
Committer: Andrea Cosentino <ancosen@gmail.com>
Committed: Tue Jan 26 11:38:17 2016 +0100

----------------------------------------------------------------------
 components/camel-aws/src/main/docs/aws-cw.adoc  | 165 +++++++++
 components/camel-aws/src/main/docs/aws-ddb.adoc | 348 +++++++++++++++++++
 .../camel-aws/src/main/docs/aws-ddbstream.adoc  | 171 +++++++++
 components/camel-aws/src/main/docs/aws-ec2.adoc | 122 +++++++
 .../camel-aws/src/main/docs/aws-kinesis.adoc    | 147 ++++++++
 components/camel-aws/src/main/docs/aws-s3.adoc  | 264 ++++++++++++++
 components/camel-aws/src/main/docs/aws-sdb.adoc | 236 +++++++++++++
 components/camel-aws/src/main/docs/aws-ses.adoc | 167 +++++++++
 components/camel-aws/src/main/docs/aws-sns.adoc | 153 ++++++++
 components/camel-aws/src/main/docs/aws-sqs.adoc | 258 ++++++++++++++
 components/camel-aws/src/main/docs/aws-swf.adoc | 248 +++++++++++++
 components/camel-aws/src/main/docs/aws.adoc     |  35 ++
 docs/user-manual/en/SUMMARY.md                  |  12 +
 13 files changed, 2326 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-cw.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-cw.adoc b/components/camel-aws/src/main/docs/aws-cw.adoc
new file mode 100644
index 0000000..09b1cba
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-cw.adoc
@@ -0,0 +1,165 @@
+[[AWS-CW-CWComponent]]
+CW Component
+~~~~~~~~~~~~
+
+*Available as of Camel 2.11
+
+The CW component allows messages to be sent to an
+http://aws.amazon.com/cloudwatch/[Amazon CloudWatch] metrics. The
+implementation of the Amazon API is provided by
+the http://aws.amazon.com/sdkforjava/[AWS SDK].
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon CloudWatch. More information are available at
+http://aws.amazon.com/cloudwatch/[Amazon CloudWatch].
+
+[[AWS-CW-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+----------------------------
+aws-cw://namespace[?options]
+----------------------------
+
+The metrics will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+`?options=value&option2=value&...`
+
+[[AWS-CW-URIOptions]]
+URI Options
+^^^^^^^^^^^
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonCwClient |`null` |Producer |Reference to a `com.amazonaws.services.cloudwatch.AmazonCloudWatch` in
+the link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|name |`null` |Producer |The metric name which is used if the message header
+'CamelAwsCwMetricName' is not present.
+
+|value |`1.0` |Producer |The metric value which is used if the message header
+'CamelAwsCwMetricValue' is not present.
+
+|unit |`Count` |Producer |The metric unit which is used if the message header
+'CamelAwsCwMetricUnit' is not present.
+
+|namespace |`null` |Producer |The metric namespace which is used if the message header
+'CamelAwsCwMetricNamespace' is not present.
+
+|timestamp |`null` |Producer |The metric timestamp which is used if the message header
+'CamelAwsCwMetricTimestamp' is not present.
+
+|amazonCwEndpoint |`null` |Producer |The region with which the AWS-CW client wants to work with.
+
+|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.
+|=======================================================================
+
+Required CW component options
+
+You have to provide the amazonCwClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/cloudwatch/[Amazon's CloudWatch].
+
+[[AWS-CW-Usage]]
+Usage
+^^^^^
+
+[[AWS-CW-MessageheadersevaluatedbytheCWproducer]]
+Message headers evaluated by the CW producer
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsCwMetricName` |`String` |The Amazon CW metric name.
+
+|`CamelAwsCwMetricValue` |`Double` |The Amazon CW metric value.
+
+|`CamelAwsCwMetricUnit` |`String` |The Amazon CW metric unit.
+
+|`CamelAwsCwMetricNamespace` |`String` |The Amazon CW metric namespace.
+
+|`CamelAwsCwMetricTimestamp` |`Date` |The Amazon CW metric timestamp.
+
+|`CamelAwsCwMetricDimensionName` |`String` |*Camel 2.12:* The Amazon CW metric dimension name.
+
+|`CamelAwsCwMetricDimensionValue` |`String` |*Camel 2.12:* The Amazon CW metric dimension value.
+
+|`CamelAwsCwMetricDimensions` |`Map<String, String>` |*Camel 2.12:* A map of dimension names and dimension values.
+|=======================================================================
+
+[[AWS-CW-AdvancedAmazonCloudWatchconfiguration]]
+Advanced AmazonCloudWatch configuration
++++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonCloudWatch` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+-------------------------------------------------
+from("direct:start")
+.to("aws-cw://namepsace?amazonCwClient=#client");
+-------------------------------------------------
+
+The `#client` refers to a `AmazonCloudWatch` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonCloudWatch client = new AmazonCloudWatchClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+------------------------------------------------------------------------------------------
+
+[[AWS-CW-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.10 or higher).
+
+[[AWS-CW-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ddb.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ddb.adoc b/components/camel-aws/src/main/docs/aws-ddb.adoc
new file mode 100644
index 0000000..ff3a1f1
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ddb.adoc
@@ -0,0 +1,348 @@
+[[AWS-DDB-DDBComponent]]
+DDB Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.10*
+
+The DynamoDB component supports storing and retrieving data from/to
+http://aws.amazon.com/dynamodb[Amazon's DynamoDB] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon DynamoDB. More information are available at
+http://aws.amazon.com/dynamodb[Amazon DynamoDB].
+
+[[AWS-DDB-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-ddb://domainName[?options]
+------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-DDB-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonDDBClient |`null` |Producer |Reference to a `com.amazonaws.services.dynamodb.AmazonDynamoDB` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|amazonDdbEndpoint |`null` |Producer |The region with which the AWS-DDB client wants to work with.
+
+|tableName |`null` |Producer |The name of the table currently worked with.
+
+|readCapacity |`0` |Producer |The provisioned throughput to reserve for reading resources from your
+table
+
+|writeCapacity |`0` |Producer |The provisioned throughput to reserved for writing resources to your
+table
+
+|consistentRead |`false` |Producer |Determines whether or not strong consistency should be enforced when
+data is read.
+
+|operation |`PutAttributes` |Producer |Valid values are BatchGetItems, DeleteItem, DeleteTable, DescribeTable,
+GetItem, PutItem, Query, Scan, UpdateItem, UpdateTable.
+
+|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.
+|=======================================================================
+
+Required DDB component options
+
+You have to provide the amazonDDBClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/dynamodb[Amazon's DynamoDB].
+
+[[AWS-DDB-Usage]]
+Usage
+^^^^^
+
+[[AWS-DDB-MessageheadersevaluatedbytheDDBproducer]]
+Message headers evaluated by the DDB producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbBatchItems` |`Map<String, KeysAndAttributes>` |A map of the table name and corresponding items to get by primary key.
+
+|`CamelAwsDdbTableName` |`String` |Table Name for this operation.
+
+|`CamelAwsDdbKey` |`Key` |The primary key that uniquely identifies each item in a table. *From Camel 2.16.0 the type of this header is Map<String,
+AttributeValue> and not Key*
+
+|`CamelAwsDdbReturnValues` |`String` |Use this parameter if you want to get the attribute name-value pairs
+before or after they are modified(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW,
+UPDATED_NEW).
+
+|`CamelAwsDdbUpdateCondition` |`Map<String, ExpectedAttributeValue>` |Designates an attribute for a conditional modification.
+
+|`CamelAwsDdbAttributeNames` |`Collection<String>` |If attribute names are not specified then all attributes will be
+returned.
+
+|`CamelAwsDdbConsistentRead` |`Boolean` |If set to true, then a consistent read is issued, otherwise eventually
+consistent is used.
+
+|`CamelAwsDdbItem` |`Map<String, AttributeValue>` |A map of the attributes for the item, and must include the primary key
+values that define the item.
+
+|`CamelAwsDdbExactCount` |`Boolean` |If set to true, Amazon DynamoDB returns a total number of items that
+match the query parameters, instead of a list of the matching items and
+their attributes. *From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbKeyConditions` |`Map<String, Condition>` |*From Camel 2.16.0*. This header specify the selection criteria for the
+query, and merge together the two old headers *CamelAwsDdbHashKeyValue*
+and *CamelAwsDdbScanRangeKeyCondition*
+
+|`CamelAwsDdbStartKey` |`Key` |Primary key of the item from which to continue an earlier query.
+
+|`CamelAwsDdbHashKeyValue` |`AttributeValue` |Value of the hash component of the composite primary key.
+*From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbLimit` |`Integer` |The maximum number of items to return.
+
+|`CamelAwsDdbScanRangeKeyCondition` |`Condition` |A container for the attribute values and comparison operators to use for
+the query.*From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbScanIndexForward` |`Boolean` |Specifies forward or backward traversal of the index.
+
+|`CamelAwsDdbScanFilter` |`Map<String, Condition>` |Evaluates the scan results and returns only the desired values.
+
+|`CamelAwsDdbUpdateValues` |`Map<String, AttributeValueUpdate>` |Map of attribute name to the new value and action for the update.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringBatchGetItemsoperation]]
+Message headers set during BatchGetItems operation
+++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbBatchResponse` |`Map<String,BatchResponse>` |Table names and the respective item attributes from the tables.
+
+|`CamelAwsDdbUnprocessedKeys` |`Map<String,KeysAndAttributes>` |Contains a map of tables and their respective keys that were not
+processed with the current response.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringDeleteItemoperation]]
+Message headers set during DeleteItem operation
++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringDeleteTableoperation]]
+Message headers set during DeleteTable operation
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbProvisionedThroughput`| | 
+
+|`ProvisionedThroughputDescription` | |The value of the ProvisionedThroughput property for this table
+
+|`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
+
+|`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
+
+|`CamelAwsDdbKeySchema` |`KeySchema` |The KeySchema that identifies the primary key for this table. 
+*From Camel 2.16.0 the type of this header is List<KeySchemaElement> and not KeySchema*
+
+|`CamelAwsDdbTableName` |`String` |The table name. 
+
+|`CamelAwsDdbTableSize` |`Long` |The table size in bytes. 
+
+|`CamelAwsDdbTableStatus` |`String` |The status of the table: CREATING, UPDATING, DELETING, ACTIVE
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringDescribeTableoperation]]
+Message headers set during DescribeTable operation
+++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbProvisionedThroughput` |{{ProvisionedThroughputDescription}} |The value of the ProvisionedThroughput property for this table
+
+|`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
+
+|`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
+
+|`CamelAwsDdbKeySchema` |{{KeySchema}} |The KeySchema that identifies the primary key for this table.
+*From Camel 2.16.0 the type of this header is List<KeySchemaElement> and
+not KeySchema*
+
+|`CamelAwsDdbTableName` |`String` |The table name.
+
+|`CamelAwsDdbTableSize` |`Long` |The table size in bytes.
+
+|`CamelAwsDdbTableStatus` |`String` |The status of the table: CREATING, UPDATING, DELETING, ACTIVE
+
+|`CamelAwsDdbReadCapacity` |`Long` |ReadCapacityUnits property of this table.
+
+|`CamelAwsDdbWriteCapacity` |`Long` |WriteCapacityUnits property of this table.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringGetItemoperation]]
+Message headers set during GetItem operation
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringPutItemoperation]]
+Message headers set during PutItem operation
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringQueryoperation]]
+Message headers set during Query operation
+++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>` |The list of attributes returned by the operation.
+
+|`CamelAwsDdbLastEvaluatedKey` |`Key` |Primary key of the item where the query operation stopped, inclusive of
+the previous result set.
+
+|`CamelAwsDdbConsumedCapacity` |`Double` |The number of Capacity Units of the provisioned throughput of the table
+consumed during the operation.
+
+|`CamelAwsDdbCount` |`Integer` |Number of items in the response.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringScanoperation]]
+Message headers set during Scan operation
++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>` |The list of attributes returned by the operation.
+
+|`CamelAwsDdbLastEvaluatedKey` |`Key` |Primary key of the item where the query operation stopped, inclusive of
+the previous result set.
+
+|`CamelAwsDdbConsumedCapacity` |`Double` |The number of Capacity Units of the provisioned throughput of the table
+consumed during the operation.
+
+|`CamelAwsDdbCount` |`Integer` |Number of items in the response.
+
+|`CamelAwsDdbScannedCount` |`Integer` |Number of items in the complete scan before any filters are applied.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringUpdateItemoperation]]
+Message headers set during UpdateItem operation
++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+[[AWS-DDB-AdvancedAmazonDynamoDBconfiguration]]
+Advanced AmazonDynamoDB configuration
++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonDynamoDB` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+----------------------------------------------------
+from("direct:start")
+.to("aws-ddb://domainName?amazonDDBClient=#client");
+----------------------------------------------------
+
+The `#client` refers to a `AmazonDynamoDB` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+[[AWS-DDB-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.10 or higher).
+
+[[AWS-DDB-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ddbstream.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream.adoc b/components/camel-aws/src/main/docs/aws-ddbstream.adoc
new file mode 100644
index 0000000..2a349e4
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ddbstream.adoc
@@ -0,0 +1,171 @@
+[[AWS-DDBSTREAM-DynamoDBStreamComponent]]
+DynamoDB Stream Component
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.7*
+
+The DynamoDB Stream component supports receiving messages from
+Amazon DynamoDB Stream service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon DynamoDB Streams. More information are available
+at http://aws.amazon.com/dynamodb/[AWS DynamoDB]
+
+[[AWS-DDBSTREAM-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------------
+aws-ddbstream://table-name[?options]
+------------------------------------
+
+The stream needs to be created prior to it being used. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-DDBSTREAM-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonDynamoDbStreamsClient |`null` |Consumer |Reference to a `com.amazonaws.services.kinesis.AmazonDynamoDBStreams` in
+the link:registry.html[Registry].
+
+|maxMessagesPerPoll |`100` |Consumer |Maximum results that will be returned in each poll to the AWS API, Given
+that the shard iterator is unique to the consumer, changing it shouldn't
+effect other consumers.
+
+|iteratorType |`LATEST` |Consumer |One of `trim_horizon`, `latest`, `after_sequence_number`, or
+`at_sequence_number`. See
+http://docs.aws.amazon.com/dynamodbstreams/latest/APIReference/API_GetShardIterator.html[http://docs.aws.amazon.com/dynamodbstreams/latest/APIReference/API_GetShardIterator.html]
+for descriptions of these two iterator types.
+
+|sequenceNumberProvider |null |Consumer |Either a bean reference to an implementation of
+`org.apache.camel.component.aws.ddbstream.SequenceNumberProvider` or a
+literal string representing a sequence number. The role of this is to
+determine where in the stream to start when using one of
+the `after_sequence_number`, or `at_sequence_number` iterator types.
+|=======================================================================
+
+Required DynampDBStream component options
+
+You have to provide the amazonDynamoDbStreamsClient in the
+link:registry.html[Registry] with proxies and relevant credentials
+configured.
+
+[[AWS-DDBSTREAM-SequenceNumbers]]
+Sequence Numbers
+^^^^^^^^^^^^^^^^
+
+You can provide a literal string as the sequence number or provide a
+bean in the registry. An example of using the bean would be to save your
+current position in the change feed and restore it on Camel startup.
+
+It is an error to provide a sequence number that is greater than the
+largest sequence number in the describe-streams result, as this will
+lead to the AWS call returning an HTTP 400.
+
+[[AWS-DDBSTREAM-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-DDBSTREAM-Usage]]
+Usage
+^^^^^
+
+[[AWS-DDBSTREAM-AmazonDynamoDBStreamsClientconfiguration]]
+AmazonDynamoDBStreamsClient configuration
++++++++++++++++++++++++++++++++++++++++++
+
+You will need to create an instance of AmazonDynamoDBStreamsClient and
+bind it to the registry
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+Region region = Region.getRegion(Regions.fromName(region));
+region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration);
+// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain
+
+registry.bind("kinesisClient", client);
+--------------------------------------------------------------------------------------------------------------------
+
+[[AWS-DDBSTREAM-ProvidingAWSCredentials]]
+Providing AWS Credentials
++++++++++++++++++++++++++
+
+It is recommended that the credentials are obtained by using the
+http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
+that is the default when creating a new ClientConfiguration instance,
+however, a
+different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
+can be specified when calling createClient(...).
+
+[[AWS-DDBSTREAM-CopingwithDowntime]]
+Coping with Downtime
+^^^^^^^^^^^^^^^^^^^^
+
+[[AWS-DDBSTREAM-AWSDynamoDBStreamsoutageoflessthan24hours]]
+AWS DynamoDB Streams outage of less than 24 hours
++++++++++++++++++++++++++++++++++++++++++++++++++
+
+The consumer will resume from the last seen sequence number (as
+implemented
+for https://issues.apache.org/jira/browse/CAMEL-9515[CAMEL-9515]), so
+you should receive a flood of events in quick succession, as long as the
+outage did not also include DynamoDB itself.
+
+[[AWS-DDBSTREAM-AWSDynamoDBStreamsoutageofmorethan24hours]]
+AWS DynamoDB Streams outage of more than 24 hours
++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Given that AWS only retain 24 hours worth of changes, you will have
+missed change events no matter what mitigations are in place.
+
+[[AWS-DDBSTREAM-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.7 or higher).
+
+[[AWS-DDBSTREAM-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component] +
+ +
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ec2.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ec2.adoc b/components/camel-aws/src/main/docs/aws-ec2.adoc
new file mode 100644
index 0000000..3357440
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ec2.adoc
@@ -0,0 +1,122 @@
+[[AWS-EC2-EC2Component]]
+EC2 Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.16*
+
+The EC2 component supports create, run, start, stop and terminate
+https://aws.amazon.com/it/ec2/[AWS EC2] instances.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon EC2. More information are available at
+https://aws.amazon.com/it/ec2/[Amazon EC2].
+
+[[AWS-EC2-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+-------------------------
+aws-ec2://label[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-EC2-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonEc2Client |`null` |Producer |Reference to a com.amazonaws.services.ec2.AmazonEC2Client in the
+link:registry.html[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.
+|=======================================================================
+
+Required EC2 component options
+
+You have to provide the amazonEc2Client in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
+
+[[AWS-EC2-Usage]]
+Usage
+^^^^^
+
+[[AWS-EC2-MessageheadersevaluatedbytheEC2producer]]
+Message headers evaluated by the EC2 producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|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.
+
+*pom.xml*
+
+[source,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).
+
+[[AWS-EC2-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-kinesis.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-kinesis.adoc b/components/camel-aws/src/main/docs/aws-kinesis.adoc
new file mode 100644
index 0000000..bd38602
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-kinesis.adoc
@@ -0,0 +1,147 @@
+[[AWS-KINESIS-KinesisComponent]]
+Kinesis Component
+~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.7*
+
+The Kinesis component supports receiving messages from Amazon Kinesis
+service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Kinesis. More information are available
+at http://aws.amazon.com/kinesis/[AWS Kinesis]
+
+[[AWS-KINESIS-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+-----------------------------------
+aws-kinesis://stream-name[?options]
+-----------------------------------
+
+The stream needs to be created prior to it being used. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-KINESIS-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonKinesisClient |`null` |Consumer |Reference to a `com.amazonaws.services.kinesis.AmazonKinesisClient` in
+the link:registry.html[Registry].
+
+|maxMessagesPerPoll |`100` |Consumer |Maximum results that will be returned in each poll to the AWS API, Given
+that the shard iterator is unique to the consumer, changing it shouldn't
+effect other consumers.
+
+|iteratorType |`TRIM_HORIZON` |Consumer |One of trim_horizon or latest. See
+http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html[http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html]
+for descriptions of these two iterator types.
+|=======================================================================
+
+Required Kinesis component options
+
+You have to provide the amazonKinesisClient in the
+link:registry.html[Registry] with proxies and relevant credentials
+configured.
+
+[[AWS-KINESIS-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-KINESIS-Usage]]
+Usage
+^^^^^
+
+[[AWS-KINESIS-MessageheaderssetbytheKinesisconsumer]]
+Message headers set by the Kinesis consumer
++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsKinesisSequenceNumber` |`String` |The sequence number of the record. This is represented as a String as it
+size is not defined by the API. If it is to be used as a numerical type
+then use
+
+|`CamelAwsKinesisApproximateArrivalTimestamp` |`String` |The time AWS assigned as the arrival time of the record.
+
+|`CamelAwsKinesisPartitionKey` |`String` |Identifies which shard in the stream the data record is assigned to.
+|=======================================================================
+
+[[AWS-KINESIS-AmazonKinesisconfiguration]]
+AmazonKinesis configuration
++++++++++++++++++++++++++++
+
+You will need to create an instance of AmazonDynamoDBStreamsClient and
+bind it to the registry
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+Region region = Region.getRegion(Regions.fromName(region));
+region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration);
+// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain
+
+registry.bind("kinesisClient", client);
+--------------------------------------------------------------------------------------------------------------------
+
+[[AWS-KINESIS-ProvidingAWSCredentials]]
+Providing AWS Credentials
++++++++++++++++++++++++++
+
+It is recommended that the credentials are obtained by using the
+http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
+that is the default when creating a new ClientConfiguration instance,
+however, a
+different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
+can be specified when calling createClient(...).
+
+[[AWS-KINESIS-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.7 or higher).
+
+[[AWS-KINESIS-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-s3.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-s3.adoc b/components/camel-aws/src/main/docs/aws-s3.adoc
new file mode 100644
index 0000000..d232535
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-s3.adoc
@@ -0,0 +1,264 @@
+[[AWS-S3-S3Component]]
+S3 Component
+~~~~~~~~~~~~
+
+*Available as of Camel 2.8*
+
+The S3 component supports storing and retrieving objetcs from/to
+http://aws.amazon.com/s3[Amazon's S3] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon S3. More information are available at
+http://aws.amazon.com/s3[Amazon S3].
+
+[[AWS-S3-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-s3://bucket-name[?options]
+------------------------------
+
+The bucket will be created if it don't already exists. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-S3-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonS3Client |`null` |Shared |Reference to a `com.amazonaws.services.sqs.AmazonS3` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Shared |Amazon AWS Access Key
+
+|secretKey |`null` |Shared |Amazon AWS Secret Key
+
+|amazonS3Endpoint |`null` |Shared |The region with which the AWS-S3 client wants to work with.
+
+|region |`null` |Producer |The region who the bucket is located. This option is used in the
+`com.amazonaws.services.s3.model.CreateBucketRequest`.
+
+|deleteAfterRead |`true` |Consumer |Delete objects from S3 after it has been retrieved.
+
+|deleteAfterWrite |`false` |Producer |*Camel 2.11.0* Delete file object after the S3 file has been uploaded
+
+|maxMessagesPerPoll |10 |Consumer |The maximum number of objects which can be retrieved in one poll. Used
+in in the `com.amazonaws.services.s3.model.ListObjectsRequest`.
+
+|policy |`null` |Shared |*Camel 2.8.4*: The policy for this queue to set in the
+`com.amazonaws.services.s3.AmazonS3#setBucketPolicy()` method.
+
+|storageClass |`null` |Producer |*Camel 2.8.4*: The storage class to set in the
+`com.amazonaws.services.s3.model.PutObjectRequest` request.
+
+|prefix |`null` |Consumer |*Camel 2.10.1*: The prefix which is used in the
+`com.amazonaws.services.s3.model.ListObjectsRequest` to only consume
+objects we are interested in.
+
+|multiPartUpload |`false` |Producer |*Camel 2.15.0*: If it is true, camel will upload the file with multi
+part format, the part size is decided by the option of `partSize`
+
+|partSize |`25 * 1024 * 1024` |Producer |*Camel 2.15.0*: Setup the partSize which is used in multi part upload,
+the default size is 25M.
+
+|serverSideEncryption |null |Producer |*Camel 2.16:* Sets the server-side encryption algorithm when encrypting
+the object using AWS-managed keys. For example use AES256.
+
+|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.
+|=======================================================================
+
+Required S3 component options
+
+You have to provide the amazonS3Client in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/s3[Amazon's S3].
+
+[[AWS-S3-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-S3-Usage]]
+Usage
+^^^^^
+
+[[AWS-S3-MessageheadersevaluatedbytheS3producer]]
+Message headers evaluated by the S3 producer
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsS3Key` |`String` |The key under which this object will be stored.
+
+|`CamelAwsS3ContentLength` |`Long` |The content length of this object.
+
+|`CamelAwsS3ContentType` |`String` |The content type of this object.
+
+|`CamelAwsS3ContentControl` |`String` |*Camel 2.8.2:* The content control of this object.
+
+|`CamelAwsS3ContentDisposition` |`String` |*Camel 2.8.2:* The content disposition of this object.
+
+|`CamelAwsS3ContentEncoding` |`String` |*Camel 2.8.2:* The content encoding of this object.
+
+|`CamelAwsS3ContentMD5` |`String` |*Camel 2.8.2:* The md5 checksum of this object.
+
+|`CamelAwsS3LastModified` |`java.util.Date` |*Camel 2.8.2:* The last modified timestamp of this object.
+
+|`CamelAwsS3StorageClass` |`String` |*Camel 2.8.4:* The storage class of this object.
+
+|`CamelAwsS3CannedAcl` |`String` |*Camel 2.11.0:* The canned acl that will be applied to the object. see
+`com.amazonaws.services.s3.model.CannedAccessControlList` for allowed
+values.
+
+|`CamelAwsS3Acl` |`com.amazonaws.services.s3.model.AccessControlList` |*Camel 2.11.0:* a well constructed Amazon S3 Access Control List object.
+see `com.amazonaws.services.s3.model.AccessControlList` for more details
+
+|`CamelAwsS3Headers` |`Map<String,String>` |*Camel 2.15.0*: support to get or set custom objectMetadata headers.
+
+|CamelAwsS3ServerSideEncryption |String |*Camel 2.16:* Sets the server-side encryption algorithm when encrypting
+the object using AWS-managed keys. For example use AES256.
+|=======================================================================
+
+[[AWS-S3-MessageheaderssetbytheS3producer]]
+Message headers set by the S3 producer
+++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+|`CamelAwsS3ETag` |`String` |The ETag value for the newly uploaded object.
+
+|`CamelAwsS3VersionId` |`String` |The *optional* version ID of the newly uploaded object.
+
+|=======================================================================
+
+[[AWS-S3-MessageheaderssetbytheS3consumer]]
+Message headers set by the S3 consumer
+++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsS3Key` |`String` |The key under which this object is stored.
+
+|`CamelAwsS3BucketName` |`String` |The name of the bucket in which this object is contained.
+
+|`CamelAwsS3ETag` |`String` |The hex encoded 128-bit MD5 digest of the associated object according to
+RFC 1864. This data is used as an integrity check to verify that the
+data received by the caller is the same data that was sent by Amazon S3.
+
+|`CamelAwsS3LastModified` |`Date` |The value of the Last-Modified header, indicating the date and time at
+which Amazon S3 last recorded a modification to the associated object.
+
+|`CamelAwsS3VersionId` |`String` |The version ID of the associated Amazon S3 object if available. Version
+IDs are only assigned to objects when an object is uploaded to an Amazon
+S3 bucket that has object versioning enabled.
+
+|`CamelAwsS3ContentType` |`String` |The Content-Type HTTP header, which indicates the type of content stored
+in the associated object. The value of this header is a standard MIME
+type.
+
+|`CamelAwsS3ContentMD5` |`String` |The base64 encoded 128-bit MD5 digest of the associated object (content
+- not including headers) according to RFC 1864. This data is used as a
+message integrity check to verify that the data received by Amazon S3 is
+the same data that the caller sent.
+
+|`CamelAwsS3ContentLength` |`Long` |The Content-Length HTTP header indicating the size of the associated
+object in bytes.
+
+|`CamelAwsS3ContentEncoding` |`String` |The *optional* Content-Encoding HTTP header specifying what content
+encodings have been applied to the object and what decoding mechanisms
+must be applied in order to obtain the media-type referenced by the
+Content-Type field.
+
+|`CamelAwsS3ContentDisposition` |`String` |The *optional* Content-Disposition HTTP header, which specifies
+presentational information such as the recommended filename for the
+object to be saved as.
+
+|`CamelAwsS3ContentControl` |`String` |The *optional* Cache-Control HTTP header which allows the user to
+specify caching behavior along the HTTP request/reply chain.
+
+|CamelAwsS3ServerSideEncryption |String |*Camel 2.16:* The server-side encryption algorithm when encrypting the
+object using AWS-managed keys.
+|=======================================================================
+
+[[AWS-S3-AdvancedAmazonS3configuration]]
+Advanced AmazonS3 configuration
++++++++++++++++++++++++++++++++
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the `AmazonS3` instance configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonS3 client = new AmazonS3Client(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel aws-s3 component configuration:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
+.to("mock:result");
+--------------------------------------------------------------------------------
+
+[[AWS-S3-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.8 or higher).
+
+[[AWS-S3-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-sdb.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-sdb.adoc b/components/camel-aws/src/main/docs/aws-sdb.adoc
new file mode 100644
index 0000000..6752ce8
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-sdb.adoc
@@ -0,0 +1,236 @@
+[[AWS-SDB-SDBComponent]]
+SDB Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.8.4*
+
+The sdb component supports storing and retrieving data from/to
+http://aws.amazon.com/sdb[Amazon's SDB] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SDB. More information are available at
+http://aws.amazon.com/sdb[Amazon SDB].
+
+[[AWS-SDB-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-sdb://domainName[?options]
+------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-SDB-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSDBClient |`null` |Producer |Reference to a `com.amazonaws.services.simpledb.AmazonSimpleDB` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|amazonSdbEndpoint |`null` |Producer |The region with which the AWS-SDB client wants to work with.
+
+|domainName |`null` |Producer |The name of the domain currently worked with.
+
+|maxNumberOfDomains |`100` |Producer |The maximum number of domain names you want returned. The range is 1 *
+to 100.
+
+|consistentRead |`false` |Producer |Determines whether or not strong consistency should be enforced when
+data is read.
+
+|operation |`PutAttributes` |Producer |Valid values are BatchDeleteAttributes, BatchPutAttributes,
+DeleteAttributes, DeleteDomain, DomainMetadata, GetAttributes,
+ListDomains, PutAttributes, Select.
+
+|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.
+|=======================================================================
+
+Required SDB component options
+
+You have to provide the amazonSDBClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/sdb[Amazon's SDB].
+
+[[AWS-SDB-Usage]]
+Usage
+^^^^^
+
+[[AWS-SDB-MessageheadersevaluatedbytheSDBproducer]]
+Message headers evaluated by the SDB producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbAttributes` |`Collection<Attribute>` |List of attributes to be acted upon.
+
+|`CamelAwsSdbAttributeNames` |`Collection<String>` |The names of the attributes to be retrieved.
+
+|`CamelAwsSdbConsistentRead` |`Boolean` |Determines whether or not strong consistency should be enforced when
+data is read.
+
+|`CamelAwsSdbDeletableItems` |`Collection<DeletableItem>` |A list of items on which to perform the delete operation in a batch.
+
+|`CamelAwsSdbDomainName` |`String` |The name of the domain currently worked with.
+
+|`CamelAwsSdbItemName` |`String` |The unique key for this item
+
+|`CamelAwsSdbMaxNumberOfDomains` |`Integer` |The maximum number of domain names you want returned. The range is 1 *
+to 100.
+
+|`CamelAwsSdbNextToken` |`String` |A string specifying where to start the next list of domain/item names.
+
+|`CamelAwsSdbOperation` |`String` |To override the operation from the URI options.
+
+|`CamelAwsSdbReplaceableAttributes` |`Collection<ReplaceableAttribute>` |List of attributes to put in an Item.
+
+|`CamelAwsSdbReplaceableItems` |`Collection<ReplaceableItem>` |A list of items to put in a Domain.
+
+|`CamelAwsSdbSelectExpression` |`String` |The expression used to query the domain.
+
+|`CamelAwsSdbUpdateCondition` |`UpdateCondition` |The update condition which, if specified, determines whether the
+specified attributes will be updated/deleted or not.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringDomainMetadataoperation]]
+Message headers set during DomainMetadata operation
++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbTimestamp` |`Integer` |The data and time when metadata was calculated, in Epoch (UNIX) seconds.
+
+|`CamelAwsSdbItemCount` |`Integer` |The number of all items in the domain.
+
+|`CamelAwsSdbAttributeNameCount` |`Integer` |The number of unique attribute names in the domain.
+
+|`CamelAwsSdbAttributeValueCount` |`Integer` |The number of all attribute name/value pairs in the domain.
+
+|`CamelAwsSdbAttributeNameSize` |`Long` |The total size of all unique attribute names in the domain, in bytes.
+
+|`CamelAwsSdbAttributeValueSize` |`Long` |The total size of all attribute values in the domain, in bytes.
+
+|`CamelAwsSdbItemNameSize` |`Long` |The total size of all item names in the domain, in bytes.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringGetAttributesoperation]]
+Message headers set during GetAttributes operation
+++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbAttributes` |`List<Attribute>` |The list of attributes returned by the operation.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringListDomainsoperation]]
+Message headers set during ListDomains operation
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbDomainNames` |`List<String>` |A list of domain names that match the expression.
+
+|`CamelAwsSdbNextToken` |`String` |An opaque token indicating that there are more domains than the
+specified MaxNumberOfDomains still available.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringSelectoperation]]
+Message headers set during Select operation
++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbItems` |`List<Item>` |A list of items that match the select expression.
+
+|`CamelAwsSdbNextToken` |`String` |An opaque token indicating that more items than MaxNumberOfItems were
+matched, the response size exceeded 1 megabyte, or the execution time
+exceeded 5 seconds.
+|=======================================================================
+
+[[AWS-SDB-AdvancedAmazonSimpleDBconfiguration]]
+Advanced AmazonSimpleDB configuration
++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonSimpleDB` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+----------------------------------------------------
+from("direct:start")
+.to("aws-sdb://domainName?amazonSDBClient=#client");
+----------------------------------------------------
+
+The `#client` refers to a `AmazonSimpleDB` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSimpleDB client = new AmazonSimpleDBClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+[[AWS-SDB-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.8.4 or higher).
+
+[[AWS-SDB-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ses.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ses.adoc b/components/camel-aws/src/main/docs/aws-ses.adoc
new file mode 100644
index 0000000..fa0df7b
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ses.adoc
@@ -0,0 +1,167 @@
+[[AWS-SES-SESComponent]]
+SES Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.8.4*
+
+The ses component supports sending emails with
+http://aws.amazon.com/ses[Amazon's SES] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SES. More information are available at
+http://aws.amazon.com/ses[Amazon SES].
+
+[[AWS-SES-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------
+aws-ses://from[?options]
+------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-SES-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSESClient |`null` |Producer |Reference to a
+`com.amazonaws.services.simpleemail.AmazonSimpleEmailService` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|amazonSESEndpoint |`null` |Producer |The region with which the AWS-SES client wants to work with.
+
+|subject |`null` |Producer |The subject which is used if the message header 'CamelAwsSesSubject' is
+not present.
+
+|to |`null` |Producer |List of destination email address. Can be overriden with 'CamelAwsSesTo'
+header.
+
+|returnPath |`null` |Producer |The email address to which bounce notifications are to be forwarded,
+override it using 'CamelAwsSesReturnPath' header.
+
+|replyToAddresses |`null` |Producer |List of reply-to email address(es) for the message, override it using
+'CamelAwsSesReplyToAddresses' header.
+
+|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.
+|=======================================================================
+
+Required SES component options
+
+You have to provide the amazonSESClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/ses[Amazon's SES].
+
+[[AWS-SES-Usage]]
+Usage
+^^^^^
+
+[[AWS-SES-MessageheadersevaluatedbytheSESproducer]]
+Message headers evaluated by the SES producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSesFrom` |`String` |The sender's email address.
+
+|`CamelAwsSesTo` |`List<String>` |The destination(s) for this email.
+
+|`CamelAwsSesSubject` |`String` |The subject of the message.
+
+|`CamelAwsSesReplyToAddresses` |`List<String>` |The reply-to email address(es) for the message.
+
+|`CamelAwsSesReturnPath` |`String` |The email address to which bounce notifications are to be forwarded.
+
+|`CamelAwsSesHtmlEmail` |`Boolean` |*Since Camel 2.12.3* The flag to show if email content is HTML.
+|=======================================================================
+
+[[AWS-SES-MessageheaderssetbytheSESproducer]]
+Message headers set by the SES producer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSesMessageId` |`String` |The Amazon SES message ID.
+|=======================================================================
+
+[[AWS-SES-AdvancedAmazonSimpleEmailServiceconfiguration]]
+Advanced AmazonSimpleEmailService configuration
++++++++++++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonSimpleEmailService` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+-------------------------------------------------------------
+from("direct:start")
+.to("aws-ses://example@example.com?amazonSESClient=#client");
+-------------------------------------------------------------
+
+The `#client` refers to a `AmazonSimpleEmailService` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+----------------------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+AmazonSimpleEmailService client = new AmazonSimpleEmailServiceClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+----------------------------------------------------------------------------------------------------------
+
+[[AWS-SES-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.8.4 or higher).
+
+[[AWS-SES-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-sns.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-sns.adoc b/components/camel-aws/src/main/docs/aws-sns.adoc
new file mode 100644
index 0000000..77d4700
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-sns.adoc
@@ -0,0 +1,153 @@
+[[AWS-SNS-SNSComponent]]
+SNS Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.8*
+
+The SNS component allows messages to be sent to an
+http://aws.amazon.com/sns[Amazon Simple Notification] Topic. The
+implementation of the Amazon API is provided by
+the http://aws.amazon.com/sdkforjava/[AWS SDK].
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SNS. More information are available at
+http://aws.amazon.com/sns[Amazon SNS].
+
+[[AWS-SNS-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+-----------------------------
+aws-sns://topicName[?options]
+-----------------------------
+
+The topic will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+`?options=value&option2=value&...`
+
+[[AWS-SNS-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSNSClient |`null` |Producer |Reference to a `com.amazonaws.services.sns.AmazonSNS` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|subject |`null` |Producer |The subject which is used if the message header 'CamelAwsSnsSubject' is
+not present.
+
+|amazonSNSEndpoint |`null` |Producer |The region with which the AWS-SNS client wants to work with.
+
+|policy |`null` |Producer |*Camel 2.8.4*: The policy for this queue to set in the
+`com.amazonaws.services.sns.model.SetTopicAttributesRequest`.
+
+|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.
+|=======================================================================
+
+Required SNS component options
+
+You have to provide the amazonSNSClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/sns[Amazon's SNS].
+
+[[AWS-SNS-Usage]]
+Usage
+^^^^^
+
+[[AWS-SNS-MessageheadersevaluatedbytheSNSproducer]]
+Message headers evaluated by the SNS producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSnsSubject` |`String` |The Amazon SNS message subject. If not set, the subject from the
+`SnsConfiguration` is used.
+|=======================================================================
+
+[[AWS-SNS-MessageheaderssetbytheSNSproducer]]
+Message headers set by the SNS producer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSnsMessageId` |`String` |The Amazon SNS message ID.
+|=======================================================================
+
+[[AWS-SNS-AdvancedAmazonSNSconfiguration]]
+Advanced AmazonSNS configuration
+++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonSNS` instance configuration you
+can create your own instance and refer to it from the URI:
+
+[source,java]
+-------------------------------------------------
+from("direct:start")
+.to("aws-sns://MyTopic?amazonSNSClient=#client");
+-------------------------------------------------
+
+The `#client` refers to a `AmazonSNS` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+AmazonSNS client = new AmazonSNSClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+[[AWS-SNS-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.8 or higher).
+
+[[AWS-SNS-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-sqs.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-sqs.adoc b/components/camel-aws/src/main/docs/aws-sqs.adoc
new file mode 100644
index 0000000..f25256f
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-sqs.adoc
@@ -0,0 +1,258 @@
+[[AWS-SQS-SQSComponent]]
+SQS Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.6*
+
+The sqs component supports sending and receiving messages to
+http://aws.amazon.com/sqs[Amazon's SQS] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SQS. More information are available at
+http://aws.amazon.com/sqs[Amazon SQS].
+
+[[AWS-SQS-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-sqs://queue-name[?options]
+------------------------------
+
+The queue will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-SQS-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSQSClient |`null` |Shared |Reference to a `com.amazonaws.services.sqs.AmazonSQS` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Shared |Amazon AWS Access Key
+
+|secretKey |`null` |Shared |Amazon AWS Secret Key
+
+|amazonSQSEndpoint |`null` |Shared |The region with which the AWS-SQS client wants to work with. Only works
+if Camel creates the AWS-SQS client, i.e., if you explicitly set
+amazonSQSClient, then this setting will have no effect. You would have
+to set it on the client you create directly
+
+|attributeNames |`null` |Consumer |A list of attributes to set in the
+`com.amazonaws.services.sqs.model.ReceiveMessageRequest`.
+
+|concurrentConsumers |1 |Consumer |(*as of 2.15.0*) Allows you to use multiple threads to poll the sqs
+queue to increase throughput
+
+|defaultVisibilityTimeout |`null` |Shared |The visibility timeout (in seconds) to set in the
+`com.amazonaws.services.sqs.model.CreateQueueRequest`.
+
+|deleteAfterRead |`true` |Consumer |Delete message from SQS after it has been read (and processed by the
+route)
+
+|deleteIfFiltered |`true` |Consumer |*Camel 2.12.2,2.13.0* Whether or not to send the DeleteMessage to the
+SQS queue if an exchange fails to get through a filter. If 'false' and
+exchange does not make it through a Camel filter upstream in the route,
+then don't send DeleteMessage.
+
+|maxMessagesPerPoll |`null` |Consumer |The maximum number of messages which can be received in one poll to set
+in the `com.amazonaws.services.sqs.model.ReceiveMessageRequest`.
+
+|visibilityTimeout |`null` |Shared |The duration (in seconds) that the received messages are hidden from
+subsequent retrieve requests after being retrieved by a ReceiveMessage
+request. This only make sense if its different from
+`defaultVisibilityTimeout`.
+
+|extendMessageVisibility |`false` |Consumer |*Camel 2.10:* If enabled a scheduled background task will keep extending
+the message visibility on SQS. This is needed if it takes a long time to
+process the message. If set to true` visibilityTimeout` must be set. See
+details at
+http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html[Amazon
+docs].
+
+|maximumMessageSize |`null` |Shared |*Camel 2.8:* The maximumMessageSize (in bytes) an SQS message can
+contain for this queue, to set in the
+`com.amazonaws.services.sqs.model.SetQueueAttributesRequest`.
+
+|messageRetentionPeriod |`null` |Shared |*Camel 2.8:* The messageRetentionPeriod (in seconds) a message will be
+retained by SQS for this queue, to set in the
+`com.amazonaws.services.sqs.model.SetQueueAttributesRequest`.
+
+|policy |`null` |Shared |*Camel 2.8:* The policy for this queue to set in the
+`com.amazonaws.services.sqs.model.SetQueueAttributesRequest`.
+
+|delaySeconds |`null` |Producer |*Camel 2.9.3:* Delay sending messages for a number of seconds.
+
+|waitTimeSeconds |`0` |Producer |*Camel 2.11:* Duration in seconds (0 to 20) that the ReceiveMessage
+action call will wait until a message is in the queue to include in the
+response.
+
+|receiveMessageWaitTimeSeconds |`0` |Shared |*Camel 2.11:* If you do not specify WaitTimeSeconds in the request, the
+queue attribute ReceiveMessageWaitTimeSeconds is used to determine how
+long to wait.
+
+|queueOwnerAWSAccountId |`null` |Shared |*Camel 2.12:* Specify the queue owner aws account id when you need to
+connect the queue with different account owner.
+
+|region |`null` |Shared |*Camel 2.12.3:* Specify the queue region which could be used with
+`queueOwnerAWSAccountId` to build the service URL.
+
+|redrivePolicy |`null` |Shared |*Camel 2.15*: Specify the policy that send message to DeadLetter queue.
+See detail at
+http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html[Amazon
+docs].
+
+|proxyHost |`null` |Shared |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Shared |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required SQS component options
+
+You have to provide the amazonSQSClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/sqs[Amazon's SQS].
+
+[[AWS-SQS-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-SQS-Usage]]
+Usage
+^^^^^
+
+[[AWS-SQS-MessageheaderssetbytheSQSproducer]]
+Message headers set by the SQS producer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
+
+|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID.
+
+|`CamelAwsSqsDelaySeconds` |`Integer` |Since *Camel 2.11*, the delay seconds that the Amazon SQS message can be
+see by others.
+|=======================================================================
+
+[[AWS-SQS-MessageheaderssetbytheSQSconsumer]]
+Message headers set by the SQS consumer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
+
+|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID. 
+
+|`CamelAwsSqsReceiptHandle` |`String` |The Amazon SQS message receipt handle.
+
+|`CamelAwsSqsAttributes` |`Map<String, String>` |The Amazon SQS message attributes.
+|=======================================================================
+
+[[AWS-SQS-AdvancedAmazonSQSconfiguration]]
+Advanced AmazonSQS configuration
+++++++++++++++++++++++++++++++++
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the AmazonSQS instance configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSQS client = new AmazonSQSClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel aws-sqs component configuration:
+
+[source,java]
+---------------------------------------------------------------------------------
+from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
+.to("mock:result");
+---------------------------------------------------------------------------------
+
+[[AWS-SQS-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,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.6 or higher).
+
+[[AWS-SQS-JMS-styleSelectors]]
+JMS-style Selectors
+^^^^^^^^^^^^^^^^^^^
+
+SQS does not allow selectors, but you can effectively achieve this by
+using the link:message-filter.html[Camel Filter EIP] and setting an
+appropriate `visibilityTimeout`. When SQS dispatches a message, it will
+wait up to the visibility timeout before it will try to dispatch the
+message to a different consumer unless a DeleteMessage is received. By
+default, Camel will always send the DeleteMessage at the end of the
+route, unless the route ended in failure. To achieve appropriate
+filtering and not send the DeleteMessage even on successful completion
+of the route, use a Filter:
+
+[source,java]
+------------------------------------------------------------------------------------------------------
+from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false")
+.filter("${header.login} == true")
+.to("mock:result");
+------------------------------------------------------------------------------------------------------
+
+In the above code, if an exchange doesn't have an appropriate header, it
+will not make it through the filter AND also not be deleted from the SQS
+queue. After 5000 miliseconds, the message will become visible to other
+consumers.
+
+[[AWS-SQS-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+


Mime
View raw message