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 db9cdac325a060471edcca45fcf847a9f618b44e Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Wed Apr 7 13:59:00 2021 +0200 CAMEL-16465 - Camel-AWS: Add useDefaultCredentialProvider option to all the components - Kinesis Firehose component --- .../firehose/KinesisFirehose2Configuration.java | 12 ++++++ .../aws2/firehose/KinesisFirehose2Endpoint.java | 49 +--------------------- 2 files changed, 14 insertions(+), 47 deletions(-) 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 faf22ef..6709f81 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 @@ -61,6 +61,11 @@ public class KinesisFirehose2Configuration implements Cloneable { @UriParam(label = "common", 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.") + private boolean useDefaultCredentialsProvider; public void setAmazonKinesisFirehoseClient(FirehoseClient client) { this.amazonKinesisFirehoseClient = client; @@ -166,6 +171,13 @@ public class KinesisFirehose2Configuration implements Cloneable { this.uriEndpointOverride = uriEndpointOverride; } + public boolean isUseDefaultCredentialsProvider() { + return useDefaultCredentialsProvider; + } + + public void setUseDefaultCredentialsProvider(boolean useDefaultCredentialsProvider) { + this.useDefaultCredentialsProvider = useDefaultCredentialsProvider; + } // ************************************************* // // ************************************************* 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 08bdef0..2b18e70 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 @@ -22,6 +22,7 @@ import org.apache.camel.Category; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; +import org.apache.camel.component.aws2.firehose.client.KinesisFirehoseClientFactory; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.support.DefaultEndpoint; @@ -76,7 +77,7 @@ public class KinesisFirehose2Endpoint extends DefaultEndpoint { System.setProperty(CBOR_ENABLED.property(), "false"); } kinesisFirehoseClient = configuration.getAmazonKinesisFirehoseClient() != null - ? configuration.getAmazonKinesisFirehoseClient() : createKinesisFirehoseClient(); + ? configuration.getAmazonKinesisFirehoseClient() : KinesisFirehoseClientFactory.getKinesisFirehoseClient(configuration).getKinesisFirehoseClient(); } @@ -93,52 +94,6 @@ public class KinesisFirehose2Endpoint extends DefaultEndpoint { super.doStop(); } - FirehoseClient createKinesisFirehoseClient() { - FirehoseClient client = null; - FirehoseClientBuilder clientBuilder = FirehoseClient.builder(); - ProxyConfiguration.Builder proxyConfig = null; - ApacheHttpClient.Builder httpClientBuilder = null; - boolean isClientConfigFound = false; - if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) { - proxyConfig = ProxyConfiguration.builder(); - URI proxyEndpoint = URI.create(configuration.getProxyProtocol() + "://" + configuration.getProxyHost() + ":" - + configuration.getProxyPort()); - proxyConfig.endpoint(proxyEndpoint); - httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig.build()); - isClientConfigFound = true; - } - if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) { - AwsBasicCredentials cred = AwsBasicCredentials.create(configuration.getAccessKey(), configuration.getSecretKey()); - if (isClientConfigFound) { - clientBuilder = clientBuilder.httpClientBuilder(httpClientBuilder) - .credentialsProvider(StaticCredentialsProvider.create(cred)); - } else { - clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred)); - } - } else { - if (!isClientConfigFound) { - clientBuilder = clientBuilder.httpClientBuilder(httpClientBuilder); - } - } - if (ObjectHelper.isNotEmpty(configuration.getRegion())) { - clientBuilder = clientBuilder.region(Region.of(configuration.getRegion())); - } - if (configuration.isOverrideEndpoint()) { - clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride())); - } - if (configuration.isTrustAllCertificates()) { - SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap - .builder() - .put( - SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, - Boolean.TRUE) - .build()); - clientBuilder.httpClient(ahc); - } - client = clientBuilder.build(); - return client; - } - public FirehoseClient getClient() { return kinesisFirehoseClient; }