This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch CAMEL-20281-SES in repository https://gitbox.apache.org/repos/asf/camel.git
commit bfa3e15b89e5948a3c36c34aebcf6ac98ae69bbf Author: Andrea Cosentino <[email protected]> AuthorDate: Mon Jan 22 12:11:24 2024 +0100 CAMEL-20281 - Camel-AWS Components: Make it possible to use AwsSessionCredentials to support temporary credentials - AWS SES Signed-off-by: Andrea Cosentino <[email protected]> --- .../org/apache/camel/catalog/components/aws2-ses.json | 16 ++++++++++------ .../component/aws2/ses/Ses2ComponentConfigurer.java | 12 ++++++++++++ .../camel/component/aws2/ses/Ses2EndpointConfigurer.java | 12 ++++++++++++ .../camel/component/aws2/ses/Ses2EndpointUriFactory.java | 7 +++++-- .../org/apache/camel/component/aws2/ses/aws2-ses.json | 16 ++++++++++------ .../camel/component/aws2/ses/Ses2Configuration.java | 4 ++-- .../component/aws2/ses/client/Ses2ClientFactory.java | 2 +- .../aws2/ses/client/impl/Ses2ClientSessionTokenImpl.java | 8 ++++---- 8 files changed, 56 insertions(+), 21 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-ses.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-ses.json index 53129adafb4..380c483c6ea 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-ses.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-ses.json @@ -45,9 +45,11 @@ "accessKey": { "index": 19, "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" }, "profileCredentialsName": { "index": 20, "kind": "property", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "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": "If using a profile credentials provider this parameter will set the profile name" }, "secretKey": { "index": 21, "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" }, - "trustAllCertificates": { "index": 22, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, - "useDefaultCredentialsProvider": { "index": 23, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 cr [...] - "useProfileCredentialsProvider": { "index": 24, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 cr [...] + "sessionToken": { "index": 22, "kind": "property", "displayName": "Session Token", "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 Session Token used when the user needs to assume a IAM role" }, + "trustAllCertificates": { "index": 23, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, + "useDefaultCredentialsProvider": { "index": 24, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 cr [...] + "useProfileCredentialsProvider": { "index": 25, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 cr [...] + "useSessionCredentials": { "index": 26, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "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 use Session Credentials. [...] }, "headers": { "CamelAwsSesFrom": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The sender's email address.", "constantName": "org.apache.camel.component.aws2.ses.Ses2Constants#FROM" }, @@ -81,8 +83,10 @@ "accessKey": { "index": 16, "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" }, "profileCredentialsName": { "index": 17, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "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": "If using a profile credentials provider this parameter will set the profile name" }, "secretKey": { "index": 18, "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" }, - "trustAllCertificates": { "index": 19, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, - "useDefaultCredentialsProvider": { "index": 20, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 c [...] - "useProfileCredentialsProvider": { "index": 21, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 c [...] + "sessionToken": { "index": 19, "kind": "parameter", "displayName": "Session Token", "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 Session Token used when the user needs to assume a IAM role" }, + "trustAllCertificates": { "index": 20, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, + "useDefaultCredentialsProvider": { "index": 21, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 c [...] + "useProfileCredentialsProvider": { "index": 22, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 c [...] + "useSessionCredentials": { "index": 23, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "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 use Session Credentials [...] } } 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 89623d34cc7..3317272b082 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 @@ -62,6 +62,8 @@ public class Ses2ComponentConfigurer extends PropertyConfigurerSupport implement case "returnPath": getOrCreateConfiguration(target).setReturnPath(property(camelContext, java.lang.String.class, value)); return true; case "secretkey": case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true; + case "sessiontoken": + case "sessionToken": getOrCreateConfiguration(target).setSessionToken(property(camelContext, java.lang.String.class, value)); return true; case "subject": getOrCreateConfiguration(target).setSubject(property(camelContext, java.lang.String.class, value)); return true; case "to": getOrCreateConfiguration(target).setTo(property(camelContext, java.lang.String.class, value)); return true; case "trustallcertificates": @@ -72,6 +74,8 @@ public class Ses2ComponentConfigurer extends PropertyConfigurerSupport implement case "useDefaultCredentialsProvider": getOrCreateConfiguration(target).setUseDefaultCredentialsProvider(property(camelContext, boolean.class, value)); return true; case "useprofilecredentialsprovider": case "useProfileCredentialsProvider": getOrCreateConfiguration(target).setUseProfileCredentialsProvider(property(camelContext, boolean.class, value)); return true; + case "usesessioncredentials": + case "useSessionCredentials": getOrCreateConfiguration(target).setUseSessionCredentials(property(camelContext, boolean.class, value)); return true; default: return false; } } @@ -118,6 +122,8 @@ public class Ses2ComponentConfigurer extends PropertyConfigurerSupport implement case "returnPath": return java.lang.String.class; case "secretkey": case "secretKey": return java.lang.String.class; + case "sessiontoken": + case "sessionToken": return java.lang.String.class; case "subject": return java.lang.String.class; case "to": return java.lang.String.class; case "trustallcertificates": @@ -128,6 +134,8 @@ public class Ses2ComponentConfigurer extends PropertyConfigurerSupport implement case "useDefaultCredentialsProvider": return boolean.class; case "useprofilecredentialsprovider": case "useProfileCredentialsProvider": return boolean.class; + case "usesessioncredentials": + case "useSessionCredentials": return boolean.class; default: return null; } } @@ -170,6 +178,8 @@ public class Ses2ComponentConfigurer extends PropertyConfigurerSupport implement case "returnPath": return getOrCreateConfiguration(target).getReturnPath(); case "secretkey": case "secretKey": return getOrCreateConfiguration(target).getSecretKey(); + case "sessiontoken": + case "sessionToken": return getOrCreateConfiguration(target).getSessionToken(); case "subject": return getOrCreateConfiguration(target).getSubject(); case "to": return getOrCreateConfiguration(target).getTo(); case "trustallcertificates": @@ -180,6 +190,8 @@ public class Ses2ComponentConfigurer extends PropertyConfigurerSupport implement case "useDefaultCredentialsProvider": return getOrCreateConfiguration(target).isUseDefaultCredentialsProvider(); case "useprofilecredentialsprovider": case "useProfileCredentialsProvider": return getOrCreateConfiguration(target).isUseProfileCredentialsProvider(); + case "usesessioncredentials": + case "useSessionCredentials": return getOrCreateConfiguration(target).isUseSessionCredentials(); 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 fd0e6fee436..8aab4ac2f0e 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 "returnPath": target.getConfiguration().setReturnPath(property(camelContext, java.lang.String.class, value)); return true; case "secretkey": case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true; + case "sessiontoken": + case "sessionToken": target.getConfiguration().setSessionToken(property(camelContext, java.lang.String.class, value)); return true; case "subject": target.getConfiguration().setSubject(property(camelContext, java.lang.String.class, value)); return true; case "to": target.getConfiguration().setTo(property(camelContext, java.lang.String.class, value)); return true; case "trustallcertificates": @@ -58,6 +60,8 @@ public class Ses2EndpointConfigurer extends PropertyConfigurerSupport implements case "useDefaultCredentialsProvider": target.getConfiguration().setUseDefaultCredentialsProvider(property(camelContext, boolean.class, value)); return true; case "useprofilecredentialsprovider": case "useProfileCredentialsProvider": target.getConfiguration().setUseProfileCredentialsProvider(property(camelContext, boolean.class, value)); return true; + case "usesessioncredentials": + case "useSessionCredentials": target.getConfiguration().setUseSessionCredentials(property(camelContext, boolean.class, value)); return true; default: return false; } } @@ -97,6 +101,8 @@ public class Ses2EndpointConfigurer extends PropertyConfigurerSupport implements case "returnPath": return java.lang.String.class; case "secretkey": case "secretKey": return java.lang.String.class; + case "sessiontoken": + case "sessionToken": return java.lang.String.class; case "subject": return java.lang.String.class; case "to": return java.lang.String.class; case "trustallcertificates": @@ -107,6 +113,8 @@ public class Ses2EndpointConfigurer extends PropertyConfigurerSupport implements case "useDefaultCredentialsProvider": return boolean.class; case "useprofilecredentialsprovider": case "useProfileCredentialsProvider": return boolean.class; + case "usesessioncredentials": + case "useSessionCredentials": return boolean.class; default: return null; } } @@ -142,6 +150,8 @@ public class Ses2EndpointConfigurer extends PropertyConfigurerSupport implements case "returnPath": return target.getConfiguration().getReturnPath(); case "secretkey": case "secretKey": return target.getConfiguration().getSecretKey(); + case "sessiontoken": + case "sessionToken": return target.getConfiguration().getSessionToken(); case "subject": return target.getConfiguration().getSubject(); case "to": return target.getConfiguration().getTo(); case "trustallcertificates": @@ -152,6 +162,8 @@ public class Ses2EndpointConfigurer extends PropertyConfigurerSupport implements case "useDefaultCredentialsProvider": return target.getConfiguration().isUseDefaultCredentialsProvider(); case "useprofilecredentialsprovider": case "useProfileCredentialsProvider": return target.getConfiguration().isUseProfileCredentialsProvider(); + case "usesessioncredentials": + case "useSessionCredentials": return target.getConfiguration().isUseSessionCredentials(); 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 f7e7d42cff4..7fc9a75eb22 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 @@ -21,7 +21,7 @@ public class Ses2EndpointUriFactory extends org.apache.camel.support.component.E private static final Set<String> SECRET_PROPERTY_NAMES; private static final Set<String> MULTI_VALUE_PREFIXES; static { - Set<String> props = new HashSet<>(22); + Set<String> props = new HashSet<>(24); props.add("accessKey"); props.add("amazonSESClient"); props.add("bcc"); @@ -38,16 +38,19 @@ public class Ses2EndpointUriFactory extends org.apache.camel.support.component.E props.add("replyToAddresses"); props.add("returnPath"); props.add("secretKey"); + props.add("sessionToken"); props.add("subject"); props.add("to"); props.add("trustAllCertificates"); props.add("uriEndpointOverride"); props.add("useDefaultCredentialsProvider"); props.add("useProfileCredentialsProvider"); + props.add("useSessionCredentials"); PROPERTY_NAMES = Collections.unmodifiableSet(props); - Set<String> secretProps = new HashSet<>(2); + Set<String> secretProps = new HashSet<>(3); secretProps.add("accessKey"); secretProps.add("secretKey"); + secretProps.add("sessionToken"); SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps); MULTI_VALUE_PREFIXES = Collections.emptySet(); } 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 53129adafb4..380c483c6ea 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 @@ -45,9 +45,11 @@ "accessKey": { "index": 19, "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" }, "profileCredentialsName": { "index": 20, "kind": "property", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "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": "If using a profile credentials provider this parameter will set the profile name" }, "secretKey": { "index": 21, "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" }, - "trustAllCertificates": { "index": 22, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, - "useDefaultCredentialsProvider": { "index": 23, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 cr [...] - "useProfileCredentialsProvider": { "index": 24, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 cr [...] + "sessionToken": { "index": 22, "kind": "property", "displayName": "Session Token", "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 Session Token used when the user needs to assume a IAM role" }, + "trustAllCertificates": { "index": 23, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, + "useDefaultCredentialsProvider": { "index": 24, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 cr [...] + "useProfileCredentialsProvider": { "index": 25, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 cr [...] + "useSessionCredentials": { "index": 26, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "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 use Session Credentials. [...] }, "headers": { "CamelAwsSesFrom": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The sender's email address.", "constantName": "org.apache.camel.component.aws2.ses.Ses2Constants#FROM" }, @@ -81,8 +83,10 @@ "accessKey": { "index": 16, "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" }, "profileCredentialsName": { "index": 17, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "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": "If using a profile credentials provider this parameter will set the profile name" }, "secretKey": { "index": 18, "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" }, - "trustAllCertificates": { "index": 19, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, - "useDefaultCredentialsProvider": { "index": 20, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 c [...] - "useProfileCredentialsProvider": { "index": 21, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 c [...] + "sessionToken": { "index": 19, "kind": "parameter", "displayName": "Session Token", "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 Session Token used when the user needs to assume a IAM role" }, + "trustAllCertificates": { "index": 20, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "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" }, + "useDefaultCredentialsProvider": { "index": 21, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "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 c [...] + "useProfileCredentialsProvider": { "index": 22, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "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 c [...] + "useSessionCredentials": { "index": 23, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "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 use Session Credentials [...] } } 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 8d3e01ced58..e20dee33ef4 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 @@ -323,8 +323,8 @@ public class Ses2Configuration implements Cloneable { } /** - * Set whether the SES client should expect to use Session Credentials. This is useful in situation in which the user - * needs to assume a IAM role for doing operations in SES. + * Set whether the SES client should expect to use Session Credentials. This is useful in situation in which the + * user needs to assume a IAM role for doing operations in SES. */ public void setUseSessionCredentials(boolean useSessionCredentials) { this.useSessionCredentials = useSessionCredentials; diff --git a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/Ses2ClientFactory.java b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/Ses2ClientFactory.java index 648baefe6d0..985a0379f2d 100644 --- a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/Ses2ClientFactory.java +++ b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/Ses2ClientFactory.java @@ -43,7 +43,7 @@ public final class Ses2ClientFactory { return new Ses2ClientProfileOptimizedImpl(configuration); } else if (Boolean.TRUE.equals(configuration.isUseSessionCredentials())) { return new Ses2ClientSessionTokenImpl(configuration); - }else { + } else { return new Ses2ClientStandardImpl(configuration); } } diff --git a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientSessionTokenImpl.java b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientSessionTokenImpl.java index 0180baee217..3f06b70cf3b 100644 --- a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientSessionTokenImpl.java +++ b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/client/impl/Ses2ClientSessionTokenImpl.java @@ -16,12 +16,13 @@ */ 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; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsSessionCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.http.SdkHttpClient; @@ -33,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. @@ -72,7 +71,8 @@ public class Ses2ClientSessionTokenImpl implements Ses2InternalClient { isClientConfigFound = true; } if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) { - AwsSessionCredentials cred = AwsSessionCredentials.create(configuration.getAccessKey(), configuration.getSecretKey(), configuration.getSessionToken()); + AwsSessionCredentials cred = AwsSessionCredentials.create(configuration.getAccessKey(), + configuration.getSecretKey(), configuration.getSessionToken()); if (isClientConfigFound) { clientBuilder = clientBuilder.httpClientBuilder(httpClientBuilder) .credentialsProvider(StaticCredentialsProvider.create(cred));
