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 f3622f0d89843b6f94ea1ba675026f87bbb33187 Author: Raffaele Marcello <marcelloraffa...@gmail.com> AuthorDate: Sat Feb 13 18:47:26 2021 +0100 CAMEL-15964 create camel-google-storage component --- .../catalog/docs/google-storage-component.adoc | 6 ++- .../GoogleCloudStorageComponentConfigurer.java | 6 +++ .../GoogleCloudStorageEndpointConfigurer.java | 6 +++ .../GoogleCloudStorageEndpointUriFactory.java | 3 +- .../component/google/storage/google-storage.json | 2 + .../src/main/docs/google-storage-component.adoc | 6 ++- .../GoogleCloudStorageComponentConfiguration.java | 16 ++++++++ .../google/storage/GoogleCloudStorageEndpoint.java | 16 +++++++- .../dsl/GoogleStorageComponentBuilderFactory.java | 17 ++++++++ .../GoogleCloudStorageEndpointBuilderFactory.java | 48 ++++++++++++++++++++++ .../ROOT/pages/google-storage-component.adoc | 6 ++- 11 files changed, 123 insertions(+), 9 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-storage-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-storage-component.adoc index a473b5e..aafb49a 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-storage-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-storage-component.adoc @@ -82,7 +82,7 @@ from("google-storage://myCamelBucket?serviceAccountKey=/home/user/Downloads/my-k == URI Options // component options: START -The Google Storage component supports 14 options, which are listed below. +The Google Storage component supports 15 options, which are listed below. @@ -93,6 +93,7 @@ The Google Storage component supports 14 options, which are listed below. | *configuration* (common) | The component configuration | | GoogleCloudStorageComponentConfiguration | *serviceAccountKey* (common) | Service account key | | String | *storageClient* (common) | Set strage client | | Storage +| *storageLocation* (common) | The Cloud Storage location to use when creating the new buckets | US-EAST1 | String | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean | *deleteAfterRead* (consumer) | Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. | true | boolean | *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | | String @@ -125,7 +126,7 @@ with the following path and query parameters: |=== -=== Query Parameters (30 parameters): +=== Query Parameters (31 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -134,6 +135,7 @@ with the following path and query parameters: | *autoCreateBucket* (common) | Setting the autocreation of the bucket bucketName. | true | boolean | *serviceAccountKey* (common) | Service account key | | String | *storageClient* (common) | Set strage client | | Storage +| *storageLocation* (common) | The Cloud Storage location to use when creating the new buckets | US-EAST1 | String | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean | *deleteAfterRead* (consumer) | Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. | true | boolean | *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | | String diff --git a/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfigurer.java b/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfigurer.java index f2aa873..649f85b 100644 --- a/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfigurer.java +++ b/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfigurer.java @@ -54,6 +54,8 @@ public class GoogleCloudStorageComponentConfigurer extends PropertyConfigurerSup case "serviceAccountKey": getOrCreateConfiguration(target).setServiceAccountKey(property(camelContext, java.lang.String.class, value)); return true; case "storageclient": case "storageClient": getOrCreateConfiguration(target).setStorageClient(property(camelContext, com.google.cloud.storage.Storage.class, value)); return true; + case "storagelocation": + case "storageLocation": getOrCreateConfiguration(target).setStorageLocation(property(camelContext, java.lang.String.class, value)); return true; default: return false; } } @@ -87,6 +89,8 @@ public class GoogleCloudStorageComponentConfigurer extends PropertyConfigurerSup case "serviceAccountKey": return java.lang.String.class; case "storageclient": case "storageClient": return com.google.cloud.storage.Storage.class; + case "storagelocation": + case "storageLocation": return java.lang.String.class; default: return null; } } @@ -121,6 +125,8 @@ public class GoogleCloudStorageComponentConfigurer extends PropertyConfigurerSup case "serviceAccountKey": return getOrCreateConfiguration(target).getServiceAccountKey(); case "storageclient": case "storageClient": return getOrCreateConfiguration(target).getStorageClient(); + case "storagelocation": + case "storageLocation": return getOrCreateConfiguration(target).getStorageLocation(); default: return null; } } diff --git a/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointConfigurer.java b/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointConfigurer.java index 1e8d17a..edb8a63 100644 --- a/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointConfigurer.java +++ b/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointConfigurer.java @@ -73,6 +73,8 @@ public class GoogleCloudStorageEndpointConfigurer extends PropertyConfigurerSupp case "startScheduler": target.setStartScheduler(property(camelContext, boolean.class, value)); return true; case "storageclient": case "storageClient": target.getConfiguration().setStorageClient(property(camelContext, com.google.cloud.storage.Storage.class, value)); return true; + case "storagelocation": + case "storageLocation": target.getConfiguration().setStorageLocation(property(camelContext, java.lang.String.class, value)); return true; case "timeunit": case "timeUnit": target.setTimeUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true; case "usefixeddelay": @@ -136,6 +138,8 @@ public class GoogleCloudStorageEndpointConfigurer extends PropertyConfigurerSupp case "startScheduler": return boolean.class; case "storageclient": case "storageClient": return com.google.cloud.storage.Storage.class; + case "storagelocation": + case "storageLocation": return java.lang.String.class; case "timeunit": case "timeUnit": return java.util.concurrent.TimeUnit.class; case "usefixeddelay": @@ -200,6 +204,8 @@ public class GoogleCloudStorageEndpointConfigurer extends PropertyConfigurerSupp case "startScheduler": return target.isStartScheduler(); case "storageclient": case "storageClient": return target.getConfiguration().getStorageClient(); + case "storagelocation": + case "storageLocation": return target.getConfiguration().getStorageLocation(); case "timeunit": case "timeUnit": return target.getTimeUnit(); case "usefixeddelay": diff --git a/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointUriFactory.java b/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointUriFactory.java index 86fe7f9..a243bfb 100644 --- a/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointUriFactory.java +++ b/components/camel-google-storage/src/generated/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpointUriFactory.java @@ -20,10 +20,11 @@ public class GoogleCloudStorageEndpointUriFactory extends org.apache.camel.suppo private static final Set<String> PROPERTY_NAMES; private static final Set<String> SECRET_PROPERTY_NAMES; static { - Set<String> props = new HashSet<>(31); + Set<String> props = new HashSet<>(32); props.add("backoffMultiplier"); props.add("bucketName"); props.add("destinationBucket"); + props.add("storageLocation"); props.add("initialDelay"); props.add("scheduler"); props.add("bridgeErrorHandler"); diff --git a/components/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json b/components/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json index 7e946ab..4f4f89e 100644 --- a/components/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json +++ b/components/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json @@ -26,6 +26,7 @@ "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" }, "serviceAccountKey": { "kind": "property", "displayName": "Service Account Key", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Service account key" }, "storageClient": { "kind": "property", "displayName": "Storage Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.cloud.storage.Storage", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Set strage client" }, + "storageLocation": { "kind": "property", "displayName": "Storage Location", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "US-EAST1", "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "The Cloud Storage location to use when creating the new [...] "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...] "deleteAfterRead": { "kind": "property", "displayName": "Delete After Read", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Delete objects from the bucket after they have been retrieved. Th [...] "destinationBucket": { "kind": "property", "displayName": "Destination Bucket", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Define the destination bucket where an object must be moved when moveAfterRe [...] @@ -42,6 +43,7 @@ "autoCreateBucket": { "kind": "parameter", "displayName": "Auto Create Bucket", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Setting the autocreation of the bucket bucketName." }, "serviceAccountKey": { "kind": "parameter", "displayName": "Service Account Key", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Service account key" }, "storageClient": { "kind": "parameter", "displayName": "Storage Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.cloud.storage.Storage", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Set strage client" }, + "storageLocation": { "kind": "parameter", "displayName": "Storage Location", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "US-EAST1", "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "The Cloud Storage location to use when creating the new [...] "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a m [...] "deleteAfterRead": { "kind": "parameter", "displayName": "Delete After Read", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Delete objects from the bucket after they have been retrieved. T [...] "destinationBucket": { "kind": "parameter", "displayName": "Destination Bucket", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration", "configurationField": "configuration", "description": "Define the destination bucket where an object must be moved when moveAfterR [...] diff --git a/components/camel-google-storage/src/main/docs/google-storage-component.adoc b/components/camel-google-storage/src/main/docs/google-storage-component.adoc index a473b5e..aafb49a 100644 --- a/components/camel-google-storage/src/main/docs/google-storage-component.adoc +++ b/components/camel-google-storage/src/main/docs/google-storage-component.adoc @@ -82,7 +82,7 @@ from("google-storage://myCamelBucket?serviceAccountKey=/home/user/Downloads/my-k == URI Options // component options: START -The Google Storage component supports 14 options, which are listed below. +The Google Storage component supports 15 options, which are listed below. @@ -93,6 +93,7 @@ The Google Storage component supports 14 options, which are listed below. | *configuration* (common) | The component configuration | | GoogleCloudStorageComponentConfiguration | *serviceAccountKey* (common) | Service account key | | String | *storageClient* (common) | Set strage client | | Storage +| *storageLocation* (common) | The Cloud Storage location to use when creating the new buckets | US-EAST1 | String | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean | *deleteAfterRead* (consumer) | Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. | true | boolean | *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | | String @@ -125,7 +126,7 @@ with the following path and query parameters: |=== -=== Query Parameters (30 parameters): +=== Query Parameters (31 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -134,6 +135,7 @@ with the following path and query parameters: | *autoCreateBucket* (common) | Setting the autocreation of the bucket bucketName. | true | boolean | *serviceAccountKey* (common) | Service account key | | String | *storageClient* (common) | Set strage client | | Storage +| *storageLocation* (common) | The Cloud Storage location to use when creating the new buckets | US-EAST1 | String | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean | *deleteAfterRead* (consumer) | Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. | true | boolean | *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | | String diff --git a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfiguration.java b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfiguration.java index 5355ec8..e058a5a 100644 --- a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfiguration.java +++ b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageComponentConfiguration.java @@ -40,6 +40,10 @@ public class GoogleCloudStorageComponentConfiguration implements Cloneable { @UriParam(label = "producer", description = "Object name") private String objectName; + @UriParam(label = "common", defaultValue = "US-EAST1", + description = "The Cloud Storage location to use when creating the new buckets") + private String storageLocation; + @UriParam(label = "common", defaultValue = "true") private boolean autoCreateBucket = true; @@ -100,6 +104,18 @@ public class GoogleCloudStorageComponentConfiguration implements Cloneable { return storageClient; } + public String getStorageLocation() { + return storageLocation; + } + + /** + * The Cloud Storage location to use when creating the new buckets. The complete available locations list at + * https://cloud.google.com/storage/docs/locations#location-mr + */ + public void setStorageLocation(String storageLocation) { + this.storageLocation = storageLocation; + } + /** * Set strage client * diff --git a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java index 028642a..43e0d95 100644 --- a/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java +++ b/components/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java @@ -22,7 +22,9 @@ import java.util.Date; import com.google.cloud.storage.Blob; import com.google.cloud.storage.Bucket; import com.google.cloud.storage.BucketInfo; +import com.google.cloud.storage.BucketInfo.Builder; import com.google.cloud.storage.Storage; +import com.google.cloud.storage.StorageClass; import org.apache.camel.Category; import org.apache.camel.Consumer; import org.apache.camel.Exchange; @@ -45,11 +47,15 @@ import org.slf4j.LoggerFactory; * */ @UriEndpoint(firstVersion = "3.7.0", scheme = "google-storage", title = "Google Storage", syntax = "google-storage:bucketName", - category = { Category.CLOUD }) + category = { + Category.CLOUD }) public class GoogleCloudStorageEndpoint extends ScheduledPollEndpoint { private static final Logger LOG = LoggerFactory.getLogger(GoogleCloudStorageEndpoint.class); + private static final String DEFAULT_LOCATION = "US-EAST1"; + private static final StorageClass DEFAULT_STORAGE_CLASS = StorageClass.STANDARD; + @UriParam private GoogleCloudStorageComponentConfiguration configuration; @@ -92,7 +98,13 @@ public class GoogleCloudStorageEndpoint extends ScheduledPollEndpoint { return; } else { // creates the new bucket because it doesn't exist yet - BucketInfo bucketInfo = BucketInfo.newBuilder(configuration.getBucketName()).build(); + final String location = configuration.getStorageLocation() != null + ? configuration.getStorageLocation() : DEFAULT_LOCATION; + + Builder bucketBuilder = BucketInfo.newBuilder(configuration.getBucketName()) + .setStorageClass(DEFAULT_STORAGE_CLASS) + .setLocation(location); + BucketInfo bucketInfo = bucketBuilder.build(); bucket = storageClient.create(bucketInfo); LOG.trace("Bucket [{}] has been created", bucket.getName()); } diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleStorageComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleStorageComponentBuilderFactory.java index 4c8a69d..4150c6e 100644 --- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleStorageComponentBuilderFactory.java +++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleStorageComponentBuilderFactory.java @@ -116,6 +116,22 @@ public interface GoogleStorageComponentBuilderFactory { return this; } /** + * The Cloud Storage location to use when creating the new buckets. + * + * The option is a: <code>java.lang.String</code> type. + * + * Default: US-EAST1 + * Group: common + * + * @param storageLocation the value to set + * @return the dsl builder + */ + default GoogleStorageComponentBuilder storageLocation( + java.lang.String storageLocation) { + doSetProperty("storageLocation", storageLocation); + return this; + } + /** * Allows for bridging the consumer to the Camel routing Error Handler, * which mean any exceptions occurred while the consumer is trying to * pickup incoming messages, or the likes, will now be processed as a @@ -331,6 +347,7 @@ public interface GoogleStorageComponentBuilderFactory { case "configuration": ((GoogleCloudStorageComponent) component).setConfiguration((org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration) value); return true; case "serviceAccountKey": getOrCreateConfiguration((GoogleCloudStorageComponent) component).setServiceAccountKey((java.lang.String) value); return true; case "storageClient": getOrCreateConfiguration((GoogleCloudStorageComponent) component).setStorageClient((com.google.cloud.storage.Storage) value); return true; + case "storageLocation": getOrCreateConfiguration((GoogleCloudStorageComponent) component).setStorageLocation((java.lang.String) value); return true; case "bridgeErrorHandler": ((GoogleCloudStorageComponent) component).setBridgeErrorHandler((boolean) value); return true; case "deleteAfterRead": getOrCreateConfiguration((GoogleCloudStorageComponent) component).setDeleteAfterRead((boolean) value); return true; case "destinationBucket": getOrCreateConfiguration((GoogleCloudStorageComponent) component).setDestinationBucket((java.lang.String) value); return true; diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCloudStorageEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCloudStorageEndpointBuilderFactory.java index 804ccf7..5fb83a7 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCloudStorageEndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCloudStorageEndpointBuilderFactory.java @@ -128,6 +128,22 @@ public interface GoogleCloudStorageEndpointBuilderFactory { return this; } /** + * The Cloud Storage location to use when creating the new buckets. + * + * The option is a: <code>java.lang.String</code> type. + * + * Default: US-EAST1 + * Group: common + * + * @param storageLocation the value to set + * @return the dsl builder + */ + default GoogleCloudStorageEndpointConsumerBuilder storageLocation( + String storageLocation) { + doSetProperty("storageLocation", storageLocation); + return this; + } + /** * Allows for bridging the consumer to the Camel routing Error Handler, * which mean any exceptions occurred while the consumer is trying to * pickup incoming messages, or the likes, will now be processed as a @@ -1074,6 +1090,22 @@ public interface GoogleCloudStorageEndpointBuilderFactory { return this; } /** + * The Cloud Storage location to use when creating the new buckets. + * + * The option is a: <code>java.lang.String</code> type. + * + * Default: US-EAST1 + * Group: common + * + * @param storageLocation the value to set + * @return the dsl builder + */ + default GoogleCloudStorageEndpointProducerBuilder storageLocation( + String storageLocation) { + doSetProperty("storageLocation", storageLocation); + return this; + } + /** * 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 @@ -1272,6 +1304,22 @@ public interface GoogleCloudStorageEndpointBuilderFactory { doSetProperty("storageClient", storageClient); return this; } + /** + * The Cloud Storage location to use when creating the new buckets. + * + * The option is a: <code>java.lang.String</code> type. + * + * Default: US-EAST1 + * Group: common + * + * @param storageLocation the value to set + * @return the dsl builder + */ + default GoogleCloudStorageEndpointBuilder storageLocation( + String storageLocation) { + doSetProperty("storageLocation", storageLocation); + return this; + } } /** diff --git a/docs/components/modules/ROOT/pages/google-storage-component.adoc b/docs/components/modules/ROOT/pages/google-storage-component.adoc index 447289a..51c49ff 100644 --- a/docs/components/modules/ROOT/pages/google-storage-component.adoc +++ b/docs/components/modules/ROOT/pages/google-storage-component.adoc @@ -84,7 +84,7 @@ from("google-storage://myCamelBucket?serviceAccountKey=/home/user/Downloads/my-k == URI Options // component options: START -The Google Storage component supports 14 options, which are listed below. +The Google Storage component supports 15 options, which are listed below. @@ -95,6 +95,7 @@ The Google Storage component supports 14 options, which are listed below. | *configuration* (common) | The component configuration | | GoogleCloudStorageComponentConfiguration | *serviceAccountKey* (common) | Service account key | | String | *storageClient* (common) | Set strage client | | Storage +| *storageLocation* (common) | The Cloud Storage location to use when creating the new buckets | US-EAST1 | String | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean | *deleteAfterRead* (consumer) | Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. | true | boolean | *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | | String @@ -127,7 +128,7 @@ with the following path and query parameters: |=== -=== Query Parameters (30 parameters): +=== Query Parameters (31 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -136,6 +137,7 @@ with the following path and query parameters: | *autoCreateBucket* (common) | Setting the autocreation of the bucket bucketName. | true | boolean | *serviceAccountKey* (common) | Service account key | | String | *storageClient* (common) | Set strage client | | Storage +| *storageLocation* (common) | The Cloud Storage location to use when creating the new buckets | US-EAST1 | String | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean | *deleteAfterRead* (consumer) | Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. | true | boolean | *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | | String