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;
     }

Reply via email to