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 f81c6025aa1772d9ccbbf5491c8cafa9aebae5ce
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Tue Jul 21 07:32:38 2020 +0200

    CAMEL-15310 - AWS S3 - Support for more than 1 client in the registry - 
Camel-AWS-S3
---
 .../component/aws/s3/S3ComponentConfigurer.java    |  5 ++
 .../component/aws/s3/S3EndpointConfigurer.java     |  5 ++
 .../org/apache/camel/component/aws/s3/aws-s3.json  |  2 +
 .../src/main/docs/aws-s3-component.adoc            |  6 +-
 .../apache/camel/component/aws/s3/S3Component.java |  4 +-
 .../camel/component/aws/s3/S3Configuration.java    | 15 +++-
 .../aws/s3/S3ComponentClientRegistryTest.java      | 13 +++-
 .../dsl/AwsS3ComponentBuilderFactory.java          | 16 ++++
 .../builder/endpoint/StaticEndpointBuilders.java   |  8 +-
 .../endpoint/dsl/S3EndpointBuilderFactory.java     | 88 ++++++++++++++++++++++
 10 files changed, 153 insertions(+), 9 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 ddec581..cec62fc 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
@@ -34,6 +34,8 @@ public class S3ComponentConfigurer extends 
PropertyConfigurerSupport implements
         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 "autodiscoverclient":
+        case "autoDiscoverClient": 
getOrCreateConfiguration(target).setAutoDiscoverClient(property(camelContext, 
boolean.class, value)); return true;
         case "autoclosebody":
         case "autocloseBody": 
getOrCreateConfiguration(target).setAutocloseBody(property(camelContext, 
boolean.class, value)); return true;
         case "awskmskeyid":
@@ -107,6 +109,7 @@ public class S3ComponentConfigurer extends 
PropertyConfigurerSupport implements
         answer.put("accessKey", java.lang.String.class);
         answer.put("amazonS3Client", com.amazonaws.services.s3.AmazonS3.class);
         answer.put("autoCreateBucket", boolean.class);
+        answer.put("autoDiscoverClient", boolean.class);
         answer.put("autocloseBody", boolean.class);
         answer.put("awsKMSKeyId", java.lang.String.class);
         answer.put("basicPropertyBinding", boolean.class);
@@ -156,6 +159,8 @@ public class S3ComponentConfigurer extends 
PropertyConfigurerSupport implements
         case "amazonS3Client": return 
getOrCreateConfiguration(target).getAmazonS3Client();
         case "autocreatebucket":
         case "autoCreateBucket": return 
getOrCreateConfiguration(target).isAutoCreateBucket();
+        case "autodiscoverclient":
+        case "autoDiscoverClient": return 
getOrCreateConfiguration(target).isAutoDiscoverClient();
         case "autoclosebody":
         case "autocloseBody": return 
getOrCreateConfiguration(target).isAutocloseBody();
         case "awskmskeyid":
diff --git 
a/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3EndpointConfigurer.java
 
b/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3EndpointConfigurer.java
index f4be12f..8639120 100644
--- 
a/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3EndpointConfigurer.java
+++ 
b/components/camel-aws-s3/src/generated/java/org/apache/camel/component/aws/s3/S3EndpointConfigurer.java
@@ -27,6 +27,8 @@ public class S3EndpointConfigurer extends 
PropertyConfigurerSupport implements G
         case "amazonS3Client": 
target.getConfiguration().setAmazonS3Client(property(camelContext, 
com.amazonaws.services.s3.AmazonS3.class, value)); return true;
         case "autocreatebucket":
         case "autoCreateBucket": 
target.getConfiguration().setAutoCreateBucket(property(camelContext, 
boolean.class, value)); return true;
+        case "autodiscoverclient":
+        case "autoDiscoverClient": 
target.getConfiguration().setAutoDiscoverClient(property(camelContext, 
boolean.class, value)); return true;
         case "autoclosebody":
         case "autocloseBody": 
target.getConfiguration().setAutocloseBody(property(camelContext, 
boolean.class, value)); return true;
         case "awskmskeyid":
@@ -137,6 +139,7 @@ public class S3EndpointConfigurer extends 
PropertyConfigurerSupport implements G
         answer.put("accessKey", java.lang.String.class);
         answer.put("amazonS3Client", com.amazonaws.services.s3.AmazonS3.class);
         answer.put("autoCreateBucket", boolean.class);
+        answer.put("autoDiscoverClient", boolean.class);
         answer.put("autocloseBody", boolean.class);
         answer.put("awsKMSKeyId", java.lang.String.class);
         answer.put("backoffErrorThreshold", int.class);
@@ -206,6 +209,8 @@ public class S3EndpointConfigurer extends 
PropertyConfigurerSupport implements G
         case "amazonS3Client": return 
target.getConfiguration().getAmazonS3Client();
         case "autocreatebucket":
         case "autoCreateBucket": return 
target.getConfiguration().isAutoCreateBucket();
+        case "autodiscoverclient":
+        case "autoDiscoverClient": return 
target.getConfiguration().isAutoDiscoverClient();
         case "autoclosebody":
         case "autocloseBody": return 
target.getConfiguration().isAutocloseBody();
         case "awskmskeyid":
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 301bbf8..0b581ce 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
@@ -23,6 +23,7 @@
   "componentProperties": {
     "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" },
+    "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover 
Client", "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 autoDiscoverClient mechanism, if 
true, the component will look for a client instance in the registry a [...]
     "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" },
     "endpointConfiguration": { "kind": "property", "displayName": "Endpoint 
Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration", 
"deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws.s3.S3Configuration", "configurationField": 
"configuration", "description": "Amazon AWS Endpoint 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" },
@@ -64,6 +65,7 @@
     "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" },
     "amazonS3Client": { "kind": "parameter", "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": "parameter", "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" },
+    "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover 
Client", "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 autoDiscoverClient mechanism, if 
true, the component will look for a client instance in the registry  [...]
     "endpointConfiguration": { "kind": "parameter", "displayName": "Endpoint 
Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration", 
"deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws.s3.S3Configuration", "configurationField": 
"configuration", "description": "Amazon AWS Endpoint Configuration" },
     "pathStyleAccess": { "kind": "parameter", "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": "parameter", "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." },
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 43ffc6a..07738a8 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
@@ -46,7 +46,7 @@ 
from("aws-s3://helloBucket?accessKey=yourAccessKey&secretKey=yourSecretKey&prefi
 
 
 // component options: START
-The AWS S3 Storage Service component supports 38 options, which are listed 
below.
+The AWS S3 Storage Service component supports 39 options, which are listed 
below.
 
 
 
@@ -55,6 +55,7 @@ The AWS S3 Storage Service component supports 38 options, 
which are listed below
 | Name | Description | Default | Type
 | *amazonS3Client* (common) | Reference to a 
com.amazonaws.services.s3.AmazonS3 in the registry. |  | AmazonS3
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket | true 
| boolean
+| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if 
true, the component will look for a client instance in the registry 
automatically otherwise it will skip that checking. | true | boolean
 | *configuration* (common) | The component configuration |  | S3Configuration
 | *endpointConfiguration* (common) | Amazon AWS Endpoint Configuration |  | 
EndpointConfiguration
 | *pathStyleAccess* (common) | Whether or not the S3 client should use path 
style access | false | boolean
@@ -123,7 +124,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (58 parameters):
+=== Query Parameters (59 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -131,6 +132,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *amazonS3Client* (common) | Reference to a 
com.amazonaws.services.s3.AmazonS3 in the registry. |  | AmazonS3
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket | true 
| boolean
+| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if 
true, the component will look for a client instance in the registry 
automatically otherwise it will skip that checking. | true | boolean
 | *endpointConfiguration* (common) | Amazon AWS Endpoint Configuration |  | 
EndpointConfiguration
 | *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
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 aa65aa4..9c44f7f 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
@@ -55,7 +55,9 @@ public class S3Component extends DefaultComponent {
         configuration.setBucketName(remaining);
         S3Endpoint endpoint = new S3Endpoint(uri, this, configuration);
         setProperties(endpoint, parameters);
-        checkAndSetRegistryClient(configuration);
+        if (endpoint.getConfiguration().isAutoDiscoverClient()) {
+            checkAndSetRegistryClient(configuration);
+        }
         if (!configuration.isUseIAMCredentials() && 
configuration.getAmazonS3Client() == null && (configuration.getAccessKey() == 
null || configuration.getSecretKey() == null)) {
             throw new IllegalArgumentException("useIAMCredentials is set to 
false, AmazonS3Client or accessKey and secretKey must be specified");
         }
diff --git 
a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
 
b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
index bf7c40e..ba19c6e 100644
--- 
a/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
+++ 
b/components/camel-aws-s3/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
@@ -98,6 +98,8 @@ public class S3Configuration implements Cloneable {
     private boolean useIAMCredentials;
     @UriParam(label = "producer")
     private String keyName;
+    @UriParam(label = "common", defaultValue = "true")
+    private boolean autoDiscoverClient = true;
 
     public long getPartSize() {
         return partSize;
@@ -518,7 +520,18 @@ public class S3Configuration implements Cloneable {
         this.keyName = keyName;
     }
 
-    public boolean hasProxyConfiguration() {
+    public boolean isAutoDiscoverClient() {
+               return autoDiscoverClient;
+       }
+
+    /**
+     * Setting the autoDiscoverClient mechanism, if true, the component will 
look for a client instance in the registry automatically otherwise it will skip 
that checking.
+     */
+       public void setAutoDiscoverClient(boolean autoDiscoverClient) {
+               this.autoDiscoverClient = autoDiscoverClient;
+       }
+
+       public boolean hasProxyConfiguration() {
         return ObjectHelper.isNotEmpty(getProxyHost()) && 
ObjectHelper.isNotEmpty(getProxyPort());
     }
 
diff --git 
a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java
 
b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java
index edac0a4..2117af9 100644
--- 
a/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java
+++ 
b/components/camel-aws-s3/src/test/java/org/apache/camel/component/aws/s3/S3ComponentClientRegistryTest.java
@@ -54,9 +54,20 @@ public class S3ComponentClientRegistryTest extends 
CamelTestSupport {
         AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
         context.getRegistry().bind("amazonS3Client", clientMock);
         S3Component component = context.getComponent("aws-s3", 
S3Component.class);
-        S3Endpoint endpoint = 
(S3Endpoint)component.createEndpoint("aws-s3://MyBucket?accessKey=RAW(XXX)&secretKey=RAW(XXX)");
+        S3Endpoint endpoint = 
(S3Endpoint)component.createEndpoint("aws-s3://MyBucket?accessKey=RAW(XXX)&secretKey=RAW(XXX)&autoDiscoverClient=false");
 
         assertEquals("MyBucket", endpoint.getConfiguration().getBucketName());
         assertNotSame(clientMock, 
endpoint.getConfiguration().getAmazonS3Client());
     }
+    
+    @Test
+    public void 
createEndpointWithCredentialsAndClientExistInRegistryWithAutodiscover() throws 
Exception {
+        AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
+        context.getRegistry().bind("amazonS3Client", clientMock);
+        S3Component component = context.getComponent("aws-s3", 
S3Component.class);
+        S3Endpoint endpoint = 
(S3Endpoint)component.createEndpoint("aws-s3://MyBucket?accessKey=RAW(XXX)&secretKey=RAW(XXX)");
+
+        assertEquals("MyBucket", endpoint.getConfiguration().getBucketName());
+        assertSame(clientMock, 
endpoint.getConfiguration().getAmazonS3Client());
+    }
 }
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 c4813d9..771a0eb 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
@@ -72,6 +72,21 @@ public interface AwsS3ComponentBuilderFactory {
             return this;
         }
         /**
+         * Setting the autoDiscoverClient mechanism, if true, the component 
will
+         * look for a client instance in the registry automatically otherwise 
it
+         * will skip that checking.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: common
+         */
+        default AwsS3ComponentBuilder autoDiscoverClient(
+                boolean autoDiscoverClient) {
+            doSetProperty("autoDiscoverClient", autoDiscoverClient);
+            return this;
+        }
+        /**
          * The component configuration.
          * 
          * The option is a:
@@ -578,6 +593,7 @@ public interface AwsS3ComponentBuilderFactory {
             switch (name) {
             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 "autoDiscoverClient": getOrCreateConfiguration((S3Component) 
component).setAutoDiscoverClient((boolean) value); return true;
             case "configuration": ((S3Component) 
component).setConfiguration((org.apache.camel.component.aws.s3.S3Configuration) 
value); return true;
             case "endpointConfiguration": 
getOrCreateConfiguration((S3Component) 
component).setEndpointConfiguration((com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration)
 value); return true;
             case "pathStyleAccess": getOrCreateConfiguration((S3Component) 
component).setPathStyleAccess((boolean) value); return true;
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index b9421b5..aa0805c 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -2160,7 +2160,7 @@ public class StaticEndpointBuilders {
      * 
      * @param path //bucketNameOrArn
      */
-    public static 
org.apache.camel.builder.endpoint.dsl.S3EndpointBuilderFactory.S3EndpointBuilder
 awsS3(
+    static 
org.apache.camel.builder.endpoint.dsl.S3EndpointBuilderFactory.S3EndpointBuilder
 awsS3(
             String path) {
         return 
org.apache.camel.builder.endpoint.dsl.S3EndpointBuilderFactory.endpointBuilder("aws-s3",
 path);
     }
@@ -2181,7 +2181,7 @@ public class StaticEndpointBuilders {
      * instead of the default name
      * @param path //bucketNameOrArn
      */
-    public static 
org.apache.camel.builder.endpoint.dsl.S3EndpointBuilderFactory.S3EndpointBuilder
 awsS3(
+    static 
org.apache.camel.builder.endpoint.dsl.S3EndpointBuilderFactory.S3EndpointBuilder
 awsS3(
             String componentName,
             String path) {
         return 
org.apache.camel.builder.endpoint.dsl.S3EndpointBuilderFactory.endpointBuilder(componentName,
 path);
@@ -15471,7 +15471,7 @@ public class StaticEndpointBuilders {
      * 
      * @param path serverUrls/path
      */
-    static 
org.apache.camel.builder.endpoint.dsl.ZooKeeperEndpointBuilderFactory.ZooKeeperEndpointBuilder
 zookeeper(
+    public static 
org.apache.camel.builder.endpoint.dsl.ZooKeeperEndpointBuilderFactory.ZooKeeperEndpointBuilder
 zookeeper(
             String path) {
         return 
org.apache.camel.builder.endpoint.dsl.ZooKeeperEndpointBuilderFactory.endpointBuilder("zookeeper",
 path);
     }
@@ -15495,7 +15495,7 @@ public class StaticEndpointBuilders {
      * instead of the default name
      * @param path serverUrls/path
      */
-    static 
org.apache.camel.builder.endpoint.dsl.ZooKeeperEndpointBuilderFactory.ZooKeeperEndpointBuilder
 zookeeper(
+    public static 
org.apache.camel.builder.endpoint.dsl.ZooKeeperEndpointBuilderFactory.ZooKeeperEndpointBuilder
 zookeeper(
             String componentName,
             String path) {
         return 
org.apache.camel.builder.endpoint.dsl.ZooKeeperEndpointBuilderFactory.endpointBuilder(componentName,
 path);
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java
index 33e2e8a..207fd6d 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/S3EndpointBuilderFactory.java
@@ -97,6 +97,36 @@ public interface S3EndpointBuilderFactory {
             return this;
         }
         /**
+         * Setting the autoDiscoverClient mechanism, if true, the component 
will
+         * look for a client instance in the registry automatically otherwise 
it
+         * will skip that checking.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: common
+         */
+        default S3EndpointConsumerBuilder autoDiscoverClient(
+                boolean autoDiscoverClient) {
+            doSetProperty("autoDiscoverClient", autoDiscoverClient);
+            return this;
+        }
+        /**
+         * Setting the autoDiscoverClient mechanism, if true, the component 
will
+         * look for a client instance in the registry automatically otherwise 
it
+         * will skip that checking.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: common
+         */
+        default S3EndpointConsumerBuilder autoDiscoverClient(
+                String autoDiscoverClient) {
+            doSetProperty("autoDiscoverClient", autoDiscoverClient);
+            return this;
+        }
+        /**
          * Amazon AWS Endpoint Configuration.
          * 
          * The option is a:
@@ -1322,6 +1352,36 @@ public interface S3EndpointBuilderFactory {
             return this;
         }
         /**
+         * Setting the autoDiscoverClient mechanism, if true, the component 
will
+         * look for a client instance in the registry automatically otherwise 
it
+         * will skip that checking.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: common
+         */
+        default S3EndpointProducerBuilder autoDiscoverClient(
+                boolean autoDiscoverClient) {
+            doSetProperty("autoDiscoverClient", autoDiscoverClient);
+            return this;
+        }
+        /**
+         * Setting the autoDiscoverClient mechanism, if true, the component 
will
+         * look for a client instance in the registry automatically otherwise 
it
+         * will skip that checking.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: common
+         */
+        default S3EndpointProducerBuilder autoDiscoverClient(
+                String autoDiscoverClient) {
+            doSetProperty("autoDiscoverClient", autoDiscoverClient);
+            return this;
+        }
+        /**
          * Amazon AWS Endpoint Configuration.
          * 
          * The option is a:
@@ -2038,6 +2098,34 @@ public interface S3EndpointBuilderFactory {
             return this;
         }
         /**
+         * Setting the autoDiscoverClient mechanism, if true, the component 
will
+         * look for a client instance in the registry automatically otherwise 
it
+         * will skip that checking.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: common
+         */
+        default S3EndpointBuilder autoDiscoverClient(boolean 
autoDiscoverClient) {
+            doSetProperty("autoDiscoverClient", autoDiscoverClient);
+            return this;
+        }
+        /**
+         * Setting the autoDiscoverClient mechanism, if true, the component 
will
+         * look for a client instance in the registry automatically otherwise 
it
+         * will skip that checking.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: common
+         */
+        default S3EndpointBuilder autoDiscoverClient(String 
autoDiscoverClient) {
+            doSetProperty("autoDiscoverClient", autoDiscoverClient);
+            return this;
+        }
+        /**
          * Amazon AWS Endpoint Configuration.
          * 
          * The option is a:

Reply via email to