You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/02/28 15:58:04 UTC

[camel] 01/04: CAMEL-14568 - Fixed AWS SES

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 3656c41c0b4a291518615a03789bd9110c470bf3
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Feb 28 16:42:53 2020 +0100

    CAMEL-14568 - Fixed AWS SES
---
 .../component/aws/ses/SesComponentConfigurer.java  | 11 ++--
 .../apache/camel/component/aws/ses/aws-ses.json    |  6 +--
 .../src/main/docs/aws-ses-component.adoc           |  6 +--
 .../camel/component/aws/ses/SesComponent.java      | 46 +---------------
 .../aws/ses/SesComponentConfigurationTest.java     | 16 +++---
 .../dsl/AwsSesComponentBuilderFactory.java         | 62 +++++++++++-----------
 6 files changed, 52 insertions(+), 95 deletions(-)

diff --git a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesComponentConfigurer.java b/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesComponentConfigurer.java
index b35de23..0ad6f53 100644
--- a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesComponentConfigurer.java
+++ b/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesComponentConfigurer.java
@@ -22,10 +22,9 @@ public class SesComponentConfigurer extends PropertyConfigurerSupport implements
     public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
         SesComponent target = (SesComponent) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": target.setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
         case "amazonsesclient":
         case "amazonSESClient": getOrCreateConfiguration(target).setAmazonSESClient(property(camelContext, com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class, value)); return true;
+        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws.ses.SesConfiguration.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
         case "proxyhost":
@@ -34,19 +33,19 @@ public class SesComponentConfigurer extends PropertyConfigurerSupport implements
         case "proxyPort": getOrCreateConfiguration(target).setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
         case "proxyprotocol":
         case "proxyProtocol": getOrCreateConfiguration(target).setProxyProtocol(property(camelContext, com.amazonaws.Protocol.class, value)); return true;
-        case "region": target.setRegion(property(camelContext, java.lang.String.class, value)); return true;
         case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true;
         case "replytoaddresses":
         case "replyToAddresses": getOrCreateConfiguration(target).setReplyToAddresses(property(camelContext, java.util.List.class, value)); return true;
         case "returnpath":
         case "returnPath": getOrCreateConfiguration(target).setReturnPath(property(camelContext, java.lang.String.class, value)); return true;
-        case "secretkey":
-        case "secretKey": target.setSecretKey(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.util.List.class, value)); return true;
         case "basicpropertybinding":
         case "basicPropertyBinding": target.setBasicPropertyBinding(property(camelContext, boolean.class, value)); return true;
-        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws.ses.SesConfiguration.class, value)); return true;
+        case "accesskey":
+        case "accessKey": getOrCreateConfiguration(target).setAccessKey(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;
         default: return false;
         }
     }
diff --git a/components/camel-aws-ses/src/generated/resources/org/apache/camel/component/aws/ses/aws-ses.json b/components/camel-aws-ses/src/generated/resources/org/apache/camel/component/aws/ses/aws-ses.json
index bbf7596..28c720b 100644
--- a/components/camel-aws-ses/src/generated/resources/org/apache/camel/component/aws/ses/aws-ses.json
+++ b/components/camel-aws-ses/src/generated/resources/org/apache/camel/component/aws/ses/aws-ses.json
@@ -19,8 +19,8 @@
     "version": "3.2.0-SNAPSHOT"
   },
   "componentProperties": {
-    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Amazon AWS Access Key" },
     "amazonSESClient": { "kind": "property", "displayName": "Amazon SESClient", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.services.simpleemail.AmazonSimpleEmailService", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "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.aws.ses.SesConfiguration", "deprecated": false, "secret": false, "description": "The component configuration" },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the r [...]
     "proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "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, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the SES client" },
@@ -28,11 +28,11 @@
     "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The region in which SES client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST [...]
     "replyToAddresses": { "kind": "property", "displayName": "Reply To Addresses", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header." },
     "returnPath": { "kind": "property", "displayName": "Return Path", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header." },
-    "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Amazon AWS Secret Key" },
     "subject": { "kind": "property", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "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, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "List of destination email address. Can be overriden with 'CamelAwsSesTo' header." },
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.ses.SesConfiguration", "deprecated": false, "secret": false, "description": "The AWS SES default configuration" }
+    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "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, "secret": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
   },
   "properties": {
     "from": { "kind": "path", "displayName": "From", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The sender's email address." },
diff --git a/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc b/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
index 63aefa8..49fcf9c 100644
--- a/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
@@ -37,8 +37,8 @@ The AWS Simple Email Service component supports 14 options, which are listed bel
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *amazonSESClient* (producer) | To use the AmazonSimpleEmailService as the client |  | AmazonSimpleEmailService
+| *configuration* (producer) | The component configuration |  | SesConfiguration
 | *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 [...]
 | *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
@@ -46,11 +46,11 @@ The AWS Simple Email Service component supports 14 options, which are listed bel
 | *region* (producer) | The region in which SES client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
 | *replyToAddresses* (producer) | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header. |  | List
 | *returnPath* (producer) | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *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
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
-| *configuration* (advanced) | The AWS SES default configuration |  | SesConfiguration
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
 |===
 // component options: END
 
diff --git a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
index a552fd4..714fbf4 100644
--- a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
+++ b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
@@ -30,13 +30,7 @@ import org.apache.camel.support.DefaultComponent;
 public class SesComponent extends DefaultComponent {
 
     @Metadata
-    private String accessKey;
-    @Metadata
-    private String secretKey;
-    @Metadata
-    private String region;
-    @Metadata(label = "advanced")
-    private SesConfiguration configuration;
+    private SesConfiguration configuration = new SesConfiguration();
 
     public SesComponent() {
         this(null);
@@ -57,9 +51,6 @@ public class SesComponent extends DefaultComponent {
         SesConfiguration configuration = this.configuration != null ? this.configuration.copy() : new SesConfiguration();
         configuration.setFrom(remaining);
         SesEndpoint endpoint = new SesEndpoint(uri, this, configuration);
-        endpoint.getConfiguration().setAccessKey(accessKey);
-        endpoint.getConfiguration().setSecretKey(secretKey);
-        endpoint.getConfiguration().setRegion(region);
         setProperties(endpoint, parameters);
         checkAndSetRegistryClient(configuration);
         if (configuration.getAmazonSESClient() == null && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
@@ -74,44 +65,11 @@ public class SesComponent extends DefaultComponent {
     }
 
     /**
-     * The AWS SES default configuration
+     * The component configuration
      */
     public void setConfiguration(SesConfiguration configuration) {
         this.configuration = configuration;
     }
-
-    public String getAccessKey() {
-        return accessKey;
-    }
-
-    /**
-     * Amazon AWS Access Key
-     */
-    public void setAccessKey(String accessKey) {
-        this.accessKey = accessKey;
-    }
-
-    public String getSecretKey() {
-        return secretKey;
-    }
-
-    /**
-     * Amazon AWS Secret Key
-     */
-    public void setSecretKey(String secretKey) {
-        this.secretKey = secretKey;
-    }
-
-    /**
-     * The region in which SES client needs to work
-     */
-    public String getRegion() {
-        return region;
-    }
-
-    public void setRegion(String region) {
-        this.region = region;
-    }
     
     private void checkAndSetRegistryClient(SesConfiguration configuration) {
         Set<AmazonSimpleEmailService> clients = getCamelContext().getRegistry().findByType(AmazonSimpleEmailService.class);
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentConfigurationTest.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentConfigurationTest.java
index 9e1b6d4..b630144 100644
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentConfigurationTest.java
+++ b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentConfigurationTest.java
@@ -139,8 +139,8 @@ public class SesComponentConfigurationTest extends CamelTestSupport {
     @Test
     public void createEndpointWithComponentElements() throws Exception {
         SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        component.setAccessKey("XXX");
-        component.setSecretKey("YYY");
+        component.getConfiguration().setAccessKey("XXX");
+        component.getConfiguration().setSecretKey("YYY");
         SesEndpoint endpoint = (SesEndpoint)component.createEndpoint("aws-ses://from@example.com");
         
         assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
@@ -151,9 +151,9 @@ public class SesComponentConfigurationTest extends CamelTestSupport {
     @Test
     public void createEndpointWithComponentAndEndpointElements() throws Exception {
         SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        component.setAccessKey("XXX");
-        component.setSecretKey("YYY");
-        component.setRegion(Regions.US_WEST_1.toString());
+        component.getConfiguration().setAccessKey("XXX");
+        component.getConfiguration().setSecretKey("YYY");
+        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
         SesEndpoint endpoint = (SesEndpoint)component.createEndpoint("aws-ses://from@example.com?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1");
         
         assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
@@ -165,9 +165,9 @@ public class SesComponentConfigurationTest extends CamelTestSupport {
     @Test
     public void createEndpointWithComponentEndpointElementsAndProxy() throws Exception {
         SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        component.setAccessKey("XXX");
-        component.setSecretKey("YYY");
-        component.setRegion(Regions.US_WEST_1.toString());
+        component.getConfiguration().setAccessKey("XXX");
+        component.getConfiguration().setSecretKey("YYY");
+        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
         SesEndpoint endpoint = (SesEndpoint)component.createEndpoint("aws-ses://label?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1&proxyHost=localhost&proxyPort=9000&proxyProtocol=HTTP");
         
         assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSesComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSesComponentBuilderFactory.java
index 194f9e3..6493bf6 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSesComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSesComponentBuilderFactory.java
@@ -48,27 +48,30 @@ public interface AwsSesComponentBuilderFactory {
      */
     interface AwsSesComponentBuilder extends ComponentBuilder<SesComponent> {
         /**
-         * Amazon AWS Access Key.
+         * To use the AmazonSimpleEmailService as the client.
          * 
-         * The option is a: <code>java.lang.String</code> type.
+         * The option is a:
+         * <code>com.amazonaws.services.simpleemail.AmazonSimpleEmailService</code> type.
          * 
          * Group: producer
          */
-        default AwsSesComponentBuilder accessKey(java.lang.String accessKey) {
-            doSetProperty("accessKey", accessKey);
+        default AwsSesComponentBuilder amazonSESClient(
+                com.amazonaws.services.simpleemail.AmazonSimpleEmailService amazonSESClient) {
+            doSetProperty("amazonSESClient", amazonSESClient);
             return this;
         }
         /**
-         * To use the AmazonSimpleEmailService as the client.
+         * The component configuration.
          * 
          * The option is a:
-         * <code>com.amazonaws.services.simpleemail.AmazonSimpleEmailService</code> type.
+         * <code>org.apache.camel.component.aws.ses.SesConfiguration</code>
+         * type.
          * 
          * Group: producer
          */
-        default AwsSesComponentBuilder amazonSESClient(
-                com.amazonaws.services.simpleemail.AmazonSimpleEmailService amazonSESClient) {
-            doSetProperty("amazonSESClient", amazonSESClient);
+        default AwsSesComponentBuilder configuration(
+                org.apache.camel.component.aws.ses.SesConfiguration configuration) {
+            doSetProperty("configuration", configuration);
             return this;
         }
         /**
@@ -167,17 +170,6 @@ public interface AwsSesComponentBuilderFactory {
             return this;
         }
         /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: producer
-         */
-        default AwsSesComponentBuilder secretKey(java.lang.String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-        /**
          * The subject which is used if the message header 'CamelAwsSesSubject'
          * is not present.
          * 
@@ -216,17 +208,25 @@ public interface AwsSesComponentBuilderFactory {
             return this;
         }
         /**
-         * The AWS SES default configuration.
+         * Amazon AWS Access Key.
          * 
-         * The option is a:
-         * <code>org.apache.camel.component.aws.ses.SesConfiguration</code>
-         * type.
+         * The option is a: <code>java.lang.String</code> type.
          * 
-         * Group: advanced
+         * Group: security
          */
-        default AwsSesComponentBuilder configuration(
-                org.apache.camel.component.aws.ses.SesConfiguration configuration) {
-            doSetProperty("configuration", configuration);
+        default AwsSesComponentBuilder accessKey(java.lang.String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default AwsSesComponentBuilder secretKey(java.lang.String secretKey) {
+            doSetProperty("secretKey", secretKey);
             return this;
         }
     }
@@ -253,8 +253,8 @@ public interface AwsSesComponentBuilderFactory {
                 String name,
                 Object value) {
             switch (name) {
-            case "accessKey": ((SesComponent) component).setAccessKey((java.lang.String) value); return true;
             case "amazonSESClient": getOrCreateConfiguration((SesComponent) component).setAmazonSESClient((com.amazonaws.services.simpleemail.AmazonSimpleEmailService) value); return true;
+            case "configuration": ((SesComponent) component).setConfiguration((org.apache.camel.component.aws.ses.SesConfiguration) value); return true;
             case "lazyStartProducer": ((SesComponent) component).setLazyStartProducer((boolean) value); return true;
             case "proxyHost": getOrCreateConfiguration((SesComponent) component).setProxyHost((java.lang.String) value); return true;
             case "proxyPort": getOrCreateConfiguration((SesComponent) component).setProxyPort((java.lang.Integer) value); return true;
@@ -262,11 +262,11 @@ public interface AwsSesComponentBuilderFactory {
             case "region": getOrCreateConfiguration((SesComponent) component).setRegion((java.lang.String) value); return true;
             case "replyToAddresses": getOrCreateConfiguration((SesComponent) component).setReplyToAddresses((java.util.List) value); return true;
             case "returnPath": getOrCreateConfiguration((SesComponent) component).setReturnPath((java.lang.String) value); return true;
-            case "secretKey": ((SesComponent) component).setSecretKey((java.lang.String) value); return true;
             case "subject": getOrCreateConfiguration((SesComponent) component).setSubject((java.lang.String) value); return true;
             case "to": getOrCreateConfiguration((SesComponent) component).setTo((java.util.List) value); return true;
             case "basicPropertyBinding": ((SesComponent) component).setBasicPropertyBinding((boolean) value); return true;
-            case "configuration": ((SesComponent) component).setConfiguration((org.apache.camel.component.aws.ses.SesConfiguration) value); return true;
+            case "accessKey": getOrCreateConfiguration((SesComponent) component).setAccessKey((java.lang.String) value); return true;
+            case "secretKey": getOrCreateConfiguration((SesComponent) component).setSecretKey((java.lang.String) value); return true;
             default: return false;
             }
         }