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: