This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 6282b28ec91318784852b2231b27305e946c77ac
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Jun 1 07:55:03 2021 +0200

    CAMEL-16465 - Camel-AWS: Add useDefaultCredentialProvider option to all the 
components - Secrets Manager Component
---
 .../secretsmanager/SecretsManagerComponent.java    |  4 +-
 .../aws/secretsmanager/SecretsManagerEndpoint.java | 47 ++--------------------
 .../client/SecretsManagerClientFactory.java        |  2 +-
 3 files changed, 6 insertions(+), 47 deletions(-)

diff --git 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerComponent.java
 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerComponent.java
index a9e11e6..768d03f 100644
--- 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerComponent.java
+++ 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerComponent.java
@@ -47,9 +47,9 @@ public class SecretsManagerComponent extends DefaultComponent 
{
                 = this.configuration != null ? this.configuration.copy() : new 
SecretsManagerConfiguration();
         SecretsManagerEndpoint endpoint = new SecretsManagerEndpoint(uri, 
this, configuration);
         setProperties(endpoint, parameters);
-        if (configuration.getSecretsManagerClient() == null
+        if (!configuration.isUseDefaultCredentialsProvider() && 
configuration.getSecretsManagerClient() == null
                 && (configuration.getAccessKey() == null || 
configuration.getSecretKey() == null)) {
-            throw new IllegalArgumentException("Amazon Secrets Manager client 
or accessKey and secretKey must be specified");
+            throw new IllegalArgumentException("useDefaultCredentialsProvider 
is set to false, Amazon Secrets Manager client or accessKey and secretKey must 
be specified");
         }
 
         return endpoint;
diff --git 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerEndpoint.java
 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerEndpoint.java
index 619f7b3..e8aba31 100644
--- 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerEndpoint.java
+++ 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerEndpoint.java
@@ -23,6 +23,7 @@ import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import 
org.apache.camel.component.aws.secretsmanager.client.SecretsManagerClientFactory;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.ScheduledPollEndpoint;
@@ -70,7 +71,8 @@ public class SecretsManagerEndpoint extends 
ScheduledPollEndpoint {
         super.doStart();
 
         secretsManagerClient = configuration.getSecretsManagerClient() != null
-                ? configuration.getSecretsManagerClient() : 
createSecretsManagerClient();
+                ? configuration.getSecretsManagerClient()
+                : 
SecretsManagerClientFactory.getSecretsManagerClient(configuration).getSecretsManagerClient();
     }
 
     @Override
@@ -90,47 +92,4 @@ public class SecretsManagerEndpoint extends 
ScheduledPollEndpoint {
     public SecretsManagerClient getSecretsManagerClient() {
         return secretsManagerClient;
     }
-
-    SecretsManagerClient createSecretsManagerClient() {
-        SecretsManagerClient client = null;
-        SecretsManagerClientBuilder clientBuilder = 
SecretsManagerClient.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.isTrustAllCertificates()) {
-            SdkHttpClient ahc = 
ApacheHttpClient.builder().buildWithDefaults(AttributeMap
-                    .builder()
-                    .put(
-                            SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES,
-                            Boolean.TRUE)
-                    .build());
-            clientBuilder.httpClient(ahc);
-        }
-        client = clientBuilder.build();
-        return client;
-    }
 }
diff --git 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/client/SecretsManagerClientFactory.java
 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/client/SecretsManagerClientFactory.java
index efb6a17..7a0ae0d 100644
--- 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/client/SecretsManagerClientFactory.java
+++ 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/client/SecretsManagerClientFactory.java
@@ -34,7 +34,7 @@ public final class SecretsManagerClientFactory {
      * @param  configuration configuration
      * @return               SecretsManagerClient
      */
-    public static SecretsManagerInternalClient 
getTranslateClient(SecretsManagerConfiguration configuration) {
+    public static SecretsManagerInternalClient 
getSecretsManagerClient(SecretsManagerConfiguration configuration) {
         return configuration.isUseDefaultCredentialsProvider()
                 ? new SecretsManagerClientIAMOptimized(configuration) : new 
SecretsManagerClientStandardImpl(configuration);
     }

Reply via email to