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: &lt;code&gt;boolean&lt;/code&gt; 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: &lt;code&gt;boolean&lt;/code&gt; 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 &lt;code&gt;boolean&lt;/code&gt;
+         * 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: &lt;code&gt;java.lang.String&lt;/code&gt; 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
 |===

Reply via email to