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 d86aae9e64e47600ea1e5c78731d21f28ceb3d08 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Wed Apr 7 14:01:02 2021 +0200 CAMEL-16465 - Camel-AWS: Add useDefaultCredentialProvider option to all the components - Kinesis Firehose component --- .../docs/aws2-kinesis-firehose-component.adoc | 6 ++-- .../KinesisFirehose2ComponentConfigurer.java | 6 ++++ .../KinesisFirehose2EndpointConfigurer.java | 6 ++++ .../KinesisFirehose2EndpointUriFactory.java | 3 +- .../aws2/firehose/aws2-kinesis-firehose.json | 2 ++ .../main/docs/aws2-kinesis-firehose-component.adoc | 6 ++-- .../firehose/KinesisFirehose2Configuration.java | 6 ++-- .../aws2/firehose/KinesisFirehose2Endpoint.java | 14 ++------ .../client/KinesisFirehoseClientFactory.java | 3 +- .../client/KinesisFirehoseInternalClient.java | 1 - .../KinesisFirehoseClientIAMOptimizedImpl.java | 18 ++++------- .../impl/KinesisFirehoseClientStandardImpl.java | 13 +++----- .../component/aws2/kinesis/Kinesis2Endpoint.java | 11 ------- ...Aws2KinesisFirehoseComponentBuilderFactory.java | 19 +++++++++++ .../KinesisFirehose2EndpointBuilderFactory.java | 37 ++++++++++++++++++++++ .../pages/aws2-kinesis-firehose-component.adoc | 6 ++-- 16 files changed, 103 insertions(+), 54 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-kinesis-firehose-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-kinesis-firehose-component.adoc index 1b37a9e..0b96134 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-kinesis-firehose-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-kinesis-firehose-component.adoc @@ -42,7 +42,7 @@ The stream needs to be created prior to it being used. + // component options: START -The AWS 2 Kinesis Firehose component supports 15 options, which are listed below. +The AWS 2 Kinesis Firehose component supports 16 options, which are listed below. @@ -61,6 +61,7 @@ The AWS 2 Kinesis Firehose component supports 15 options, which are listed below | *region* (producer) | The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean | *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String +| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String @@ -92,7 +93,7 @@ with the following path and query parameters: |=== -=== Query Parameters (13 parameters): +=== Query Parameters (14 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -109,6 +110,7 @@ with the following path and query parameters: | *region* (producer) | The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean | *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String +| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String |=== diff --git a/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2ComponentConfigurer.java b/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2ComponentConfigurer.java index 2226c6a..f0f4008 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2ComponentConfigurer.java +++ b/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2ComponentConfigurer.java @@ -55,6 +55,8 @@ public class KinesisFirehose2ComponentConfigurer extends PropertyConfigurerSuppo case "trustAllCertificates": getOrCreateConfiguration(target).setTrustAllCertificates(property(camelContext, boolean.class, value)); return true; case "uriendpointoverride": case "uriEndpointOverride": getOrCreateConfiguration(target).setUriEndpointOverride(property(camelContext, java.lang.String.class, value)); return true; + case "usedefaultcredentialsprovider": + case "useDefaultCredentialsProvider": getOrCreateConfiguration(target).setUseDefaultCredentialsProvider(property(camelContext, boolean.class, value)); return true; default: return false; } } @@ -94,6 +96,8 @@ public class KinesisFirehose2ComponentConfigurer extends PropertyConfigurerSuppo case "trustAllCertificates": return boolean.class; case "uriendpointoverride": case "uriEndpointOverride": return java.lang.String.class; + case "usedefaultcredentialsprovider": + case "useDefaultCredentialsProvider": return boolean.class; default: return null; } } @@ -129,6 +133,8 @@ public class KinesisFirehose2ComponentConfigurer extends PropertyConfigurerSuppo case "trustAllCertificates": return getOrCreateConfiguration(target).isTrustAllCertificates(); case "uriendpointoverride": case "uriEndpointOverride": return getOrCreateConfiguration(target).getUriEndpointOverride(); + case "usedefaultcredentialsprovider": + case "useDefaultCredentialsProvider": return getOrCreateConfiguration(target).isUseDefaultCredentialsProvider(); default: return null; } } diff --git a/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointConfigurer.java b/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointConfigurer.java index 1bcdf1f..67d7e85 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointConfigurer.java +++ b/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointConfigurer.java @@ -45,6 +45,8 @@ public class KinesisFirehose2EndpointConfigurer extends PropertyConfigurerSuppor case "trustAllCertificates": target.getConfiguration().setTrustAllCertificates(property(camelContext, boolean.class, value)); return true; case "uriendpointoverride": case "uriEndpointOverride": target.getConfiguration().setUriEndpointOverride(property(camelContext, java.lang.String.class, value)); return true; + case "usedefaultcredentialsprovider": + case "useDefaultCredentialsProvider": target.getConfiguration().setUseDefaultCredentialsProvider(property(camelContext, boolean.class, value)); return true; default: return false; } } @@ -81,6 +83,8 @@ public class KinesisFirehose2EndpointConfigurer extends PropertyConfigurerSuppor case "trustAllCertificates": return boolean.class; case "uriendpointoverride": case "uriEndpointOverride": return java.lang.String.class; + case "usedefaultcredentialsprovider": + case "useDefaultCredentialsProvider": return boolean.class; default: return null; } } @@ -113,6 +117,8 @@ public class KinesisFirehose2EndpointConfigurer extends PropertyConfigurerSuppor case "trustAllCertificates": return target.getConfiguration().isTrustAllCertificates(); case "uriendpointoverride": case "uriEndpointOverride": return target.getConfiguration().getUriEndpointOverride(); + case "usedefaultcredentialsprovider": + case "useDefaultCredentialsProvider": return target.getConfiguration().isUseDefaultCredentialsProvider(); default: return null; } } diff --git a/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointUriFactory.java b/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointUriFactory.java index 2819da3..9fdf35f 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointUriFactory.java +++ b/components/camel-aws/camel-aws2-kinesis/src/generated/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2EndpointUriFactory.java @@ -20,11 +20,12 @@ public class KinesisFirehose2EndpointUriFactory extends org.apache.camel.support private static final Set<String> PROPERTY_NAMES; private static final Set<String> SECRET_PROPERTY_NAMES; static { - Set<String> props = new HashSet<>(14); + Set<String> props = new HashSet<>(15); props.add("amazonKinesisFirehoseClient"); props.add("proxyProtocol"); props.add("secretKey"); props.add("uriEndpointOverride"); + props.add("useDefaultCredentialsProvider"); props.add("streamName"); props.add("proxyHost"); props.add("trustAllCertificates"); diff --git a/components/camel-aws/camel-aws2-kinesis/src/generated/resources/org/apache/camel/component/aws2/firehose/aws2-kinesis-firehose.json b/components/camel-aws/camel-aws2-kinesis/src/generated/resources/org/apache/camel/component/aws2/firehose/aws2-kinesis-firehose.json index b074cc7..52f3758 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/generated/resources/org/apache/camel/component/aws2/firehose/aws2-kinesis-firehose.json +++ b/components/camel-aws/camel-aws2-kinesis/src/generated/resources/org/apache/camel/component/aws2/firehose/aws2-kinesis-firehose.json @@ -34,6 +34,7 @@ "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the [...] "trustAllCertificates": { "kind": "property", "displayName": "Trust All Certificates", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "If we want to trust all certificates in case of overriding the endpoint" }, "uriEndpointOverride": { "kind": "property", "displayName": "Uri Endpoint Override", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used in combination with overr [...] + "useDefaultCredentialsProvider": { "kind": "property", "displayName": "Use Default Credentials Provider", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Set whether the Kinesis Firehose client should expe [...] "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key" }, "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } @@ -51,6 +52,7 @@ "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect th [...] "trustAllCertificates": { "kind": "parameter", "displayName": "Trust All Certificates", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "If we want to trust all certificates in case of overriding the endpoint" }, "uriEndpointOverride": { "kind": "parameter", "displayName": "Uri Endpoint Override", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used in combination with over [...] + "useDefaultCredentialsProvider": { "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Set whether the Kinesis Firehose client should exp [...] "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key" }, "secretKey": { "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } } diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc b/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc index 1b37a9e..0b96134 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc +++ b/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc @@ -42,7 +42,7 @@ The stream needs to be created prior to it being used. + // component options: START -The AWS 2 Kinesis Firehose component supports 15 options, which are listed below. +The AWS 2 Kinesis Firehose component supports 16 options, which are listed below. @@ -61,6 +61,7 @@ The AWS 2 Kinesis Firehose component supports 15 options, which are listed below | *region* (producer) | The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean | *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String +| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String @@ -92,7 +93,7 @@ with the following path and query parameters: |=== -=== Query Parameters (13 parameters): +=== Query Parameters (14 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -109,6 +110,7 @@ with the following path and query parameters: | *region* (producer) | The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean | *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String +| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String |=== diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java index 6709f81..7d8fed6 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java +++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java @@ -62,9 +62,9 @@ public class KinesisFirehose2Configuration implements Cloneable { description = "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option") private String uriEndpointOverride; @UriParam(label = "common", defaultValue = "false", - description = "Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect " - + - "static credentials to be passed in.") + description = "Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect " + + + "static credentials to be passed in.") private boolean useDefaultCredentialsProvider; public void setAmazonKinesisFirehoseClient(FirehoseClient client) { diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java index 2b18e70..79f3272 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java +++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java @@ -16,8 +16,6 @@ */ package org.apache.camel.component.aws2.firehose; -import java.net.URI; - import org.apache.camel.Category; import org.apache.camel.Consumer; import org.apache.camel.Processor; @@ -27,16 +25,7 @@ import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.support.DefaultEndpoint; import org.apache.camel.util.ObjectHelper; -import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; -import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; -import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.SdkHttpConfigurationOption; -import software.amazon.awssdk.http.apache.ApacheHttpClient; -import software.amazon.awssdk.http.apache.ProxyConfiguration; -import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.firehose.FirehoseClient; -import software.amazon.awssdk.services.firehose.FirehoseClientBuilder; -import software.amazon.awssdk.utils.AttributeMap; import static software.amazon.awssdk.core.SdkSystemSetting.CBOR_ENABLED; @@ -77,7 +66,8 @@ public class KinesisFirehose2Endpoint extends DefaultEndpoint { System.setProperty(CBOR_ENABLED.property(), "false"); } kinesisFirehoseClient = configuration.getAmazonKinesisFirehoseClient() != null - ? configuration.getAmazonKinesisFirehoseClient() : KinesisFirehoseClientFactory.getKinesisFirehoseClient(configuration).getKinesisFirehoseClient(); + ? configuration.getAmazonKinesisFirehoseClient() + : KinesisFirehoseClientFactory.getKinesisFirehoseClient(configuration).getKinesisFirehoseClient(); } diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseClientFactory.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseClientFactory.java index 848343d..eb84829 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseClientFactory.java +++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseClientFactory.java @@ -36,6 +36,7 @@ public final class KinesisFirehoseClientFactory { */ public static KinesisFirehoseInternalClient getKinesisFirehoseClient(KinesisFirehose2Configuration configuration) { return configuration.isUseDefaultCredentialsProvider() - ? new KinesisFirehoseClientIAMOptimizedImpl(configuration) : new KinesisFirehoseClientStandardImpl(configuration); + ? new KinesisFirehoseClientIAMOptimizedImpl(configuration) + : new KinesisFirehoseClientStandardImpl(configuration); } } diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseInternalClient.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseInternalClient.java index df28929..13e158a 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseInternalClient.java +++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/KinesisFirehoseInternalClient.java @@ -17,7 +17,6 @@ package org.apache.camel.component.aws2.firehose.client; import software.amazon.awssdk.services.firehose.FirehoseClient; -import software.amazon.awssdk.services.kinesis.KinesisClient; /** * Manage the required actions of a Kinesis Firehose client for either local or remote. diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientIAMOptimizedImpl.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientIAMOptimizedImpl.java index 5cb6286..6e5f7bc 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientIAMOptimizedImpl.java +++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientIAMOptimizedImpl.java @@ -16,15 +16,14 @@ */ package org.apache.camel.component.aws2.firehose.client.impl; +import java.net.URI; + import org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration; import org.apache.camel.component.aws2.firehose.client.KinesisFirehoseInternalClient; -import org.apache.camel.component.aws2.kinesis.Kinesis2Configuration; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; -import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.http.SdkHttpClient; import software.amazon.awssdk.http.SdkHttpConfigurationOption; import software.amazon.awssdk.http.apache.ApacheHttpClient; @@ -32,15 +31,11 @@ import software.amazon.awssdk.http.apache.ProxyConfiguration; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.firehose.FirehoseClient; import software.amazon.awssdk.services.firehose.FirehoseClientBuilder; -import software.amazon.awssdk.services.kinesis.KinesisClient; -import software.amazon.awssdk.services.kinesis.KinesisClientBuilder; import software.amazon.awssdk.utils.AttributeMap; -import java.net.URI; - /** - * Manage an AWS Kinesis Firehose client for all users to use (enabling temporary creds). This implementation is for remote - * instances to manage the credentials on their own (eliminating credential rotations) + * Manage an AWS Kinesis Firehose client for all users to use (enabling temporary creds). This implementation is for + * remote instances to manage the credentials on their own (eliminating credential rotations) */ public class KinesisFirehoseClientIAMOptimizedImpl implements KinesisFirehoseInternalClient { private static final Logger LOG = LoggerFactory.getLogger(KinesisFirehoseClientIAMOptimizedImpl.class); @@ -50,7 +45,8 @@ public class KinesisFirehoseClientIAMOptimizedImpl implements KinesisFirehoseInt * Constructor that uses the config file. */ public KinesisFirehoseClientIAMOptimizedImpl(KinesisFirehose2Configuration configuration) { - LOG.trace("Creating an AWS Kinesis Firehose client for an ec2 instance with IAM temporary credentials (normal for ec2s)."); + LOG.trace( + "Creating an AWS Kinesis Firehose client for an ec2 instance with IAM temporary credentials (normal for ec2s)."); this.configuration = configuration; } @@ -69,7 +65,7 @@ public class KinesisFirehoseClientIAMOptimizedImpl implements KinesisFirehoseInt if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) { proxyConfig = ProxyConfiguration.builder(); URI proxyEndpoint = URI.create(configuration.getProxyProtocol() + "://" + configuration.getProxyHost() + ":" - + configuration.getProxyPort()); + + configuration.getProxyPort()); proxyConfig.endpoint(proxyEndpoint); httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig.build()); isClientConfigFound = true; diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientStandardImpl.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientStandardImpl.java index 9f20d0e..0ed6467 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientStandardImpl.java +++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/client/impl/KinesisFirehoseClientStandardImpl.java @@ -16,9 +16,10 @@ */ package org.apache.camel.component.aws2.firehose.client.impl; +import java.net.URI; + import org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration; import org.apache.camel.component.aws2.firehose.client.KinesisFirehoseInternalClient; -import org.apache.camel.component.aws2.kinesis.Kinesis2Configuration; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,15 +32,11 @@ import software.amazon.awssdk.http.apache.ProxyConfiguration; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.firehose.FirehoseClient; import software.amazon.awssdk.services.firehose.FirehoseClientBuilder; -import software.amazon.awssdk.services.kinesis.KinesisClient; -import software.amazon.awssdk.services.kinesis.KinesisClientBuilder; import software.amazon.awssdk.utils.AttributeMap; -import java.net.URI; - /** - * Manage an AWS Kinesis Firehose client for all users to use. This implementation is for local instances to use a static and - * solid credential set. + * Manage an AWS Kinesis Firehose client for all users to use. This implementation is for local instances to use a + * static and solid credential set. */ public class KinesisFirehoseClientStandardImpl implements KinesisFirehoseInternalClient { private static final Logger LOG = LoggerFactory.getLogger(KinesisFirehoseClientStandardImpl.class); @@ -68,7 +65,7 @@ public class KinesisFirehoseClientStandardImpl implements KinesisFirehoseInterna if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) { proxyConfig = ProxyConfiguration.builder(); URI proxyEndpoint = URI.create(configuration.getProxyProtocol() + "://" + configuration.getProxyHost() + ":" - + configuration.getProxyPort()); + + configuration.getProxyPort()); proxyConfig.endpoint(proxyEndpoint); httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig.build()); isClientConfigFound = true; diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java index 8370c36..b728fbb 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java +++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java @@ -16,8 +16,6 @@ */ package org.apache.camel.component.aws2.kinesis; -import java.net.URI; - import org.apache.camel.Category; import org.apache.camel.Consumer; import org.apache.camel.Processor; @@ -27,17 +25,8 @@ import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.support.ScheduledPollEndpoint; import org.apache.camel.util.ObjectHelper; -import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; -import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; -import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.SdkHttpConfigurationOption; -import software.amazon.awssdk.http.apache.ApacheHttpClient; -import software.amazon.awssdk.http.apache.ProxyConfiguration; -import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.kinesis.KinesisClient; -import software.amazon.awssdk.services.kinesis.KinesisClientBuilder; import software.amazon.awssdk.services.kinesis.model.ShardIteratorType; -import software.amazon.awssdk.utils.AttributeMap; import static software.amazon.awssdk.core.SdkSystemSetting.CBOR_ENABLED; diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2KinesisFirehoseComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2KinesisFirehoseComponentBuilderFactory.java index fa6f856..ea812fc 100644 --- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2KinesisFirehoseComponentBuilderFactory.java +++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2KinesisFirehoseComponentBuilderFactory.java @@ -259,6 +259,24 @@ public interface Aws2KinesisFirehoseComponentBuilderFactory { return this; } /** + * Set whether the Kinesis Firehose client should expect to load + * credentials through a default credentials provider or to expect + * static credentials to be passed in. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: common + * + * @param useDefaultCredentialsProvider the value to set + * @return the dsl builder + */ + default Aws2KinesisFirehoseComponentBuilder useDefaultCredentialsProvider( + boolean useDefaultCredentialsProvider) { + doSetProperty("useDefaultCredentialsProvider", useDefaultCredentialsProvider); + return this; + } + /** * Whether autowiring is enabled. This is used for automatic autowiring * options (the option must be marked as autowired) by looking up in the * registry to find if there is a single instance of matching type, @@ -345,6 +363,7 @@ public interface Aws2KinesisFirehoseComponentBuilderFactory { case "region": getOrCreateConfiguration((KinesisFirehose2Component) component).setRegion((java.lang.String) value); return true; case "trustAllCertificates": getOrCreateConfiguration((KinesisFirehose2Component) component).setTrustAllCertificates((boolean) value); return true; case "uriEndpointOverride": getOrCreateConfiguration((KinesisFirehose2Component) component).setUriEndpointOverride((java.lang.String) value); return true; + case "useDefaultCredentialsProvider": getOrCreateConfiguration((KinesisFirehose2Component) component).setUseDefaultCredentialsProvider((boolean) value); return true; case "autowiredEnabled": ((KinesisFirehose2Component) component).setAutowiredEnabled((boolean) value); return true; case "accessKey": getOrCreateConfiguration((KinesisFirehose2Component) component).setAccessKey((java.lang.String) value); return true; case "secretKey": getOrCreateConfiguration((KinesisFirehose2Component) component).setSecretKey((java.lang.String) value); return true; diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KinesisFirehose2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KinesisFirehose2EndpointBuilderFactory.java index 1917f15..d977650 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KinesisFirehose2EndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KinesisFirehose2EndpointBuilderFactory.java @@ -369,6 +369,43 @@ public interface KinesisFirehose2EndpointBuilderFactory { return this; } /** + * Set whether the Kinesis Firehose client should expect to load + * credentials through a default credentials provider or to expect + * static credentials to be passed in. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: common + * + * @param useDefaultCredentialsProvider the value to set + * @return the dsl builder + */ + default KinesisFirehose2EndpointBuilder useDefaultCredentialsProvider( + boolean useDefaultCredentialsProvider) { + doSetProperty("useDefaultCredentialsProvider", useDefaultCredentialsProvider); + return this; + } + /** + * Set whether the Kinesis Firehose client should expect to load + * credentials through a default credentials provider or to expect + * static credentials to be passed in. + * + * The option will be converted to a <code>boolean</code> + * type. + * + * Default: false + * Group: common + * + * @param useDefaultCredentialsProvider the value to set + * @return the dsl builder + */ + default KinesisFirehose2EndpointBuilder useDefaultCredentialsProvider( + String useDefaultCredentialsProvider) { + doSetProperty("useDefaultCredentialsProvider", useDefaultCredentialsProvider); + return this; + } + /** * Amazon AWS Access Key. * * The option is a: <code>java.lang.String</code> type. diff --git a/docs/components/modules/ROOT/pages/aws2-kinesis-firehose-component.adoc b/docs/components/modules/ROOT/pages/aws2-kinesis-firehose-component.adoc index f618f3c..7ee0a8b 100644 --- a/docs/components/modules/ROOT/pages/aws2-kinesis-firehose-component.adoc +++ b/docs/components/modules/ROOT/pages/aws2-kinesis-firehose-component.adoc @@ -44,7 +44,7 @@ The stream needs to be created prior to it being used. + // component options: START -The AWS 2 Kinesis Firehose component supports 15 options, which are listed below. +The AWS 2 Kinesis Firehose component supports 16 options, which are listed below. @@ -63,6 +63,7 @@ The AWS 2 Kinesis Firehose component supports 15 options, which are listed below | *region* (producer) | The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean | *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String +| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String @@ -94,7 +95,7 @@ with the following path and query parameters: |=== -=== Query Parameters (13 parameters): +=== Query Parameters (14 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -111,6 +112,7 @@ with the following path and query parameters: | *region* (producer) | The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean | *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String +| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String |===