This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit c5e311f08ad2c63d47c20460e38a4f56ef605969 Author: Andrea Cosentino <[email protected]> AuthorDate: Tue Jul 24 12:05:40 2018 +0200 CAMEL-12238 - Added IAM component docs --- .../camel-aws/src/main/docs/aws-iam-component.adoc | 165 +++++++++++++++++++++ 1 file changed, 165 insertions(+) diff --git a/components/camel-aws/src/main/docs/aws-iam-component.adoc b/components/camel-aws/src/main/docs/aws-iam-component.adoc new file mode 100644 index 0000000..f41ba27 --- /dev/null +++ b/components/camel-aws/src/main/docs/aws-iam-component.adoc @@ -0,0 +1,165 @@ +[[aws-iam-component]] +== AWS IAM Component + +*Available as of Camel version 2.23* + +The KMS component supports create, run, start, stop and terminate +https://aws.amazon.com/it/iam/[AWS IAM] instances. + +Prerequisites + +You must have a valid Amazon Web Services developer account, and be +signed up to use Amazon IAM. More information are available at +https://aws.amazon.com/it/iam/[Amazon IAM]. + +### URI Format + +[source,java] +------------------------- +aws-kms://label[?options] +------------------------- + +You can append query options to the URI in the following format, +?options=value&option2=value&... + +### URI Options + + +// component options: START +The AWS IAM component supports 5 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *configuration* (advanced) | The AWS MQ default configuration | | IAMConfiguration +| *accessKey* (producer) | Amazon AWS Access Key | | String +| *secretKey* (producer) | Amazon AWS Secret Key | | String +| *region* (producer) | The region in which MQ client needs to work | | String +| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean +|=== +// component options: END + + + + +// endpoint options: START +The AWS IAM endpoint is configured using URI syntax: + +---- +aws-iam:label +---- + +with the following path and query parameters: + +==== Path Parameters (1 parameters): + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *label* | *Required* Logical name | | String +|=== + + +==== Query Parameters (8 parameters): + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *accessKey* (producer) | Amazon AWS Access Key | | String +| *iamClient* (producer) | To use a existing configured AWS IAM as client | | AmazonIdentity ManagementClient +| *operation* (producer) | *Required* The operation to perform | | IAMOperations +| *proxyHost* (producer) | To define a proxy host when instantiating the KMS client | | String +| *proxyPort* (producer) | To define a proxy port when instantiating the KMS client | | Integer +| *region* (producer) | The region in which KMS client needs to work | | String +| *secretKey* (producer) | Amazon AWS Secret Key | | String +| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean +|=== +// endpoint options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 12 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.aws-kms.access-key* | Amazon AWS Access Key | | String +| *camel.component.aws-kms.configuration.access-key* | Amazon AWS Access Key | | String +| *camel.component.aws-kms.configuration.kms-client* | To use a existing configured AWS KMS as client | | AWSKMS +| *camel.component.aws-kms.configuration.operation* | The operation to perform | | KMSOperations +| *camel.component.aws-kms.configuration.proxy-host* | To define a proxy host when instantiating the KMS client | | String +| *camel.component.aws-kms.configuration.proxy-port* | To define a proxy port when instantiating the KMS client | | Integer +| *camel.component.aws-kms.configuration.region* | The region in which KMS client needs to work | | String +| *camel.component.aws-kms.configuration.secret-key* | Amazon AWS Secret Key | | String +| *camel.component.aws-kms.enabled* | Whether to enable auto configuration of the aws-kms component. This is + enabled by default. | | Boolean +| *camel.component.aws-kms.region* | The region in which MQ client needs to work | | String +| *camel.component.aws-kms.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +| *camel.component.aws-kms.secret-key* | Amazon AWS Secret Key | | String +|=== +// spring-boot-auto-configure options: END + + + + +Required IAM component options + +You have to provide the amazonKmsClient in the +Registry or your accessKey and secretKey to access +the https://aws.amazon.com/it/iam/[Amazon IAM] service. + +### Usage + +#### Message headers evaluated by the IAM producer + +[width="100%",cols="10%,10%,80%",options="header",] +|======================================================================= +|Header |Type |Description + +|`CamelAwsIAMOperation` |`String` |The operation we want to perform + +|`CamelAwsIAMUsername` |`String` |The username for the user you want to manage +|======================================================================= + +#### IAM Producer operations + +Camel-AWS IAM component provides the following operation on the producer side: + +- listAccessKeys +- createUser + +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). + +### See Also + +* Configuring Camel +* Component +* Endpoint +* Getting Started + +* AWS Component
