You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/04/07 12:08:05 UTC
[camel] 01/05: CAMEL-16465 - Camel-AWS: Add
useDefaultCredentialProvider option to all the components - Kinesis
Firehose component
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 <an...@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;
}