Chapter 29. AWS KMS Component Available as of Camel version 2.21 The KMS component supports create, run, start, stop and terminate AWS KMS instances. Prerequisites You must have a valid Amazon Web Services developer account, and be signed up to use Amazon KMS. More information are available at Amazon KMS . 29.1. URI Format aws-kms://label[?options] You can append query options to the URI in the following format, ?options=value&option2=value&... 29.2. URI Options The AWS KMS component supports 5 options, which are listed below. Name Description Default Type configuration (advanced) The AWS KMS default configuration KMSConfiguration accessKey (producer) Amazon AWS Access Key String secretKey (producer) Amazon AWS Secret Key String region (producer) The region in which KMS 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 The AWS KMS endpoint is configured using URI syntax: with the following path and query parameters: 29.2.1. Path Parameters (1 parameters): Name Description Default Type label Required Logical name String 29.2.2. Query Parameters (8 parameters): Name Description Default Type accessKey (producer) Amazon AWS Access Key String kmsClient (producer) To use a existing configured AWS KMS as client AWSKMS operation (producer) Required The operation to perform KMSOperations 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 29.3. Spring Boot Auto-Configuration The component supports 12 options, which are listed below. 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 KMS 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 Required KMS component options You have to provide the amazonKmsClient in the Registry or your accessKey and secretKey to access the Amazon KMS service. 29.4. Usage 29.4.1. Message headers evaluated by the MQ producer Header Type Description CamelAwsKMSLimit Integer The limit number of keys to return while performing a listKeys operation CamelAwsKMSOperation String The operation we want to perform CamelAwsKMSDescription String A key description to use while performing a createKey operation CamelAwsKMSKeyId String The key Id 29.4.2. KMS Producer operations Camel-AWS KMS component provides the following operation on the producer side: listKeys createKey disableKey scheduleKeyDeletion describeKey enableKey Dependencies Maven users will need to add the following dependency to their pom.xml. pom.xml <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-aws</artifactId> <version>USD{camel-version}</version> </dependency> where USD{camel-version } must be replaced by the actual version of Camel (2.16 or higher). 29.5. See Also Configuring Camel Component Endpoint Getting Started AWS Component

Commands:
aws-kms://label[?options]
aws-kms:label
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-aws</artifactId> <version>USD{camel-version}</version> </dependency>