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:31:36 UTC
[camel] 03/03: CAMEL-14568 - Fixed AWS S3
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 f2ec2412867c05daecd026265ccfdaaf74f8a9f1
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Feb 28 16:29:33 2020 +0100
CAMEL-14568 - Fixed AWS S3
---
.../component/aws/s3/S3ComponentConfigurer.java | 11 ++--
.../org/apache/camel/component/aws/s3/aws-s3.json | 8 +--
.../src/main/docs/aws-s3-component.adoc | 6 +-
.../apache/camel/component/aws/s3/S3Component.java | 47 +------------
.../aws/s3/S3ComponentConfigurationTest.java | 10 +--
.../dsl/AwsS3ComponentBuilderFactory.java | 76 +++++++++++-----------
6 files changed, 57 insertions(+), 101 deletions(-)
diff --git a/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3ComponentConfigurer.java b/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3ComponentConfigurer.java
index c48eda7..c0e4e6e 100644
--- a/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3ComponentConfigurer.java
+++ b/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3ComponentConfigurer.java
@@ -22,12 +22,11 @@ public class S3ComponentConfigurer extends PropertyConfigurerSupport implements
public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
S3Component target = (S3Component) obj;
switch (ignoreCase ? name.toLowerCase() : name) {
- case "accesskey":
- case "accessKey": target.setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
case "amazons3client":
case "amazonS3Client": getOrCreateConfiguration(target).setAmazonS3Client(property(camelContext, com.amazonaws.services.s3.AmazonS3.class, value)); return true;
case "autocreatebucket":
case "autoCreateBucket": getOrCreateConfiguration(target).setAutoCreateBucket(property(camelContext, boolean.class, value)); return true;
+ case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws.s3.S3Configuration.class, value)); return true;
case "pathstyleaccess":
case "pathStyleAccess": getOrCreateConfiguration(target).setPathStyleAccess(property(camelContext, boolean.class, value)); return true;
case "policy": getOrCreateConfiguration(target).setPolicy(property(camelContext, java.lang.String.class, value)); return true;
@@ -37,10 +36,7 @@ public class S3ComponentConfigurer 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 "secretkey":
- case "secretKey": target.setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
case "useiamcredentials":
case "useIAMCredentials": getOrCreateConfiguration(target).setUseIAMCredentials(property(camelContext, boolean.class, value)); return true;
case "encryptionmaterials":
@@ -80,7 +76,6 @@ public class S3ComponentConfigurer extends PropertyConfigurerSupport implements
case "useAwsKMS": getOrCreateConfiguration(target).setUseAwsKMS(property(camelContext, boolean.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.s3.S3Configuration.class, value)); return true;
case "acceleratemodeenabled":
case "accelerateModeEnabled": getOrCreateConfiguration(target).setAccelerateModeEnabled(property(camelContext, boolean.class, value)); return true;
case "chunkedencodingdisabled":
@@ -91,6 +86,10 @@ public class S3ComponentConfigurer extends PropertyConfigurerSupport implements
case "forceGlobalBucketAccessEnabled": getOrCreateConfiguration(target).setForceGlobalBucketAccessEnabled(property(camelContext, boolean.class, value)); return true;
case "payloadsigningenabled":
case "payloadSigningEnabled": getOrCreateConfiguration(target).setPayloadSigningEnabled(property(camelContext, boolean.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-s3/src/generated/resources/org/apache/camel/component/aws/s3/aws-s3.json b/components/camel-aws-s3/src/generated/resources/org/apache/camel/component/aws/s3/aws-s3.json
index 4534366..c4932c4 100644
--- a/components/camel-aws-s3/src/generated/resources/org/apache/camel/component/aws/s3/aws-s3.json
+++ b/components/camel-aws-s3/src/generated/resources/org/apache/camel/component/aws/s3/aws-s3.json
@@ -19,16 +19,15 @@
"version": "3.2.0-SNAPSHOT"
},
"componentProperties": {
- "accessKey": { "kind": "property", "displayName": "Access Key", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Amazon AWS Access Key" },
"amazonS3Client": { "kind": "property", "displayName": "Amazon S3 Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.services.s3.AmazonS3", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Reference to a com.amazonaws.services.s3.AmazonS3 in the registry." },
"autoCreateBucket": { "kind": "property", "displayName": "Auto Create Bucket", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Setting the autocreation of the bucket" },
+ "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.s3.S3Configuration", "deprecated": false, "secret": false, "description": "The component configuration" },
"pathStyleAccess": { "kind": "property", "displayName": "Path Style Access", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Whether or not the S3 client should use path style access" },
"policy": { "kind": "property", "displayName": "Policy", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method." },
"proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the SQS client" },
"proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Specify a proxy port to be used inside the client definition." },
"proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the S3 client" },
"region": { "kind": "property", "displayName": "Region", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) Y [...]
- "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Amazon AWS Secret Key" },
"useIAMCredentials": { "kind": "property", "displayName": "Use IAMCredentials", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Set whether the S3 client should expect to load credentials on an EC2 instance or to expect static credentials to be passe [...]
"encryptionMaterials": { "kind": "property", "displayName": "Encryption Materials", "group": "common (advanced)", "label": "common,advanced", "required": false, "type": "object", "javaType": "com.amazonaws.services.s3.model.EncryptionMaterials", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "The encryption materials to use in case of Symmetric\/Asymmetric client usage" },
"useEncryption": { "kind": "property", "displayName": "Use Encryption", "group": "common (advanced)", "label": "common,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if encryption must be used or not" },
@@ -50,12 +49,13 @@
"awsKMSKeyId": { "kind": "property", "displayName": "Aws KMSKey Id", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define the id of KMS key to use in case KMS is enabled" },
"useAwsKMS": { "kind": "property", "displayName": "Use Aws KMS", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if KMS must be used or not" },
"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.s3.S3Configuration", "deprecated": false, "secret": false, "description": "The AWS S3 default configuration" },
"accelerateModeEnabled": { "kind": "property", "displayName": "Accelerate Mode Enabled", "group": " advanced", "label": "common, advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if Accelerate Mode enabled is true or false" },
"chunkedEncodingDisabled": { "kind": "property", "displayName": "Chunked Encoding Disabled", "group": " advanced", "label": "common, advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if disabled Chunked Encoding is true or false" },
"dualstackEnabled": { "kind": "property", "displayName": "Dualstack Enabled", "group": " advanced", "label": "common, advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if Dualstack enabled is true or false" },
"forceGlobalBucketAccessEnabled": { "kind": "property", "displayName": "Force Global Bucket Access Enabled", "group": " advanced", "label": "common, advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if Force Global Bucket Access enabled is true or false" },
- "payloadSigningEnabled": { "kind": "property", "displayName": "Payload Signing Enabled", "group": " advanced", "label": "common, advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if Payload Signing enabled is true or false" }
+ "payloadSigningEnabled": { "kind": "property", "displayName": "Payload Signing Enabled", "group": " advanced", "label": "common, advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws.s3.S3Configuration", "configurationField": "configuration", "description": "Define if Payload Signing enabled is true or false" },
+ "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.s3.S3Configuration", "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.s3.S3Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
},
"properties": {
"bucketNameOrArn": { "kind": "path", "displayName": "Bucket Name Or Arn", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "Bucket name or ARN" },
diff --git a/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc b/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
index 435ae4c..d8118f1 100644
--- a/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
@@ -47,16 +47,15 @@ The AWS S3 Storage Service component supports 37 options, which are listed below
[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
-| *accessKey* (common) | Amazon AWS Access Key | | String
| *amazonS3Client* (common) | Reference to a com.amazonaws.services.s3.AmazonS3 in the registry. | | AmazonS3
| *autoCreateBucket* (common) | Setting the autocreation of the bucket | true | boolean
+| *configuration* (common) | The component configuration | | S3Configuration
| *pathStyleAccess* (common) | Whether or not the S3 client should use path style access | false | boolean
| *policy* (common) | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | | String
| *proxyHost* (common) | To define a proxy host when instantiating the SQS client | | String
| *proxyPort* (common) | Specify a proxy port to be used inside the client definition. | | Integer
| *proxyProtocol* (common) | To define a proxy protocol when instantiating the S3 client. The value can be one of: HTTP, HTTPS | HTTPS | Protocol
| *region* (common) | The region in which S3 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
-| *secretKey* (common) | Amazon AWS Secret Key | | String
| *useIAMCredentials* (common) | Set whether the S3 client should expect to load credentials on an EC2 instance or to expect static credentials to be passed in. | false | boolean
| *encryptionMaterials* (common) | The encryption materials to use in case of Symmetric/Asymmetric client usage | | EncryptionMaterials
| *useEncryption* (common) | Define if encryption must be used or not | false | boolean
@@ -78,12 +77,13 @@ The AWS S3 Storage Service component supports 37 options, which are listed below
| *awsKMSKeyId* (producer) | Define the id of KMS key to use in case KMS is enabled | | String
| *useAwsKMS* (producer) | Define if KMS must be used or not | false | boolean
| *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 S3 default configuration | | S3Configuration
| *accelerateModeEnabled* ( advanced) | Define if Accelerate Mode enabled is true or false | false | boolean
| *chunkedEncodingDisabled* ( advanced) | Define if disabled Chunked Encoding is true or false | false | boolean
| *dualstackEnabled* ( advanced) | Define if Dualstack enabled is true or false | false | boolean
| *forceGlobalBucketAccessEnabled* ( advanced) | Define if Force Global Bucket Access enabled is true or false | false | boolean
| *payloadSigningEnabled* ( advanced) | Define if Payload Signing enabled is true or false | false | boolean
+| *accessKey* (security) | Amazon AWS Access Key | | String
+| *secretKey* (security) | Amazon AWS Secret Key | | String
|===
// component options: END
diff --git a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Component.java b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
index 4e2bdfb..8d513b3 100644
--- a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
+++ b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
@@ -30,13 +30,7 @@ import org.apache.camel.support.DefaultComponent;
public class S3Component extends DefaultComponent {
@Metadata
- private String accessKey;
- @Metadata
- private String secretKey;
- @Metadata
- private String region;
- @Metadata(label = "advanced")
- private S3Configuration configuration;
+ private S3Configuration configuration = new S3Configuration();
public S3Component() {
this(null);
@@ -60,9 +54,6 @@ public class S3Component extends DefaultComponent {
final S3Configuration configuration = this.configuration != null ? this.configuration.copy() : new S3Configuration();
configuration.setBucketName(remaining);
S3Endpoint endpoint = new S3Endpoint(uri, this, configuration);
- endpoint.getConfiguration().setAccessKey(accessKey);
- endpoint.getConfiguration().setSecretKey(secretKey);
- endpoint.getConfiguration().setRegion(region);
setProperties(endpoint, parameters);
checkAndSetRegistryClient(configuration);
if (!configuration.isUseIAMCredentials() && configuration.getAmazonS3Client() == null && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
@@ -77,46 +68,12 @@ public class S3Component extends DefaultComponent {
}
/**
- * The AWS S3 default configuration
+ * The component configuration
*/
public void setConfiguration(S3Configuration 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;
- }
-
- public String getRegion() {
- return region;
- }
-
- /**
- * The region where the bucket is located. This option is used in the
- * `com.amazonaws.services.s3.model.CreateBucketRequest`.
- */
- public void setRegion(String region) {
- this.region = region;
- }
-
private void checkAndSetRegistryClient(S3Configuration configuration) {
Set<AmazonS3> clients = getCamelContext().getRegistry().findByType(AmazonS3.class);
if (clients.size() == 1) {
diff --git a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
index fc05a5c..d1e1259 100644
--- a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
+++ b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
@@ -135,8 +135,8 @@ public class S3ComponentConfigurationTest extends CamelTestSupport {
@Test
public void createEndpointWithComponentElements() throws Exception {
S3Component component = context.getComponent("aws-s3", S3Component.class);
- component.setAccessKey("XXX");
- component.setSecretKey("YYY");
+ component.getConfiguration().setAccessKey("XXX");
+ component.getConfiguration().setSecretKey("YYY");
S3Endpoint endpoint = (S3Endpoint)component.createEndpoint("aws-s3://MyBucket");
assertEquals("MyBucket", endpoint.getConfiguration().getBucketName());
@@ -147,9 +147,9 @@ public class S3ComponentConfigurationTest extends CamelTestSupport {
@Test
public void createEndpointWithComponentAndEndpointElements() throws Exception {
S3Component component = context.getComponent("aws-s3", S3Component.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());
S3Endpoint endpoint = (S3Endpoint)component.createEndpoint("aws-s3://MyBucket?accessKey=xxxxxx&secretKey=yyyyy®ion=US_EAST_1");
assertEquals("MyBucket", endpoint.getConfiguration().getBucketName());
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsS3ComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsS3ComponentBuilderFactory.java
index c31ab4b..7315127 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsS3ComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsS3ComponentBuilderFactory.java
@@ -49,17 +49,6 @@ public interface AwsS3ComponentBuilderFactory {
*/
interface AwsS3ComponentBuilder extends ComponentBuilder<S3Component> {
/**
- * Amazon AWS Access Key.
- *
- * The option is a: <code>java.lang.String</code> type.
- *
- * Group: common
- */
- default AwsS3ComponentBuilder accessKey(java.lang.String accessKey) {
- doSetProperty("accessKey", accessKey);
- return this;
- }
- /**
* Reference to a com.amazonaws.services.s3.AmazonS3 in the registry.
*
* The option is a: <code>com.amazonaws.services.s3.AmazonS3</code>
@@ -85,6 +74,19 @@ public interface AwsS3ComponentBuilderFactory {
return this;
}
/**
+ * The component configuration.
+ *
+ * The option is a:
+ * <code>org.apache.camel.component.aws.s3.S3Configuration</code> type.
+ *
+ * Group: common
+ */
+ default AwsS3ComponentBuilder configuration(
+ org.apache.camel.component.aws.s3.S3Configuration configuration) {
+ doSetProperty("configuration", configuration);
+ return this;
+ }
+ /**
* Whether or not the S3 client should use path style access.
*
* The option is a: <code>boolean</code> type.
@@ -158,17 +160,6 @@ public interface AwsS3ComponentBuilderFactory {
return this;
}
/**
- * Amazon AWS Secret Key.
- *
- * The option is a: <code>java.lang.String</code> type.
- *
- * Group: common
- */
- default AwsS3ComponentBuilder secretKey(java.lang.String secretKey) {
- doSetProperty("secretKey", secretKey);
- return this;
- }
- /**
* Set whether the S3 client should expect to load credentials on an EC2
* instance or to expect static credentials to be passed in.
*
@@ -465,19 +456,6 @@ public interface AwsS3ComponentBuilderFactory {
return this;
}
/**
- * The AWS S3 default configuration.
- *
- * The option is a:
- * <code>org.apache.camel.component.aws.s3.S3Configuration</code> type.
- *
- * Group: advanced
- */
- default AwsS3ComponentBuilder configuration(
- org.apache.camel.component.aws.s3.S3Configuration configuration) {
- doSetProperty("configuration", configuration);
- return this;
- }
- /**
* Define if Accelerate Mode enabled is true or false.
*
* The option is a: <code>boolean</code> type.
@@ -541,6 +519,28 @@ public interface AwsS3ComponentBuilderFactory {
doSetProperty("payloadSigningEnabled", payloadSigningEnabled);
return this;
}
+ /**
+ * Amazon AWS Access Key.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: security
+ */
+ default AwsS3ComponentBuilder 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 AwsS3ComponentBuilder secretKey(java.lang.String secretKey) {
+ doSetProperty("secretKey", secretKey);
+ return this;
+ }
}
class AwsS3ComponentBuilderImpl
@@ -565,16 +565,15 @@ public interface AwsS3ComponentBuilderFactory {
String name,
Object value) {
switch (name) {
- case "accessKey": ((S3Component) component).setAccessKey((java.lang.String) value); return true;
case "amazonS3Client": getOrCreateConfiguration((S3Component) component).setAmazonS3Client((com.amazonaws.services.s3.AmazonS3) value); return true;
case "autoCreateBucket": getOrCreateConfiguration((S3Component) component).setAutoCreateBucket((boolean) value); return true;
+ case "configuration": ((S3Component) component).setConfiguration((org.apache.camel.component.aws.s3.S3Configuration) value); return true;
case "pathStyleAccess": getOrCreateConfiguration((S3Component) component).setPathStyleAccess((boolean) value); return true;
case "policy": getOrCreateConfiguration((S3Component) component).setPolicy((java.lang.String) value); return true;
case "proxyHost": getOrCreateConfiguration((S3Component) component).setProxyHost((java.lang.String) value); return true;
case "proxyPort": getOrCreateConfiguration((S3Component) component).setProxyPort((java.lang.Integer) value); return true;
case "proxyProtocol": getOrCreateConfiguration((S3Component) component).setProxyProtocol((com.amazonaws.Protocol) value); return true;
case "region": getOrCreateConfiguration((S3Component) component).setRegion((java.lang.String) value); return true;
- case "secretKey": ((S3Component) component).setSecretKey((java.lang.String) value); return true;
case "useIAMCredentials": getOrCreateConfiguration((S3Component) component).setUseIAMCredentials((boolean) value); return true;
case "encryptionMaterials": getOrCreateConfiguration((S3Component) component).setEncryptionMaterials((com.amazonaws.services.s3.model.EncryptionMaterials) value); return true;
case "useEncryption": getOrCreateConfiguration((S3Component) component).setUseEncryption((boolean) value); return true;
@@ -596,12 +595,13 @@ public interface AwsS3ComponentBuilderFactory {
case "awsKMSKeyId": getOrCreateConfiguration((S3Component) component).setAwsKMSKeyId((java.lang.String) value); return true;
case "useAwsKMS": getOrCreateConfiguration((S3Component) component).setUseAwsKMS((boolean) value); return true;
case "basicPropertyBinding": ((S3Component) component).setBasicPropertyBinding((boolean) value); return true;
- case "configuration": ((S3Component) component).setConfiguration((org.apache.camel.component.aws.s3.S3Configuration) value); return true;
case "accelerateModeEnabled": getOrCreateConfiguration((S3Component) component).setAccelerateModeEnabled((boolean) value); return true;
case "chunkedEncodingDisabled": getOrCreateConfiguration((S3Component) component).setChunkedEncodingDisabled((boolean) value); return true;
case "dualstackEnabled": getOrCreateConfiguration((S3Component) component).setDualstackEnabled((boolean) value); return true;
case "forceGlobalBucketAccessEnabled": getOrCreateConfiguration((S3Component) component).setForceGlobalBucketAccessEnabled((boolean) value); return true;
case "payloadSigningEnabled": getOrCreateConfiguration((S3Component) component).setPayloadSigningEnabled((boolean) value); return true;
+ case "accessKey": getOrCreateConfiguration((S3Component) component).setAccessKey((java.lang.String) value); return true;
+ case "secretKey": getOrCreateConfiguration((S3Component) component).setSecretKey((java.lang.String) value); return true;
default: return false;
}
}