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 f59b178bd07bed8c1ed41ecc403aa0cebb0f57e2
Author: Raffaele Marcello <marcelloraffa...@gmail.com>
AuthorDate: Sat Feb 13 16:56:07 2021 +0100

    CAMEL-15964 create camel-google-storage component
---
 .../catalog/docs/google-storage-component.adoc     |  22 ++--
 components/camel-google-storage/ReadMe.md          |   2 +-
 .../component/google/storage/google-storage.json   |  20 ++--
 .../src/main/docs/google-storage-component.adoc    |  22 ++--
 .../GoogleCloudStorageComponentConfiguration.java  |  32 ++---
 .../dsl/GoogleStorageComponentBuilderFactory.java  |  69 +++++------
 .../GoogleCloudStorageEndpointBuilderFactory.java  | 133 +++++++--------------
 .../ROOT/pages/google-storage-component.adoc       |  22 ++--
 8 files changed, 125 insertions(+), 197 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 b6cdfc5..7754e9a 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
@@ -49,7 +49,7 @@ export 
GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
 or directly through the component endpoint
 [source,text]
 --------------------------------------------------------
-from("google-storage://myCamelBucket?serviceAccountCredentials=/home/user/Downloads/my-key.json")
+from("google-storage://myCamelBucket?serviceAccountKey=/home/user/Downloads/my-key.json")
 --------------------------------------------------------
 
 
@@ -74,16 +74,16 @@ The Google Storage component supports 13 options, which are 
listed below.
 | Name | Description | Default | Type
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket 
bucketName. | true | boolean
 | *configuration* (common) | The component configuration |  | 
GoogleCloudStorageComponentConfiguration
-| *objectName* (common) | objectName |  | String
 | *serviceAccountKey* (common) | Service account key |  | String
 | *storageClient* (common) | Set strage client |  | Storage
 | *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 S3 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. Therefore you 
need to use the Idempotent Consumer EIP in the route to filter out duplicates. 
You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY 
headers, or only the AWS2S3C [...]
+| *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
-| *includeBody* (consumer) | If it is true, the S3Object exchange will be 
consumed and put into the body and closed. If false the S3Object stream will be 
put raw into the body and the headers will be set with the S3 object metadata. 
This option is strongly related to autocloseBody option. In case of setting 
includeBody to true because the S3Object stream will be consumed then it will 
also be closed in case of includeBody false then it will be up to the caller to 
close the S3Object stream [...]
-| *moveAfterRead* (consumer) | Move objects from S3 bucket to a different 
bucket after they have been retrieved. To accomplish the operation the 
destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
+| *includeBody* (consumer) | If it is true, the Object exchange will be 
consumed and put into the body and closed. If false the Object stream will be 
put raw into the body and the headers will be set with the object metadata. | 
true | boolean
+| *moveAfterRead* (consumer) | Move objects from the origin bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *operation* (producer) | set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
+| *objectName* (producer) | Object name |  | String
+| *operation* (producer) | Set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
 | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used 
for automatic autowiring options (the option must be marked as autowired) by 
looking up in the registry to find if there is a single instance of matching 
type, which then gets configured on the component. This can be used for 
automatic configuring JDBC data sources, JMS connection factories, AWS Clients, 
etc. | true | boolean
 |===
 // component options: END
@@ -114,20 +114,20 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket 
bucketName. | true | boolean
-| *objectName* (common) | objectName |  | String
 | *serviceAccountKey* (common) | Service account key |  | String
 | *storageClient* (common) | Set strage client |  | Storage
 | *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 S3 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. Therefore you 
need to use the Idempotent Consumer EIP in the route to filter out duplicates. 
You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY 
headers, or only the AWS2S3C [...]
+| *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
-| *includeBody* (consumer) | If it is true, the S3Object exchange will be 
consumed and put into the body and closed. If false the S3Object stream will be 
put raw into the body and the headers will be set with the S3 object metadata. 
This option is strongly related to autocloseBody option. In case of setting 
includeBody to true because the S3Object stream will be consumed then it will 
also be closed in case of includeBody false then it will be up to the caller to 
close the S3Object stream [...]
-| *moveAfterRead* (consumer) | Move objects from S3 bucket to a different 
bucket after they have been retrieved. To accomplish the operation the 
destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
+| *includeBody* (consumer) | If it is true, the Object exchange will be 
consumed and put into the body and closed. If false the Object stream will be 
put raw into the body and the headers will be set with the object metadata. | 
true | boolean
+| *moveAfterRead* (consumer) | Move objects from the origin bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll 
any files, you can enable this option to send an empty message (no body) 
instead. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. There are 3 enums and the value can be one of: InOnly, 
InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the 
poll operation before an Exchange have been created and being routed in Camel. 
|  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *operation* (producer) | set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
+| *objectName* (producer) | Object name |  | String
+| *operation* (producer) | Set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
 | *backoffErrorThreshold* (scheduler) | The number of subsequent error polls 
(failed due some error) that should happen before the backoffMultipler should 
kick-in. |  | int
 | *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls 
that should happen before the backoffMultipler should kick-in. |  | int
 | *backoffMultiplier* (scheduler) | To let the scheduled polling consumer 
backoff if there has been a number of subsequent idles/errors in a row. The 
multiplier is then the number of polls that will be skipped before the next 
actual attempt is happening again. When this option is in use then 
backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | 
int
diff --git a/components/camel-google-storage/ReadMe.md 
b/components/camel-google-storage/ReadMe.md
index ee5f91c..bbd2bed 100644
--- a/components/camel-google-storage/ReadMe.md
+++ b/components/camel-google-storage/ReadMe.md
@@ -31,7 +31,7 @@ or for windows:
 
 or directly through the component endpoint
 
-`from("google-storage://myCamelBucket?serviceAccountCredentials=/home/user/Downloads/my-key.json")`
+`from("google-storage://myCamelBucket?serviceAccountKey=/home/user/Downloads/my-key.json")`
 
 
 Running tests against Storage instance:
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 2e1d205..a139f6c 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
@@ -24,35 +24,35 @@
   "componentProperties": {
     "autoCreateBucket": { "kind": "property", "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." },
     "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" },
-    "objectName": { "kind": "property", "displayName": "Object Name", "group": 
"common", "label": "", "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": "objectName" },
     "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" },
     "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 S3 
after they have been retrieved. The delete [...]
+    "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 [...]
-    "includeBody": { "kind": "property", "displayName": "Include Body", 
"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": "If it is true, the 
S3Object exchange will be consumed and put into the bod [...]
-    "moveAfterRead": { "kind": "property", "displayName": "Move After Read", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration",
 "configurationField": "configuration", "description": "Move objects from S3 
bucket to a different bucket after they have be [...]
+    "includeBody": { "kind": "property", "displayName": "Include Body", 
"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": "If it is true, the 
Object exchange will be consumed and put into the body  [...]
+    "moveAfterRead": { "kind": "property", "displayName": "Move After Read", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration",
 "configurationField": "configuration", "description": "Move objects from the 
origin bucket to a different bucket after they [...]
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
-    "operation": { "kind": "property", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations",
 "enum": [ "copyObject", "listObjects", "deleteObject", "deleteBucket", 
"listBuckets", "getObject", "createDownloadLink" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.google.storage.Googl [...]
+    "objectName": { "kind": "property", "displayName": "Object Name", "group": 
"producer", "label": "producer", "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": "Object name" },
+    "operation": { "kind": "property", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations",
 "enum": [ "copyObject", "listObjects", "deleteObject", "deleteBucket", 
"listBuckets", "getObject", "createDownloadLink" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.google.storage.Googl [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
   },
   "properties": {
     "bucketName": { "kind": "path", "displayName": "Bucket Name", "group": 
"common", "label": "common", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration",
 "configurationField": "configuration", "description": "Bucket name" },
     "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." },
-    "objectName": { "kind": "parameter", "displayName": "Object Name", 
"group": "common", "label": "", "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": "objectName" },
     "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" },
     "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 S3 
after they have been retrieved. The delet [...]
+    "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 [...]
-    "includeBody": { "kind": "parameter", "displayName": "Include Body", 
"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": "If it is true, the 
S3Object exchange will be consumed and put into the bo [...]
-    "moveAfterRead": { "kind": "parameter", "displayName": "Move After Read", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration",
 "configurationField": "configuration", "description": "Move objects from S3 
bucket to a different bucket after they have b [...]
+    "includeBody": { "kind": "parameter", "displayName": "Include Body", 
"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": "If it is true, the 
Object exchange will be consumed and put into the body [...]
+    "moveAfterRead": { "kind": "parameter", "displayName": "Move After Read", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration",
 "configurationField": "configuration", "description": "Move objects from the 
origin bucket to a different bucket after the [...]
     "sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send 
Empty Message When Idle", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": "If 
the polling consumer did not poll any files, you can enable this option to send 
an empty message (no body) instead." },
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
     "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the 
poll operation  [...]
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations",
 "enum": [ "copyObject", "listObjects", "deleteObject", "deleteBucket", 
"listBuckets", "getObject", "createDownloadLink" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.google.storage.Goog [...]
+    "objectName": { "kind": "parameter", "displayName": "Object Name", 
"group": "producer", "label": "producer", "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": "Object name" },
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations",
 "enum": [ "copyObject", "listObjects", "deleteObject", "deleteBucket", 
"listBuckets", "getObject", "createDownloadLink" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.google.storage.Goog [...]
     "backoffErrorThreshold": { "kind": "parameter", "displayName": "Backoff 
Error Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
error polls (failed due some error) that should happen before the 
backoffMultipler should kick-in." },
     "backoffIdleThreshold": { "kind": "parameter", "displayName": "Backoff 
Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
idle polls that should happen before the backoffMultipler should kick-in." },
     "backoffMultiplier": { "kind": "parameter", "displayName": "Backoff 
Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "description": "To let the scheduled polling consumer 
backoff if there has been a number of subsequent idles\/errors in a row. The 
multiplier is then the number of polls that will be skipped before the next 
actual attempt is happening agai [...]
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 b6cdfc5..7754e9a 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
@@ -49,7 +49,7 @@ export 
GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
 or directly through the component endpoint
 [source,text]
 --------------------------------------------------------
-from("google-storage://myCamelBucket?serviceAccountCredentials=/home/user/Downloads/my-key.json")
+from("google-storage://myCamelBucket?serviceAccountKey=/home/user/Downloads/my-key.json")
 --------------------------------------------------------
 
 
@@ -74,16 +74,16 @@ The Google Storage component supports 13 options, which are 
listed below.
 | Name | Description | Default | Type
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket 
bucketName. | true | boolean
 | *configuration* (common) | The component configuration |  | 
GoogleCloudStorageComponentConfiguration
-| *objectName* (common) | objectName |  | String
 | *serviceAccountKey* (common) | Service account key |  | String
 | *storageClient* (common) | Set strage client |  | Storage
 | *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 S3 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. Therefore you 
need to use the Idempotent Consumer EIP in the route to filter out duplicates. 
You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY 
headers, or only the AWS2S3C [...]
+| *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
-| *includeBody* (consumer) | If it is true, the S3Object exchange will be 
consumed and put into the body and closed. If false the S3Object stream will be 
put raw into the body and the headers will be set with the S3 object metadata. 
This option is strongly related to autocloseBody option. In case of setting 
includeBody to true because the S3Object stream will be consumed then it will 
also be closed in case of includeBody false then it will be up to the caller to 
close the S3Object stream [...]
-| *moveAfterRead* (consumer) | Move objects from S3 bucket to a different 
bucket after they have been retrieved. To accomplish the operation the 
destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
+| *includeBody* (consumer) | If it is true, the Object exchange will be 
consumed and put into the body and closed. If false the Object stream will be 
put raw into the body and the headers will be set with the object metadata. | 
true | boolean
+| *moveAfterRead* (consumer) | Move objects from the origin bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *operation* (producer) | set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
+| *objectName* (producer) | Object name |  | String
+| *operation* (producer) | Set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
 | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used 
for automatic autowiring options (the option must be marked as autowired) by 
looking up in the registry to find if there is a single instance of matching 
type, which then gets configured on the component. This can be used for 
automatic configuring JDBC data sources, JMS connection factories, AWS Clients, 
etc. | true | boolean
 |===
 // component options: END
@@ -114,20 +114,20 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket 
bucketName. | true | boolean
-| *objectName* (common) | objectName |  | String
 | *serviceAccountKey* (common) | Service account key |  | String
 | *storageClient* (common) | Set strage client |  | Storage
 | *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 S3 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. Therefore you 
need to use the Idempotent Consumer EIP in the route to filter out duplicates. 
You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY 
headers, or only the AWS2S3C [...]
+| *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
-| *includeBody* (consumer) | If it is true, the S3Object exchange will be 
consumed and put into the body and closed. If false the S3Object stream will be 
put raw into the body and the headers will be set with the S3 object metadata. 
This option is strongly related to autocloseBody option. In case of setting 
includeBody to true because the S3Object stream will be consumed then it will 
also be closed in case of includeBody false then it will be up to the caller to 
close the S3Object stream [...]
-| *moveAfterRead* (consumer) | Move objects from S3 bucket to a different 
bucket after they have been retrieved. To accomplish the operation the 
destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
+| *includeBody* (consumer) | If it is true, the Object exchange will be 
consumed and put into the body and closed. If false the Object stream will be 
put raw into the body and the headers will be set with the object metadata. | 
true | boolean
+| *moveAfterRead* (consumer) | Move objects from the origin bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll 
any files, you can enable this option to send an empty message (no body) 
instead. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. There are 3 enums and the value can be one of: InOnly, 
InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the 
poll operation before an Exchange have been created and being routed in Camel. 
|  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *operation* (producer) | set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
+| *objectName* (producer) | Object name |  | String
+| *operation* (producer) | Set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
 | *backoffErrorThreshold* (scheduler) | The number of subsequent error polls 
(failed due some error) that should happen before the backoffMultipler should 
kick-in. |  | int
 | *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls 
that should happen before the backoffMultipler should kick-in. |  | int
 | *backoffMultiplier* (scheduler) | To let the scheduled polling consumer 
backoff if there has been a number of subsequent idles/errors in a row. The 
multiplier is then the number of polls that will be skipped before the next 
actual attempt is happening again. When this option is in use then 
backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | 
int
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 49e8f8b..c77e5b3 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
@@ -17,14 +17,11 @@ public class GoogleCloudStorageComponentConfiguration 
implements Cloneable {
     @UriParam(label = "common", description = "Service account key")
     private String serviceAccountKey;
 
-    //@UriParam(label = "common", description = "ProjectId")
-    //private String projectId;
-
     @UriParam(label = "producer",
               enums = 
"copyObject,listObjects,deleteObject,deleteBucket,listBuckets,getObject,createDownloadLink")
     private GoogleCloudStorageComponentOperations operation;
 
-    @UriParam
+    @UriParam(label = "producer", description = "Object name")
     private String objectName;
 
     @UriParam(label = "common", defaultValue = "true")
@@ -87,7 +84,7 @@ public class GoogleCloudStorageComponentConfiguration 
implements Cloneable {
     }
 
     /**
-     * objectName
+     * The bjectName (the file insisde the bucket)
      */
     public void setObjectName(String objectName) {
         this.objectName = objectName;
@@ -111,7 +108,7 @@ public class GoogleCloudStorageComponentConfiguration 
implements Cloneable {
     }
 
     /**
-     * set the operation for the producer
+     * Set the operation for the producer
      * 
      * @param operation
      */
@@ -135,9 +132,9 @@ public class GoogleCloudStorageComponentConfiguration 
implements Cloneable {
     }
 
     /**
-     * Move objects from S3 bucket to a different bucket after they have been 
retrieved. To accomplish the operation the
-     * destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed.
-     * If a rollback occurs, the object is not moved.
+     * Move objects from the origin bucket to a different bucket after they 
have been retrieved. To accomplish the
+     * operation the destinationBucket option must be set. The copy bucket 
operation is only performed if the Exchange
+     * is committed. If a rollback occurs, the object is not moved.
      */
     public void setMoveAfterRead(boolean moveAfterRead) {
         this.moveAfterRead = moveAfterRead;
@@ -194,25 +191,18 @@ public class GoogleCloudStorageComponentConfiguration 
implements Cloneable {
     }
 
     /**
-     * Delete objects from S3 after they have been retrieved. The delete is 
only performed if the Exchange is committed.
-     * If a rollback occurs, the object is not deleted.
+     * 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.
      * <p/>
-     * If this option is false, then the same objects will be retrieve over 
and over again on the polls. Therefore you
-     * need to use the Idempotent Consumer EIP in the route to filter out 
duplicates. You can filter using the
-     * {@link AWS2S3Constants#BUCKET_NAME} and {@link AWS2S3Constants#KEY} 
headers, or only the
-     * {@link AWS2S3Constants#KEY} header.
+     * If this option is false, then the same objects will be retrieve over 
and over again on the polls.
      */
     public void setDeleteAfterRead(boolean deleteAfterRead) {
         this.deleteAfterRead = deleteAfterRead;
     }
 
     /**
-     * If it is true, the S3Object exchange will be consumed and put into the 
body and closed. If false the S3Object
-     * stream will be put raw into the body and the headers will be set with 
the S3 object metadata. This option is
-     * strongly related to autocloseBody option. In case of setting 
includeBody to true because the S3Object stream will
-     * be consumed then it will also be closed in case of includeBody false 
then it will be up to the caller to close
-     * the S3Object stream. However setting autocloseBody to true when 
includeBody is false it will schedule to close
-     * the S3Object stream automatically on exchange completion.
+     * If it is true, the Object exchange will be consumed and put into the 
body and closed. If false the Object stream
+     * will be put raw into the body and the headers will be set with the 
object metadata.
      */
     public void setIncludeBody(boolean includeBody) {
         this.includeBody = includeBody;
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 e717385..4bb5f79 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
@@ -85,21 +85,6 @@ public interface GoogleStorageComponentBuilderFactory {
             return this;
         }
         /**
-         * objectName.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param objectName the value to set
-         * @return the dsl builder
-         */
-        default GoogleStorageComponentBuilder objectName(
-                java.lang.String objectName) {
-            doSetProperty("objectName", objectName);
-            return this;
-        }
-        /**
          * Service account key.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
@@ -153,14 +138,10 @@ public interface GoogleStorageComponentBuilderFactory {
             return this;
         }
         /**
-         * Delete objects from S3 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. Therefore
-         * you need to use the Idempotent Consumer EIP in the route to filter
-         * out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME
-         * and AWS2S3Constants#KEY headers, or only the AWS2S3Constants#KEY
-         * header.
+         * 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.
          * 
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
@@ -192,16 +173,9 @@ public interface GoogleStorageComponentBuilderFactory {
             return this;
         }
         /**
-         * If it is true, the S3Object exchange will be consumed and put into
-         * the body and closed. If false the S3Object stream will be put raw
-         * into the body and the headers will be set with the S3 object
-         * metadata. This option is strongly related to autocloseBody option. 
In
-         * case of setting includeBody to true because the S3Object stream will
-         * be consumed then it will also be closed in case of includeBody false
-         * then it will be up to the caller to close the S3Object stream.
-         * However setting autocloseBody to true when includeBody is false it
-         * will schedule to close the S3Object stream automatically on exchange
-         * completion.
+         * If it is true, the Object exchange will be consumed and put into the
+         * body and closed. If false the Object stream will be put raw into the
+         * body and the headers will be set with the object metadata.
          * 
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
@@ -216,11 +190,11 @@ public interface GoogleStorageComponentBuilderFactory {
             return this;
         }
         /**
-         * Move objects from S3 bucket to a different bucket after they have
-         * been retrieved. To accomplish the operation the destinationBucket
-         * option must be set. The copy bucket operation is only performed if
-         * the Exchange is committed. If a rollback occurs, the object is not
-         * moved.
+         * Move objects from the origin bucket to a different bucket after they
+         * have been retrieved. To accomplish the operation the
+         * destinationBucket option must be set. The copy bucket operation is
+         * only performed if the Exchange is committed. If a rollback occurs,
+         * the object is not moved.
          * 
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
@@ -260,7 +234,22 @@ public interface GoogleStorageComponentBuilderFactory {
             return this;
         }
         /**
-         * set the operation for the producer.
+         * Object name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param objectName the value to set
+         * @return the dsl builder
+         */
+        default GoogleStorageComponentBuilder objectName(
+                java.lang.String objectName) {
+            doSetProperty("objectName", objectName);
+            return this;
+        }
+        /**
+         * Set the operation for the producer.
          * 
          * The option is a:
          * 
&lt;code&gt;org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations&lt;/code&gt;
 type.
@@ -322,7 +311,6 @@ public interface GoogleStorageComponentBuilderFactory {
             switch (name) {
             case "autoCreateBucket": 
getOrCreateConfiguration((GoogleCloudStorageComponent) 
component).setAutoCreateBucket((boolean) value); return true;
             case "configuration": ((GoogleCloudStorageComponent) 
component).setConfiguration((org.apache.camel.component.google.storage.GoogleCloudStorageComponentConfiguration)
 value); return true;
-            case "objectName": 
getOrCreateConfiguration((GoogleCloudStorageComponent) 
component).setObjectName((java.lang.String) 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 "bridgeErrorHandler": ((GoogleCloudStorageComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
@@ -331,6 +319,7 @@ public interface GoogleStorageComponentBuilderFactory {
             case "includeBody": 
getOrCreateConfiguration((GoogleCloudStorageComponent) 
component).setIncludeBody((boolean) value); return true;
             case "moveAfterRead": 
getOrCreateConfiguration((GoogleCloudStorageComponent) 
component).setMoveAfterRead((boolean) value); return true;
             case "lazyStartProducer": ((GoogleCloudStorageComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "objectName": 
getOrCreateConfiguration((GoogleCloudStorageComponent) 
component).setObjectName((java.lang.String) value); return true;
             case "operation": 
getOrCreateConfiguration((GoogleCloudStorageComponent) 
component).setOperation((org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations)
 value); return true;
             case "autowiredEnabled": ((GoogleCloudStorageComponent) 
component).setAutowiredEnabled((boolean) value); return true;
             default: return false;
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 42ceb8d..87fe200d 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
@@ -81,21 +81,6 @@ public interface GoogleCloudStorageEndpointBuilderFactory {
             return this;
         }
         /**
-         * objectName.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param objectName the value to set
-         * @return the dsl builder
-         */
-        default GoogleCloudStorageEndpointConsumerBuilder objectName(
-                String objectName) {
-            doSetProperty("objectName", objectName);
-            return this;
-        }
-        /**
          * Service account key.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
@@ -188,14 +173,10 @@ public interface GoogleCloudStorageEndpointBuilderFactory 
{
             return this;
         }
         /**
-         * Delete objects from S3 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. Therefore
-         * you need to use the Idempotent Consumer EIP in the route to filter
-         * out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME
-         * and AWS2S3Constants#KEY headers, or only the AWS2S3Constants#KEY
-         * header.
+         * 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.
          * 
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
@@ -211,14 +192,10 @@ public interface GoogleCloudStorageEndpointBuilderFactory 
{
             return this;
         }
         /**
-         * Delete objects from S3 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. Therefore
-         * you need to use the Idempotent Consumer EIP in the route to filter
-         * out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME
-         * and AWS2S3Constants#KEY headers, or only the AWS2S3Constants#KEY
-         * header.
+         * 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.
          * 
          * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
          * type.
@@ -251,16 +228,9 @@ public interface GoogleCloudStorageEndpointBuilderFactory {
             return this;
         }
         /**
-         * If it is true, the S3Object exchange will be consumed and put into
-         * the body and closed. If false the S3Object stream will be put raw
-         * into the body and the headers will be set with the S3 object
-         * metadata. This option is strongly related to autocloseBody option. 
In
-         * case of setting includeBody to true because the S3Object stream will
-         * be consumed then it will also be closed in case of includeBody false
-         * then it will be up to the caller to close the S3Object stream.
-         * However setting autocloseBody to true when includeBody is false it
-         * will schedule to close the S3Object stream automatically on exchange
-         * completion.
+         * If it is true, the Object exchange will be consumed and put into the
+         * body and closed. If false the Object stream will be put raw into the
+         * body and the headers will be set with the object metadata.
          * 
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
@@ -276,16 +246,9 @@ public interface GoogleCloudStorageEndpointBuilderFactory {
             return this;
         }
         /**
-         * If it is true, the S3Object exchange will be consumed and put into
-         * the body and closed. If false the S3Object stream will be put raw
-         * into the body and the headers will be set with the S3 object
-         * metadata. This option is strongly related to autocloseBody option. 
In
-         * case of setting includeBody to true because the S3Object stream will
-         * be consumed then it will also be closed in case of includeBody false
-         * then it will be up to the caller to close the S3Object stream.
-         * However setting autocloseBody to true when includeBody is false it
-         * will schedule to close the S3Object stream automatically on exchange
-         * completion.
+         * If it is true, the Object exchange will be consumed and put into the
+         * body and closed. If false the Object stream will be put raw into the
+         * body and the headers will be set with the object metadata.
          * 
          * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
          * type.
@@ -302,11 +265,11 @@ public interface GoogleCloudStorageEndpointBuilderFactory 
{
             return this;
         }
         /**
-         * Move objects from S3 bucket to a different bucket after they have
-         * been retrieved. To accomplish the operation the destinationBucket
-         * option must be set. The copy bucket operation is only performed if
-         * the Exchange is committed. If a rollback occurs, the object is not
-         * moved.
+         * Move objects from the origin bucket to a different bucket after they
+         * have been retrieved. To accomplish the operation the
+         * destinationBucket option must be set. The copy bucket operation is
+         * only performed if the Exchange is committed. If a rollback occurs,
+         * the object is not moved.
          * 
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
@@ -322,11 +285,11 @@ public interface GoogleCloudStorageEndpointBuilderFactory 
{
             return this;
         }
         /**
-         * Move objects from S3 bucket to a different bucket after they have
-         * been retrieved. To accomplish the operation the destinationBucket
-         * option must be set. The copy bucket operation is only performed if
-         * the Exchange is committed. If a rollback occurs, the object is not
-         * moved.
+         * Move objects from the origin bucket to a different bucket after they
+         * have been retrieved. To accomplish the operation the
+         * destinationBucket option must be set. The copy bucket operation is
+         * only performed if the Exchange is committed. If a rollback occurs,
+         * the object is not moved.
          * 
          * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
          * type.
@@ -1027,21 +990,6 @@ public interface GoogleCloudStorageEndpointBuilderFactory 
{
             return this;
         }
         /**
-         * objectName.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param objectName the value to set
-         * @return the dsl builder
-         */
-        default GoogleCloudStorageEndpointProducerBuilder objectName(
-                String objectName) {
-            doSetProperty("objectName", objectName);
-            return this;
-        }
-        /**
          * Service account key.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
@@ -1138,7 +1086,22 @@ public interface 
GoogleCloudStorageEndpointBuilderFactory {
             return this;
         }
         /**
-         * set the operation for the producer.
+         * Object name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param objectName the value to set
+         * @return the dsl builder
+         */
+        default GoogleCloudStorageEndpointProducerBuilder objectName(
+                String objectName) {
+            doSetProperty("objectName", objectName);
+            return this;
+        }
+        /**
+         * Set the operation for the producer.
          * 
          * The option is a:
          * 
&lt;code&gt;org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations&lt;/code&gt;
 type.
@@ -1154,7 +1117,7 @@ public interface GoogleCloudStorageEndpointBuilderFactory 
{
             return this;
         }
         /**
-         * set the operation for the producer.
+         * Set the operation for the producer.
          * 
          * The option will be converted to a
          * 
&lt;code&gt;org.apache.camel.component.google.storage.GoogleCloudStorageComponentOperations&lt;/code&gt;
 type.
@@ -1226,20 +1189,6 @@ public interface 
GoogleCloudStorageEndpointBuilderFactory {
             return this;
         }
         /**
-         * objectName.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param objectName the value to set
-         * @return the dsl builder
-         */
-        default GoogleCloudStorageEndpointBuilder objectName(String 
objectName) {
-            doSetProperty("objectName", objectName);
-            return this;
-        }
-        /**
          * Service account key.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
diff --git a/docs/components/modules/ROOT/pages/google-storage-component.adoc 
b/docs/components/modules/ROOT/pages/google-storage-component.adoc
index 96c2165..9bc1d1b 100644
--- a/docs/components/modules/ROOT/pages/google-storage-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-storage-component.adoc
@@ -51,7 +51,7 @@ export 
GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
 or directly through the component endpoint
 [source,text]
 --------------------------------------------------------
-from("google-storage://myCamelBucket?serviceAccountCredentials=/home/user/Downloads/my-key.json")
+from("google-storage://myCamelBucket?serviceAccountKey=/home/user/Downloads/my-key.json")
 --------------------------------------------------------
 
 
@@ -76,16 +76,16 @@ The Google Storage component supports 13 options, which are 
listed below.
 | Name | Description | Default | Type
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket 
bucketName. | true | boolean
 | *configuration* (common) | The component configuration |  | 
GoogleCloudStorageComponentConfiguration
-| *objectName* (common) | objectName |  | String
 | *serviceAccountKey* (common) | Service account key |  | String
 | *storageClient* (common) | Set strage client |  | Storage
 | *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 S3 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. Therefore you 
need to use the Idempotent Consumer EIP in the route to filter out duplicates. 
You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY 
headers, or only the AWS2S3C [...]
+| *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
-| *includeBody* (consumer) | If it is true, the S3Object exchange will be 
consumed and put into the body and closed. If false the S3Object stream will be 
put raw into the body and the headers will be set with the S3 object metadata. 
This option is strongly related to autocloseBody option. In case of setting 
includeBody to true because the S3Object stream will be consumed then it will 
also be closed in case of includeBody false then it will be up to the caller to 
close the S3Object stream [...]
-| *moveAfterRead* (consumer) | Move objects from S3 bucket to a different 
bucket after they have been retrieved. To accomplish the operation the 
destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
+| *includeBody* (consumer) | If it is true, the Object exchange will be 
consumed and put into the body and closed. If false the Object stream will be 
put raw into the body and the headers will be set with the object metadata. | 
true | boolean
+| *moveAfterRead* (consumer) | Move objects from the origin bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *operation* (producer) | set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
+| *objectName* (producer) | Object name |  | String
+| *operation* (producer) | Set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
 | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used 
for automatic autowiring options (the option must be marked as autowired) by 
looking up in the registry to find if there is a single instance of matching 
type, which then gets configured on the component. This can be used for 
automatic configuring JDBC data sources, JMS connection factories, AWS Clients, 
etc. | true | boolean
 |===
 // component options: END
@@ -116,20 +116,20 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *autoCreateBucket* (common) | Setting the autocreation of the bucket 
bucketName. | true | boolean
-| *objectName* (common) | objectName |  | String
 | *serviceAccountKey* (common) | Service account key |  | String
 | *storageClient* (common) | Set strage client |  | Storage
 | *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 S3 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. Therefore you 
need to use the Idempotent Consumer EIP in the route to filter out duplicates. 
You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY 
headers, or only the AWS2S3C [...]
+| *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
-| *includeBody* (consumer) | If it is true, the S3Object exchange will be 
consumed and put into the body and closed. If false the S3Object stream will be 
put raw into the body and the headers will be set with the S3 object metadata. 
This option is strongly related to autocloseBody option. In case of setting 
includeBody to true because the S3Object stream will be consumed then it will 
also be closed in case of includeBody false then it will be up to the caller to 
close the S3Object stream [...]
-| *moveAfterRead* (consumer) | Move objects from S3 bucket to a different 
bucket after they have been retrieved. To accomplish the operation the 
destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
+| *includeBody* (consumer) | If it is true, the Object exchange will be 
consumed and put into the body and closed. If false the Object stream will be 
put raw into the body and the headers will be set with the object metadata. | 
true | boolean
+| *moveAfterRead* (consumer) | Move objects from the origin bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | boolean
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll 
any files, you can enable this option to send an empty message (no body) 
instead. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. There are 3 enums and the value can be one of: InOnly, 
InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the 
poll operation before an Exchange have been created and being routed in Camel. 
|  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *operation* (producer) | set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
+| *objectName* (producer) | Object name |  | String
+| *operation* (producer) | Set the operation for the producer. There are 7 
enums and the value can be one of: copyObject, listObjects, deleteObject, 
deleteBucket, listBuckets, getObject, createDownloadLink |  | 
GoogleCloudStorageComponentOperations
 | *backoffErrorThreshold* (scheduler) | The number of subsequent error polls 
(failed due some error) that should happen before the backoffMultipler should 
kick-in. |  | int
 | *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls 
that should happen before the backoffMultipler should kick-in. |  | int
 | *backoffMultiplier* (scheduler) | To let the scheduled polling consumer 
backoff if there has been a number of subsequent idles/errors in a row. The 
multiplier is then the number of polls that will be skipped before the next 
actual attempt is happening again. When this option is in use then 
backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | 
int

Reply via email to