You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/03/29 06:28:40 UTC

[camel-kafka-connector] 08/09: Regen

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-kafka-connector.git

commit 4d9cfd3589e0673fdd9c28f63e4b2ec321c5e6a0
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Mar 29 07:52:10 2021 +0200

    Regen
---
 .../camel-atmosphere-websocket-sink.json           |  21 --
 .../camel-atmosphere-websocket-source.json         |  28 +--
 ...nk.json => camel-aws-secrets-manager-sink.json} | 168 ++++++++-------
 .../resources/connectors/camel-aws2-cw-sink.json   |  26 +++
 .../resources/connectors/camel-aws2-ddb-sink.json  |  26 +++
 .../connectors/camel-aws2-ddbstream-source.json    |  26 +++
 .../resources/connectors/camel-aws2-ec2-sink.json  |  26 +++
 .../resources/connectors/camel-aws2-ecs-sink.json  |  26 +++
 .../resources/connectors/camel-aws2-eks-sink.json  |  26 +++
 .../connectors/camel-aws2-eventbridge-sink.json    |  26 +++
 .../resources/connectors/camel-aws2-iam-sink.json  |  26 +++
 .../resources/connectors/camel-aws2-kms-sink.json  |  26 +++
 .../connectors/camel-aws2-lambda-sink.json         |  26 +++
 .../resources/connectors/camel-aws2-mq-sink.json   |  26 +++
 .../resources/connectors/camel-aws2-msk-sink.json  |  26 +++
 .../resources/connectors/camel-aws2-s3-sink.json   |   4 +-
 .../resources/connectors/camel-aws2-s3-source.json |   4 +-
 .../resources/connectors/camel-aws2-ses-sink.json  |  26 +++
 .../resources/connectors/camel-aws2-sns-sink.json  |  30 ++-
 .../resources/connectors/camel-aws2-sqs-sink.json  |  44 +++-
 .../connectors/camel-aws2-sqs-source.json          |  34 ++-
 .../resources/connectors/camel-aws2-sts-sink.json  |  26 +++
 .../connectors/camel-aws2-translate-sink.json      |  26 +++
 .../resources/connectors/camel-file-sink.json      |   2 +-
 .../connectors/camel-freemarker-sink.json          |   7 +
 .../connectors/camel-google-bigquery-sql-sink.json |  12 +-
 ...-sink.json => camel-google-functions-sink.json} |  79 ++++---
 .../camel-google-mail-stream-source.json           |   4 +-
 .../connectors/camel-google-pubsub-sink.json       |  16 +-
 .../connectors/camel-google-pubsub-source.json     |  16 +-
 .../connectors/camel-google-storage-sink.json      | 154 ++++++++++++++
 ...ource.json => camel-google-storage-source.json} | 232 +++++++++------------
 .../resources/connectors/camel-http-sink.json      | 114 ++++++++--
 .../resources/connectors/camel-https-sink.json     | 114 ++++++++--
 .../resources/connectors/camel-jetty-source.json   |  40 ++--
 .../pom.xml                                        | 139 ++++++++++++
 .../descriptors/connector-sink.properties          |   1 +
 .../resources/camel-aws-secrets-manager-sink.json  | 168 ++++++++-------
 .../src/main/assembly/package.xml                  |  56 +++++
 ...l-aws-secrets-manager-kafka-sink-connector.adoc |  86 ++++++++
 .../CamelAwssecretsmanagerSinkConnector.properties |  37 ++++
 .../CamelAwssecretsmanagerSinkConnector.java       |  35 ++++
 .../CamelAwssecretsmanagerSinkConnectorConfig.java | 169 +++++++++++++++
 .../CamelAwssecretsmanagerSinkTask.java            |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 +
 .../camel-google-functions-kafka-connector/pom.xml | 139 ++++++++++++
 .../descriptors/connector-sink.properties          |   1 +
 .../resources/camel-google-functions-sink.json     |  79 ++++---
 .../src/main/assembly/package.xml                  |  56 +++++
 ...amel-google-functions-kafka-sink-connector.adoc |  65 ++++++
 .../CamelGooglefunctionsSinkConnector.properties   |  33 +++
 .../CamelGooglefunctionsSinkConnector.java         |  35 ++++
 .../CamelGooglefunctionsSinkConnectorConfig.java   |  85 ++++++++
 .../CamelGooglefunctionsSinkTask.java              |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 +
 .../camel-google-storage-kafka-connector/pom.xml   | 139 ++++++++++++
 .../descriptors/connector-sink.properties          |   1 +
 .../descriptors/connector-source.properties        |   1 +
 .../resources/camel-google-storage-sink.json       | 154 ++++++++++++++
 .../resources/camel-google-storage-source.json     | 232 +++++++++------------
 .../src/main/assembly/package.xml                  |  56 +++++
 .../camel-google-storage-kafka-sink-connector.adoc |  74 +++++++
 ...amel-google-storage-kafka-source-connector.adoc |  98 +++++++++
 .../CamelGooglestorageSinkConnector.properties     |  33 +++
 .../CamelGooglestorageSourceConnector.properties   |  33 +++
 .../CamelGooglestorageSinkConnector.java           |  35 ++++
 .../CamelGooglestorageSinkConnectorConfig.java     | 121 +++++++++++
 .../googlestorage/CamelGooglestorageSinkTask.java  |  39 ++++
 .../CamelGooglestorageSourceConnector.java         |  35 ++++
 .../CamelGooglestorageSourceConnectorConfig.java   | 217 +++++++++++++++++++
 .../CamelGooglestorageSourceTask.java              |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 +
 ...l-aws-secrets-manager-kafka-sink-connector.adoc |  86 ++++++++
 ...amel-google-functions-kafka-sink-connector.adoc |  65 ++++++
 .../camel-google-storage-kafka-sink-connector.adoc |  74 +++++++
 ...amel-google-storage-kafka-source-connector.adoc |  98 +++++++++
 79 files changed, 4453 insertions(+), 594 deletions(-)

diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-sink.json
index d2cb75a..d8b4b95 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-sink.json
@@ -76,27 +76,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.sink.endpoint.mapHttpMessageBody": {
-			"name": "camel.sink.endpoint.mapHttpMessageBody",
-			"description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.mapHttpMessageFormUrlEncodedBody": {
-			"name": "camel.sink.endpoint.mapHttpMessageFormUrlEncodedBody",
-			"description": "If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.mapHttpMessageHeaders": {
-			"name": "camel.sink.endpoint.mapHttpMessageHeaders",
-			"description": "If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.component.atmosphere-websocket.lazyStartProducer": {
 			"name": "camel.component.atmosphere-websocket.lazyStartProducer",
 			"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 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 starting the pr [...]
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-source.json
index 721d7e1..0c42ec2 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-atmosphere-websocket-source.json
@@ -146,20 +146,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.optionsEnabled": {
-			"name": "camel.source.endpoint.optionsEnabled",
-			"description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.source.endpoint.traceEnabled": {
-			"name": "camel.source.endpoint.traceEnabled",
-			"description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.source.endpoint.mapHttpMessageBody": {
 			"name": "camel.source.endpoint.mapHttpMessageBody",
 			"description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",
@@ -181,6 +167,20 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.optionsEnabled": {
+			"name": "camel.source.endpoint.optionsEnabled",
+			"description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.traceEnabled": {
+			"name": "camel.source.endpoint.traceEnabled",
+			"description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.atmosphere-websocket.bridgeErrorHandler": {
 			"name": "camel.component.atmosphere-websocket.bridgeErrorHandler",
 			"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 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.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws-secrets-manager-sink.json
similarity index 54%
copy from camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json
copy to camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws-secrets-manager-sink.json
index 58ea322..6c08ca8 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws-secrets-manager-sink.json
@@ -1,12 +1,12 @@
 {
 	"connector": {
-		"class": "org.apache.camel.kafkaconnector.aws2translate.CamelAws2translateSinkConnector",
-		"artifactId": "camel-aws2-translate-kafka-connector",
+		"class": "org.apache.camel.kafkaconnector.awssecretsmanager.CamelAwssecretsmanagerSinkConnector",
+		"artifactId": "camel-aws-secrets-manager-kafka-connector",
 		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-aws2-translate-sink",
+		"id": "camel-aws-secrets-manager-sink",
 		"type": "sink",
 		"version": "0.9.0-SNAPSHOT",
-		"description": "Translate texts using AWS Translate and AWS SDK version 2.x."
+		"description": "Manage AWS Secrets Manager services using AWS SDK version 2.x."
 	},
 	"properties": {
 		"camel.sink.path.label": {
@@ -15,9 +15,9 @@
 			"priority": "HIGH",
 			"required": "true"
 		},
-		"camel.sink.endpoint.autodetectSourceLanguage": {
-			"name": "camel.sink.endpoint.autodetectSourceLanguage",
-			"description": "Being able to autodetect the source language",
+		"camel.sink.endpoint.binaryPayload": {
+			"name": "camel.sink.endpoint.binaryPayload",
+			"description": "Set if the secret is binary or not",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
@@ -31,14 +31,26 @@
 		},
 		"camel.sink.endpoint.operation": {
 			"name": "camel.sink.endpoint.operation",
-			"description": "The operation to perform One of: [translateText]",
-			"defaultValue": "\"translateText\"",
+			"description": "The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]",
 			"priority": "HIGH",
 			"required": "true",
 			"enum": [
-				"translateText"
+				"listSecrets",
+				"createSecret",
+				"getSecret",
+				"describeSecret",
+				"deleteSecret",
+				"rotateSecret",
+				"updateSecret"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -48,19 +60,19 @@
 		},
 		"camel.sink.endpoint.proxyHost": {
 			"name": "camel.sink.endpoint.proxyHost",
-			"description": "To define a proxy host when instantiating the Translate client",
+			"description": "To define a proxy host when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
 		"camel.sink.endpoint.proxyPort": {
 			"name": "camel.sink.endpoint.proxyPort",
-			"description": "To define a proxy port when instantiating the Translate client",
+			"description": "To define a proxy port when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
 		"camel.sink.endpoint.proxyProtocol": {
 			"name": "camel.sink.endpoint.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS]",
+			"description": "To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS]",
 			"defaultValue": "\"HTTPS\"",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -71,25 +83,13 @@
 		},
 		"camel.sink.endpoint.region": {
 			"name": "camel.sink.endpoint.region",
-			"description": "The region in which Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.sourceLanguage": {
-			"name": "camel.sink.endpoint.sourceLanguage",
-			"description": "Source language to use",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.targetLanguage": {
-			"name": "camel.sink.endpoint.targetLanguage",
-			"description": "Target language to use",
+			"description": "The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.sink.endpoint.translateClient": {
-			"name": "camel.sink.endpoint.translateClient",
-			"description": "To use a existing configured AWS Translate as client",
+		"camel.sink.endpoint.secretsManagerClient": {
+			"name": "camel.sink.endpoint.secretsManagerClient",
+			"description": "To use a existing configured AWS Secrets Manager as client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -100,6 +100,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -112,58 +118,70 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.autodetectSourceLanguage": {
-			"name": "camel.component.aws2-translate.autodetectSourceLanguage",
-			"description": "Being able to autodetect the source language",
+		"camel.component.aws-secrets-manager.binaryPayload": {
+			"name": "camel.component.aws-secrets-manager.binaryPayload",
+			"description": "Set if the secret is binary or not",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.configuration": {
-			"name": "camel.component.aws2-translate.configuration",
+		"camel.component.aws-secrets-manager.configuration": {
+			"name": "camel.component.aws-secrets-manager.configuration",
 			"description": "Component configuration",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.lazyStartProducer": {
-			"name": "camel.component.aws2-translate.lazyStartProducer",
+		"camel.component.aws-secrets-manager.lazyStartProducer": {
+			"name": "camel.component.aws-secrets-manager.lazyStartProducer",
 			"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 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 starting the pr [...]
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.operation": {
-			"name": "camel.component.aws2-translate.operation",
-			"description": "The operation to perform One of: [translateText]",
-			"defaultValue": "\"translateText\"",
+		"camel.component.aws-secrets-manager.operation": {
+			"name": "camel.component.aws-secrets-manager.operation",
+			"description": "The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]",
 			"priority": "HIGH",
 			"required": "true",
 			"enum": [
-				"translateText"
+				"listSecrets",
+				"createSecret",
+				"getSecret",
+				"describeSecret",
+				"deleteSecret",
+				"rotateSecret",
+				"updateSecret"
 			]
 		},
-		"camel.component.aws2-translate.pojoRequest": {
-			"name": "camel.component.aws2-translate.pojoRequest",
+		"camel.component.aws-secrets-manager.overrideEndpoint": {
+			"name": "camel.component.aws-secrets-manager.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.aws-secrets-manager.pojoRequest": {
+			"name": "camel.component.aws-secrets-manager.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.proxyHost": {
-			"name": "camel.component.aws2-translate.proxyHost",
-			"description": "To define a proxy host when instantiating the Translate client",
+		"camel.component.aws-secrets-manager.proxyHost": {
+			"name": "camel.component.aws-secrets-manager.proxyHost",
+			"description": "To define a proxy host when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.proxyPort": {
-			"name": "camel.component.aws2-translate.proxyPort",
-			"description": "To define a proxy port when instantiating the Translate client",
+		"camel.component.aws-secrets-manager.proxyPort": {
+			"name": "camel.component.aws-secrets-manager.proxyPort",
+			"description": "To define a proxy port when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.proxyProtocol": {
-			"name": "camel.component.aws2-translate.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS]",
+		"camel.component.aws-secrets-manager.proxyProtocol": {
+			"name": "camel.component.aws-secrets-manager.proxyProtocol",
+			"description": "To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS]",
 			"defaultValue": "\"HTTPS\"",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -172,55 +190,49 @@
 				"HTTPS"
 			]
 		},
-		"camel.component.aws2-translate.region": {
-			"name": "camel.component.aws2-translate.region",
-			"description": "The region in which Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.component.aws2-translate.sourceLanguage": {
-			"name": "camel.component.aws2-translate.sourceLanguage",
-			"description": "Source language to use",
+		"camel.component.aws-secrets-manager.region": {
+			"name": "camel.component.aws-secrets-manager.region",
+			"description": "The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.targetLanguage": {
-			"name": "camel.component.aws2-translate.targetLanguage",
-			"description": "Target language to use",
+		"camel.component.aws-secrets-manager.secretsManagerClient": {
+			"name": "camel.component.aws-secrets-manager.secretsManagerClient",
+			"description": "To use a existing configured AWS Secrets Manager as client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.translateClient": {
-			"name": "camel.component.aws2-translate.translateClient",
-			"description": "To use a existing configured AWS Translate as client",
+		"camel.component.aws-secrets-manager.trustAllCertificates": {
+			"name": "camel.component.aws-secrets-manager.trustAllCertificates",
+			"description": "If we want to trust all certificates in case of overriding the endpoint",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.trustAllCertificates": {
-			"name": "camel.component.aws2-translate.trustAllCertificates",
-			"description": "If we want to trust all certificates in case of overriding the endpoint",
-			"defaultValue": "false",
+		"camel.component.aws-secrets-manager.uriEndpointOverride": {
+			"name": "camel.component.aws-secrets-manager.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.autowiredEnabled": {
-			"name": "camel.component.aws2-translate.autowiredEnabled",
+		"camel.component.aws-secrets-manager.autowiredEnabled": {
+			"name": "camel.component.aws-secrets-manager.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.accessKey": {
-			"name": "camel.component.aws2-translate.accessKey",
+		"camel.component.aws-secrets-manager.accessKey": {
+			"name": "camel.component.aws-secrets-manager.accessKey",
 			"description": "Amazon AWS Access Key",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.secretKey": {
-			"name": "camel.component.aws2-translate.secretKey",
+		"camel.component.aws-secrets-manager.secretKey": {
+			"name": "camel.component.aws-secrets-manager.secretKey",
 			"description": "Amazon AWS Secret Key",
 			"priority": "MEDIUM",
 			"required": "false"
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-cw-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-cw-sink.json
index e52bdd2..6862b65 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-cw-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-cw-sink.json
@@ -34,6 +34,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.proxyHost": {
 			"name": "camel.sink.endpoint.proxyHost",
 			"description": "To define a proxy host when instantiating the CW client",
@@ -82,6 +89,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.value": {
 			"name": "camel.sink.endpoint.value",
 			"description": "The metric value",
@@ -125,6 +138,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-cw.overrideEndpoint": {
+			"name": "camel.component.aws2-cw.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-cw.proxyHost": {
 			"name": "camel.component.aws2-cw.proxyHost",
 			"description": "To define a proxy host when instantiating the CW client",
@@ -173,6 +193,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-cw.uriEndpointOverride": {
+			"name": "camel.component.aws2-cw.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-cw.value": {
 			"name": "camel.component.aws2-cw.value",
 			"description": "The metric value",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddb-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddb-sink.json
index ee6819a..4b9f96b 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddb-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddb-sink.json
@@ -66,6 +66,13 @@
 				"UpdateTable"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.proxyHost": {
 			"name": "camel.sink.endpoint.proxyHost",
 			"description": "To define a proxy host when instantiating the DDB client",
@@ -108,6 +115,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.writeCapacity": {
 			"name": "camel.sink.endpoint.writeCapacity",
 			"description": "The provisioned throughput to reserved for writing resources to your table",
@@ -183,6 +196,13 @@
 				"UpdateTable"
 			]
 		},
+		"camel.component.aws2-ddb.overrideEndpoint": {
+			"name": "camel.component.aws2-ddb.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ddb.proxyHost": {
 			"name": "camel.component.aws2-ddb.proxyHost",
 			"description": "To define a proxy host when instantiating the DDB client",
@@ -225,6 +245,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-ddb.uriEndpointOverride": {
+			"name": "camel.component.aws2-ddb.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ddb.writeCapacity": {
 			"name": "camel.component.aws2-ddb.writeCapacity",
 			"description": "The provisioned throughput to reserved for writing resources to your table",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json
index 055f135..11afb82 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json
@@ -48,6 +48,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.overrideEndpoint": {
+			"name": "camel.source.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.source.endpoint.proxyHost": {
 			"name": "camel.source.endpoint.proxyHost",
 			"description": "To define a proxy host when instantiating the DDBStreams client",
@@ -97,6 +104,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.uriEndpointOverride": {
+			"name": "camel.source.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.source.endpoint.exceptionHandler": {
 			"name": "camel.source.endpoint.exceptionHandler",
 			"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 consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
@@ -281,6 +294,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-ddbstream.overrideEndpoint": {
+			"name": "camel.component.aws2-ddbstream.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ddbstream.proxyHost": {
 			"name": "camel.component.aws2-ddbstream.proxyHost",
 			"description": "To define a proxy host when instantiating the DDBStreams client",
@@ -323,6 +343,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-ddbstream.uriEndpointOverride": {
+			"name": "camel.component.aws2-ddbstream.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ddbstream.autowiredEnabled": {
 			"name": "camel.component.aws2-ddbstream.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ec2-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ec2-sink.json
index 5407786..74926ea 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ec2-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ec2-sink.json
@@ -53,6 +53,13 @@
 				"deleteTags"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -102,6 +109,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ec2.accessKey": {
 			"name": "camel.component.aws2-ec2.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -146,6 +159,13 @@
 				"deleteTags"
 			]
 		},
+		"camel.component.aws2-ec2.overrideEndpoint": {
+			"name": "camel.component.aws2-ec2.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ec2.pojoRequest": {
 			"name": "camel.component.aws2-ec2.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -195,6 +215,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-ec2.uriEndpointOverride": {
+			"name": "camel.component.aws2-ec2.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ec2.autowiredEnabled": {
 			"name": "camel.component.aws2-ec2.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ecs-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ecs-sink.json
index 60749a6..7003584 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ecs-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ecs-sink.json
@@ -40,6 +40,13 @@
 				"deleteCluster"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -83,6 +90,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -126,6 +139,13 @@
 				"deleteCluster"
 			]
 		},
+		"camel.component.aws2-ecs.overrideEndpoint": {
+			"name": "camel.component.aws2-ecs.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ecs.pojoRequest": {
 			"name": "camel.component.aws2-ecs.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -169,6 +189,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-ecs.uriEndpointOverride": {
+			"name": "camel.component.aws2-ecs.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ecs.autowiredEnabled": {
 			"name": "camel.component.aws2-ecs.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eks-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eks-sink.json
index 903214c..6815882 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eks-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eks-sink.json
@@ -40,6 +40,13 @@
 				"deleteCluster"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -83,6 +90,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -126,6 +139,13 @@
 				"deleteCluster"
 			]
 		},
+		"camel.component.aws2-eks.overrideEndpoint": {
+			"name": "camel.component.aws2-eks.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-eks.pojoRequest": {
 			"name": "camel.component.aws2-eks.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -169,6 +189,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-eks.uriEndpointOverride": {
+			"name": "camel.component.aws2-eks.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-eks.autowiredEnabled": {
 			"name": "camel.component.aws2-eks.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eventbridge-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eventbridge-sink.json
index dbe8f00..31dc703 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eventbridge-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-eventbridge-sink.json
@@ -53,6 +53,13 @@
 				"listRuleNamesByTarget"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -96,6 +103,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -152,6 +165,13 @@
 				"listRuleNamesByTarget"
 			]
 		},
+		"camel.component.aws2-eventbridge.overrideEndpoint": {
+			"name": "camel.component.aws2-eventbridge.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-eventbridge.pojoRequest": {
 			"name": "camel.component.aws2-eventbridge.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -195,6 +215,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-eventbridge.uriEndpointOverride": {
+			"name": "camel.component.aws2-eventbridge.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-eventbridge.autowiredEnabled": {
 			"name": "camel.component.aws2-eventbridge.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-iam-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-iam-sink.json
index bf4a377..ef28770 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-iam-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-iam-sink.json
@@ -49,6 +49,13 @@
 				"removeUserFromGroup"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -93,6 +100,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -145,6 +158,13 @@
 				"removeUserFromGroup"
 			]
 		},
+		"camel.component.aws2-iam.overrideEndpoint": {
+			"name": "camel.component.aws2-iam.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-iam.pojoRequest": {
 			"name": "camel.component.aws2-iam.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -189,6 +209,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-iam.uriEndpointOverride": {
+			"name": "camel.component.aws2-iam.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-iam.autowiredEnabled": {
 			"name": "camel.component.aws2-iam.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-kms-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-kms-sink.json
index 6bda133..972405c 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-kms-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-kms-sink.json
@@ -42,6 +42,13 @@
 				"enableKey"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -85,6 +92,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -130,6 +143,13 @@
 				"enableKey"
 			]
 		},
+		"camel.component.aws2-kms.overrideEndpoint": {
+			"name": "camel.component.aws2-kms.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-kms.pojoRequest": {
 			"name": "camel.component.aws2-kms.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -173,6 +193,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-kms.uriEndpointOverride": {
+			"name": "camel.component.aws2-kms.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-kms.autowiredEnabled": {
 			"name": "camel.component.aws2-kms.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-lambda-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-lambda-sink.json
index 40b5cac..9f3f3b0 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-lambda-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-lambda-sink.json
@@ -49,6 +49,13 @@
 				"listVersions"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -69,6 +76,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.awsLambdaClient": {
 			"name": "camel.sink.endpoint.awsLambdaClient",
 			"description": "To use a existing configured AwsLambdaClient as client",
@@ -150,6 +163,13 @@
 				"listVersions"
 			]
 		},
+		"camel.component.aws2-lambda.overrideEndpoint": {
+			"name": "camel.component.aws2-lambda.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-lambda.pojoRequest": {
 			"name": "camel.component.aws2-lambda.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -170,6 +190,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-lambda.uriEndpointOverride": {
+			"name": "camel.component.aws2-lambda.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-lambda.autowiredEnabled": {
 			"name": "camel.component.aws2-lambda.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-mq-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-mq-sink.json
index c4a0c68..b3726e5 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-mq-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-mq-sink.json
@@ -42,6 +42,13 @@
 				"describeBroker"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -85,6 +92,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -130,6 +143,13 @@
 				"describeBroker"
 			]
 		},
+		"camel.component.aws2-mq.overrideEndpoint": {
+			"name": "camel.component.aws2-mq.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-mq.pojoRequest": {
 			"name": "camel.component.aws2-mq.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -173,6 +193,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-mq.uriEndpointOverride": {
+			"name": "camel.component.aws2-mq.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-mq.autowiredEnabled": {
 			"name": "camel.component.aws2-mq.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-msk-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-msk-sink.json
index b12150a..8ea8509 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-msk-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-msk-sink.json
@@ -40,6 +40,13 @@
 				"describeCluster"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -83,6 +90,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -126,6 +139,13 @@
 				"describeCluster"
 			]
 		},
+		"camel.component.aws2-msk.overrideEndpoint": {
+			"name": "camel.component.aws2-msk.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-msk.pojoRequest": {
 			"name": "camel.component.aws2-msk.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -169,6 +189,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-msk.uriEndpointOverride": {
+			"name": "camel.component.aws2-msk.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-msk.autowiredEnabled": {
 			"name": "camel.component.aws2-msk.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-sink.json
index 9e183fa..e5674e6 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-sink.json
@@ -30,7 +30,7 @@
 		"camel.sink.endpoint.autoCreateBucket": {
 			"name": "camel.sink.endpoint.autoCreateBucket",
 			"description": "Setting the autocreation of the S3 bucket bucketName. This will apply also in case of moveAfterRead option enabled and it will create the destinationBucket if it doesn't exist already.",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -223,7 +223,7 @@
 		"camel.component.aws2-s3.autoCreateBucket": {
 			"name": "camel.component.aws2-s3.autoCreateBucket",
 			"description": "Setting the autocreation of the S3 bucket bucketName. This will apply also in case of moveAfterRead option enabled and it will create the destinationBucket if it doesn't exist already.",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-source.json
index 8621e81..d1169e8 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-s3-source.json
@@ -30,7 +30,7 @@
 		"camel.source.endpoint.autoCreateBucket": {
 			"name": "camel.source.endpoint.autoCreateBucket",
 			"description": "Setting the autocreation of the S3 bucket bucketName. This will apply also in case of moveAfterRead option enabled and it will create the destinationBucket if it doesn't exist already.",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -386,7 +386,7 @@
 		"camel.component.aws2-s3.autoCreateBucket": {
 			"name": "camel.component.aws2-s3.autoCreateBucket",
 			"description": "Setting the autocreation of the S3 bucket bucketName. This will apply also in case of moveAfterRead option enabled and it will create the destinationBucket if it doesn't exist already.",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ses-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ses-sink.json
index e213542..cf18cf1 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ses-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ses-sink.json
@@ -28,6 +28,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.proxyHost": {
 			"name": "camel.sink.endpoint.proxyHost",
 			"description": "To define a proxy host when instantiating the SES client",
@@ -88,6 +95,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -119,6 +132,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-ses.overrideEndpoint": {
+			"name": "camel.component.aws2-ses.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ses.proxyHost": {
 			"name": "camel.component.aws2-ses.proxyHost",
 			"description": "To define a proxy host when instantiating the SES client",
@@ -179,6 +199,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-ses.uriEndpointOverride": {
+			"name": "camel.component.aws2-ses.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-ses.autowiredEnabled": {
 			"name": "camel.component.aws2-ses.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sns-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sns-sink.json
index 123aec7..0ef5538 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sns-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sns-sink.json
@@ -24,7 +24,7 @@
 		"camel.sink.endpoint.autoCreateTopic": {
 			"name": "camel.sink.endpoint.autoCreateTopic",
 			"description": "Setting the autocreation of the topic",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -75,6 +75,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.policy": {
 			"name": "camel.sink.endpoint.policy",
 			"description": "The policy for this topic. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
@@ -143,6 +150,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.useDefaultCredentialsProvider": {
 			"name": "camel.sink.endpoint.useDefaultCredentialsProvider",
 			"description": "Set whether the SNS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",
@@ -171,7 +184,7 @@
 		"camel.component.aws2-sns.autoCreateTopic": {
 			"name": "camel.component.aws2-sns.autoCreateTopic",
 			"description": "Setting the autocreation of the topic",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -222,6 +235,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sns.overrideEndpoint": {
+			"name": "camel.component.aws2-sns.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sns.policy": {
 			"name": "camel.component.aws2-sns.policy",
 			"description": "The policy for this topic. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
@@ -290,6 +310,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sns.uriEndpointOverride": {
+			"name": "camel.component.aws2-sns.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sns.useDefaultCredentialsProvider": {
 			"name": "camel.component.aws2-sns.useDefaultCredentialsProvider",
 			"description": "Set whether the SNS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-sink.json
index 6f06f26..8272ee5 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-sink.json
@@ -31,7 +31,7 @@
 		"camel.sink.endpoint.autoCreateQueue": {
 			"name": "camel.sink.endpoint.autoCreateQueue",
 			"description": "Setting the autocreation of the queue",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -41,6 +41,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.protocol": {
 			"name": "camel.sink.endpoint.protocol",
 			"description": "The underlying protocol used to communicate with SQS",
@@ -78,6 +85,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.useDefaultCredentialsProvider": {
 			"name": "camel.sink.endpoint.useDefaultCredentialsProvider",
 			"description": "Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",
@@ -85,6 +98,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.batchSeparator": {
+			"name": "camel.sink.endpoint.batchSeparator",
+			"description": "Set the separator when passing a String to send batch message operation",
+			"defaultValue": "\",\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.delaySeconds": {
 			"name": "camel.sink.endpoint.delaySeconds",
 			"description": "Delay sending messages for a number of seconds.",
@@ -215,7 +235,7 @@
 		"camel.component.aws2-sqs.autoCreateQueue": {
 			"name": "camel.component.aws2-sqs.autoCreateQueue",
 			"description": "Setting the autocreation of the queue",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -225,6 +245,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sqs.overrideEndpoint": {
+			"name": "camel.component.aws2-sqs.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sqs.protocol": {
 			"name": "camel.component.aws2-sqs.protocol",
 			"description": "The underlying protocol used to communicate with SQS",
@@ -262,6 +289,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sqs.uriEndpointOverride": {
+			"name": "camel.component.aws2-sqs.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sqs.useDefaultCredentialsProvider": {
 			"name": "camel.component.aws2-sqs.useDefaultCredentialsProvider",
 			"description": "Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",
@@ -269,6 +302,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sqs.batchSeparator": {
+			"name": "camel.component.aws2-sqs.batchSeparator",
+			"description": "Set the separator when passing a String to send batch message operation",
+			"defaultValue": "\",\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sqs.delaySeconds": {
 			"name": "camel.component.aws2-sqs.delaySeconds",
 			"description": "Delay sending messages for a number of seconds.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-source.json
index 5f56d2f..0dc497c 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sqs-source.json
@@ -31,7 +31,7 @@
 		"camel.source.endpoint.autoCreateQueue": {
 			"name": "camel.source.endpoint.autoCreateQueue",
 			"description": "Setting the autocreation of the queue",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -41,6 +41,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.overrideEndpoint": {
+			"name": "camel.source.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.source.endpoint.protocol": {
 			"name": "camel.source.endpoint.protocol",
 			"description": "The underlying protocol used to communicate with SQS",
@@ -78,6 +85,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.uriEndpointOverride": {
+			"name": "camel.source.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.source.endpoint.useDefaultCredentialsProvider": {
 			"name": "camel.source.endpoint.useDefaultCredentialsProvider",
 			"description": "Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",
@@ -120,7 +133,7 @@
 		},
 		"camel.source.endpoint.deleteIfFiltered": {
 			"name": "camel.source.endpoint.deleteIfFiltered",
-			"description": "Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage.",
+			"description": "Whether or not to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
@@ -398,7 +411,7 @@
 		"camel.component.aws2-sqs.autoCreateQueue": {
 			"name": "camel.component.aws2-sqs.autoCreateQueue",
 			"description": "Setting the autocreation of the queue",
-			"defaultValue": "true",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -408,6 +421,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sqs.overrideEndpoint": {
+			"name": "camel.component.aws2-sqs.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sqs.protocol": {
 			"name": "camel.component.aws2-sqs.protocol",
 			"description": "The underlying protocol used to communicate with SQS",
@@ -445,6 +465,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sqs.uriEndpointOverride": {
+			"name": "camel.component.aws2-sqs.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sqs.useDefaultCredentialsProvider": {
 			"name": "camel.component.aws2-sqs.useDefaultCredentialsProvider",
 			"description": "Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",
@@ -487,7 +513,7 @@
 		},
 		"camel.component.aws2-sqs.deleteIfFiltered": {
 			"name": "camel.component.aws2-sqs.deleteIfFiltered",
-			"description": "Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage.",
+			"description": "Whether or not to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sts-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sts-sink.json
index 95ad11b..2407404 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sts-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-sts-sink.json
@@ -34,6 +34,13 @@
 				"getFederationToken"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -84,6 +91,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -121,6 +134,13 @@
 				"getFederationToken"
 			]
 		},
+		"camel.component.aws2-sts.overrideEndpoint": {
+			"name": "camel.component.aws2-sts.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sts.pojoRequest": {
 			"name": "camel.component.aws2-sts.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -171,6 +191,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-sts.uriEndpointOverride": {
+			"name": "camel.component.aws2-sts.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-sts.autowiredEnabled": {
 			"name": "camel.component.aws2-sts.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json
index 58ea322..2fcd8ce 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json
@@ -39,6 +39,13 @@
 				"translateText"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -100,6 +107,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -142,6 +155,13 @@
 				"translateText"
 			]
 		},
+		"camel.component.aws2-translate.overrideEndpoint": {
+			"name": "camel.component.aws2-translate.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-translate.pojoRequest": {
 			"name": "camel.component.aws2-translate.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -203,6 +223,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.aws2-translate.uriEndpointOverride": {
+			"name": "camel.component.aws2-translate.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.aws2-translate.autowiredEnabled": {
 			"name": "camel.component.aws2-translate.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-file-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-file-sink.json
index a4faf60..1d99852 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-file-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-file-sink.json
@@ -35,7 +35,7 @@
 		},
 		"camel.sink.endpoint.appendChars": {
 			"name": "camel.sink.endpoint.appendChars",
-			"description": "Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending to existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n.",
+			"description": "Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending new files or existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n.",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-freemarker-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-freemarker-sink.json
index 088ef5d..7f77c26 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-freemarker-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-freemarker-sink.json
@@ -82,6 +82,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.freemarker.localizedLookup": {
+			"name": "camel.component.freemarker.localizedLookup",
+			"description": "Enables\/disables localized template lookup. Disabled by default.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.freemarker.autowiredEnabled": {
 			"name": "camel.component.freemarker.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json
index b80d60c..883c3d0 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json
@@ -9,18 +9,18 @@
 		"description": "Access Google Cloud BigQuery service using SQL queries."
 	},
 	"properties": {
-		"camel.sink.path.query": {
-			"name": "camel.sink.path.query",
-			"description": "BigQuery standard SQL query",
-			"priority": "HIGH",
-			"required": "true"
-		},
 		"camel.sink.path.projectId": {
 			"name": "camel.sink.path.projectId",
 			"description": "Google Cloud Project Id",
 			"priority": "HIGH",
 			"required": "true"
 		},
+		"camel.sink.path.queryString": {
+			"name": "camel.sink.path.queryString",
+			"description": "BigQuery standard SQL query",
+			"priority": "HIGH",
+			"required": "true"
+		},
 		"camel.sink.endpoint.connectionFactory": {
 			"name": "camel.sink.endpoint.connectionFactory",
 			"description": "ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-functions-sink.json
similarity index 50%
copy from camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json
copy to camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-functions-sink.json
index b80d60c..92708d7 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-functions-sink.json
@@ -1,29 +1,23 @@
 {
 	"connector": {
-		"class": "org.apache.camel.kafkaconnector.googlebigquerysql.CamelGooglebigquerysqlSinkConnector",
-		"artifactId": "camel-google-bigquery-sql-kafka-connector",
+		"class": "org.apache.camel.kafkaconnector.googlefunctions.CamelGooglefunctionsSinkConnector",
+		"artifactId": "camel-google-functions-kafka-connector",
 		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-google-bigquery-sql-sink",
+		"id": "camel-google-functions-sink",
 		"type": "sink",
 		"version": "0.9.0-SNAPSHOT",
-		"description": "Access Google Cloud BigQuery service using SQL queries."
+		"description": "Store and retrieve objects from Google Cloud Functions Service using the google-cloud-storage library."
 	},
 	"properties": {
-		"camel.sink.path.query": {
-			"name": "camel.sink.path.query",
-			"description": "BigQuery standard SQL query",
+		"camel.sink.path.functionName": {
+			"name": "camel.sink.path.functionName",
+			"description": "The user-defined name of the function",
 			"priority": "HIGH",
 			"required": "true"
 		},
-		"camel.sink.path.projectId": {
-			"name": "camel.sink.path.projectId",
-			"description": "Google Cloud Project Id",
-			"priority": "HIGH",
-			"required": "true"
-		},
-		"camel.sink.endpoint.connectionFactory": {
-			"name": "camel.sink.endpoint.connectionFactory",
-			"description": "ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",
+		"camel.sink.endpoint.serviceAccountKey": {
+			"name": "camel.sink.endpoint.serviceAccountKey",
+			"description": "Service account key to authenticate an application as a service account",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -34,31 +28,60 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.connectionFactory": {
-			"name": "camel.component.google-bigquery-sql.connectionFactory",
-			"description": "ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",
+		"camel.sink.endpoint.location": {
+			"name": "camel.sink.endpoint.location",
+			"description": "The Google Cloud Location (Region) where the Function is located",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.lazyStartProducer": {
-			"name": "camel.component.google-bigquery-sql.lazyStartProducer",
-			"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 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 starting the pr [...]
+		"camel.sink.endpoint.operation": {
+			"name": "camel.sink.endpoint.operation",
+			"description": "The operation to perform on the producer. One of: [listFunctions] [getFunction] [callFunction] [generateDownloadUrl] [generateUploadUrl] [createFunction] [updateFunction] [deleteFunction]",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"listFunctions",
+				"getFunction",
+				"callFunction",
+				"generateDownloadUrl",
+				"generateUploadUrl",
+				"createFunction",
+				"updateFunction",
+				"deleteFunction"
+			]
+		},
+		"camel.sink.endpoint.pojoRequest": {
+			"name": "camel.sink.endpoint.pojoRequest",
+			"description": "Specifies if the request is a pojo request",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.projectId": {
-			"name": "camel.component.google-bigquery-sql.projectId",
-			"description": "Google Cloud Project Id",
+		"camel.sink.endpoint.project": {
+			"name": "camel.sink.endpoint.project",
+			"description": "The Google Cloud Project name where the Function is located",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.client": {
+			"name": "camel.sink.endpoint.client",
+			"description": "The client to use during service invocation.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-functions.lazyStartProducer": {
+			"name": "camel.component.google-functions.lazyStartProducer",
+			"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 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 starting the pr [...]
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.autowiredEnabled": {
-			"name": "camel.component.google-bigquery-sql.autowiredEnabled",
+		"camel.component.google-functions.autowiredEnabled": {
+			"name": "camel.component.google-functions.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-mail-stream-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-mail-stream-source.json
index a5baa63..dc63bee 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-mail-stream-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-mail-stream-source.json
@@ -43,7 +43,7 @@
 		"camel.source.endpoint.markAsRead": {
 			"name": "camel.source.endpoint.markAsRead",
 			"description": "Mark the message as read once it has been consumed",
-			"defaultValue": "false",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -247,7 +247,7 @@
 		"camel.component.google-mail-stream.markAsRead": {
 			"name": "camel.component.google-mail-stream.markAsRead",
 			"description": "Mark the message as read once it has been consumed",
-			"defaultValue": "false",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-sink.json
index e932581..ae5d4c8 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-sink.json
@@ -11,13 +11,13 @@
 	"properties": {
 		"camel.sink.path.projectId": {
 			"name": "camel.sink.path.projectId",
-			"description": "Project Id",
+			"description": "The Google Cloud PubSub Project Id",
 			"priority": "HIGH",
 			"required": "true"
 		},
 		"camel.sink.path.destinationName": {
 			"name": "camel.sink.path.destinationName",
-			"description": "Destination Name",
+			"description": "The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name.",
 			"priority": "HIGH",
 			"required": "true"
 		},
@@ -52,6 +52,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.serviceAccountKey": {
+			"name": "camel.sink.endpoint.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the PubSub publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "HIGH",
+			"required": "true"
+		},
 		"camel.sink.endpoint.synchronousPull": {
 			"name": "camel.sink.endpoint.synchronousPull",
 			"description": "Synchronously pull batches of messages",
@@ -91,6 +97,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.google-pubsub.serviceAccountKey": {
+			"name": "camel.component.google-pubsub.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the PubSub publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "HIGH",
+			"required": "true"
+		},
 		"camel.component.google-pubsub.lazyStartProducer": {
 			"name": "camel.component.google-pubsub.lazyStartProducer",
 			"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 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 starting the pr [...]
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-source.json
index 5f7616a..2d15f15 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-pubsub-source.json
@@ -11,13 +11,13 @@
 	"properties": {
 		"camel.source.path.projectId": {
 			"name": "camel.source.path.projectId",
-			"description": "Project Id",
+			"description": "The Google Cloud PubSub Project Id",
 			"priority": "HIGH",
 			"required": "true"
 		},
 		"camel.source.path.destinationName": {
 			"name": "camel.source.path.destinationName",
-			"description": "Destination Name",
+			"description": "The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name.",
 			"priority": "HIGH",
 			"required": "true"
 		},
@@ -52,6 +52,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.serviceAccountKey": {
+			"name": "camel.source.endpoint.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the PubSub publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "HIGH",
+			"required": "true"
+		},
 		"camel.source.endpoint.synchronousPull": {
 			"name": "camel.source.endpoint.synchronousPull",
 			"description": "Synchronously pull batches of messages",
@@ -89,6 +95,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.google-pubsub.serviceAccountKey": {
+			"name": "camel.component.google-pubsub.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the PubSub publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "HIGH",
+			"required": "true"
+		},
 		"camel.component.google-pubsub.bridgeErrorHandler": {
 			"name": "camel.component.google-pubsub.bridgeErrorHandler",
 			"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 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.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-storage-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-storage-sink.json
new file mode 100644
index 0000000..2b14c85
--- /dev/null
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-storage-sink.json
@@ -0,0 +1,154 @@
+{
+	"connector": {
+		"class": "org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSinkConnector",
+		"artifactId": "camel-google-storage-kafka-connector",
+		"groupId": "org.apache.camel.kafkaconnector",
+		"id": "camel-google-storage-sink",
+		"type": "sink",
+		"version": "0.9.0-SNAPSHOT",
+		"description": "Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library."
+	},
+	"properties": {
+		"camel.sink.path.bucketName": {
+			"name": "camel.sink.path.bucketName",
+			"description": "Bucket name or ARN",
+			"priority": "HIGH",
+			"required": "true"
+		},
+		"camel.sink.endpoint.autoCreateBucket": {
+			"name": "camel.sink.endpoint.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.serviceAccountKey": {
+			"name": "camel.sink.endpoint.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.storageClass": {
+			"name": "camel.sink.endpoint.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.storageClient": {
+			"name": "camel.sink.endpoint.storageClient",
+			"description": "The storage client",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.storageLocation": {
+			"name": "camel.sink.endpoint.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.lazyStartProducer": {
+			"name": "camel.sink.endpoint.lazyStartProducer",
+			"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 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 starting the pr [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.objectName": {
+			"name": "camel.sink.endpoint.objectName",
+			"description": "The Object name inside the bucket",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.operation": {
+			"name": "camel.sink.endpoint.operation",
+			"description": "Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink]",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"copyObject",
+				"listObjects",
+				"deleteObject",
+				"deleteBucket",
+				"listBuckets",
+				"getObject",
+				"createDownloadLink"
+			]
+		},
+		"camel.component.google-storage.autoCreateBucket": {
+			"name": "camel.component.google-storage.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.configuration": {
+			"name": "camel.component.google-storage.configuration",
+			"description": "The component configuration",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.serviceAccountKey": {
+			"name": "camel.component.google-storage.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.storageClass": {
+			"name": "camel.component.google-storage.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.storageClient": {
+			"name": "camel.component.google-storage.storageClient",
+			"description": "The storage client",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.storageLocation": {
+			"name": "camel.component.google-storage.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.lazyStartProducer": {
+			"name": "camel.component.google-storage.lazyStartProducer",
+			"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 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 starting the pr [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.objectName": {
+			"name": "camel.component.google-storage.objectName",
+			"description": "The Object name inside the bucket",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.operation": {
+			"name": "camel.component.google-storage.operation",
+			"description": "Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink]",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"copyObject",
+				"listObjects",
+				"deleteObject",
+				"deleteBucket",
+				"listBuckets",
+				"getObject",
+				"createDownloadLink"
+			]
+		},
+		"camel.component.google-storage.autowiredEnabled": {
+			"name": "camel.component.google-storage.autowiredEnabled",
+			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		}
+	}
+}
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-storage-source.json
similarity index 58%
copy from camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json
copy to camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-storage-source.json
index 055f135..c7e7297 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-storage-source.json
@@ -1,98 +1,97 @@
 {
 	"connector": {
-		"class": "org.apache.camel.kafkaconnector.aws2ddbstream.CamelAws2ddbstreamSourceConnector",
-		"artifactId": "camel-aws2-ddbstream-kafka-connector",
+		"class": "org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSourceConnector",
+		"artifactId": "camel-google-storage-kafka-connector",
 		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-aws2-ddbstream-source",
+		"id": "camel-google-storage-source",
 		"type": "source",
 		"version": "0.9.0-SNAPSHOT",
-		"description": "Receive messages from AWS DynamoDB Stream service using AWS SDK version 2.x."
+		"description": "Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library."
 	},
 	"properties": {
-		"camel.source.path.tableName": {
-			"name": "camel.source.path.tableName",
-			"description": "Name of the dynamodb table",
+		"camel.source.path.bucketName": {
+			"name": "camel.source.path.bucketName",
+			"description": "Bucket name or ARN",
 			"priority": "HIGH",
 			"required": "true"
 		},
-		"camel.source.endpoint.amazonDynamoDbStreamsClient": {
-			"name": "camel.source.endpoint.amazonDynamoDbStreamsClient",
-			"description": "Amazon DynamoDB client to use for all requests for this endpoint",
+		"camel.source.endpoint.autoCreateBucket": {
+			"name": "camel.source.endpoint.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.bridgeErrorHandler": {
-			"name": "camel.source.endpoint.bridgeErrorHandler",
-			"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 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.",
-			"defaultValue": "false",
+		"camel.source.endpoint.serviceAccountKey": {
+			"name": "camel.source.endpoint.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.iteratorType": {
-			"name": "camel.source.endpoint.iteratorType",
-			"description": "Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if {AT,AFTER}_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. One of: [TRIM_HORIZON] [LATEST] [AT_SEQUENCE_NUMBER] [AFTER_SEQUENCE_NUMBER] [null]",
-			"defaultValue": "\"LATEST\"",
+		"camel.source.endpoint.storageClass": {
+			"name": "camel.source.endpoint.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
 			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"TRIM_HORIZON",
-				"LATEST",
-				"AT_SEQUENCE_NUMBER",
-				"AFTER_SEQUENCE_NUMBER",
-				"null"
-			]
+			"required": "false"
 		},
-		"camel.source.endpoint.maxResultsPerRequest": {
-			"name": "camel.source.endpoint.maxResultsPerRequest",
-			"description": "Maximum number of records that will be fetched in each poll",
+		"camel.source.endpoint.storageClient": {
+			"name": "camel.source.endpoint.storageClient",
+			"description": "The storage client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.proxyHost": {
-			"name": "camel.source.endpoint.proxyHost",
-			"description": "To define a proxy host when instantiating the DDBStreams client",
+		"camel.source.endpoint.storageLocation": {
+			"name": "camel.source.endpoint.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.bridgeErrorHandler": {
+			"name": "camel.source.endpoint.bridgeErrorHandler",
+			"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 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.",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.proxyPort": {
-			"name": "camel.source.endpoint.proxyPort",
-			"description": "To define a proxy port when instantiating the DDBStreams client",
+		"camel.source.endpoint.deleteAfterRead": {
+			"name": "camel.source.endpoint.deleteAfterRead",
+			"description": "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.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.proxyProtocol": {
-			"name": "camel.source.endpoint.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the DDBStreams client One of: [HTTP] [HTTPS]",
-			"defaultValue": "\"HTTPS\"",
+		"camel.source.endpoint.destinationBucket": {
+			"name": "camel.source.endpoint.destinationBucket",
+			"description": "Define the destination bucket where an object must be moved when moveAfterRead is set to true.",
 			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"HTTP",
-				"HTTPS"
-			]
+			"required": "false"
 		},
-		"camel.source.endpoint.region": {
-			"name": "camel.source.endpoint.region",
-			"description": "The region in which DDBStreams client needs to work",
+		"camel.source.endpoint.includeBody": {
+			"name": "camel.source.endpoint.includeBody",
+			"description": "If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.sendEmptyMessageWhenIdle": {
-			"name": "camel.source.endpoint.sendEmptyMessageWhenIdle",
-			"description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",
-			"defaultValue": "false",
+		"camel.source.endpoint.includeFolders": {
+			"name": "camel.source.endpoint.includeFolders",
+			"description": "If it is true, the folders\/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.sequenceNumberProvider": {
-			"name": "camel.source.endpoint.sequenceNumberProvider",
-			"description": "Provider for the sequence number when using one of the two ShardIteratorType.{AT,AFTER}_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number.",
+		"camel.source.endpoint.moveAfterRead": {
+			"name": "camel.source.endpoint.moveAfterRead",
+			"description": "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.",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.trustAllCertificates": {
-			"name": "camel.source.endpoint.trustAllCertificates",
-			"description": "If we want to trust all certificates in case of overriding the endpoint",
+		"camel.source.endpoint.sendEmptyMessageWhenIdle": {
+			"name": "camel.source.endpoint.sendEmptyMessageWhenIdle",
+			"description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
@@ -230,117 +229,92 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.accessKey": {
-			"name": "camel.source.endpoint.accessKey",
-			"description": "Amazon AWS Access Key",
+		"camel.component.google-storage.autoCreateBucket": {
+			"name": "camel.component.google-storage.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.secretKey": {
-			"name": "camel.source.endpoint.secretKey",
-			"description": "Amazon AWS Secret Key",
+		"camel.component.google-storage.configuration": {
+			"name": "camel.component.google-storage.configuration",
+			"description": "The component configuration",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.amazonDynamoDbStreamsClient": {
-			"name": "camel.component.aws2-ddbstream.amazonDynamoDbStreamsClient",
-			"description": "Amazon DynamoDB client to use for all requests for this endpoint",
+		"camel.component.google-storage.serviceAccountKey": {
+			"name": "camel.component.google-storage.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.bridgeErrorHandler": {
-			"name": "camel.component.aws2-ddbstream.bridgeErrorHandler",
-			"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 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.",
-			"defaultValue": "false",
+		"camel.component.google-storage.storageClass": {
+			"name": "camel.component.google-storage.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.configuration": {
-			"name": "camel.component.aws2-ddbstream.configuration",
-			"description": "The component configuration",
+		"camel.component.google-storage.storageClient": {
+			"name": "camel.component.google-storage.storageClient",
+			"description": "The storage client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.iteratorType": {
-			"name": "camel.component.aws2-ddbstream.iteratorType",
-			"description": "Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if {AT,AFTER}_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. One of: [TRIM_HORIZON] [LATEST] [AT_SEQUENCE_NUMBER] [AFTER_SEQUENCE_NUMBER] [null]",
-			"defaultValue": "\"LATEST\"",
-			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"TRIM_HORIZON",
-				"LATEST",
-				"AT_SEQUENCE_NUMBER",
-				"AFTER_SEQUENCE_NUMBER",
-				"null"
-			]
-		},
-		"camel.component.aws2-ddbstream.maxResultsPerRequest": {
-			"name": "camel.component.aws2-ddbstream.maxResultsPerRequest",
-			"description": "Maximum number of records that will be fetched in each poll",
+		"camel.component.google-storage.storageLocation": {
+			"name": "camel.component.google-storage.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.proxyHost": {
-			"name": "camel.component.aws2-ddbstream.proxyHost",
-			"description": "To define a proxy host when instantiating the DDBStreams client",
+		"camel.component.google-storage.bridgeErrorHandler": {
+			"name": "camel.component.google-storage.bridgeErrorHandler",
+			"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 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.",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.proxyPort": {
-			"name": "camel.component.aws2-ddbstream.proxyPort",
-			"description": "To define a proxy port when instantiating the DDBStreams client",
+		"camel.component.google-storage.deleteAfterRead": {
+			"name": "camel.component.google-storage.deleteAfterRead",
+			"description": "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.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.proxyProtocol": {
-			"name": "camel.component.aws2-ddbstream.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the DDBStreams client One of: [HTTP] [HTTPS]",
-			"defaultValue": "\"HTTPS\"",
+		"camel.component.google-storage.destinationBucket": {
+			"name": "camel.component.google-storage.destinationBucket",
+			"description": "Define the destination bucket where an object must be moved when moveAfterRead is set to true.",
 			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"HTTP",
-				"HTTPS"
-			]
+			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.region": {
-			"name": "camel.component.aws2-ddbstream.region",
-			"description": "The region in which DDBStreams client needs to work",
+		"camel.component.google-storage.includeBody": {
+			"name": "camel.component.google-storage.includeBody",
+			"description": "If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.sequenceNumberProvider": {
-			"name": "camel.component.aws2-ddbstream.sequenceNumberProvider",
-			"description": "Provider for the sequence number when using one of the two ShardIteratorType.{AT,AFTER}_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number.",
+		"camel.component.google-storage.includeFolders": {
+			"name": "camel.component.google-storage.includeFolders",
+			"description": "If it is true, the folders\/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.trustAllCertificates": {
-			"name": "camel.component.aws2-ddbstream.trustAllCertificates",
-			"description": "If we want to trust all certificates in case of overriding the endpoint",
+		"camel.component.google-storage.moveAfterRead": {
+			"name": "camel.component.google-storage.moveAfterRead",
+			"description": "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.",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.autowiredEnabled": {
-			"name": "camel.component.aws2-ddbstream.autowiredEnabled",
+		"camel.component.google-storage.autowiredEnabled": {
+			"name": "camel.component.google-storage.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
-		},
-		"camel.component.aws2-ddbstream.accessKey": {
-			"name": "camel.component.aws2-ddbstream.accessKey",
-			"description": "Amazon AWS Access Key",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.component.aws2-ddbstream.secretKey": {
-			"name": "camel.component.aws2-ddbstream.secretKey",
-			"description": "Amazon AWS Secret Key",
-			"priority": "MEDIUM",
-			"required": "false"
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-http-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-http-sink.json
index 6f1ae7a..7ab2e41 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-http-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-http-sink.json
@@ -50,7 +50,7 @@
 		},
 		"camel.sink.endpoint.clearExpiredCookies": {
 			"name": "camel.sink.endpoint.clearExpiredCookies",
-			"description": "Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired.",
+			"description": "Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired. If the component has disabled cookie management then this option is disabled too.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
@@ -159,6 +159,20 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.skipRequestHeaders": {
+			"name": "camel.sink.endpoint.skipRequestHeaders",
+			"description": "Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.skipResponseHeaders": {
+			"name": "camel.sink.endpoint.skipResponseHeaders",
+			"description": "Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.clientBuilder": {
 			"name": "camel.sink.endpoint.clientBuilder",
 			"description": "Provide access to the http client request parameters used on new RequestConfig instances used by producers or consumers of this endpoint.",
@@ -202,27 +216,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.sink.endpoint.mapHttpMessageBody": {
-			"name": "camel.sink.endpoint.mapHttpMessageBody",
-			"description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.mapHttpMessageFormUrlEncodedBody": {
-			"name": "camel.sink.endpoint.mapHttpMessageFormUrlEncodedBody",
-			"description": "If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.mapHttpMessageHeaders": {
-			"name": "camel.sink.endpoint.mapHttpMessageHeaders",
-			"description": "If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.sink.endpoint.maxTotalConnections": {
 			"name": "camel.sink.endpoint.maxTotalConnections",
 			"description": "The maximum number of connections.",
@@ -372,6 +365,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.http.copyHeaders": {
+			"name": "camel.component.http.copyHeaders",
+			"description": "If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.http.lazyStartProducer": {
 			"name": "camel.component.http.lazyStartProducer",
 			"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 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 starting the pr [...]
@@ -379,6 +379,27 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.http.responsePayloadStreamingThreshold": {
+			"name": "camel.component.http.responsePayloadStreamingThreshold",
+			"description": "This threshold in bytes controls whether the response payload should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode.",
+			"defaultValue": "8192",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.http.skipRequestHeaders": {
+			"name": "camel.component.http.skipRequestHeaders",
+			"description": "Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.http.skipResponseHeaders": {
+			"name": "camel.component.http.skipResponseHeaders",
+			"description": "Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.http.allowJavaSerializedObject": {
 			"name": "camel.component.http.allowJavaSerializedObject",
 			"description": "Whether to allow java serialization when a request uses context-type=application\/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",
@@ -386,6 +407,20 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.http.authCachingDisabled": {
+			"name": "camel.component.http.authCachingDisabled",
+			"description": "Disables authentication scheme caching",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.http.automaticRetriesDisabled": {
+			"name": "camel.component.http.automaticRetriesDisabled",
+			"description": "Disables automatic request recovery and re-execution",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.http.autowiredEnabled": {
 			"name": "camel.component.http.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
@@ -406,12 +441,40 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.http.connectionStateDisabled": {
+			"name": "camel.component.http.connectionStateDisabled",
+			"description": "Disables connection state tracking",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.http.connectionTimeToLive": {
 			"name": "camel.component.http.connectionTimeToLive",
 			"description": "The time for connection to live, the time unit is millisecond, the default value is always keep alive.",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.http.contentCompressionDisabled": {
+			"name": "camel.component.http.contentCompressionDisabled",
+			"description": "Disables automatic content decompression",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.http.cookieManagementDisabled": {
+			"name": "camel.component.http.cookieManagementDisabled",
+			"description": "Disables state (cookie) management",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.http.defaultUserAgentDisabled": {
+			"name": "camel.component.http.defaultUserAgentDisabled",
+			"description": "Disables the default user agent set by this builder if none has been provided by the user",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.http.httpBinding": {
 			"name": "camel.component.http.httpBinding",
 			"description": "To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",
@@ -443,6 +506,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.http.redirectHandlingDisabled": {
+			"name": "camel.component.http.redirectHandlingDisabled",
+			"description": "Disables automatic redirect handling",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.http.headerFilterStrategy": {
 			"name": "camel.component.http.headerFilterStrategy",
 			"description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-https-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-https-sink.json
index e592f2f..9cf955c 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-https-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-https-sink.json
@@ -50,7 +50,7 @@
 		},
 		"camel.sink.endpoint.clearExpiredCookies": {
 			"name": "camel.sink.endpoint.clearExpiredCookies",
-			"description": "Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired.",
+			"description": "Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired. If the component has disabled cookie management then this option is disabled too.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
@@ -159,6 +159,20 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.skipRequestHeaders": {
+			"name": "camel.sink.endpoint.skipRequestHeaders",
+			"description": "Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.skipResponseHeaders": {
+			"name": "camel.sink.endpoint.skipResponseHeaders",
+			"description": "Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.clientBuilder": {
 			"name": "camel.sink.endpoint.clientBuilder",
 			"description": "Provide access to the http client request parameters used on new RequestConfig instances used by producers or consumers of this endpoint.",
@@ -202,27 +216,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.sink.endpoint.mapHttpMessageBody": {
-			"name": "camel.sink.endpoint.mapHttpMessageBody",
-			"description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.mapHttpMessageFormUrlEncodedBody": {
-			"name": "camel.sink.endpoint.mapHttpMessageFormUrlEncodedBody",
-			"description": "If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.mapHttpMessageHeaders": {
-			"name": "camel.sink.endpoint.mapHttpMessageHeaders",
-			"description": "If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",
-			"defaultValue": "true",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.sink.endpoint.maxTotalConnections": {
 			"name": "camel.sink.endpoint.maxTotalConnections",
 			"description": "The maximum number of connections.",
@@ -372,6 +365,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.https.copyHeaders": {
+			"name": "camel.component.https.copyHeaders",
+			"description": "If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.https.lazyStartProducer": {
 			"name": "camel.component.https.lazyStartProducer",
 			"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 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 starting the pr [...]
@@ -379,6 +379,27 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.https.responsePayloadStreamingThreshold": {
+			"name": "camel.component.https.responsePayloadStreamingThreshold",
+			"description": "This threshold in bytes controls whether the response payload should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode.",
+			"defaultValue": "8192",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.https.skipRequestHeaders": {
+			"name": "camel.component.https.skipRequestHeaders",
+			"description": "Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.https.skipResponseHeaders": {
+			"name": "camel.component.https.skipResponseHeaders",
+			"description": "Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.https.allowJavaSerializedObject": {
 			"name": "camel.component.https.allowJavaSerializedObject",
 			"description": "Whether to allow java serialization when a request uses context-type=application\/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",
@@ -386,6 +407,20 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.https.authCachingDisabled": {
+			"name": "camel.component.https.authCachingDisabled",
+			"description": "Disables authentication scheme caching",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.https.automaticRetriesDisabled": {
+			"name": "camel.component.https.automaticRetriesDisabled",
+			"description": "Disables automatic request recovery and re-execution",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.https.autowiredEnabled": {
 			"name": "camel.component.https.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
@@ -406,12 +441,40 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.https.connectionStateDisabled": {
+			"name": "camel.component.https.connectionStateDisabled",
+			"description": "Disables connection state tracking",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.https.connectionTimeToLive": {
 			"name": "camel.component.https.connectionTimeToLive",
 			"description": "The time for connection to live, the time unit is millisecond, the default value is always keep alive.",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.https.contentCompressionDisabled": {
+			"name": "camel.component.https.contentCompressionDisabled",
+			"description": "Disables automatic content decompression",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.https.cookieManagementDisabled": {
+			"name": "camel.component.https.cookieManagementDisabled",
+			"description": "Disables state (cookie) management",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.https.defaultUserAgentDisabled": {
+			"name": "camel.component.https.defaultUserAgentDisabled",
+			"description": "Disables the default user agent set by this builder if none has been provided by the user",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.https.httpBinding": {
 			"name": "camel.component.https.httpBinding",
 			"description": "To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",
@@ -443,6 +506,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.component.https.redirectHandlingDisabled": {
+			"name": "camel.component.https.redirectHandlingDisabled",
+			"description": "Disables automatic redirect handling",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.component.https.headerFilterStrategy": {
 			"name": "camel.component.https.headerFilterStrategy",
 			"description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-jetty-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-jetty-source.json
index c4f030d..2aa8c82 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-jetty-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-jetty-source.json
@@ -185,26 +185,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.multipartFilter": {
-			"name": "camel.source.endpoint.multipartFilter",
-			"description": "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true.",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.source.endpoint.optionsEnabled": {
-			"name": "camel.source.endpoint.optionsEnabled",
-			"description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.source.endpoint.traceEnabled": {
-			"name": "camel.source.endpoint.traceEnabled",
-			"description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.source.endpoint.mapHttpMessageBody": {
 			"name": "camel.source.endpoint.mapHttpMessageBody",
 			"description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",
@@ -226,6 +206,26 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.multipartFilter": {
+			"name": "camel.source.endpoint.multipartFilter",
+			"description": "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.optionsEnabled": {
+			"name": "camel.source.endpoint.optionsEnabled",
+			"description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.traceEnabled": {
+			"name": "camel.source.endpoint.traceEnabled",
+			"description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.source.endpoint.sslContextParameters": {
 			"name": "camel.source.endpoint.sslContextParameters",
 			"description": "To configure security using SSLContextParameters",
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/pom.xml b/connectors/camel-aws-secrets-manager-kafka-connector/pom.xml
new file mode 100644
index 0000000..4c24583
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/pom.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-aws-secrets-manager-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: aws-secrets-manager</name>
+  <description>Camel Kafka Connector for aws-secrets-manager</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-aws-secrets-manager</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-jackson</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/generated/descriptors/connector-sink.properties b/connectors/camel-aws-secrets-manager-kafka-connector/src/generated/descriptors/connector-sink.properties
new file mode 100644
index 0000000..bf8c526
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/generated/descriptors/connector-sink.properties
@@ -0,0 +1 @@
+camel-aws-secrets-manager-sink
\ No newline at end of file
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json b/connectors/camel-aws-secrets-manager-kafka-connector/src/generated/resources/camel-aws-secrets-manager-sink.json
similarity index 54%
copy from camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json
copy to connectors/camel-aws-secrets-manager-kafka-connector/src/generated/resources/camel-aws-secrets-manager-sink.json
index 58ea322..6c08ca8 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-translate-sink.json
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/generated/resources/camel-aws-secrets-manager-sink.json
@@ -1,12 +1,12 @@
 {
 	"connector": {
-		"class": "org.apache.camel.kafkaconnector.aws2translate.CamelAws2translateSinkConnector",
-		"artifactId": "camel-aws2-translate-kafka-connector",
+		"class": "org.apache.camel.kafkaconnector.awssecretsmanager.CamelAwssecretsmanagerSinkConnector",
+		"artifactId": "camel-aws-secrets-manager-kafka-connector",
 		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-aws2-translate-sink",
+		"id": "camel-aws-secrets-manager-sink",
 		"type": "sink",
 		"version": "0.9.0-SNAPSHOT",
-		"description": "Translate texts using AWS Translate and AWS SDK version 2.x."
+		"description": "Manage AWS Secrets Manager services using AWS SDK version 2.x."
 	},
 	"properties": {
 		"camel.sink.path.label": {
@@ -15,9 +15,9 @@
 			"priority": "HIGH",
 			"required": "true"
 		},
-		"camel.sink.endpoint.autodetectSourceLanguage": {
-			"name": "camel.sink.endpoint.autodetectSourceLanguage",
-			"description": "Being able to autodetect the source language",
+		"camel.sink.endpoint.binaryPayload": {
+			"name": "camel.sink.endpoint.binaryPayload",
+			"description": "Set if the secret is binary or not",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
@@ -31,14 +31,26 @@
 		},
 		"camel.sink.endpoint.operation": {
 			"name": "camel.sink.endpoint.operation",
-			"description": "The operation to perform One of: [translateText]",
-			"defaultValue": "\"translateText\"",
+			"description": "The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]",
 			"priority": "HIGH",
 			"required": "true",
 			"enum": [
-				"translateText"
+				"listSecrets",
+				"createSecret",
+				"getSecret",
+				"describeSecret",
+				"deleteSecret",
+				"rotateSecret",
+				"updateSecret"
 			]
 		},
+		"camel.sink.endpoint.overrideEndpoint": {
+			"name": "camel.sink.endpoint.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.pojoRequest": {
 			"name": "camel.sink.endpoint.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
@@ -48,19 +60,19 @@
 		},
 		"camel.sink.endpoint.proxyHost": {
 			"name": "camel.sink.endpoint.proxyHost",
-			"description": "To define a proxy host when instantiating the Translate client",
+			"description": "To define a proxy host when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
 		"camel.sink.endpoint.proxyPort": {
 			"name": "camel.sink.endpoint.proxyPort",
-			"description": "To define a proxy port when instantiating the Translate client",
+			"description": "To define a proxy port when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
 		"camel.sink.endpoint.proxyProtocol": {
 			"name": "camel.sink.endpoint.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS]",
+			"description": "To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS]",
 			"defaultValue": "\"HTTPS\"",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -71,25 +83,13 @@
 		},
 		"camel.sink.endpoint.region": {
 			"name": "camel.sink.endpoint.region",
-			"description": "The region in which Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.sourceLanguage": {
-			"name": "camel.sink.endpoint.sourceLanguage",
-			"description": "Source language to use",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.sink.endpoint.targetLanguage": {
-			"name": "camel.sink.endpoint.targetLanguage",
-			"description": "Target language to use",
+			"description": "The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.sink.endpoint.translateClient": {
-			"name": "camel.sink.endpoint.translateClient",
-			"description": "To use a existing configured AWS Translate as client",
+		"camel.sink.endpoint.secretsManagerClient": {
+			"name": "camel.sink.endpoint.secretsManagerClient",
+			"description": "To use a existing configured AWS Secrets Manager as client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -100,6 +100,12 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.uriEndpointOverride": {
+			"name": "camel.sink.endpoint.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.accessKey": {
 			"name": "camel.sink.endpoint.accessKey",
 			"description": "Amazon AWS Access Key",
@@ -112,58 +118,70 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.autodetectSourceLanguage": {
-			"name": "camel.component.aws2-translate.autodetectSourceLanguage",
-			"description": "Being able to autodetect the source language",
+		"camel.component.aws-secrets-manager.binaryPayload": {
+			"name": "camel.component.aws-secrets-manager.binaryPayload",
+			"description": "Set if the secret is binary or not",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.configuration": {
-			"name": "camel.component.aws2-translate.configuration",
+		"camel.component.aws-secrets-manager.configuration": {
+			"name": "camel.component.aws-secrets-manager.configuration",
 			"description": "Component configuration",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.lazyStartProducer": {
-			"name": "camel.component.aws2-translate.lazyStartProducer",
+		"camel.component.aws-secrets-manager.lazyStartProducer": {
+			"name": "camel.component.aws-secrets-manager.lazyStartProducer",
 			"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 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 starting the pr [...]
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.operation": {
-			"name": "camel.component.aws2-translate.operation",
-			"description": "The operation to perform One of: [translateText]",
-			"defaultValue": "\"translateText\"",
+		"camel.component.aws-secrets-manager.operation": {
+			"name": "camel.component.aws-secrets-manager.operation",
+			"description": "The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]",
 			"priority": "HIGH",
 			"required": "true",
 			"enum": [
-				"translateText"
+				"listSecrets",
+				"createSecret",
+				"getSecret",
+				"describeSecret",
+				"deleteSecret",
+				"rotateSecret",
+				"updateSecret"
 			]
 		},
-		"camel.component.aws2-translate.pojoRequest": {
-			"name": "camel.component.aws2-translate.pojoRequest",
+		"camel.component.aws-secrets-manager.overrideEndpoint": {
+			"name": "camel.component.aws-secrets-manager.overrideEndpoint",
+			"description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.aws-secrets-manager.pojoRequest": {
+			"name": "camel.component.aws-secrets-manager.pojoRequest",
 			"description": "If we want to use a POJO request as body or not",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.proxyHost": {
-			"name": "camel.component.aws2-translate.proxyHost",
-			"description": "To define a proxy host when instantiating the Translate client",
+		"camel.component.aws-secrets-manager.proxyHost": {
+			"name": "camel.component.aws-secrets-manager.proxyHost",
+			"description": "To define a proxy host when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.proxyPort": {
-			"name": "camel.component.aws2-translate.proxyPort",
-			"description": "To define a proxy port when instantiating the Translate client",
+		"camel.component.aws-secrets-manager.proxyPort": {
+			"name": "camel.component.aws-secrets-manager.proxyPort",
+			"description": "To define a proxy port when instantiating the Secrets Manager client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.proxyProtocol": {
-			"name": "camel.component.aws2-translate.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS]",
+		"camel.component.aws-secrets-manager.proxyProtocol": {
+			"name": "camel.component.aws-secrets-manager.proxyProtocol",
+			"description": "To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS]",
 			"defaultValue": "\"HTTPS\"",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -172,55 +190,49 @@
 				"HTTPS"
 			]
 		},
-		"camel.component.aws2-translate.region": {
-			"name": "camel.component.aws2-translate.region",
-			"description": "The region in which Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.component.aws2-translate.sourceLanguage": {
-			"name": "camel.component.aws2-translate.sourceLanguage",
-			"description": "Source language to use",
+		"camel.component.aws-secrets-manager.region": {
+			"name": "camel.component.aws-secrets-manager.region",
+			"description": "The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.targetLanguage": {
-			"name": "camel.component.aws2-translate.targetLanguage",
-			"description": "Target language to use",
+		"camel.component.aws-secrets-manager.secretsManagerClient": {
+			"name": "camel.component.aws-secrets-manager.secretsManagerClient",
+			"description": "To use a existing configured AWS Secrets Manager as client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.translateClient": {
-			"name": "camel.component.aws2-translate.translateClient",
-			"description": "To use a existing configured AWS Translate as client",
+		"camel.component.aws-secrets-manager.trustAllCertificates": {
+			"name": "camel.component.aws-secrets-manager.trustAllCertificates",
+			"description": "If we want to trust all certificates in case of overriding the endpoint",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.trustAllCertificates": {
-			"name": "camel.component.aws2-translate.trustAllCertificates",
-			"description": "If we want to trust all certificates in case of overriding the endpoint",
-			"defaultValue": "false",
+		"camel.component.aws-secrets-manager.uriEndpointOverride": {
+			"name": "camel.component.aws-secrets-manager.uriEndpointOverride",
+			"description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.autowiredEnabled": {
-			"name": "camel.component.aws2-translate.autowiredEnabled",
+		"camel.component.aws-secrets-manager.autowiredEnabled": {
+			"name": "camel.component.aws-secrets-manager.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.accessKey": {
-			"name": "camel.component.aws2-translate.accessKey",
+		"camel.component.aws-secrets-manager.accessKey": {
+			"name": "camel.component.aws-secrets-manager.accessKey",
 			"description": "Amazon AWS Access Key",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-translate.secretKey": {
-			"name": "camel.component.aws2-translate.secretKey",
+		"camel.component.aws-secrets-manager.secretKey": {
+			"name": "camel.component.aws-secrets-manager.secretKey",
 			"description": "Amazon AWS Secret Key",
 			"priority": "MEDIUM",
 			"required": "false"
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/assembly/package.xml b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..05f0b1a
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/src/main/docs</directory>
+      <outputDirectory>docs/</outputDirectory>
+      <includes>
+        <include>**/*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/docs/camel-aws-secrets-manager-kafka-sink-connector.adoc b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/docs/camel-aws-secrets-manager-kafka-sink-connector.adoc
new file mode 100644
index 0000000..aba38cc
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/docs/camel-aws-secrets-manager-kafka-sink-connector.adoc
@@ -0,0 +1,86 @@
+// kafka-connector options: START
+[[camel-aws-secrets-manager-kafka-connector-sink]]
+= camel-aws-secrets-manager-kafka-connector sink configuration
+
+Connector Description: Manage AWS Secrets Manager services using AWS SDK version 2.x.
+
+When using camel-aws-secrets-manager-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-aws-secrets-manager-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.awssecretsmanager.CamelAwssecretsmanagerSinkConnector
+----
+
+
+The camel-aws-secrets-manager sink connector supports 31 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.label* | Logical name | null | true | HIGH
+| *camel.sink.endpoint.binaryPayload* | Set if the secret is binary or not | false | false | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.operation* | The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret] | null | true | HIGH
+| *camel.sink.endpoint.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | false | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | false | MEDIUM
+| *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS] | "HTTPS" | false | MEDIUM
+| *camel.sink.endpoint.region* | The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | false | MEDIUM
+| *camel.sink.endpoint.secretsManagerClient* | To use a existing configured AWS Secrets Manager as client | null | false | MEDIUM
+| *camel.sink.endpoint.trustAllCertificates* | If we want to trust all certificates in case of overriding the endpoint | false | false | MEDIUM
+| *camel.sink.endpoint.uriEndpointOverride* | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | null | false | MEDIUM
+| *camel.sink.endpoint.accessKey* | Amazon AWS Access Key | null | false | MEDIUM
+| *camel.sink.endpoint.secretKey* | Amazon AWS Secret Key | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.binaryPayload* | Set if the secret is binary or not | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.configuration* | Component configuration | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.lazyStart 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 p [...]
+| *camel.component.aws-secrets-manager.operation* | The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret] | null | true | HIGH
+| *camel.component.aws-secrets-manager.override Endpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.pojoRequest* | If we want to use a POJO request as body or not | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.proxyHost* | To define a proxy host when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.proxyPort* | To define a proxy port when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.proxyProtocol* | To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS] | "HTTPS" | false | MEDIUM
+| *camel.component.aws-secrets-manager.region* | The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.secretsManager Client* | To use a existing configured AWS Secrets Manager as client | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.trustAll Certificates* | If we want to trust all certificates in case of overriding the endpoint | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.uriEndpoint Override* | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.autowired Enabled* | 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 | false | MEDIUM
+| *camel.component.aws-secrets-manager.accessKey* | Amazon AWS Access Key | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.secretKey* | Amazon AWS Secret Key | null | false | MEDIUM
+|===
+
+
+
+The camel-aws-secrets-manager sink connector has no converters out of the box.
+
+
+
+
+
+The camel-aws-secrets-manager sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-aws-secrets-manager sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/docs/examples/CamelAwssecretsmanagerSinkConnector.properties b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/docs/examples/CamelAwssecretsmanagerSinkConnector.properties
new file mode 100644
index 0000000..2ea0a9d
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/docs/examples/CamelAwssecretsmanagerSinkConnector.properties
@@ -0,0 +1,37 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+name=CamelAws-secrets-managerSinkConnector
+connector.class=org.apache.camel.kafkaconnector.awssecretsmanager.CamelAwssecretsmanagerSinkConnector
+tasks.max=1
+
+# use the kafka converters that better suit your needs, these are just defaults:
+key.converter=org.apache.kafka.connect.storage.StringConverter
+value.converter=org.apache.kafka.connect.storage.StringConverter
+
+# comma separated topics to get messages from
+topics=
+
+# mandatory properties (for a complete properties list see the connector documentation):
+
+# The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]
+camel.component.aws-secrets-manager.operation=
+# The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]
+camel.sink.endpoint.operation=
+# Logical name
+camel.sink.path.label=
+
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkConnector.java b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkConnector.java
new file mode 100644
index 0000000..945e46f
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.awssecretsmanager;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAwssecretsmanagerSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelAwssecretsmanagerSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelAwssecretsmanagerSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkConnectorConfig.java b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkConnectorConfig.java
new file mode 100644
index 0000000..77e9f22
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkConnectorConfig.java
@@ -0,0 +1,169 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.awssecretsmanager;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAwssecretsmanagerSinkConnectorConfig
+        extends
+            CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_PATH_LABEL_CONF = "camel.sink.path.label";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_PATH_LABEL_DOC = "Logical name";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_PATH_LABEL_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_BINARY_PAYLOAD_CONF = "camel.sink.endpoint.binaryPayload";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_BINARY_PAYLOAD_DOC = "Set if the secret is binary or not";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_BINARY_PAYLOAD_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_LAZY_START_PRODUCER_DOC = "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. Bewa [...]
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OPERATION_DOC = "The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OVERRIDE_ENDPOINT_CONF = "camel.sink.endpoint.overrideEndpoint";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OVERRIDE_ENDPOINT_DOC = "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OVERRIDE_ENDPOINT_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_POJO_REQUEST_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the Secrets Manager client";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_HOST_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PORT_CONF = "camel.sink.endpoint.proxyPort";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PORT_DOC = "To define a proxy port when instantiating the Secrets Manager client";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PORT_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PROTOCOL_CONF = "camel.sink.endpoint.proxyProtocol";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PROTOCOL_DOC = "To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS]";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PROTOCOL_DEFAULT = "HTTPS";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_REGION_CONF = "camel.sink.endpoint.region";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_REGION_DOC = "The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_REGION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRETS_MANAGER_CLIENT_CONF = "camel.sink.endpoint.secretsManagerClient";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRETS_MANAGER_CLIENT_DOC = "To use a existing configured AWS Secrets Manager as client";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRETS_MANAGER_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_TRUST_ALL_CERTIFICATES_CONF = "camel.sink.endpoint.trustAllCertificates";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_TRUST_ALL_CERTIFICATES_DOC = "If we want to trust all certificates in case of overriding the endpoint";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_TRUST_ALL_CERTIFICATES_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_URI_ENDPOINT_OVERRIDE_CONF = "camel.sink.endpoint.uriEndpointOverride";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_URI_ENDPOINT_OVERRIDE_DOC = "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_URI_ENDPOINT_OVERRIDE_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_ACCESS_KEY_CONF = "camel.sink.endpoint.accessKey";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_ACCESS_KEY_DOC = "Amazon AWS Access Key";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRET_KEY_CONF = "camel.sink.endpoint.secretKey";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRET_KEY_DOC = "Amazon AWS Secret Key";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRET_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_BINARY_PAYLOAD_CONF = "camel.component.aws-secrets-manager.binaryPayload";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_BINARY_PAYLOAD_DOC = "Set if the secret is binary or not";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_BINARY_PAYLOAD_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_CONFIGURATION_CONF = "camel.component.aws-secrets-manager.configuration";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_CONFIGURATION_DOC = "Component configuration";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_CONFIGURATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.aws-secrets-manager.lazyStartProducer";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_LAZY_START_PRODUCER_DOC = "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. Bew [...]
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OPERATION_CONF = "camel.component.aws-secrets-manager.operation";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OPERATION_DOC = "The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret]";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OVERRIDE_ENDPOINT_CONF = "camel.component.aws-secrets-manager.overrideEndpoint";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OVERRIDE_ENDPOINT_DOC = "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OVERRIDE_ENDPOINT_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws-secrets-manager.pojoRequest";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_POJO_REQUEST_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_HOST_CONF = "camel.component.aws-secrets-manager.proxyHost";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the Secrets Manager client";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_HOST_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PORT_CONF = "camel.component.aws-secrets-manager.proxyPort";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PORT_DOC = "To define a proxy port when instantiating the Secrets Manager client";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PORT_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PROTOCOL_CONF = "camel.component.aws-secrets-manager.proxyProtocol";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PROTOCOL_DOC = "To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS]";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PROTOCOL_DEFAULT = "HTTPS";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_REGION_CONF = "camel.component.aws-secrets-manager.region";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_REGION_DOC = "The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_REGION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRETS_MANAGER_CLIENT_CONF = "camel.component.aws-secrets-manager.secretsManagerClient";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRETS_MANAGER_CLIENT_DOC = "To use a existing configured AWS Secrets Manager as client";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRETS_MANAGER_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_TRUST_ALL_CERTIFICATES_CONF = "camel.component.aws-secrets-manager.trustAllCertificates";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_TRUST_ALL_CERTIFICATES_DOC = "If we want to trust all certificates in case of overriding the endpoint";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_TRUST_ALL_CERTIFICATES_DEFAULT = false;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_URI_ENDPOINT_OVERRIDE_CONF = "camel.component.aws-secrets-manager.uriEndpointOverride";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_URI_ENDPOINT_OVERRIDE_DOC = "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_URI_ENDPOINT_OVERRIDE_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_AUTOWIRED_ENABLED_CONF = "camel.component.aws-secrets-manager.autowiredEnabled";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_AUTOWIRED_ENABLED_DOC = "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.";
+    public static final Boolean CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_AUTOWIRED_ENABLED_DEFAULT = true;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_ACCESS_KEY_CONF = "camel.component.aws-secrets-manager.accessKey";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_ACCESS_KEY_DOC = "Amazon AWS Access Key";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRET_KEY_CONF = "camel.component.aws-secrets-manager.secretKey";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRET_KEY_DOC = "Amazon AWS Secret Key";
+    public static final String CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRET_KEY_DEFAULT = null;
+
+    public CamelAwssecretsmanagerSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelAwssecretsmanagerSinkConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_PATH_LABEL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_PATH_LABEL_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWSSECRETSMANAGER_PATH_LABEL_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_BINARY_PAYLOAD_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_BINARY_PAYLOAD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_BINARY_PAYLOAD_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OVERRIDE_ENDPOINT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OVERRIDE_ENDPOINT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_OVERRIDE_ENDPOINT_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_POJO_REQUEST_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_HOST_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PORT_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_PROXY_PROTOCOL_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_REGION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_REGION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_REGION_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRETS_MANAGER_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRETS_MANAGER_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRETS_MANAGER_CLIENT_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_TRUST_ALL_CERTIFICATES_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_TRUST_ALL_CERTIFICATES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_TRUST_ALL_CERTIFICATES_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_URI_ENDPOINT_OVERRIDE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_URI_ENDPOINT_OVERRIDE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_URI_ENDPOINT_OVERRIDE_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_ACCESS_KEY_CONF, ConfigDef.Type.PASSWORD, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRET_KEY_CONF, ConfigDef.Type.PASSWORD, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRET_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_ENDPOINT_SECRET_KEY_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_BINARY_PAYLOAD_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_BINARY_PAYLOAD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_BINARY_PAYLOAD_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_CONFIGURATION_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OVERRIDE_ENDPOINT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OVERRIDE_ENDPOINT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_OVERRIDE_ENDPOINT_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_POJO_REQUEST_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_HOST_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PORT_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_PROXY_PROTOCOL_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_REGION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_REGION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_REGION_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRETS_MANAGER_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRETS_MANAGER_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRETS_MANAGER_CLIENT_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_TRUST_ALL_CERTIFICATES_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_TRUST_ALL_CERTIFICATES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_TRUST_ALL_CERTIFICATES_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_URI_ENDPOINT_OVERRIDE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_URI_ENDPOINT_OVERRIDE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_URI_ENDPOINT_OVERRIDE_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_AUTOWIRED_ENABLED_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_AUTOWIRED_ENABLED_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_ACCESS_KEY_CONF, ConfigDef.Type.PASSWORD, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRET_KEY_CONF, ConfigDef.Type.PASSWORD, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRET_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWSSECRETSMANAGER_COMPONENT_SECRET_KEY_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkTask.java b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkTask.java
new file mode 100644
index 0000000..1123819
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanager/CamelAwssecretsmanagerSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.awssecretsmanager;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAwssecretsmanagerSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelAwssecretsmanagerSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "aws-secrets-manager");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/connectors/camel-aws-secrets-manager-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-aws-secrets-manager-kafka-connector/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/connectors/camel-google-functions-kafka-connector/pom.xml b/connectors/camel-google-functions-kafka-connector/pom.xml
new file mode 100644
index 0000000..e44eec1
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/pom.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-google-functions-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: google-functions</name>
+  <description>Camel Kafka Connector for google-functions</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-google-functions</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-jackson</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-google-functions-kafka-connector/src/generated/descriptors/connector-sink.properties b/connectors/camel-google-functions-kafka-connector/src/generated/descriptors/connector-sink.properties
new file mode 100644
index 0000000..49270f6
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/generated/descriptors/connector-sink.properties
@@ -0,0 +1 @@
+camel-google-functions-sink
\ No newline at end of file
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json b/connectors/camel-google-functions-kafka-connector/src/generated/resources/camel-google-functions-sink.json
similarity index 50%
copy from camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json
copy to connectors/camel-google-functions-kafka-connector/src/generated/resources/camel-google-functions-sink.json
index b80d60c..92708d7 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-google-bigquery-sql-sink.json
+++ b/connectors/camel-google-functions-kafka-connector/src/generated/resources/camel-google-functions-sink.json
@@ -1,29 +1,23 @@
 {
 	"connector": {
-		"class": "org.apache.camel.kafkaconnector.googlebigquerysql.CamelGooglebigquerysqlSinkConnector",
-		"artifactId": "camel-google-bigquery-sql-kafka-connector",
+		"class": "org.apache.camel.kafkaconnector.googlefunctions.CamelGooglefunctionsSinkConnector",
+		"artifactId": "camel-google-functions-kafka-connector",
 		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-google-bigquery-sql-sink",
+		"id": "camel-google-functions-sink",
 		"type": "sink",
 		"version": "0.9.0-SNAPSHOT",
-		"description": "Access Google Cloud BigQuery service using SQL queries."
+		"description": "Store and retrieve objects from Google Cloud Functions Service using the google-cloud-storage library."
 	},
 	"properties": {
-		"camel.sink.path.query": {
-			"name": "camel.sink.path.query",
-			"description": "BigQuery standard SQL query",
+		"camel.sink.path.functionName": {
+			"name": "camel.sink.path.functionName",
+			"description": "The user-defined name of the function",
 			"priority": "HIGH",
 			"required": "true"
 		},
-		"camel.sink.path.projectId": {
-			"name": "camel.sink.path.projectId",
-			"description": "Google Cloud Project Id",
-			"priority": "HIGH",
-			"required": "true"
-		},
-		"camel.sink.endpoint.connectionFactory": {
-			"name": "camel.sink.endpoint.connectionFactory",
-			"description": "ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",
+		"camel.sink.endpoint.serviceAccountKey": {
+			"name": "camel.sink.endpoint.serviceAccountKey",
+			"description": "Service account key to authenticate an application as a service account",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
@@ -34,31 +28,60 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.connectionFactory": {
-			"name": "camel.component.google-bigquery-sql.connectionFactory",
-			"description": "ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",
+		"camel.sink.endpoint.location": {
+			"name": "camel.sink.endpoint.location",
+			"description": "The Google Cloud Location (Region) where the Function is located",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.lazyStartProducer": {
-			"name": "camel.component.google-bigquery-sql.lazyStartProducer",
-			"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 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 starting the pr [...]
+		"camel.sink.endpoint.operation": {
+			"name": "camel.sink.endpoint.operation",
+			"description": "The operation to perform on the producer. One of: [listFunctions] [getFunction] [callFunction] [generateDownloadUrl] [generateUploadUrl] [createFunction] [updateFunction] [deleteFunction]",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"listFunctions",
+				"getFunction",
+				"callFunction",
+				"generateDownloadUrl",
+				"generateUploadUrl",
+				"createFunction",
+				"updateFunction",
+				"deleteFunction"
+			]
+		},
+		"camel.sink.endpoint.pojoRequest": {
+			"name": "camel.sink.endpoint.pojoRequest",
+			"description": "Specifies if the request is a pojo request",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.projectId": {
-			"name": "camel.component.google-bigquery-sql.projectId",
-			"description": "Google Cloud Project Id",
+		"camel.sink.endpoint.project": {
+			"name": "camel.sink.endpoint.project",
+			"description": "The Google Cloud Project name where the Function is located",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.client": {
+			"name": "camel.sink.endpoint.client",
+			"description": "The client to use during service invocation.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-functions.lazyStartProducer": {
+			"name": "camel.component.google-functions.lazyStartProducer",
+			"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 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 starting the pr [...]
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.google-bigquery-sql.autowiredEnabled": {
-			"name": "camel.component.google-bigquery-sql.autowiredEnabled",
+		"camel.component.google-functions.autowiredEnabled": {
+			"name": "camel.component.google-functions.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/assembly/package.xml b/connectors/camel-google-functions-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..05f0b1a
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/src/main/docs</directory>
+      <outputDirectory>docs/</outputDirectory>
+      <includes>
+        <include>**/*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/docs/camel-google-functions-kafka-sink-connector.adoc b/connectors/camel-google-functions-kafka-connector/src/main/docs/camel-google-functions-kafka-sink-connector.adoc
new file mode 100644
index 0000000..6a46ba4
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/docs/camel-google-functions-kafka-sink-connector.adoc
@@ -0,0 +1,65 @@
+// kafka-connector options: START
+[[camel-google-functions-kafka-connector-sink]]
+= camel-google-functions-kafka-connector sink configuration
+
+Connector Description: Store and retrieve objects from Google Cloud Functions Service using the google-cloud-storage library.
+
+When using camel-google-functions-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-google-functions-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.googlefunctions.CamelGooglefunctionsSinkConnector
+----
+
+
+The camel-google-functions sink connector supports 10 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.functionName* | The user-defined name of the function | null | true | HIGH
+| *camel.sink.endpoint.serviceAccountKey* | Service account key to authenticate an application as a service account | null | false | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.location* | The Google Cloud Location (Region) where the Function is located | null | false | MEDIUM
+| *camel.sink.endpoint.operation* | The operation to perform on the producer. One of: [listFunctions] [getFunction] [callFunction] [generateDownloadUrl] [generateUploadUrl] [createFunction] [updateFunction] [deleteFunction] | null | false | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | Specifies if the request is a pojo request | false | false | MEDIUM
+| *camel.sink.endpoint.project* | The Google Cloud Project name where the Function is located | null | false | MEDIUM
+| *camel.sink.endpoint.client* | The client to use during service invocation. | null | false | MEDIUM
+| *camel.component.google-functions.lazyStartProducer* | 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 proce [...]
+| *camel.component.google-functions.autowiredEnabled* | 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 | false | MEDIUM
+|===
+
+
+
+The camel-google-functions sink connector has no converters out of the box.
+
+
+
+
+
+The camel-google-functions sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-google-functions sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/docs/examples/CamelGooglefunctionsSinkConnector.properties b/connectors/camel-google-functions-kafka-connector/src/main/docs/examples/CamelGooglefunctionsSinkConnector.properties
new file mode 100644
index 0000000..96231c0
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/docs/examples/CamelGooglefunctionsSinkConnector.properties
@@ -0,0 +1,33 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+name=CamelGoogle-functionsSinkConnector
+connector.class=org.apache.camel.kafkaconnector.googlefunctions.CamelGooglefunctionsSinkConnector
+tasks.max=1
+
+# use the kafka converters that better suit your needs, these are just defaults:
+key.converter=org.apache.kafka.connect.storage.StringConverter
+value.converter=org.apache.kafka.connect.storage.StringConverter
+
+# comma separated topics to get messages from
+topics=
+
+# mandatory properties (for a complete properties list see the connector documentation):
+
+# The user-defined name of the function
+camel.sink.path.functionName=
+
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkConnector.java b/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkConnector.java
new file mode 100644
index 0000000..7b160fc
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlefunctions;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglefunctionsSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelGooglefunctionsSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelGooglefunctionsSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkConnectorConfig.java b/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkConnectorConfig.java
new file mode 100644
index 0000000..eac38cb
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkConnectorConfig.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlefunctions;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglefunctionsSinkConnectorConfig
+        extends
+            CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_PATH_FUNCTION_NAME_CONF = "camel.sink.path.functionName";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_PATH_FUNCTION_NAME_DOC = "The user-defined name of the function";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_PATH_FUNCTION_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_SERVICE_ACCOUNT_KEY_CONF = "camel.sink.endpoint.serviceAccountKey";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_SERVICE_ACCOUNT_KEY_DOC = "Service account key to authenticate an application as a service account";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_SERVICE_ACCOUNT_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LAZY_START_PRODUCER_DOC = "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 [...]
+    public static final Boolean CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LOCATION_CONF = "camel.sink.endpoint.location";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LOCATION_DOC = "The Google Cloud Location (Region) where the Function is located";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LOCATION_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_OPERATION_DOC = "The operation to perform on the producer. One of: [listFunctions] [getFunction] [callFunction] [generateDownloadUrl] [generateUploadUrl] [createFunction] [updateFunction] [deleteFunction]";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_POJO_REQUEST_DOC = "Specifies if the request is a pojo request";
+    public static final Boolean CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_POJO_REQUEST_DEFAULT = false;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_PROJECT_CONF = "camel.sink.endpoint.project";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_PROJECT_DOC = "The Google Cloud Project name where the Function is located";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_PROJECT_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_CLIENT_CONF = "camel.sink.endpoint.client";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_CLIENT_DOC = "The client to use during service invocation.";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.google-functions.lazyStartProducer";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_LAZY_START_PRODUCER_DOC = "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. Bewar [...]
+    public static final Boolean CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_AUTOWIRED_ENABLED_CONF = "camel.component.google-functions.autowiredEnabled";
+    public static final String CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_AUTOWIRED_ENABLED_DOC = "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.";
+    public static final Boolean CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_AUTOWIRED_ENABLED_DEFAULT = true;
+
+    public CamelGooglefunctionsSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelGooglefunctionsSinkConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_PATH_FUNCTION_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLEFUNCTIONS_PATH_FUNCTION_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_GOOGLEFUNCTIONS_PATH_FUNCTION_NAME_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_SERVICE_ACCOUNT_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_SERVICE_ACCOUNT_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_SERVICE_ACCOUNT_KEY_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LOCATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LOCATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_LOCATION_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_POJO_REQUEST_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_PROJECT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_PROJECT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_PROJECT_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_ENDPOINT_CLIENT_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_AUTOWIRED_ENABLED_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLEFUNCTIONS_COMPONENT_AUTOWIRED_ENABLED_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkTask.java b/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkTask.java
new file mode 100644
index 0000000..6268b85
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctions/CamelGooglefunctionsSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlefunctions;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglefunctionsSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelGooglefunctionsSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "google-functions");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-google-functions-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/connectors/camel-google-functions-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-google-functions-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-google-functions-kafka-connector/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/connectors/camel-google-storage-kafka-connector/pom.xml b/connectors/camel-google-storage-kafka-connector/pom.xml
new file mode 100644
index 0000000..4472e10
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/pom.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-google-storage-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: google-storage</name>
+  <description>Camel Kafka Connector for google-storage</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-google-storage</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-jackson</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-google-storage-kafka-connector/src/generated/descriptors/connector-sink.properties b/connectors/camel-google-storage-kafka-connector/src/generated/descriptors/connector-sink.properties
new file mode 100644
index 0000000..e0f34c1
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/generated/descriptors/connector-sink.properties
@@ -0,0 +1 @@
+camel-google-storage-sink
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/generated/descriptors/connector-source.properties b/connectors/camel-google-storage-kafka-connector/src/generated/descriptors/connector-source.properties
new file mode 100644
index 0000000..dda489b
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/generated/descriptors/connector-source.properties
@@ -0,0 +1 @@
+camel-google-storage-source
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/generated/resources/camel-google-storage-sink.json b/connectors/camel-google-storage-kafka-connector/src/generated/resources/camel-google-storage-sink.json
new file mode 100644
index 0000000..2b14c85
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/generated/resources/camel-google-storage-sink.json
@@ -0,0 +1,154 @@
+{
+	"connector": {
+		"class": "org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSinkConnector",
+		"artifactId": "camel-google-storage-kafka-connector",
+		"groupId": "org.apache.camel.kafkaconnector",
+		"id": "camel-google-storage-sink",
+		"type": "sink",
+		"version": "0.9.0-SNAPSHOT",
+		"description": "Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library."
+	},
+	"properties": {
+		"camel.sink.path.bucketName": {
+			"name": "camel.sink.path.bucketName",
+			"description": "Bucket name or ARN",
+			"priority": "HIGH",
+			"required": "true"
+		},
+		"camel.sink.endpoint.autoCreateBucket": {
+			"name": "camel.sink.endpoint.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.serviceAccountKey": {
+			"name": "camel.sink.endpoint.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.storageClass": {
+			"name": "camel.sink.endpoint.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.storageClient": {
+			"name": "camel.sink.endpoint.storageClient",
+			"description": "The storage client",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.storageLocation": {
+			"name": "camel.sink.endpoint.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.lazyStartProducer": {
+			"name": "camel.sink.endpoint.lazyStartProducer",
+			"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 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 starting the pr [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.objectName": {
+			"name": "camel.sink.endpoint.objectName",
+			"description": "The Object name inside the bucket",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.operation": {
+			"name": "camel.sink.endpoint.operation",
+			"description": "Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink]",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"copyObject",
+				"listObjects",
+				"deleteObject",
+				"deleteBucket",
+				"listBuckets",
+				"getObject",
+				"createDownloadLink"
+			]
+		},
+		"camel.component.google-storage.autoCreateBucket": {
+			"name": "camel.component.google-storage.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.configuration": {
+			"name": "camel.component.google-storage.configuration",
+			"description": "The component configuration",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.serviceAccountKey": {
+			"name": "camel.component.google-storage.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.storageClass": {
+			"name": "camel.component.google-storage.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.storageClient": {
+			"name": "camel.component.google-storage.storageClient",
+			"description": "The storage client",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.storageLocation": {
+			"name": "camel.component.google-storage.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.lazyStartProducer": {
+			"name": "camel.component.google-storage.lazyStartProducer",
+			"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 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 starting the pr [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.objectName": {
+			"name": "camel.component.google-storage.objectName",
+			"description": "The Object name inside the bucket",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.google-storage.operation": {
+			"name": "camel.component.google-storage.operation",
+			"description": "Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink]",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"copyObject",
+				"listObjects",
+				"deleteObject",
+				"deleteBucket",
+				"listBuckets",
+				"getObject",
+				"createDownloadLink"
+			]
+		},
+		"camel.component.google-storage.autowiredEnabled": {
+			"name": "camel.component.google-storage.autowiredEnabled",
+			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		}
+	}
+}
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json b/connectors/camel-google-storage-kafka-connector/src/generated/resources/camel-google-storage-source.json
similarity index 58%
copy from camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json
copy to connectors/camel-google-storage-kafka-connector/src/generated/resources/camel-google-storage-source.json
index 055f135..c7e7297 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-aws2-ddbstream-source.json
+++ b/connectors/camel-google-storage-kafka-connector/src/generated/resources/camel-google-storage-source.json
@@ -1,98 +1,97 @@
 {
 	"connector": {
-		"class": "org.apache.camel.kafkaconnector.aws2ddbstream.CamelAws2ddbstreamSourceConnector",
-		"artifactId": "camel-aws2-ddbstream-kafka-connector",
+		"class": "org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSourceConnector",
+		"artifactId": "camel-google-storage-kafka-connector",
 		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-aws2-ddbstream-source",
+		"id": "camel-google-storage-source",
 		"type": "source",
 		"version": "0.9.0-SNAPSHOT",
-		"description": "Receive messages from AWS DynamoDB Stream service using AWS SDK version 2.x."
+		"description": "Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library."
 	},
 	"properties": {
-		"camel.source.path.tableName": {
-			"name": "camel.source.path.tableName",
-			"description": "Name of the dynamodb table",
+		"camel.source.path.bucketName": {
+			"name": "camel.source.path.bucketName",
+			"description": "Bucket name or ARN",
 			"priority": "HIGH",
 			"required": "true"
 		},
-		"camel.source.endpoint.amazonDynamoDbStreamsClient": {
-			"name": "camel.source.endpoint.amazonDynamoDbStreamsClient",
-			"description": "Amazon DynamoDB client to use for all requests for this endpoint",
+		"camel.source.endpoint.autoCreateBucket": {
+			"name": "camel.source.endpoint.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.bridgeErrorHandler": {
-			"name": "camel.source.endpoint.bridgeErrorHandler",
-			"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 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.",
-			"defaultValue": "false",
+		"camel.source.endpoint.serviceAccountKey": {
+			"name": "camel.source.endpoint.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.iteratorType": {
-			"name": "camel.source.endpoint.iteratorType",
-			"description": "Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if {AT,AFTER}_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. One of: [TRIM_HORIZON] [LATEST] [AT_SEQUENCE_NUMBER] [AFTER_SEQUENCE_NUMBER] [null]",
-			"defaultValue": "\"LATEST\"",
+		"camel.source.endpoint.storageClass": {
+			"name": "camel.source.endpoint.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
 			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"TRIM_HORIZON",
-				"LATEST",
-				"AT_SEQUENCE_NUMBER",
-				"AFTER_SEQUENCE_NUMBER",
-				"null"
-			]
+			"required": "false"
 		},
-		"camel.source.endpoint.maxResultsPerRequest": {
-			"name": "camel.source.endpoint.maxResultsPerRequest",
-			"description": "Maximum number of records that will be fetched in each poll",
+		"camel.source.endpoint.storageClient": {
+			"name": "camel.source.endpoint.storageClient",
+			"description": "The storage client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.proxyHost": {
-			"name": "camel.source.endpoint.proxyHost",
-			"description": "To define a proxy host when instantiating the DDBStreams client",
+		"camel.source.endpoint.storageLocation": {
+			"name": "camel.source.endpoint.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.bridgeErrorHandler": {
+			"name": "camel.source.endpoint.bridgeErrorHandler",
+			"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 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.",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.proxyPort": {
-			"name": "camel.source.endpoint.proxyPort",
-			"description": "To define a proxy port when instantiating the DDBStreams client",
+		"camel.source.endpoint.deleteAfterRead": {
+			"name": "camel.source.endpoint.deleteAfterRead",
+			"description": "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.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.proxyProtocol": {
-			"name": "camel.source.endpoint.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the DDBStreams client One of: [HTTP] [HTTPS]",
-			"defaultValue": "\"HTTPS\"",
+		"camel.source.endpoint.destinationBucket": {
+			"name": "camel.source.endpoint.destinationBucket",
+			"description": "Define the destination bucket where an object must be moved when moveAfterRead is set to true.",
 			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"HTTP",
-				"HTTPS"
-			]
+			"required": "false"
 		},
-		"camel.source.endpoint.region": {
-			"name": "camel.source.endpoint.region",
-			"description": "The region in which DDBStreams client needs to work",
+		"camel.source.endpoint.includeBody": {
+			"name": "camel.source.endpoint.includeBody",
+			"description": "If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.sendEmptyMessageWhenIdle": {
-			"name": "camel.source.endpoint.sendEmptyMessageWhenIdle",
-			"description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",
-			"defaultValue": "false",
+		"camel.source.endpoint.includeFolders": {
+			"name": "camel.source.endpoint.includeFolders",
+			"description": "If it is true, the folders\/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.sequenceNumberProvider": {
-			"name": "camel.source.endpoint.sequenceNumberProvider",
-			"description": "Provider for the sequence number when using one of the two ShardIteratorType.{AT,AFTER}_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number.",
+		"camel.source.endpoint.moveAfterRead": {
+			"name": "camel.source.endpoint.moveAfterRead",
+			"description": "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.",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.trustAllCertificates": {
-			"name": "camel.source.endpoint.trustAllCertificates",
-			"description": "If we want to trust all certificates in case of overriding the endpoint",
+		"camel.source.endpoint.sendEmptyMessageWhenIdle": {
+			"name": "camel.source.endpoint.sendEmptyMessageWhenIdle",
+			"description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
@@ -230,117 +229,92 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.accessKey": {
-			"name": "camel.source.endpoint.accessKey",
-			"description": "Amazon AWS Access Key",
+		"camel.component.google-storage.autoCreateBucket": {
+			"name": "camel.component.google-storage.autoCreateBucket",
+			"description": "Setting the autocreation of the bucket bucketName.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.secretKey": {
-			"name": "camel.source.endpoint.secretKey",
-			"description": "Amazon AWS Secret Key",
+		"camel.component.google-storage.configuration": {
+			"name": "camel.component.google-storage.configuration",
+			"description": "The component configuration",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.amazonDynamoDbStreamsClient": {
-			"name": "camel.component.aws2-ddbstream.amazonDynamoDbStreamsClient",
-			"description": "Amazon DynamoDB client to use for all requests for this endpoint",
+		"camel.component.google-storage.serviceAccountKey": {
+			"name": "camel.component.google-storage.serviceAccountKey",
+			"description": "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.bridgeErrorHandler": {
-			"name": "camel.component.aws2-ddbstream.bridgeErrorHandler",
-			"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 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.",
-			"defaultValue": "false",
+		"camel.component.google-storage.storageClass": {
+			"name": "camel.component.google-storage.storageClass",
+			"description": "The Cloud Storage class to use when creating the new buckets",
+			"defaultValue": "\"STANDARD\"",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.configuration": {
-			"name": "camel.component.aws2-ddbstream.configuration",
-			"description": "The component configuration",
+		"camel.component.google-storage.storageClient": {
+			"name": "camel.component.google-storage.storageClient",
+			"description": "The storage client",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.iteratorType": {
-			"name": "camel.component.aws2-ddbstream.iteratorType",
-			"description": "Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if {AT,AFTER}_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. One of: [TRIM_HORIZON] [LATEST] [AT_SEQUENCE_NUMBER] [AFTER_SEQUENCE_NUMBER] [null]",
-			"defaultValue": "\"LATEST\"",
-			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"TRIM_HORIZON",
-				"LATEST",
-				"AT_SEQUENCE_NUMBER",
-				"AFTER_SEQUENCE_NUMBER",
-				"null"
-			]
-		},
-		"camel.component.aws2-ddbstream.maxResultsPerRequest": {
-			"name": "camel.component.aws2-ddbstream.maxResultsPerRequest",
-			"description": "Maximum number of records that will be fetched in each poll",
+		"camel.component.google-storage.storageLocation": {
+			"name": "camel.component.google-storage.storageLocation",
+			"description": "The Cloud Storage location to use when creating the new buckets",
+			"defaultValue": "\"US-EAST1\"",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.proxyHost": {
-			"name": "camel.component.aws2-ddbstream.proxyHost",
-			"description": "To define a proxy host when instantiating the DDBStreams client",
+		"camel.component.google-storage.bridgeErrorHandler": {
+			"name": "camel.component.google-storage.bridgeErrorHandler",
+			"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 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.",
+			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.proxyPort": {
-			"name": "camel.component.aws2-ddbstream.proxyPort",
-			"description": "To define a proxy port when instantiating the DDBStreams client",
+		"camel.component.google-storage.deleteAfterRead": {
+			"name": "camel.component.google-storage.deleteAfterRead",
+			"description": "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.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.proxyProtocol": {
-			"name": "camel.component.aws2-ddbstream.proxyProtocol",
-			"description": "To define a proxy protocol when instantiating the DDBStreams client One of: [HTTP] [HTTPS]",
-			"defaultValue": "\"HTTPS\"",
+		"camel.component.google-storage.destinationBucket": {
+			"name": "camel.component.google-storage.destinationBucket",
+			"description": "Define the destination bucket where an object must be moved when moveAfterRead is set to true.",
 			"priority": "MEDIUM",
-			"required": "false",
-			"enum": [
-				"HTTP",
-				"HTTPS"
-			]
+			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.region": {
-			"name": "camel.component.aws2-ddbstream.region",
-			"description": "The region in which DDBStreams client needs to work",
+		"camel.component.google-storage.includeBody": {
+			"name": "camel.component.google-storage.includeBody",
+			"description": "If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.sequenceNumberProvider": {
-			"name": "camel.component.aws2-ddbstream.sequenceNumberProvider",
-			"description": "Provider for the sequence number when using one of the two ShardIteratorType.{AT,AFTER}_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number.",
+		"camel.component.google-storage.includeFolders": {
+			"name": "camel.component.google-storage.includeFolders",
+			"description": "If it is true, the folders\/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",
+			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.trustAllCertificates": {
-			"name": "camel.component.aws2-ddbstream.trustAllCertificates",
-			"description": "If we want to trust all certificates in case of overriding the endpoint",
+		"camel.component.google-storage.moveAfterRead": {
+			"name": "camel.component.google-storage.moveAfterRead",
+			"description": "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.",
 			"defaultValue": "false",
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.component.aws2-ddbstream.autowiredEnabled": {
-			"name": "camel.component.aws2-ddbstream.autowiredEnabled",
+		"camel.component.google-storage.autowiredEnabled": {
+			"name": "camel.component.google-storage.autowiredEnabled",
 			"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 then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
 			"defaultValue": "true",
 			"priority": "MEDIUM",
 			"required": "false"
-		},
-		"camel.component.aws2-ddbstream.accessKey": {
-			"name": "camel.component.aws2-ddbstream.accessKey",
-			"description": "Amazon AWS Access Key",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.component.aws2-ddbstream.secretKey": {
-			"name": "camel.component.aws2-ddbstream.secretKey",
-			"description": "Amazon AWS Secret Key",
-			"priority": "MEDIUM",
-			"required": "false"
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/assembly/package.xml b/connectors/camel-google-storage-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..05f0b1a
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/src/main/docs</directory>
+      <outputDirectory>docs/</outputDirectory>
+      <includes>
+        <include>**/*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/docs/camel-google-storage-kafka-sink-connector.adoc b/connectors/camel-google-storage-kafka-connector/src/main/docs/camel-google-storage-kafka-sink-connector.adoc
new file mode 100644
index 0000000..585f20b
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/docs/camel-google-storage-kafka-sink-connector.adoc
@@ -0,0 +1,74 @@
+// kafka-connector options: START
+[[camel-google-storage-kafka-connector-sink]]
+= camel-google-storage-kafka-connector sink configuration
+
+Connector Description: Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library.
+
+When using camel-google-storage-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-google-storage-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSinkConnector
+----
+
+
+The camel-google-storage sink connector supports 19 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.bucketName* | Bucket name or ARN | null | true | HIGH
+| *camel.sink.endpoint.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.sink.endpoint.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.sink.endpoint.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.sink.endpoint.storageClient* | The storage client | null | false | MEDIUM
+| *camel.sink.endpoint.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.objectName* | The Object name inside the bucket | null | false | MEDIUM
+| *camel.sink.endpoint.operation* | Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink] | null | false | MEDIUM
+| *camel.component.google-storage.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.component.google-storage.configuration* | The component configuration | null | false | MEDIUM
+| *camel.component.google-storage.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.component.google-storage.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.component.google-storage.storageClient* | The storage client | null | false | MEDIUM
+| *camel.component.google-storage.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.component.google-storage.lazyStartProducer* | 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 process [...]
+| *camel.component.google-storage.objectName* | The Object name inside the bucket | null | false | MEDIUM
+| *camel.component.google-storage.operation* | Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink] | null | false | MEDIUM
+| *camel.component.google-storage.autowiredEnabled* | 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 | false | MEDIUM
+|===
+
+
+
+The camel-google-storage sink connector has no converters out of the box.
+
+
+
+
+
+The camel-google-storage sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-google-storage sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/docs/camel-google-storage-kafka-source-connector.adoc b/connectors/camel-google-storage-kafka-connector/src/main/docs/camel-google-storage-kafka-source-connector.adoc
new file mode 100644
index 0000000..df9b7fe
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/docs/camel-google-storage-kafka-source-connector.adoc
@@ -0,0 +1,98 @@
+// kafka-connector options: START
+[[camel-google-storage-kafka-connector-source]]
+= camel-google-storage-kafka-connector source configuration
+
+Connector description: Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library.
+
+When using camel-google-storage-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-google-storage-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Source connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSourceConnector
+----
+
+
+The camel-google-storage source connector supports 43 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.source.path.bucketName* | Bucket name or ARN | null | true | HIGH
+| *camel.source.endpoint.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.source.endpoint.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.source.endpoint.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.source.endpoint.storageClient* | The storage client | null | false | MEDIUM
+| *camel.source.endpoint.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.source.endpoint.bridgeErrorHandler* | 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 | false | MEDIUM
+| *camel.source.endpoint.deleteAfterRead* | 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 | false | MEDIUM
+| *camel.source.endpoint.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | false | MEDIUM
+| *camel.source.endpoint.includeBody* | If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata. | true | false | MEDIUM
+| *camel.source.endpoint.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | false | MEDIUM
+| *camel.source.endpoint.moveAfterRead* | 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 | false | MEDIUM
+| *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | false | MEDIUM
+| *camel.source.endpoint.exceptionHandler* | 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. | null | false | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | false | MEDIUM
+| *camel.source.endpoint.pollStrategy* | 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. | null | false | MEDIUM
+| *camel.source.endpoint.backoffErrorThreshold* | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. | null | false | MEDIUM
+| *camel.source.endpoint.backoffIdleThreshold* | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. | null | false | MEDIUM
+| *camel.source.endpoint.backoffMultiplier* | 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. | null | false | MEDIUM
+| *camel.source.endpoint.delay* | Milliseconds before the next poll. | 500L | false | MEDIUM
+| *camel.source.endpoint.greedy* | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | false | MEDIUM
+| *camel.source.endpoint.initialDelay* | Milliseconds before the first poll starts. | 1000L | false | MEDIUM
+| *camel.source.endpoint.repeatCount* | Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever. | 0L | false | MEDIUM
+| *camel.source.endpoint.runLoggingLevel* | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "TRACE" | false | MEDIUM
+| *camel.source.endpoint.scheduledExecutorService* | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. | null | false | MEDIUM
+| *camel.source.endpoint.scheduler* | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | "none" | false | MEDIUM
+| *camel.source.endpoint.schedulerProperties* | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. | null | false | MEDIUM
+| *camel.source.endpoint.startScheduler* | Whether the scheduler should be auto started. | true | false | MEDIUM
+| *camel.source.endpoint.timeUnit* | Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS] | "MILLISECONDS" | false | MEDIUM
+| *camel.source.endpoint.useFixedDelay* | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | false | MEDIUM
+| *camel.component.google-storage.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.component.google-storage.configuration* | The component configuration | null | false | MEDIUM
+| *camel.component.google-storage.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.component.google-storage.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.component.google-storage.storageClient* | The storage client | null | false | MEDIUM
+| *camel.component.google-storage.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.component.google-storage.bridgeErrorHandler* | 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 | false | MEDIUM
+| *camel.component.google-storage.deleteAfterRead* | 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 | false | MEDIUM
+| *camel.component.google-storage.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | false | MEDIUM
+| *camel.component.google-storage.includeBody* | If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata. | true | false | MEDIUM
+| *camel.component.google-storage.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | false | MEDIUM
+| *camel.component.google-storage.moveAfterRead* | 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 | false | MEDIUM
+| *camel.component.google-storage.autowiredEnabled* | 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 | false | MEDIUM
+|===
+
+
+
+The camel-google-storage source connector has no converters out of the box.
+
+
+
+
+
+The camel-google-storage source connector has no transforms out of the box.
+
+
+
+
+
+The camel-google-storage source connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/docs/examples/CamelGooglestorageSinkConnector.properties b/connectors/camel-google-storage-kafka-connector/src/main/docs/examples/CamelGooglestorageSinkConnector.properties
new file mode 100644
index 0000000..8b83f91
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/docs/examples/CamelGooglestorageSinkConnector.properties
@@ -0,0 +1,33 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+name=CamelGoogle-storageSinkConnector
+connector.class=org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSinkConnector
+tasks.max=1
+
+# use the kafka converters that better suit your needs, these are just defaults:
+key.converter=org.apache.kafka.connect.storage.StringConverter
+value.converter=org.apache.kafka.connect.storage.StringConverter
+
+# comma separated topics to get messages from
+topics=
+
+# mandatory properties (for a complete properties list see the connector documentation):
+
+# Bucket name or ARN
+camel.sink.path.bucketName=
+
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/docs/examples/CamelGooglestorageSourceConnector.properties b/connectors/camel-google-storage-kafka-connector/src/main/docs/examples/CamelGooglestorageSourceConnector.properties
new file mode 100644
index 0000000..e81ca59
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/docs/examples/CamelGooglestorageSourceConnector.properties
@@ -0,0 +1,33 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+name=CamelGoogle-storageSourceConnector
+connector.class=org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSourceConnector
+tasks.max=1
+
+# use the kafka converters that better suit your needs, these are just defaults:
+key.converter=org.apache.kafka.connect.storage.StringConverter
+value.converter=org.apache.kafka.connect.storage.StringConverter
+
+# comma separated topics to send messages into
+topics=
+
+# mandatory properties (for a complete properties list see the connector documentation):
+
+# Bucket name or ARN
+camel.source.path.bucketName=
+
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkConnector.java b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkConnector.java
new file mode 100644
index 0000000..66f1ef6
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlestorage;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglestorageSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelGooglestorageSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelGooglestorageSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkConnectorConfig.java b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkConnectorConfig.java
new file mode 100644
index 0000000..107ba08
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkConnectorConfig.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlestorage;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglestorageSinkConnectorConfig
+        extends
+            CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_GOOGLESTORAGE_PATH_BUCKET_NAME_CONF = "camel.sink.path.bucketName";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_PATH_BUCKET_NAME_DOC = "Bucket name or ARN";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_PATH_BUCKET_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_CONF = "camel.sink.endpoint.autoCreateBucket";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DOC = "Setting the autocreation of the bucket bucketName.";
+    public static final Boolean CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DEFAULT = true;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_CONF = "camel.sink.endpoint.serviceAccountKey";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DOC = "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_CONF = "camel.sink.endpoint.storageClass";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DOC = "The Cloud Storage class to use when creating the new buckets";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DEFAULT = "STANDARD";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_CONF = "camel.sink.endpoint.storageClient";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DOC = "The storage client";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_CONF = "camel.sink.endpoint.storageLocation";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DOC = "The Cloud Storage location to use when creating the new buckets";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DEFAULT = "US-EAST1";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_LAZY_START_PRODUCER_DOC = "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 t [...]
+    public static final Boolean CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OBJECT_NAME_CONF = "camel.sink.endpoint.objectName";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OBJECT_NAME_DOC = "The Object name inside the bucket";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OBJECT_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OPERATION_DOC = "Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink]";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_CONF = "camel.component.google-storage.autoCreateBucket";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DOC = "Setting the autocreation of the bucket bucketName.";
+    public static final Boolean CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DEFAULT = true;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_CONFIGURATION_CONF = "camel.component.google-storage.configuration";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DOC = "The component configuration";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_CONF = "camel.component.google-storage.serviceAccountKey";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DOC = "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_CONF = "camel.component.google-storage.storageClass";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DOC = "The Cloud Storage class to use when creating the new buckets";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DEFAULT = "STANDARD";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_CONF = "camel.component.google-storage.storageClient";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DOC = "The storage client";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_CONF = "camel.component.google-storage.storageLocation";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DOC = "The Cloud Storage location to use when creating the new buckets";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DEFAULT = "US-EAST1";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.google-storage.lazyStartProducer";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_LAZY_START_PRODUCER_DOC = "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  [...]
+    public static final Boolean CAMEL_SINK_GOOGLESTORAGE_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OBJECT_NAME_CONF = "camel.component.google-storage.objectName";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OBJECT_NAME_DOC = "The Object name inside the bucket";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OBJECT_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OPERATION_CONF = "camel.component.google-storage.operation";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OPERATION_DOC = "Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink]";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_CONF = "camel.component.google-storage.autowiredEnabled";
+    public static final String CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DOC = "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.";
+    public static final Boolean CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DEFAULT = true;
+
+    public CamelGooglestorageSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelGooglestorageSinkConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_PATH_BUCKET_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_PATH_BUCKET_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_GOOGLESTORAGE_PATH_BUCKET_NAME_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OBJECT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OBJECT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OBJECT_NAME_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OBJECT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OBJECT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OBJECT_NAME_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkTask.java b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkTask.java
new file mode 100644
index 0000000..44b004b
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlestorage;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglestorageSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelGooglestorageSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "google-storage");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceConnector.java b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceConnector.java
new file mode 100644
index 0000000..2788c52
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceConnector.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlestorage;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglestorageSourceConnector extends CamelSourceConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelGooglestorageSourceConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelGooglestorageSourceTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceConnectorConfig.java b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceConnectorConfig.java
new file mode 100644
index 0000000..16d6d8d
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceConnectorConfig.java
@@ -0,0 +1,217 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlestorage;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglestorageSourceConnectorConfig
+        extends
+            CamelSourceConnectorConfig {
+
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_PATH_BUCKET_NAME_CONF = "camel.source.path.bucketName";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_PATH_BUCKET_NAME_DOC = "Bucket name or ARN";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_PATH_BUCKET_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_CONF = "camel.source.endpoint.autoCreateBucket";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DOC = "Setting the autocreation of the bucket bucketName.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_CONF = "camel.source.endpoint.serviceAccountKey";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DOC = "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_CONF = "camel.source.endpoint.storageClass";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DOC = "The Cloud Storage class to use when creating the new buckets";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DEFAULT = "STANDARD";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_CONF = "camel.source.endpoint.storageClient";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DOC = "The storage client";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_CONF = "camel.source.endpoint.storageLocation";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DOC = "The Cloud Storage location to use when creating the new buckets";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DEFAULT = "US-EAST1";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF = "camel.source.endpoint.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC = "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 a [...]
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELETE_AFTER_READ_CONF = "camel.source.endpoint.deleteAfterRead";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELETE_AFTER_READ_DOC = "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.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELETE_AFTER_READ_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DESTINATION_BUCKET_CONF = "camel.source.endpoint.destinationBucket";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DESTINATION_BUCKET_DOC = "Define the destination bucket where an object must be moved when moveAfterRead is set to true.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DESTINATION_BUCKET_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_BODY_CONF = "camel.source.endpoint.includeBody";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_BODY_DOC = "If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_BODY_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_FOLDERS_CONF = "camel.source.endpoint.includeFolders";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_FOLDERS_DOC = "If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_FOLDERS_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_MOVE_AFTER_READ_CONF = "camel.source.endpoint.moveAfterRead";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_MOVE_AFTER_READ_DOC = "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 static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_MOVE_AFTER_READ_DEFAULT = false;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_CONF = "camel.source.endpoint.sendEmptyMessageWhenIdle";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_DOC = "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_DEFAULT = false;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCEPTION_HANDLER_CONF = "camel.source.endpoint.exceptionHandler";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCEPTION_HANDLER_DOC = "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.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCEPTION_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCHANGE_PATTERN_CONF = "camel.source.endpoint.exchangePattern";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCHANGE_PATTERN_DOC = "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCHANGE_PATTERN_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_POLL_STRATEGY_CONF = "camel.source.endpoint.pollStrategy";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_POLL_STRATEGY_DOC = "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.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_POLL_STRATEGY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_ERROR_THRESHOLD_CONF = "camel.source.endpoint.backoffErrorThreshold";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_ERROR_THRESHOLD_DOC = "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.";
+    public static final Integer CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_ERROR_THRESHOLD_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_IDLE_THRESHOLD_CONF = "camel.source.endpoint.backoffIdleThreshold";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_IDLE_THRESHOLD_DOC = "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.";
+    public static final Integer CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_IDLE_THRESHOLD_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_MULTIPLIER_CONF = "camel.source.endpoint.backoffMultiplier";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_MULTIPLIER_DOC = "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.";
+    public static final Integer CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_MULTIPLIER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELAY_CONF = "camel.source.endpoint.delay";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELAY_DOC = "Milliseconds before the next poll.";
+    public static final Long CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELAY_DEFAULT = 500L;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_GREEDY_CONF = "camel.source.endpoint.greedy";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_GREEDY_DOC = "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_GREEDY_DEFAULT = false;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INITIAL_DELAY_CONF = "camel.source.endpoint.initialDelay";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INITIAL_DELAY_DOC = "Milliseconds before the first poll starts.";
+    public static final Long CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INITIAL_DELAY_DEFAULT = 1000L;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_REPEAT_COUNT_CONF = "camel.source.endpoint.repeatCount";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_REPEAT_COUNT_DOC = "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.";
+    public static final Long CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_REPEAT_COUNT_DEFAULT = 0L;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_RUN_LOGGING_LEVEL_CONF = "camel.source.endpoint.runLoggingLevel";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_RUN_LOGGING_LEVEL_DOC = "The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF]";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_RUN_LOGGING_LEVEL_DEFAULT = "TRACE";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULED_EXECUTOR_SERVICE_CONF = "camel.source.endpoint.scheduledExecutorService";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULED_EXECUTOR_SERVICE_DOC = "Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULED_EXECUTOR_SERVICE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_CONF = "camel.source.endpoint.scheduler";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_DOC = "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_DEFAULT = "none";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_PROPERTIES_CONF = "camel.source.endpoint.schedulerProperties";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_PROPERTIES_DOC = "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_PROPERTIES_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_START_SCHEDULER_CONF = "camel.source.endpoint.startScheduler";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_START_SCHEDULER_DOC = "Whether the scheduler should be auto started.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_START_SCHEDULER_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_TIME_UNIT_CONF = "camel.source.endpoint.timeUnit";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_TIME_UNIT_DOC = "Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS]";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_TIME_UNIT_DEFAULT = "MILLISECONDS";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_USE_FIXED_DELAY_CONF = "camel.source.endpoint.useFixedDelay";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_USE_FIXED_DELAY_DOC = "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_USE_FIXED_DELAY_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_CONF = "camel.component.google-storage.autoCreateBucket";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DOC = "Setting the autocreation of the bucket bucketName.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_CONFIGURATION_CONF = "camel.component.google-storage.configuration";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DOC = "The component configuration";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_CONF = "camel.component.google-storage.serviceAccountKey";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DOC = "The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_CONF = "camel.component.google-storage.storageClass";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DOC = "The Cloud Storage class to use when creating the new buckets";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DEFAULT = "STANDARD";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_CONF = "camel.component.google-storage.storageClient";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DOC = "The storage client";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_CONF = "camel.component.google-storage.storageLocation";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DOC = "The Cloud Storage location to use when creating the new buckets";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DEFAULT = "US-EAST1";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.google-storage.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "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  [...]
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DELETE_AFTER_READ_CONF = "camel.component.google-storage.deleteAfterRead";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DELETE_AFTER_READ_DOC = "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.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DELETE_AFTER_READ_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DESTINATION_BUCKET_CONF = "camel.component.google-storage.destinationBucket";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DESTINATION_BUCKET_DOC = "Define the destination bucket where an object must be moved when moveAfterRead is set to true.";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DESTINATION_BUCKET_DEFAULT = null;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_BODY_CONF = "camel.component.google-storage.includeBody";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_BODY_DOC = "If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_BODY_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_FOLDERS_CONF = "camel.component.google-storage.includeFolders";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_FOLDERS_DOC = "If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_FOLDERS_DEFAULT = true;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_MOVE_AFTER_READ_CONF = "camel.component.google-storage.moveAfterRead";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_MOVE_AFTER_READ_DOC = "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 static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_MOVE_AFTER_READ_DEFAULT = false;
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_CONF = "camel.component.google-storage.autowiredEnabled";
+    public static final String CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DOC = "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.";
+    public static final Boolean CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DEFAULT = true;
+
+    public CamelGooglestorageSourceConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelGooglestorageSourceConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSourceConnectorConfig.conf());
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_PATH_BUCKET_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_PATH_BUCKET_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_GOOGLESTORAGE_PATH_BUCKET_NAME_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_AUTO_CREATE_BUCKET_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SERVICE_ACCOUNT_KEY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLASS_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_CLIENT_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_STORAGE_LOCATION_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELETE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELETE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELETE_AFTER_READ_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DESTINATION_BUCKET_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DESTINATION_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DESTINATION_BUCKET_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_BODY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_BODY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_BODY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_FOLDERS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_FOLDERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INCLUDE_FOLDERS_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_MOVE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_MOVE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_MOVE_AFTER_READ_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCEPTION_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCHANGE_PATTERN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCHANGE_PATTERN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_EXCHANGE_PATTERN_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_POLL_STRATEGY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_POLL_STRATEGY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_POLL_STRATEGY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_ERROR_THRESHOLD_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_ERROR_THRESHOLD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_ERROR_THRESHOLD_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_IDLE_THRESHOLD_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_IDLE_THRESHOLD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_IDLE_THRESHOLD_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_MULTIPLIER_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_MULTIPLIER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_BACKOFF_MULTIPLIER_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELAY_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_DELAY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_GREEDY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_GREEDY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_GREEDY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INITIAL_DELAY_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INITIAL_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_INITIAL_DELAY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_REPEAT_COUNT_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_REPEAT_COUNT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_REPEAT_COUNT_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_RUN_LOGGING_LEVEL_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_RUN_LOGGING_LEVEL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_RUN_LOGGING_LEVEL_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULED_EXECUTOR_SERVICE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULED_EXECUTOR_SERVICE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULED_EXECUTOR_SERVICE_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_PROPERTIES_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_PROPERTIES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_SCHEDULER_PROPERTIES_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_START_SCHEDULER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_START_SCHEDULER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_START_SCHEDULER_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_TIME_UNIT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_TIME_UNIT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_TIME_UNIT_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_USE_FIXED_DELAY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_USE_FIXED_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_ENDPOINT_USE_FIXED_DELAY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTO_CREATE_BUCKET_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_CONFIGURATION_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_SERVICE_ACCOUNT_KEY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLASS_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_CLIENT_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_STORAGE_LOCATION_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DELETE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DELETE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DELETE_AFTER_READ_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DESTINATION_BUCKET_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DESTINATION_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_DESTINATION_BUCKET_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_BODY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_BODY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_BODY_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_FOLDERS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_FOLDERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_INCLUDE_FOLDERS_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_MOVE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_MOVE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_MOVE_AFTER_READ_DOC);
+        conf.define(CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_GOOGLESTORAGE_COMPONENT_AUTOWIRED_ENABLED_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceTask.java b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceTask.java
new file mode 100644
index 0000000..8194edc
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestorage/CamelGooglestorageSourceTask.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kafkaconnector.googlestorage;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSourceTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelGooglestorageSourceTask extends CamelSourceTask {
+
+    @Override
+    protected CamelSourceConnectorConfig getCamelSourceConnectorConfig(
+            Map<String, String> props) {
+        return new CamelGooglestorageSourceConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSourceConnectorConfig.CAMEL_SOURCE_COMPONENT_CONF, "google-storage");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-google-storage-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/connectors/camel-google-storage-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-google-storage-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-google-storage-kafka-connector/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws-secrets-manager-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws-secrets-manager-kafka-sink-connector.adoc
new file mode 100644
index 0000000..aba38cc
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-aws-secrets-manager-kafka-sink-connector.adoc
@@ -0,0 +1,86 @@
+// kafka-connector options: START
+[[camel-aws-secrets-manager-kafka-connector-sink]]
+= camel-aws-secrets-manager-kafka-connector sink configuration
+
+Connector Description: Manage AWS Secrets Manager services using AWS SDK version 2.x.
+
+When using camel-aws-secrets-manager-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-aws-secrets-manager-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.awssecretsmanager.CamelAwssecretsmanagerSinkConnector
+----
+
+
+The camel-aws-secrets-manager sink connector supports 31 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.label* | Logical name | null | true | HIGH
+| *camel.sink.endpoint.binaryPayload* | Set if the secret is binary or not | false | false | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.operation* | The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret] | null | true | HIGH
+| *camel.sink.endpoint.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | false | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | false | MEDIUM
+| *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS] | "HTTPS" | false | MEDIUM
+| *camel.sink.endpoint.region* | The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | false | MEDIUM
+| *camel.sink.endpoint.secretsManagerClient* | To use a existing configured AWS Secrets Manager as client | null | false | MEDIUM
+| *camel.sink.endpoint.trustAllCertificates* | If we want to trust all certificates in case of overriding the endpoint | false | false | MEDIUM
+| *camel.sink.endpoint.uriEndpointOverride* | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | null | false | MEDIUM
+| *camel.sink.endpoint.accessKey* | Amazon AWS Access Key | null | false | MEDIUM
+| *camel.sink.endpoint.secretKey* | Amazon AWS Secret Key | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.binaryPayload* | Set if the secret is binary or not | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.configuration* | Component configuration | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.lazyStart 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 p [...]
+| *camel.component.aws-secrets-manager.operation* | The operation to perform One of: [listSecrets] [createSecret] [getSecret] [describeSecret] [deleteSecret] [rotateSecret] [updateSecret] | null | true | HIGH
+| *camel.component.aws-secrets-manager.override Endpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.pojoRequest* | If we want to use a POJO request as body or not | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.proxyHost* | To define a proxy host when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.proxyPort* | To define a proxy port when instantiating the Secrets Manager client | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.proxyProtocol* | To define a proxy protocol when instantiating the Secrets Manager client One of: [HTTP] [HTTPS] | "HTTPS" | false | MEDIUM
+| *camel.component.aws-secrets-manager.region* | The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.secretsManager Client* | To use a existing configured AWS Secrets Manager as client | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.trustAll Certificates* | If we want to trust all certificates in case of overriding the endpoint | false | false | MEDIUM
+| *camel.component.aws-secrets-manager.uriEndpoint Override* | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.autowired Enabled* | 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 | false | MEDIUM
+| *camel.component.aws-secrets-manager.accessKey* | Amazon AWS Access Key | null | false | MEDIUM
+| *camel.component.aws-secrets-manager.secretKey* | Amazon AWS Secret Key | null | false | MEDIUM
+|===
+
+
+
+The camel-aws-secrets-manager sink connector has no converters out of the box.
+
+
+
+
+
+The camel-aws-secrets-manager sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-aws-secrets-manager sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-google-functions-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-google-functions-kafka-sink-connector.adoc
new file mode 100644
index 0000000..6a46ba4
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-google-functions-kafka-sink-connector.adoc
@@ -0,0 +1,65 @@
+// kafka-connector options: START
+[[camel-google-functions-kafka-connector-sink]]
+= camel-google-functions-kafka-connector sink configuration
+
+Connector Description: Store and retrieve objects from Google Cloud Functions Service using the google-cloud-storage library.
+
+When using camel-google-functions-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-google-functions-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.googlefunctions.CamelGooglefunctionsSinkConnector
+----
+
+
+The camel-google-functions sink connector supports 10 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.functionName* | The user-defined name of the function | null | true | HIGH
+| *camel.sink.endpoint.serviceAccountKey* | Service account key to authenticate an application as a service account | null | false | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.location* | The Google Cloud Location (Region) where the Function is located | null | false | MEDIUM
+| *camel.sink.endpoint.operation* | The operation to perform on the producer. One of: [listFunctions] [getFunction] [callFunction] [generateDownloadUrl] [generateUploadUrl] [createFunction] [updateFunction] [deleteFunction] | null | false | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | Specifies if the request is a pojo request | false | false | MEDIUM
+| *camel.sink.endpoint.project* | The Google Cloud Project name where the Function is located | null | false | MEDIUM
+| *camel.sink.endpoint.client* | The client to use during service invocation. | null | false | MEDIUM
+| *camel.component.google-functions.lazyStartProducer* | 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 proce [...]
+| *camel.component.google-functions.autowiredEnabled* | 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 | false | MEDIUM
+|===
+
+
+
+The camel-google-functions sink connector has no converters out of the box.
+
+
+
+
+
+The camel-google-functions sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-google-functions sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-google-storage-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-google-storage-kafka-sink-connector.adoc
new file mode 100644
index 0000000..585f20b
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-google-storage-kafka-sink-connector.adoc
@@ -0,0 +1,74 @@
+// kafka-connector options: START
+[[camel-google-storage-kafka-connector-sink]]
+= camel-google-storage-kafka-connector sink configuration
+
+Connector Description: Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library.
+
+When using camel-google-storage-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-google-storage-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSinkConnector
+----
+
+
+The camel-google-storage sink connector supports 19 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.bucketName* | Bucket name or ARN | null | true | HIGH
+| *camel.sink.endpoint.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.sink.endpoint.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.sink.endpoint.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.sink.endpoint.storageClient* | The storage client | null | false | MEDIUM
+| *camel.sink.endpoint.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.objectName* | The Object name inside the bucket | null | false | MEDIUM
+| *camel.sink.endpoint.operation* | Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink] | null | false | MEDIUM
+| *camel.component.google-storage.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.component.google-storage.configuration* | The component configuration | null | false | MEDIUM
+| *camel.component.google-storage.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.component.google-storage.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.component.google-storage.storageClient* | The storage client | null | false | MEDIUM
+| *camel.component.google-storage.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.component.google-storage.lazyStartProducer* | 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 process [...]
+| *camel.component.google-storage.objectName* | The Object name inside the bucket | null | false | MEDIUM
+| *camel.component.google-storage.operation* | Set the operation for the producer One of: [copyObject] [listObjects] [deleteObject] [deleteBucket] [listBuckets] [getObject] [createDownloadLink] | null | false | MEDIUM
+| *camel.component.google-storage.autowiredEnabled* | 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 | false | MEDIUM
+|===
+
+
+
+The camel-google-storage sink connector has no converters out of the box.
+
+
+
+
+
+The camel-google-storage sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-google-storage sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-google-storage-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-google-storage-kafka-source-connector.adoc
new file mode 100644
index 0000000..df9b7fe
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-google-storage-kafka-source-connector.adoc
@@ -0,0 +1,98 @@
+// kafka-connector options: START
+[[camel-google-storage-kafka-connector-source]]
+= camel-google-storage-kafka-connector source configuration
+
+Connector description: Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library.
+
+When using camel-google-storage-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-google-storage-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Source connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.googlestorage.CamelGooglestorageSourceConnector
+----
+
+
+The camel-google-storage source connector supports 43 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.source.path.bucketName* | Bucket name or ARN | null | true | HIGH
+| *camel.source.endpoint.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.source.endpoint.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.source.endpoint.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.source.endpoint.storageClient* | The storage client | null | false | MEDIUM
+| *camel.source.endpoint.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.source.endpoint.bridgeErrorHandler* | 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 | false | MEDIUM
+| *camel.source.endpoint.deleteAfterRead* | 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 | false | MEDIUM
+| *camel.source.endpoint.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | false | MEDIUM
+| *camel.source.endpoint.includeBody* | If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata. | true | false | MEDIUM
+| *camel.source.endpoint.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | false | MEDIUM
+| *camel.source.endpoint.moveAfterRead* | 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 | false | MEDIUM
+| *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | false | MEDIUM
+| *camel.source.endpoint.exceptionHandler* | 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. | null | false | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | false | MEDIUM
+| *camel.source.endpoint.pollStrategy* | 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. | null | false | MEDIUM
+| *camel.source.endpoint.backoffErrorThreshold* | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. | null | false | MEDIUM
+| *camel.source.endpoint.backoffIdleThreshold* | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. | null | false | MEDIUM
+| *camel.source.endpoint.backoffMultiplier* | 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. | null | false | MEDIUM
+| *camel.source.endpoint.delay* | Milliseconds before the next poll. | 500L | false | MEDIUM
+| *camel.source.endpoint.greedy* | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | false | MEDIUM
+| *camel.source.endpoint.initialDelay* | Milliseconds before the first poll starts. | 1000L | false | MEDIUM
+| *camel.source.endpoint.repeatCount* | Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever. | 0L | false | MEDIUM
+| *camel.source.endpoint.runLoggingLevel* | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "TRACE" | false | MEDIUM
+| *camel.source.endpoint.scheduledExecutorService* | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. | null | false | MEDIUM
+| *camel.source.endpoint.scheduler* | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | "none" | false | MEDIUM
+| *camel.source.endpoint.schedulerProperties* | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. | null | false | MEDIUM
+| *camel.source.endpoint.startScheduler* | Whether the scheduler should be auto started. | true | false | MEDIUM
+| *camel.source.endpoint.timeUnit* | Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS] | "MILLISECONDS" | false | MEDIUM
+| *camel.source.endpoint.useFixedDelay* | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | false | MEDIUM
+| *camel.component.google-storage.autoCreateBucket* | Setting the autocreation of the bucket bucketName. | true | false | MEDIUM
+| *camel.component.google-storage.configuration* | The component configuration | null | false | MEDIUM
+| *camel.component.google-storage.serviceAccountKey* | The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | false | MEDIUM
+| *camel.component.google-storage.storageClass* | The Cloud Storage class to use when creating the new buckets | "STANDARD" | false | MEDIUM
+| *camel.component.google-storage.storageClient* | The storage client | null | false | MEDIUM
+| *camel.component.google-storage.storageLocation* | The Cloud Storage location to use when creating the new buckets | "US-EAST1" | false | MEDIUM
+| *camel.component.google-storage.bridgeErrorHandler* | 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 | false | MEDIUM
+| *camel.component.google-storage.deleteAfterRead* | 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 | false | MEDIUM
+| *camel.component.google-storage.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | false | MEDIUM
+| *camel.component.google-storage.includeBody* | If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata. | true | false | MEDIUM
+| *camel.component.google-storage.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | false | MEDIUM
+| *camel.component.google-storage.moveAfterRead* | 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 | false | MEDIUM
+| *camel.component.google-storage.autowiredEnabled* | 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 | false | MEDIUM
+|===
+
+
+
+The camel-google-storage source connector has no converters out of the box.
+
+
+
+
+
+The camel-google-storage source connector has no transforms out of the box.
+
+
+
+
+
+The camel-google-storage source connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END