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 8174b68f951bb5ea5f3b96d259bbba98a6e53aaf
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Mar 3 07:34:06 2021 +0100

    CAMEL-16171 - Add uri-endpoint-override options to all AWS2 components - 
AWS2-SES component
---
 .../camel/catalog/docs/aws2-ses-component.adoc     |  8 +++-
 .../aws2/ses/Ses2ComponentConfigurer.java          | 12 ++++++
 .../component/aws2/ses/Ses2EndpointConfigurer.java | 12 ++++++
 .../component/aws2/ses/Ses2EndpointUriFactory.java |  4 +-
 .../apache/camel/component/aws2/ses/aws2-ses.json  |  4 ++
 .../src/main/docs/aws2-ses-component.adoc          |  8 +++-
 .../dsl/Aws2SesComponentBuilderFactory.java        | 35 ++++++++++++++++
 .../endpoint/dsl/Ses2EndpointBuilderFactory.java   | 49 ++++++++++++++++++++++
 .../modules/ROOT/pages/aws2-ses-component.adoc     |  8 +++-
 9 files changed, 133 insertions(+), 7 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 ec5e6b3..404f50e 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 15 options, which are 
listed below.
+The AWS 2 Simple Email Service (SES) component supports 17 options, which are 
listed below.
 
 
 
@@ -47,6 +47,7 @@ The AWS 2 Simple Email Service (SES) component supports 15 
options, which are li
 | *amazonSESClient* (producer) | *Autowired* To use the 
AmazonSimpleEmailService as the client |  | SesClient
 | *configuration* (producer) | component configuration |  | Ses2Configuration
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. 
This option needs to be used in combination with uriEndpointOverride option | 
false | boolean
 | *proxyHost* (producer) | To define a proxy host when instantiating the SES 
client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the SES 
client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating 
the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | 
HTTPS | Protocol
@@ -56,6 +57,7 @@ The AWS 2 Simple Email Service (SES) component supports 15 
options, which are li
 | *subject* (producer) | The subject which is used if the message header 
'CamelAwsSesSubject' is not present. |  | String
 | *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
 | *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
@@ -84,7 +86,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (13 parameters):
+=== Query Parameters (15 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -92,6 +94,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *amazonSESClient* (producer) | *Autowired* To use the 
AmazonSimpleEmailService as the client |  | SesClient
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. 
This option needs to be used in combination with uriEndpointOverride option | 
false | boolean
 | *proxyHost* (producer) | To define a proxy host when instantiating the SES 
client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the SES 
client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating 
the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | 
HTTPS | Protocol
@@ -101,6 +104,7 @@ with the following path and query parameters:
 | *subject* (producer) | The subject which is used if the message header 
'CamelAwsSesSubject' is not present. |  | String
 | *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
 | *accessKey* (security) | Amazon AWS Access Key |  | String
 | *secretKey* (security) | Amazon AWS Secret Key |  | String
 |===
diff --git 
a/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
 
b/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
index 163ad10..744548d 100644
--- 
a/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
+++ 
b/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2ComponentConfigurer.java
@@ -37,6 +37,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "configuration": target.setConfiguration(property(camelContext, 
org.apache.camel.component.aws2.ses.Ses2Configuration.class, value)); return 
true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "overrideendpoint":
+        case "overrideEndpoint": 
getOrCreateConfiguration(target).setOverrideEndpoint(property(camelContext, 
boolean.class, value)); return true;
         case "proxyhost":
         case "proxyHost": 
getOrCreateConfiguration(target).setProxyHost(property(camelContext, 
java.lang.String.class, value)); return true;
         case "proxyport":
@@ -54,6 +56,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "to": 
getOrCreateConfiguration(target).setTo(property(camelContext, 
java.util.List.class, value)); return true;
         case "trustallcertificates":
         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;
         default: return false;
         }
     }
@@ -75,6 +79,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "configuration": return 
org.apache.camel.component.aws2.ses.Ses2Configuration.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
+        case "overrideendpoint":
+        case "overrideEndpoint": return boolean.class;
         case "proxyhost":
         case "proxyHost": return java.lang.String.class;
         case "proxyport":
@@ -92,6 +98,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "to": return java.util.List.class;
         case "trustallcertificates":
         case "trustAllCertificates": return boolean.class;
+        case "uriendpointoverride":
+        case "uriEndpointOverride": return java.lang.String.class;
         default: return null;
         }
     }
@@ -109,6 +117,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "configuration": return target.getConfiguration();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "overrideendpoint":
+        case "overrideEndpoint": return 
getOrCreateConfiguration(target).isOverrideEndpoint();
         case "proxyhost":
         case "proxyHost": return 
getOrCreateConfiguration(target).getProxyHost();
         case "proxyport":
@@ -126,6 +136,8 @@ public class Ses2ComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "to": return getOrCreateConfiguration(target).getTo();
         case "trustallcertificates":
         case "trustAllCertificates": return 
getOrCreateConfiguration(target).isTrustAllCertificates();
+        case "uriendpointoverride":
+        case "uriEndpointOverride": return 
getOrCreateConfiguration(target).getUriEndpointOverride();
         default: return null;
         }
     }
diff --git 
a/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
 
b/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
index 5ca60fe..32c0e0a 100644
--- 
a/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
+++ 
b/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointConfigurer.java
@@ -27,6 +27,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "amazonSESClient": 
target.getConfiguration().setAmazonSESClient(property(camelContext, 
software.amazon.awssdk.services.ses.SesClient.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "overrideendpoint":
+        case "overrideEndpoint": 
target.getConfiguration().setOverrideEndpoint(property(camelContext, 
boolean.class, value)); return true;
         case "proxyhost":
         case "proxyHost": 
target.getConfiguration().setProxyHost(property(camelContext, 
java.lang.String.class, value)); return true;
         case "proxyport":
@@ -44,6 +46,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "to": target.getConfiguration().setTo(property(camelContext, 
java.util.List.class, value)); return true;
         case "trustallcertificates":
         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;
         default: return false;
         }
     }
@@ -62,6 +66,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "amazonSESClient": return 
software.amazon.awssdk.services.ses.SesClient.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
+        case "overrideendpoint":
+        case "overrideEndpoint": return boolean.class;
         case "proxyhost":
         case "proxyHost": return java.lang.String.class;
         case "proxyport":
@@ -79,6 +85,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "to": return java.util.List.class;
         case "trustallcertificates":
         case "trustAllCertificates": return boolean.class;
+        case "uriendpointoverride":
+        case "uriEndpointOverride": return java.lang.String.class;
         default: return null;
         }
     }
@@ -93,6 +101,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "amazonSESClient": return 
target.getConfiguration().getAmazonSESClient();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "overrideendpoint":
+        case "overrideEndpoint": return 
target.getConfiguration().isOverrideEndpoint();
         case "proxyhost":
         case "proxyHost": return target.getConfiguration().getProxyHost();
         case "proxyport":
@@ -110,6 +120,8 @@ public class Ses2EndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "to": return target.getConfiguration().getTo();
         case "trustallcertificates":
         case "trustAllCertificates": return 
target.getConfiguration().isTrustAllCertificates();
+        case "uriendpointoverride":
+        case "uriEndpointOverride": return 
target.getConfiguration().getUriEndpointOverride();
         default: return null;
         }
     }
diff --git 
a/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
 
b/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
index d56e922..8be3cfa 100644
--- 
a/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
+++ 
b/components/camel-aws2-ses/src/generated/java/org/apache/camel/component/aws2/ses/Ses2EndpointUriFactory.java
@@ -20,16 +20,18 @@ 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<>(14);
+        Set<String> props = new HashSet<>(16);
         props.add("proxyProtocol");
         props.add("returnPath");
         props.add("secretKey");
         props.add("subject");
+        props.add("uriEndpointOverride");
         props.add("proxyHost");
         props.add("trustAllCertificates");
         props.add("proxyPort");
         props.add("lazyStartProducer");
         props.add("accessKey");
+        props.add("overrideEndpoint");
         props.add("from");
         props.add("to");
         props.add("region");
diff --git 
a/components/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
 
b/components/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
index 9283961..a0f0365 100644
--- 
a/components/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
+++ 
b/components/camel-aws2-ses/src/generated/resources/org/apache/camel/component/aws2/ses/aws2-ses.json
@@ -25,6 +25,7 @@
     "amazonSESClient": { "kind": "property", "displayName": "Amazon 
SESClient", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": "software.amazon.awssdk.services.ses.SesClient", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": "org.apache.camel.component.aws2.ses.Ses2Configuration", 
"configurationField": "configuration", "description": "To use the 
AmazonSimpleEmailService as the client" },
     "configuration": { "kind": "property", "displayName": "Configuration", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.camel.component.aws2.ses.Ses2Configuration", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"component configuration" },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
+    "overrideEndpoint": { "kind": "property", "displayName": "Override 
Endpoint", "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 the need for overidding the endpoint. This 
option needs to be used in combination with uriEndpoi [...]
     "proxyHost": { "kind": "property", "displayName": "Proxy Host", "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": "To define a proxy host 
when instantiating the SES client" },
     "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.aws2.ses.Ses2Configuration", 
"configurationField": "configuration", "description": "To define a proxy port 
when instantiating the SES client" },
     "proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" 
], "deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"HTTPS", "configurationClass": 
"org.apache.camel.component.aws2.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "To define a proxy protocol when instantiating 
t [...]
@@ -34,6 +35,7 @@
     "subject": { "kind": "property", "displayName": "Subject", "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": "The subject which is 
used if the message header 'CamelAwsSesSubject' is not present." },
     "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" },
     "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" }
@@ -42,6 +44,7 @@
     "from": { "kind": "path", "displayName": "From", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "The sender's email address." },
     "amazonSESClient": { "kind": "parameter", "displayName": "Amazon 
SESClient", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": "software.amazon.awssdk.services.ses.SesClient", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": "org.apache.camel.component.aws2.ses.Ses2Configuration", 
"configurationField": "configuration", "description": "To use the 
AmazonSimpleEmailService as the client" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
+    "overrideEndpoint": { "kind": "parameter", "displayName": "Override 
Endpoint", "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 the need for overidding the endpoint. This 
option needs to be used in combination with uriEndpo [...]
     "proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "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": "To define a proxy host 
when instantiating the SES client" },
     "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.aws2.ses.Ses2Configuration", 
"configurationField": "configuration", "description": "To define a proxy port 
when instantiating the SES client" },
     "proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" 
], "deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"HTTPS", "configurationClass": 
"org.apache.camel.component.aws2.ses.Ses2Configuration", "configurationField": 
"configuration", "description": "To define a proxy protocol when instantiating  
[...]
@@ -51,6 +54,7 @@
     "subject": { "kind": "parameter", "displayName": "Subject", "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": "The subject which is 
used if the message header 'CamelAwsSesSubject' is not present." },
     "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" },
     "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-aws2-ses/src/main/docs/aws2-ses-component.adoc 
b/components/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
index ec5e6b3..404f50e 100644
--- a/components/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
+++ b/components/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 15 options, which are 
listed below.
+The AWS 2 Simple Email Service (SES) component supports 17 options, which are 
listed below.
 
 
 
@@ -47,6 +47,7 @@ The AWS 2 Simple Email Service (SES) component supports 15 
options, which are li
 | *amazonSESClient* (producer) | *Autowired* To use the 
AmazonSimpleEmailService as the client |  | SesClient
 | *configuration* (producer) | component configuration |  | Ses2Configuration
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. 
This option needs to be used in combination with uriEndpointOverride option | 
false | boolean
 | *proxyHost* (producer) | To define a proxy host when instantiating the SES 
client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the SES 
client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating 
the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | 
HTTPS | Protocol
@@ -56,6 +57,7 @@ The AWS 2 Simple Email Service (SES) component supports 15 
options, which are li
 | *subject* (producer) | The subject which is used if the message header 
'CamelAwsSesSubject' is not present. |  | String
 | *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
 | *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
@@ -84,7 +86,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (13 parameters):
+=== Query Parameters (15 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -92,6 +94,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *amazonSESClient* (producer) | *Autowired* To use the 
AmazonSimpleEmailService as the client |  | SesClient
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. 
This option needs to be used in combination with uriEndpointOverride option | 
false | boolean
 | *proxyHost* (producer) | To define a proxy host when instantiating the SES 
client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the SES 
client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating 
the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | 
HTTPS | Protocol
@@ -101,6 +104,7 @@ with the following path and query parameters:
 | *subject* (producer) | The subject which is used if the message header 
'CamelAwsSesSubject' is not present. |  | String
 | *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
 | *accessKey* (security) | Amazon AWS Access Key |  | String
 | *secretKey* (security) | Amazon AWS Secret Key |  | String
 |===
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 4539b6e..6448b42 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
@@ -105,6 +105,23 @@ public interface Aws2SesComponentBuilderFactory {
             return this;
         }
         /**
+         * Set the need for overidding the endpoint. This option needs to be
+         * used in combination with uriEndpointOverride option.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default Aws2SesComponentBuilder overrideEndpoint(
+                boolean overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
          * To define a proxy host when instantiating the SES client.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
@@ -247,6 +264,22 @@ public interface Aws2SesComponentBuilderFactory {
             return this;
         }
         /**
+         * Set the overriding uri endpoint. This option needs to be used in
+         * combination with overrideEndpoint option.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param uriEndpointOverride the value to set
+         * @return the dsl builder
+         */
+        default Aws2SesComponentBuilder uriEndpointOverride(
+                java.lang.String uriEndpointOverride) {
+            doSetProperty("uriEndpointOverride", uriEndpointOverride);
+            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,
@@ -322,6 +355,7 @@ public interface Aws2SesComponentBuilderFactory {
             case "amazonSESClient": getOrCreateConfiguration((Ses2Component) 
component).setAmazonSESClient((software.amazon.awssdk.services.ses.SesClient) 
value); return true;
             case "configuration": ((Ses2Component) 
component).setConfiguration((org.apache.camel.component.aws2.ses.Ses2Configuration)
 value); return true;
             case "lazyStartProducer": ((Ses2Component) 
component).setLazyStartProducer((boolean) value); return true;
+            case "overrideEndpoint": getOrCreateConfiguration((Ses2Component) 
component).setOverrideEndpoint((boolean) value); return true;
             case "proxyHost": getOrCreateConfiguration((Ses2Component) 
component).setProxyHost((java.lang.String) value); return true;
             case "proxyPort": getOrCreateConfiguration((Ses2Component) 
component).setProxyPort((java.lang.Integer) value); return true;
             case "proxyProtocol": getOrCreateConfiguration((Ses2Component) 
component).setProxyProtocol((software.amazon.awssdk.core.Protocol) value); 
return true;
@@ -331,6 +365,7 @@ public interface Aws2SesComponentBuilderFactory {
             case "subject": getOrCreateConfiguration((Ses2Component) 
component).setSubject((java.lang.String) value); return true;
             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 "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 a5bb590..75dd4cb 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
@@ -113,6 +113,39 @@ public interface Ses2EndpointBuilderFactory {
             return this;
         }
         /**
+         * Set the need for overidding the endpoint. This option needs to be
+         * used in combination with uriEndpointOverride option.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default Ses2EndpointBuilder overrideEndpoint(boolean overrideEndpoint) 
{
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
+         * Set the need for overidding the endpoint. This option needs to be
+         * used in combination with uriEndpointOverride option.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default Ses2EndpointBuilder overrideEndpoint(String overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
          * To define a proxy host when instantiating the SES client.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
@@ -335,6 +368,22 @@ public interface Ses2EndpointBuilderFactory {
             return this;
         }
         /**
+         * Set the overriding uri endpoint. This option needs to be used in
+         * combination with overrideEndpoint option.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param uriEndpointOverride the value to set
+         * @return the dsl builder
+         */
+        default Ses2EndpointBuilder uriEndpointOverride(
+                String uriEndpointOverride) {
+            doSetProperty("uriEndpointOverride", uriEndpointOverride);
+            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 09f0546..68e9015 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 15 options, which are 
listed below.
+The AWS 2 Simple Email Service (SES) component supports 17 options, which are 
listed below.
 
 
 
@@ -49,6 +49,7 @@ The AWS 2 Simple Email Service (SES) component supports 15 
options, which are li
 | *amazonSESClient* (producer) | *Autowired* To use the 
AmazonSimpleEmailService as the client |  | SesClient
 | *configuration* (producer) | component configuration |  | Ses2Configuration
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. 
This option needs to be used in combination with uriEndpointOverride option | 
false | boolean
 | *proxyHost* (producer) | To define a proxy host when instantiating the SES 
client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the SES 
client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating 
the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | 
HTTPS | Protocol
@@ -58,6 +59,7 @@ The AWS 2 Simple Email Service (SES) component supports 15 
options, which are li
 | *subject* (producer) | The subject which is used if the message header 
'CamelAwsSesSubject' is not present. |  | String
 | *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
 | *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 +88,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (13 parameters):
+=== Query Parameters (15 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -94,6 +96,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *amazonSESClient* (producer) | *Autowired* To use the 
AmazonSimpleEmailService as the client |  | SesClient
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. 
This option needs to be used in combination with uriEndpointOverride option | 
false | boolean
 | *proxyHost* (producer) | To define a proxy host when instantiating the SES 
client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the SES 
client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating 
the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | 
HTTPS | Protocol
@@ -103,6 +106,7 @@ with the following path and query parameters:
 | *subject* (producer) | The subject which is used if the message header 
'CamelAwsSesSubject' is not present. |  | String
 | *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
 | *accessKey* (security) | Amazon AWS Access Key |  | String
 | *secretKey* (security) | Amazon AWS Secret Key |  | String
 |===

Reply via email to