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 29a2403bae949258c39f474434abeed0e7d5dd5b
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Thu May 27 08:26:09 2021 +0200

    CAMEL-16465 - Camel-AWS: Add useDefaultCredentialProvider option to all the 
components - SES Component
---
 .../camel/catalog/docs/aws2-ses-component.adoc     |  6 ++--
 .../aws2/ses/Ses2ComponentConfigurer.java          |  6 ++++
 .../component/aws2/ses/Ses2EndpointConfigurer.java |  6 ++++
 .../component/aws2/ses/Ses2EndpointUriFactory.java |  3 +-
 .../apache/camel/component/aws2/ses/aws2-ses.json  |  2 ++
 .../src/main/docs/aws2-ses-component.adoc          |  6 ++--
 .../camel/component/aws2/ses/Ses2Component.java    |  3 +-
 .../component/aws2/ses/Ses2Configuration.java      |  4 +--
 .../camel/component/aws2/ses/Ses2Endpoint.java     | 11 -------
 .../ses/client/impl/Ses2ClientOptimizedImpl.java   |  4 +--
 .../ses/client/impl/Ses2ClientStandardImpl.java    |  4 +--
 .../dsl/Aws2SesComponentBuilderFactory.java        | 19 +++++++++++
 .../endpoint/dsl/Ses2EndpointBuilderFactory.java   | 37 ++++++++++++++++++++++
 .../modules/ROOT/pages/aws2-ses-component.adoc     |  6 ++--
 14 files changed, 92 insertions(+), 25 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-ses-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-ses-component.adoc
index 916aab0..6aad1a7 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-ses-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-ses-component.adoc
@@ -37,7 +37,7 @@ You can append query options to the URI in the following 
format,
 
 
 // component options: START
-The AWS 2 Simple Email Service (SES) component supports 17 options, which are 
listed below.
+The AWS 2 Simple Email Service (SES) component supports 18 options, which are 
listed below.
 
 
 
@@ -58,6 +58,7 @@ The AWS 2 Simple Email Service (SES) component supports 17 
options, which are li
 | *to* (producer) | List of destination email address. Can be overriden with 
'CamelAwsSesTo' header. |  | List
 | *trustAllCertificates* (producer) | If we want to trust all certificates in 
case of overriding the endpoint | false | boolean
 | *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This 
option needs to be used in combination with overrideEndpoint option |  | String
+| *useDefaultCredentialsProvider* (producer) | Set whether the Ses 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
@@ -86,7 +87,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (15 parameters):
+=== Query Parameters (16 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -105,6 +106,7 @@ with the following path and query parameters:
 | *to* (producer) | List of destination email address. Can be overriden with 
'CamelAwsSesTo' header. |  | List
 | *trustAllCertificates* (producer) | If we want to trust all certificates in 
case of overriding the endpoint | false | boolean
 | *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This 
option needs to be used in combination with overrideEndpoint option |  | String
+| *useDefaultCredentialsProvider* (producer) | Set whether the Ses 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-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
 
b/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
index 744548d..624335c 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
@@ -58,6 +58,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         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;
         }
     }
@@ -100,6 +102,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "trustAllCertificates": return boolean.class;
         case "uriendpointoverride":
         case "uriEndpointOverride": return java.lang.String.class;
+        case "usedefaultcredentialsprovider":
+        case "useDefaultCredentialsProvider": return boolean.class;
         default: return null;
         }
     }
@@ -138,6 +142,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         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-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
 
b/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
index 32c0e0a..e608abb 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
@@ -48,6 +48,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         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;
         }
     }
@@ -87,6 +89,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "trustAllCertificates": return boolean.class;
         case "uriendpointoverride":
         case "uriEndpointOverride": return java.lang.String.class;
+        case "usedefaultcredentialsprovider":
+        case "useDefaultCredentialsProvider": return boolean.class;
         default: return null;
         }
     }
@@ -122,6 +126,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         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-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
 
b/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
index 8be3cfa..0a24f07 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
@@ -20,12 +20,13 @@ public class Ses2EndpointUriFactory extends 
org.apache.camel.support.component.E
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(16);
+        Set<String> props = new HashSet<>(17);
         props.add("proxyProtocol");
         props.add("returnPath");
         props.add("secretKey");
         props.add("subject");
         props.add("uriEndpointOverride");
+        props.add("useDefaultCredentialsProvider");
         props.add("proxyHost");
         props.add("trustAllCertificates");
         props.add("proxyPort");
diff --git 
a/components/camel-aws/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
 
b/components/camel-aws/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
index da4be21..7e7d743 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
+++ 
b/components/camel-aws/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
@@ -36,6 +36,7 @@
     "to": { "kind": "property", "displayName": "To", "group": "producer", 
"label": "", "required": false, "type": "array", "javaType": 
"java.util.List<java.lang.String>", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "List of destination email address. Can be 
overriden with 'CamelAwsSesTo' header." },
     "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.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "If we want to trust all certificates in case 
of overriding the endpoint" },
     "uriEndpointOverride": { "kind": "property", "displayName": "Uri Endpoint 
Override", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "Set the overriding uri endpoint. This option 
needs to be used in combination with overrideEndpoint option" },
+    "useDefaultCredentialsProvider": { "kind": "property", "displayName": "Use 
Default Credentials Provider", "group": "producer", "label": "", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.aws2.ses.Ses2Configuration", 
"configurationField": "configuration", "description": "Set whether the Ses 
client should expect to load credentials through a d [...]
     "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.ses.Ses2Configuration", "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.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "Amazon AWS Secret Key" }
@@ -55,6 +56,7 @@
     "to": { "kind": "parameter", "displayName": "To", "group": "producer", 
"label": "", "required": false, "type": "array", "javaType": 
"java.util.List<java.lang.String>", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "List of destination email address. Can be 
overriden with 'CamelAwsSesTo' header." },
     "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.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "If we want to trust all certificates in case 
of overriding the endpoint" },
     "uriEndpointOverride": { "kind": "parameter", "displayName": "Uri Endpoint 
Override", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "Set the overriding uri endpoint. This option 
needs to be used in combination with overrideEndpoint option" },
+    "useDefaultCredentialsProvider": { "kind": "parameter", "displayName": 
"Use Default Credentials Provider", "group": "producer", "label": "", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.aws2.ses.Ses2Configuration", 
"configurationField": "configuration", "description": "Set whether the Ses 
client should expect to load credentials through a  [...]
     "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.ses.Ses2Configuration", "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.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "Amazon AWS Secret Key" }
   }
diff --git 
a/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc 
b/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
index 916aab0..6aad1a7 100644
--- a/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
+++ b/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
@@ -37,7 +37,7 @@ You can append query options to the URI in the following 
format,
 
 
 // component options: START
-The AWS 2 Simple Email Service (SES) component supports 17 options, which are 
listed below.
+The AWS 2 Simple Email Service (SES) component supports 18 options, which are 
listed below.
 
 
 
@@ -58,6 +58,7 @@ The AWS 2 Simple Email Service (SES) component supports 17 
options, which are li
 | *to* (producer) | List of destination email address. Can be overriden with 
'CamelAwsSesTo' header. |  | List
 | *trustAllCertificates* (producer) | If we want to trust all certificates in 
case of overriding the endpoint | false | boolean
 | *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This 
option needs to be used in combination with overrideEndpoint option |  | String
+| *useDefaultCredentialsProvider* (producer) | Set whether the Ses 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
@@ -86,7 +87,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (15 parameters):
+=== Query Parameters (16 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -105,6 +106,7 @@ with the following path and query parameters:
 | *to* (producer) | List of destination email address. Can be overriden with 
'CamelAwsSesTo' header. |  | List
 | *trustAllCertificates* (producer) | If we want to trust all certificates in 
case of overriding the endpoint | false | boolean
 | *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This 
option needs to be used in combination with overrideEndpoint option |  | String
+| *useDefaultCredentialsProvider* (producer) | Set whether the Ses 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-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Component.java
 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Component.java
index 1ebf7ee..c86bc74 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Component.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Component.java
@@ -59,7 +59,8 @@ public class Ses2Component extends DefaultComponent {
         setProperties(endpoint, parameters);
         if (!configuration.isUseDefaultCredentialsProvider() && 
configuration.getAmazonSESClient() == null
                 && (configuration.getAccessKey() == null || 
configuration.getSecretKey() == null)) {
-            throw new IllegalArgumentException("useDefaultCredentialsProvider 
is set to false, AmazonSESClient or accessKey and secretKey must be specified");
+            throw new IllegalArgumentException(
+                    "useDefaultCredentialsProvider is set to false, 
AmazonSESClient or accessKey and secretKey must be specified");
         }
 
         return endpoint;
diff --git 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Configuration.java
 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Configuration.java
index 1980328..a5519d7 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Configuration.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Configuration.java
@@ -245,8 +245,8 @@ public class Ses2Configuration implements Cloneable {
     }
 
     /**
-     * Set whether the Ses client should expect to load credentials through a 
default credentials provider or to
-     * expect static credentials to be passed in.
+     * Set whether the Ses client should expect to load credentials through a 
default credentials provider or to expect
+     * static credentials to be passed in.
      */
     public void setUseDefaultCredentialsProvider(Boolean 
useDefaultCredentialsProvider) {
         this.useDefaultCredentialsProvider = useDefaultCredentialsProvider;
diff --git 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Endpoint.java
 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Endpoint.java
index 00f1165..44f000f 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Endpoint.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Endpoint.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.aws2.ses;
 
-import java.net.URI;
-
 import org.apache.camel.Category;
 import org.apache.camel.Component;
 import org.apache.camel.Consumer;
@@ -28,16 +26,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.ses.SesClient;
-import software.amazon.awssdk.services.ses.SesClientBuilder;
-import software.amazon.awssdk.utils.AttributeMap;
 
 /**
  * Send e-mails through AWS SES service using AWS SDK version 2.x.
diff --git 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientOptimizedImpl.java
 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientOptimizedImpl.java
index deaf1d8..2e0a989 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientOptimizedImpl.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientOptimizedImpl.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.aws2.ses.client.impl;
 
+import java.net.URI;
+
 import org.apache.camel.component.aws2.ses.Ses2Configuration;
 import org.apache.camel.component.aws2.ses.client.Ses2InternalClient;
 import org.apache.camel.util.ObjectHelper;
@@ -30,8 +32,6 @@ import software.amazon.awssdk.services.ses.SesClient;
 import software.amazon.awssdk.services.ses.SesClientBuilder;
 import software.amazon.awssdk.utils.AttributeMap;
 
-import java.net.URI;
-
 /**
  * Manage an AWS MSK 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)
diff --git 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientStandardImpl.java
 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientStandardImpl.java
index b1f865d..6c6e30b 100644
--- 
a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientStandardImpl.java
+++ 
b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientStandardImpl.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.aws2.ses.client.impl;
 
+import java.net.URI;
+
 import org.apache.camel.component.aws2.ses.Ses2Configuration;
 import org.apache.camel.component.aws2.ses.client.Ses2InternalClient;
 import org.apache.camel.util.ObjectHelper;
@@ -32,8 +34,6 @@ import software.amazon.awssdk.services.ses.SesClient;
 import software.amazon.awssdk.services.ses.SesClientBuilder;
 import software.amazon.awssdk.utils.AttributeMap;
 
-import java.net.URI;
-
 /**
  * Manage an AWS SES client for all users to use. This implementation is for 
local instances to use a static and solid
  * credential set.
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SesComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SesComponentBuilderFactory.java
index 6448b42..189ac4b 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SesComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SesComponentBuilderFactory.java
@@ -280,6 +280,24 @@ public interface Aws2SesComponentBuilderFactory {
             return this;
         }
         /**
+         * Set whether the Ses 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: producer
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Aws2SesComponentBuilder 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,
@@ -366,6 +384,7 @@ public interface Aws2SesComponentBuilderFactory {
             case "to": getOrCreateConfiguration((Ses2Component) 
component).setTo((java.util.List) value); return true;
             case "trustAllCertificates": 
getOrCreateConfiguration((Ses2Component) 
component).setTrustAllCertificates((boolean) value); return true;
             case "uriEndpointOverride": 
getOrCreateConfiguration((Ses2Component) 
component).setUriEndpointOverride((java.lang.String) value); return true;
+            case "useDefaultCredentialsProvider": 
getOrCreateConfiguration((Ses2Component) 
component).setUseDefaultCredentialsProvider((boolean) value); return true;
             case "autowiredEnabled": ((Ses2Component) 
component).setAutowiredEnabled((boolean) value); return true;
             case "accessKey": getOrCreateConfiguration((Ses2Component) 
component).setAccessKey((java.lang.String) value); return true;
             case "secretKey": getOrCreateConfiguration((Ses2Component) 
component).setSecretKey((java.lang.String) value); return true;
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ses2EndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ses2EndpointBuilderFactory.java
index 75dd4cb..bf7bafd 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ses2EndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ses2EndpointBuilderFactory.java
@@ -384,6 +384,43 @@ public interface Ses2EndpointBuilderFactory {
             return this;
         }
         /**
+         * Set whether the Ses 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: producer
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Ses2EndpointBuilder useDefaultCredentialsProvider(
+                boolean useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Ses 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: producer
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Ses2EndpointBuilder 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-ses-component.adoc 
b/docs/components/modules/ROOT/pages/aws2-ses-component.adoc
index b344d39..cf4cf12 100644
--- a/docs/components/modules/ROOT/pages/aws2-ses-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws2-ses-component.adoc
@@ -39,7 +39,7 @@ You can append query options to the URI in the following 
format,
 
 
 // component options: START
-The AWS 2 Simple Email Service (SES) component supports 17 options, which are 
listed below.
+The AWS 2 Simple Email Service (SES) component supports 18 options, which are 
listed below.
 
 
 
@@ -60,6 +60,7 @@ The AWS 2 Simple Email Service (SES) component supports 17 
options, which are li
 | *to* (producer) | List of destination email address. Can be overriden with 
'CamelAwsSesTo' header. |  | List
 | *trustAllCertificates* (producer) | If we want to trust all certificates in 
case of overriding the endpoint | false | boolean
 | *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This 
option needs to be used in combination with overrideEndpoint option |  | String
+| *useDefaultCredentialsProvider* (producer) | Set whether the Ses 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
@@ -88,7 +89,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (15 parameters):
+=== Query Parameters (16 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -107,6 +108,7 @@ with the following path and query parameters:
 | *to* (producer) | List of destination email address. Can be overriden with 
'CamelAwsSesTo' header. |  | List
 | *trustAllCertificates* (producer) | If we want to trust all certificates in 
case of overriding the endpoint | false | boolean
 | *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This 
option needs to be used in combination with overrideEndpoint option |  | String
+| *useDefaultCredentialsProvider* (producer) | Set whether the Ses 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