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 2022/10/14 10:11:18 UTC

[camel-kamelets] 03/04: Kamelets Enricher Maven Plugin for improving Kamelets metadata - Generate Headers Metadata for AWS Kamelets

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch enricher-maven-plugin
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git

commit 9a3f89284eee88c781f175886278554d7650b1c7
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Oct 14 12:07:24 2022 +0200

    Kamelets Enricher Maven Plugin for improving Kamelets metadata - Generate Headers Metadata for AWS Kamelets
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 kamelets/aws-ddb-sink.kamelet.yaml                 | 192 +++++++++++-------
 kamelets/aws-ec2-sink.kamelet.yaml                 | 169 ++++++++++------
 kamelets/aws-eventbridge-sink.kamelet.yaml         | 212 +++++++++++--------
 kamelets/aws-lambda-sink.kamelet.yaml              | 121 ++++++-----
 kamelets/aws-redshift-sink.kamelet.yaml            | 145 ++++++-------
 kamelets/aws-redshift-source.kamelet.yaml          | 143 ++++++-------
 kamelets/aws-s3-sink.kamelet.yaml                  |  33 +--
 kamelets/aws-s3-source.kamelet.yaml                |  26 +--
 kamelets/aws-s3-streaming-upload-sink.kamelet.yaml |  33 +--
 kamelets/aws-secrets-manager-sink.kamelet.yaml     | 149 +++++++++-----
 kamelets/aws-ses-sink.kamelet.yaml                 | 202 ++++++++++++-------
 kamelets/aws-sns-fifo-sink.kamelet.yaml            | 221 ++++++++++++--------
 kamelets/aws-sns-sink.kamelet.yaml                 | 173 +++++++++-------
 kamelets/aws-sqs-batch-sink.kamelet.yaml           | 181 ++++++++++-------
 kamelets/aws-sqs-fifo-sink.kamelet.yaml            | 224 +++++++++++++--------
 .../resources/kamelets/aws-ddb-sink.kamelet.yaml   | 192 +++++++++++-------
 .../resources/kamelets/aws-ec2-sink.kamelet.yaml   | 169 ++++++++++------
 .../kamelets/aws-eventbridge-sink.kamelet.yaml     | 212 +++++++++++--------
 .../kamelets/aws-lambda-sink.kamelet.yaml          | 121 ++++++-----
 .../kamelets/aws-redshift-sink.kamelet.yaml        | 145 ++++++-------
 .../kamelets/aws-redshift-source.kamelet.yaml      | 143 ++++++-------
 .../resources/kamelets/aws-s3-sink.kamelet.yaml    |  62 +-----
 .../resources/kamelets/aws-s3-source.kamelet.yaml  |  55 +----
 .../aws-s3-streaming-upload-sink.kamelet.yaml      |  62 +-----
 .../kamelets/aws-secrets-manager-sink.kamelet.yaml | 149 +++++++++-----
 .../resources/kamelets/aws-ses-sink.kamelet.yaml   | 202 ++++++++++++-------
 .../kamelets/aws-sns-fifo-sink.kamelet.yaml        | 221 ++++++++++++--------
 .../resources/kamelets/aws-sns-sink.kamelet.yaml   | 173 +++++++++-------
 .../kamelets/aws-sqs-batch-sink.kamelet.yaml       | 181 ++++++++++-------
 .../kamelets/aws-sqs-fifo-sink.kamelet.yaml        | 224 +++++++++++++--------
 .../resources/kamelets/aws-sqs-sink.kamelet.yaml   |   9 -
 31 files changed, 2620 insertions(+), 1924 deletions(-)

diff --git a/kamelets/aws-ddb-sink.kamelet.yaml b/kamelets/aws-ddb-sink.kamelet.yaml
index 5b603abf..51689b51 100644
--- a/kamelets/aws-ddb-sink.kamelet.yaml
+++ b/kamelets/aws-ddb-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-ddb-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,98 +25,145 @@ metadata:
     camel.apache.org/kamelet.group: "AWS DynamoDB Streams"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-ddb-sink"
+  headers:
+    CamelAwsDdbUpdateCondition: "Designates an attribute for a conditional modification."
+    CamelAwsDdbBatchItems: "A map of the table name and corresponding items to get by primary key."
+    CamelAwsDdbReturnValues: "Use this parameter if you want to get the attribute name-value pairs before or after they are modified(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW)."
+    CamelAwsDdbScanFilter: "Evaluates the scan results and returns only the desired values."
+    CamelAwsDdbUpdateValues: "Map of attribute name to the new value and action for the update."
+    CamelAwsDdbItem: "A map of the attributes for the item, and must include the primary key values that define the item."
+    CamelAwsDdbLimit: "The maximum number of items to return."
+    CamelAwsDdbAttributeNames: "If attribute names are not specified then all attributes will be returned."
+    CamelAwsDdbIndexName: "If set will be used as Secondary Index for Query operation."
+    CamelAwsDdbKeyConditions: "This header specify the selection criteria for the query, and merge together the two old headers CamelAwsDdbHashKeyValue and CamelAwsDdbScanRangeKeyCondition"
+    CamelAwsDdbStartKey: "Primary key of the item from which to continue an earlier query."
+    CamelAwsDdbTableName: "Table Name for this operation."
+    CamelAwsDdbConsistentRead: "If set to true, then a consistent read is issued, otherwise eventually consistent is used."
+    CamelAwsDdbScanIndexForward: "Specifies forward or backward traversal of the index."
+    CamelAwsDdbOperation: "The operation to perform."
+    CamelAwsDdbKey: "The primary key that uniquely identifies each item in a table."
 spec:
   definition:
-    title: "AWS DynamoDB Sink"
-    description: |-
-      Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table.
-
-      The basic authentication method for the AWS DynamoDB service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-
-      If you use the default credentials provider, the DynamoDB client loads the credentials through this provider and doesn't use the basic authentication method.
-
-      This Kamelet expects a JSON-formatted body and it must include the primary key values that define the DynamoDB item. The mapping between the JSON fields and table attribute values is done by key. For example, for  '{"username":"oscerd", "city":"Rome"}' input, the Kamelet inserts or update an item in the specified AWS DynamoDB table and sets the values for the 'username' and 'city' attributes. 
-    required:
-      - table
-      - region
-    type: object
+    description: "Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table.\n\nThe basic authentication method for the AWS DynamoDB service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the DynamoDB client loads the credentials through this provider and doesn't use the basic authentication me [...]
     properties:
       table:
-        title: Table
-        description: The name of the DynamoDB table.
-        type: string
+        description: "The name of the DynamoDB table."
+        title: "Table"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       operation:
-        title: Operation
+        default: "PutItem"
         description: "The operation to perform. The options are PutItem, UpdateItem, or DeleteItem."
-        type: string
-        default: PutItem
-        example: PutItem
+        example: "PutItem"
+        title: "Operation"
+        type: "string"
       writeCapacity:
-        title: Write Capacity
-        description: The provisioned throughput to reserve for writing resources to your table.
-        type: integer
         default: 1
+        description: "The provisioned throughput to reserve for writing resources to your table."
+        title: "Write Capacity"
+        type: "integer"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
-  types:
-    in:
-      mediaType: application/json
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "table"
+     - "region"
+    title: "AWS DynamoDB Sink"
+    type: "object"
   dependencies:
-  - github:apache.camel-kamelets:camel-kamelets-utils:main-SNAPSHOT
-  - "camel:core"
-  - "camel:jackson"
-  - "camel:aws2-ddb"
-  - "camel:kamelet"
+   - "github:apache.camel-kamelets:camel-kamelets-utils:main-SNAPSHOT"
+   - "camel:core"
+   - "camel:jackson"
+   - "camel:aws2-ddb"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - set-property:
-          name: operation
+       -
+        set-property:
+          name: "operation"
           constant: "{{operation}}"
-      - unmarshal:
+       -
+        unmarshal:
           json:
-            library: Jackson
-            unmarshalType: com.fasterxml.jackson.databind.JsonNode
-      - bean: "org.apache.camel.kamelets.utils.transform.aws.ddb.JsonToDdbModelConverter"
-      - to:
+            library: "Jackson"
+            unmarshalType: "com.fasterxml.jackson.databind.JsonNode"
+       -
+        bean: "org.apache.camel.kamelets.utils.transform.aws.ddb.JsonToDdbModelConverter"
+       -
+        to:
           uri: "aws2-ddb:{{table}}"
           parameters:
             secretKey: "{{?secretKey}}"
@@ -129,3 +174,6 @@ spec:
             useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
             uriEndpointOverride: "{{?uriEndpointOverride}}"
             overrideEndpoint: "{{overrideEndpoint}}"
+  types:
+    in:
+      mediaType: "application/json"
diff --git a/kamelets/aws-ec2-sink.kamelet.yaml b/kamelets/aws-ec2-sink.kamelet.yaml
index 4d8392cb..3c8bd581 100644
--- a/kamelets/aws-ec2-sink.kamelet.yaml
+++ b/kamelets/aws-ec2-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-ec2-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,84 +24,133 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS EC2"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-ec2-sink"
+  headers:
+    CamelAwsEC2InstancesClientToken: "Unique, case-sensitive identifier you provide to ensure the idempotency of the request."
+    CamelAwsEC2SubnetId: "The ID of the subnet to launch the instance into."
+    CamelAwsEC2InstanceEbsOptimized: "Define if the creating instance is optimized for EBS I/O."
+    CamelAwsEC2InstancesPlacement: "The placement for the instance."
+    CamelAwsEC2InstanceMinCount: "The minimum number of instances we want to run."
+    CamelAwsEC2InstanceMonitoring: "Define if we want the running instances to be monitored"
+    CamelAwsEC2ImageId: "An image ID of the AWS marketplace"
+    CamelAwsEC2InstanceSecurityGroups: "The security groups to associate to the instances"
+    CamelAwsEC2InstancesIds: "A collection of instances IDS to execute start, stop, describe and terminate operations on."
+    CamelAwsEC2InstanceKernelId: "The ID of the kernel."
+    CamelAwsEC2InstancesKeyPair: "The name of the key pair."
+    CamelAwsEC2Operation: "The operation we want to perform"
+    CamelAwsEC2InstanceMaxCount: "The maximum number of instances we want to run."
+    CamelAwsEC2InstancesTags: "A collection of tags to add or remove from EC2 resources"
+    CamelAwsEC2InstanceType: "The instance type we want to create and run"
 spec:
   definition:
-    title: AWS EC2 Sink
-    description: |-
-      Check the status of EC2 instances
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS EC2 Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the EC2 client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-
-      The Kamelet expects the following headers to be set:
-
-      - `instanceIds` / `ce-instanceids`: as a comma separated list of EC2 instance ids.
-    required:
-      - region
-    type: object
+    description: "Check the status of EC2 instances\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS EC2 Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the EC2 client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.\n\nThe Ka [...]
     properties:
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the CloudWatch client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the CloudWatch client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "region"
+    title: "AWS EC2 Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-ec2"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-ec2"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[instanceIds]}"
+           -
+            simple: "${header[instanceIds]}"
             steps:
-            - set-header:
-                name: CamelAwsEC2InstancesIds
+             -
+              set-header:
+                name: "CamelAwsEC2InstancesIds"
                 simple: "${header[instanceIds]}"
-          - simple: "${header[ce-instanceids]}"
+           -
+            simple: "${header[ce-instanceids]}"
             steps:
-            - set-header:
-                name: CamelAwsEC2InstancesIds
+             -
+              set-header:
+                name: "CamelAwsEC2InstancesIds"
                 simple: "${header[ce-instanceids]}"
-      - to:
+       -
+        to:
           uri: "aws2-ec2:ec2-route"
           parameters:
             accessKey: "{{?accessKey}}"
diff --git a/kamelets/aws-eventbridge-sink.kamelet.yaml b/kamelets/aws-eventbridge-sink.kamelet.yaml
index f42f7531..a065fa78 100644
--- a/kamelets/aws-eventbridge-sink.kamelet.yaml
+++ b/kamelets/aws-eventbridge-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-eventbridge-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Preview"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,116 +25,166 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Eventbridge"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-eventbridge-sink"
+  headers:
+    CamelAwsEventbridgeEventPattern: "The event pattern."
+    CamelAwsEventbridgeRuleNamePrefix: "The prefix matching the rule name."
+    CamelAwsEventbridgeOperation: "The operation we want to perform"
+    CamelAwsEventbridgeTargetArn: "The Amazon Resource Name (ARN) of the target resource."
+    CamelAwsEventbridgeSource: "The source related to Event"
+    CamelAwsEventbridgeDetailType: "The detail type related to Event"
+    CamelAwsEventbridgeTargets: "The targets to update or add to the rule."
+    CamelAwsEventbridgeTargetsIds: "The IDs of the targets to remove from the rule."
+    CamelAwsEventbridgeRuleName: "The name of the rule."
+    CamelAwsEventbridgeResourcesArn: "Comma separated list of Amazon Resource Names (ARN) of the resources related to Event"
 spec:
   definition:
-    title: "AWS Eventbridge Sink"
-    description: |-
-      Send events to an Amazon Eventbridge Eventbus.
-
-      The basic authentication method for the Eventbridge service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the Eventbridge client loads the credentials through this provider and doesn't use the basic authentication method.
-
-      In the headers, you need to set the `resources-arn` / `ce-resources-arn` property to specify the ARN of resources related to the event.
-
-      In the headers, you need to set the `detail-type` / `ce-detail-type` property to specify the detail type related to the event.
-
-      In the headers, you need to set the `event-source` / `ce-event-source` property to specify the event source related to the event.
-
-      If you do not set the property in the header, the Kamelet uses the exchange ID for the file name.
-    required:
-      - eventbusNameOrArn
-      - region
-    type: object
+    description: "Send events to an Amazon Eventbridge Eventbus.\n\nThe basic authentication method for the Eventbridge service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the Eventbridge client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the headers, you need to set the `resources-arn` / `ce-re [...]
     properties:
       eventbusNameOrArn:
-        title: Eventbus Name
-        description: The Eventbridge Eventbus name or Amazon Resource Name (ARN).
-        type: string
+        description: "The Eventbridge Eventbus name or Amazon Resource Name (ARN)."
+        title: "Eventbus Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the Eventbridge client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the Eventbridge client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "eventbusNameOrArn"
+     - "region"
+    title: "AWS Eventbridge Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-eventbridge"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-eventbridge"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[resources-arn]}"
+           -
+            simple: "${header[resources-arn]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeResourcesArn
+             -
+              set-header:
+                name: "CamelAwsEventbridgeResourcesArn"
                 simple: "${header[resources-arn]}"
-          - simple: "${header[ce-resources-arn]}"
+           -
+            simple: "${header[ce-resources-arn]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeResourcesArn
+             -
+              set-header:
+                name: "CamelAwsEventbridgeResourcesArn"
                 simple: "${header[ce-resources-arn]}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[detail-type]}"
+           -
+            simple: "${header[detail-type]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeDetailType
+             -
+              set-header:
+                name: "CamelAwsEventbridgeDetailType"
                 simple: "${header[detail-type]}"
-          - simple: "${header[ce-detail-type]}"
+           -
+            simple: "${header[ce-detail-type]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeDetailType
+             -
+              set-header:
+                name: "CamelAwsEventbridgeDetailType"
                 simple: "${header[ce-detail-type]}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[event-source]}"
+           -
+            simple: "${header[event-source]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeSource
+             -
+              set-header:
+                name: "CamelAwsEventbridgeSource"
                 simple: "${header[event-source]}"
-          - simple: "${header[ce-event-source]}"
+           -
+            simple: "${header[ce-event-source]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeSource
-                simple: "${header[ce-event-source]}"            
-      - to:
+             -
+              set-header:
+                name: "CamelAwsEventbridgeSource"
+                simple: "${header[ce-event-source]}"
+       -
+        to:
           uri: "aws2-eventbridge:{{eventbusNameOrArn}}"
           parameters:
             secretKey: "{{?secretKey}}"
diff --git a/kamelets/aws-lambda-sink.kamelet.yaml b/kamelets/aws-lambda-sink.kamelet.yaml
index b4738814..a8b12e5b 100644
--- a/kamelets/aws-lambda-sink.kamelet.yaml
+++ b/kamelets/aws-lambda-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-lambda-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,61 +24,94 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS Lambda"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-lambda-sink"
+  headers: {}
 spec:
   definition:
-    title: AWS Lambda Sink
-    description: |-
-      Send a payload to an AWS Lambda function.
-
-      The basic authentication method for the Lambda service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the Lambda client loads the credentials through this provider and doesn't use the basic authentication method.
-    required:
-      - function
-      - region
-    type: object
+    description: "Send a payload to an AWS Lambda function.\n\nThe basic authentication method for the Lambda service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the Lambda client loads the credentials through this provider and doesn't use the basic authentication method."
     properties:
       function:
-        title: Function Name
-        description: The Lambda Function name.
-        type: string
+        description: "The Lambda Function name."
+        title: "Function Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the Lambda client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the Lambda client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "function"
+     - "region"
+    title: "AWS Lambda Sink"
+    type: "object"
   dependencies:
-    - "camel:aws2-lambda"
-    - "camel:kamelet"
+   - "camel:aws2-lambda"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - to:
+       -
+        to:
           uri: "aws2-lambda:{{function}}"
           parameters:
             accessKey: "{{?accessKey}}"
diff --git a/kamelets/aws-redshift-sink.kamelet.yaml b/kamelets/aws-redshift-sink.kamelet.yaml
index f7ff5de9..74486826 100644
--- a/kamelets/aws-redshift-sink.kamelet.yaml
+++ b/kamelets/aws-redshift-sink.kamelet.yaml
@@ -13,11 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-redshift-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,89 +25,97 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Redshift"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-redshift-sink"
+  headers:
+    CamelSqlUpdateCount: "The number of rows updated for update operations, returned as an Integer object. This header is not provided when using outputType=StreamList."
+    CamelSqlParameters: "The SQL parameters when using the option useMessageBodyForSql"
+    CamelSqlGeneratedColumns: "Set it to specify the expected generated columns"
+    CamelSqlGeneratedKeysRowCount: "The number of rows in the header that contains generated keys."
+    CamelSqlRowCount: "The number of rows returned for select operations, returned as an Integer object. This header is not provided when using outputType=StreamList."
+    CamelSqlRetrieveGeneratedKeys: "Set its value to true to retrieve generated keys"
+    CamelSqlQuery: "Query to execute. This query takes precedence over the query specified in the endpoint URI. Note that query parameters in the header _are_ represented by a instead of a pass:# symbol"
+    CamelSqlGeneratedKeyRows: "Rows that contains the generated keys (a list of maps of keys)."
 spec:
   definition:
-    title: "AWS Redshift Sink"
-    description: |-
-      Send data to an AWS Redshift Database.
-
-      This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
-
-      'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
-
-      Here is example input for the example query:
-
-      '{ "username":"oscerd", "city":"Rome"}'
-    required:
-      - serverName
-      - username
-      - password
-      - query
-      - databaseName
-    type: object
+    description: "Send data to an AWS Redshift Database.\n\nThis Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:\n\n'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'\n\nHere is example input for the example query:\n\n'{ \"username\":\"oscerd\", \"city\":\"Rome\"}'"
     properties:
       serverName:
-        title: Server Name
-        description: The server name for the data source.
-        type: string
-        example: localhost
+        description: "The server name for the data source."
+        example: "localhost"
+        title: "Server Name"
+        type: "string"
       serverPort:
-        title: Server Port
-        description: The server port for the AWS RedShi data source.
-        type: string
         default: 5439
+        description: "The server port for the AWS RedShi data source."
+        title: "Server Port"
+        type: "string"
       username:
-        title: Username
-        description: The username to access a secured AWS Redshift Database.
-        type: string
+        description: "The username to access a secured AWS Redshift Database."
+        title: "Username"
+        type: "string"
         x-descriptors:
-        - urn:camel:group:credentials
+         - "urn:camel:group:credentials"
       password:
-        title: Password
-        description: The password to access a secured AWS Redshift Database.
-        type: string
-        format: password
+        description: "The password to access a secured AWS Redshift Database."
+        format: "password"
+        title: "Password"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       query:
-        title: Query
-        description: The query to execute against the AWS Redshift Database.
-        type: string
-        example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
+        description: "The query to execute against the AWS Redshift Database."
+        example: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        title: "Query"
+        type: "string"
       databaseName:
-        title: Database Name
-        description: The name of the AWS RedShift Database.
-        type: string
-  types:
-    in:
-      mediaType: application/json
+        description: "The name of the AWS RedShift Database."
+        title: "Database Name"
+        type: "string"
+    required:
+     - "serverName"
+     - "username"
+     - "password"
+     - "query"
+     - "databaseName"
+    title: "AWS Redshift Sink"
+    type: "object"
   dependencies:
-  - "camel:jackson"
-  - "camel:kamelet"
-  - "camel:sql"
-  - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
-  - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
+   - "camel:jackson"
+   - "camel:kamelet"
+   - "camel:sql"
+   - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
+   - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
   template:
     beans:
-      - name: dsBean
-        type: "#class:org.apache.commons.dbcp2.BasicDataSource"
-        property:
-          - key: username
-            value: '{{username}}'
-          - key: password
-            value: '{{password}}'
-          - key: url
-            value: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}'
-          - key: driverClassName
-            value: 'com.amazon.redshift.jdbc.Driver'
+     -
+      name: "dsBean"
+      type: "#class:org.apache.commons.dbcp2.BasicDataSource"
+      property:
+       -
+        key: "username"
+        value: "{{username}}"
+       -
+        key: "password"
+        value: "{{password}}"
+       -
+        key: "url"
+        value: "jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}"
+       -
+        key: "driverClassName"
+        value: "com.amazon.redshift.jdbc.Driver"
     from:
       uri: "kamelet:source"
       steps:
-      - unmarshal:
-          json: 
-            library: Jackson
-      - to: 
+       -
+        unmarshal:
+          json:
+            library: "Jackson"
+       -
+        to:
           uri: "sql:{{query}}"
           parameters:
             dataSource: "#bean:{{dsBean}}"
+  types:
+    in:
+      mediaType: "application/json"
diff --git a/kamelets/aws-redshift-source.kamelet.yaml b/kamelets/aws-redshift-source.kamelet.yaml
index cf00555e..99c2d34a 100644
--- a/kamelets/aws-redshift-source.kamelet.yaml
+++ b/kamelets/aws-redshift-source.kamelet.yaml
@@ -13,11 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-redshift-source
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,84 +25,87 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Redshift"
   labels:
     camel.apache.org/kamelet.type: "source"
+  name: "aws-redshift-source"
+  headers: {}
 spec:
   definition:
-    title: "AWS Redshift Source"
-    description: |-
-      Query data from an AWS RedShift Database.
-    required:
-      - serverName
-      - username
-      - password
-      - query
-      - databaseName
-    type: object
+    description: "Query data from an AWS RedShift Database."
     properties:
       serverName:
-        title: Server Name
-        description: The server name for the data source.
-        type: string
-        example: localhost
+        description: "The server name for the data source."
+        example: "localhost"
+        title: "Server Name"
+        type: "string"
       serverPort:
-        title: Server Port
-        description: The server port for the data source.
-        type: string
         default: 5439
+        description: "The server port for the data source."
+        title: "Server Port"
+        type: "string"
       username:
-        title: Username
-        description: The username to access a secured AWS RedShift Database.
-        type: string
+        description: "The username to access a secured AWS RedShift Database."
+        title: "Username"
+        type: "string"
         x-descriptors:
-        - urn:camel:group:credentials
+         - "urn:camel:group:credentials"
       password:
-        title: Password
-        description: The password to access a secured AWS RedShift Database.
-        type: string
-        format: password
+        description: "The password to access a secured AWS RedShift Database."
+        format: "password"
+        title: "Password"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       query:
-        title: Query
-        description: The query to execute against the AWS RedShift Database.
-        type: string
-        example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
+        description: "The query to execute against the AWS RedShift Database."
+        example: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        title: "Query"
+        type: "string"
       databaseName:
-        title: Database Name
-        description: The name of the AWS RedShift Database.
-        type: string
+        description: "The name of the AWS RedShift Database."
+        title: "Database Name"
+        type: "string"
       consumedQuery:
-        title: Consumed Query
-        description: A query to run on a tuple consumed.
-        type: string
-        example: 'DELETE FROM accounts where user_id = :#user_id'
+        description: "A query to run on a tuple consumed."
+        example: "DELETE FROM accounts where user_id = :#user_id"
+        title: "Consumed Query"
+        type: "string"
       delay:
-        title: Delay
-        description: The number of milliseconds before the next poll from the AWS RedShift database.
-        type: integer
         default: 500
-  types:
-    out:
-      mediaType: application/json
+        description: "The number of milliseconds before the next poll from the AWS RedShift database."
+        title: "Delay"
+        type: "integer"
+    required:
+     - "serverName"
+     - "username"
+     - "password"
+     - "query"
+     - "databaseName"
+    title: "AWS Redshift Source"
+    type: "object"
   dependencies:
-  - "camel:jackson"
-  - "camel:kamelet"
-  - "camel:sql"
-  - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
-  - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
+   - "camel:jackson"
+   - "camel:kamelet"
+   - "camel:sql"
+   - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
+   - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
   template:
     beans:
-      - name: dsBean
-        type: "#class:org.apache.commons.dbcp2.BasicDataSource"
-        property:
-          - key: username
-            value: '{{username}}'
-          - key: password
-            value: '{{password}}'
-          - key: url
-            value: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}'
-          - key: driverClassName
-            value: 'com.amazon.redshift.jdbc.Driver'
+     -
+      name: "dsBean"
+      type: "#class:org.apache.commons.dbcp2.BasicDataSource"
+      property:
+       -
+        key: "username"
+        value: "{{username}}"
+       -
+        key: "password"
+        value: "{{password}}"
+       -
+        key: "url"
+        value: "jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}"
+       -
+        key: "driverClassName"
+        value: "com.amazon.redshift.jdbc.Driver"
     from:
       uri: "sql:{{query}}"
       parameters:
@@ -111,7 +113,12 @@ spec:
         onConsume: "{{?consumedQuery}}"
         delay: "{{delay}}"
       steps:
-      - marshal:
-          json: 
-            library: Jackson
-      - to: "kamelet:sink"
+       -
+        marshal:
+          json:
+            library: "Jackson"
+       -
+        to: "kamelet:sink"
+  types:
+    out:
+      mediaType: "application/json"
diff --git a/kamelets/aws-s3-sink.kamelet.yaml b/kamelets/aws-s3-sink.kamelet.yaml
index 76b1e7db..6904306d 100644
--- a/kamelets/aws-s3-sink.kamelet.yaml
+++ b/kamelets/aws-s3-sink.kamelet.yaml
@@ -27,31 +27,14 @@ metadata:
     camel.apache.org/kamelet.type: "sink"
   name: "aws-s3-sink"
   headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelAwsS3DowloadLinkExpirationTime: "The expiration time of the download link in milliseconds"
-    CamelAwsS3DownloadLinkSignedPayload: "The request payload that is needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3DestinationKey: "The Destination key which will be used for the current operation"
-    CamelAwsS3BucketDestinationName: "The bucket Destination Name which will be used for the current operation"
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3DownloadLinkHttpRequestHeaders: "The headers that are needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3Acl: "A well constructed Amazon S3 Access Control List object."
-    CamelAwsS3RangeStart: "The position of the first byte to get"
-    CamelAwsS3CannedAcl: "The canned acl that will be applied to the object. see software.amazon.awssdk.services.s3.model.ObjectCannedACL for allowed values."
-    CamelAwsS3DownloadLinkBrowserCompatible: "Whether the download link is browser compatible"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3StorageClass: "The storage class of this object."
-    CamelAwsS3RangeEnd: "The position of the last byte to get"
+    CamelAwsCwMetricDimensionName: "The Amazon CW metric dimension name."
+    CamelAwsCwMetricUnit: "The Amazon CW metric unit."
+    CamelAwsCwMetricDimensionValue: "The Amazon CW metric dimension value."
+    CamelAwsCwMetricDimensions: "A map of dimension names and dimension values."
+    CamelAwsCwMetricTimestamp: "The Amazon CW metric timestamp."
+    CamelAwsCwMetricNamespace: "The Amazon CW metric namespace."
+    CamelAwsCwMetricName: "The Amazon CW metric name."
+    CamelAwsCwMetricValue: "The Amazon CW metric value."
 spec:
   definition:
     description: "Upload data to an Amazon S3 Bucket.\n\nThe basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the `file` / `ce-partition` property to specify the [...]
diff --git a/kamelets/aws-s3-source.kamelet.yaml b/kamelets/aws-s3-source.kamelet.yaml
index d65ef008..416eb518 100644
--- a/kamelets/aws-s3-source.kamelet.yaml
+++ b/kamelets/aws-s3-source.kamelet.yaml
@@ -27,24 +27,14 @@ metadata:
     camel.apache.org/kamelet.type: "source"
   name: "aws-s3-source"
   headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ReplicationStatus: "Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelMessageTimestamp: "The timestamp of the message"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ExpirationTime: "If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header."
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3StorageClass: "The storage class of this object."
+    CamelAwsCwMetricDimensionName: "The Amazon CW metric dimension name."
+    CamelAwsCwMetricUnit: "The Amazon CW metric unit."
+    CamelAwsCwMetricDimensionValue: "The Amazon CW metric dimension value."
+    CamelAwsCwMetricDimensions: "A map of dimension names and dimension values."
+    CamelAwsCwMetricTimestamp: "The Amazon CW metric timestamp."
+    CamelAwsCwMetricNamespace: "The Amazon CW metric namespace."
+    CamelAwsCwMetricName: "The Amazon CW metric name."
+    CamelAwsCwMetricValue: "The Amazon CW metric value."
 spec:
   definition:
     description: "Receive data from an Amazon S3 Bucket.\n\nThe basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.\n\nTwo headers will be duplicated with different names for clarity at sink level, CamelAw [...]
diff --git a/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml b/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml
index 76b1e7db..6904306d 100644
--- a/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml
+++ b/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml
@@ -27,31 +27,14 @@ metadata:
     camel.apache.org/kamelet.type: "sink"
   name: "aws-s3-sink"
   headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelAwsS3DowloadLinkExpirationTime: "The expiration time of the download link in milliseconds"
-    CamelAwsS3DownloadLinkSignedPayload: "The request payload that is needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3DestinationKey: "The Destination key which will be used for the current operation"
-    CamelAwsS3BucketDestinationName: "The bucket Destination Name which will be used for the current operation"
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3DownloadLinkHttpRequestHeaders: "The headers that are needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3Acl: "A well constructed Amazon S3 Access Control List object."
-    CamelAwsS3RangeStart: "The position of the first byte to get"
-    CamelAwsS3CannedAcl: "The canned acl that will be applied to the object. see software.amazon.awssdk.services.s3.model.ObjectCannedACL for allowed values."
-    CamelAwsS3DownloadLinkBrowserCompatible: "Whether the download link is browser compatible"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3StorageClass: "The storage class of this object."
-    CamelAwsS3RangeEnd: "The position of the last byte to get"
+    CamelAwsCwMetricDimensionName: "The Amazon CW metric dimension name."
+    CamelAwsCwMetricUnit: "The Amazon CW metric unit."
+    CamelAwsCwMetricDimensionValue: "The Amazon CW metric dimension value."
+    CamelAwsCwMetricDimensions: "A map of dimension names and dimension values."
+    CamelAwsCwMetricTimestamp: "The Amazon CW metric timestamp."
+    CamelAwsCwMetricNamespace: "The Amazon CW metric namespace."
+    CamelAwsCwMetricName: "The Amazon CW metric name."
+    CamelAwsCwMetricValue: "The Amazon CW metric value."
 spec:
   definition:
     description: "Upload data to an Amazon S3 Bucket.\n\nThe basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the `file` / `ce-partition` property to specify the [...]
diff --git a/kamelets/aws-secrets-manager-sink.kamelet.yaml b/kamelets/aws-secrets-manager-sink.kamelet.yaml
index b1f28cec..67266e75 100644
--- a/kamelets/aws-secrets-manager-sink.kamelet.yaml
+++ b/kamelets/aws-secrets-manager-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-secrets-manager-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,79 +25,120 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Secrets Manager"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-secrets-manager-sink"
+  headers:
+    CamelAwsSecretsManagerMaxResults: "The number of results to include in the response."
+    CamelAwsSecretsManagerSecretReplicationRegions: "A comma separated list of Regions in which to replicate the secret."
+    CamelAwsSecretsManagerSecretDescription: "The description of the secret."
+    CamelAwsSecretsManagerSecretId: "The ARN or name of the secret."
+    CamelAwsSecretsManagerSecretName: "The name of the secret."
+    CamelAwsSecretsManagerSecretVersionId: "The unique identifier of the version of the secret."
+    CamelAwsSecretsManagerLambdaRotationFunctionArn: "The ARN of the Lambda rotation function that can rotate the secret."
+    CamelAwsSecretsManagerOperation: "The operation we want to perform"
 spec:
   definition:
-    title: "AWS Secrets Manager Sink"
-    description: |-
-      Create a secret in AWS Secrets Manager.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS Secrets Manager Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the Secrets Manager client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-
-      The Kamelet expects the following headers to be set:
-
-      - `secret-name` / `ce-secret-name`: as the secret name to create.
-
-      If the header won't be set the exchange ID will be used as secret name.
-    required:
-      - region
-    type: object
+    description: "Create a secret in AWS Secrets Manager.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS Secrets Manager Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the Secrets Manager client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory paramet [...]
     properties:
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the Secrets Manager client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Set whether the Secrets Manager client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "region"
+    title: "AWS Secrets Manager Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws-secrets-manager"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws-secrets-manager"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[secret-name]}"
+           -
+            simple: "${header[secret-name]}"
             steps:
-            - set-header:
-                name: CamelAwsSecretsManagerSecretName
+             -
+              set-header:
+                name: "CamelAwsSecretsManagerSecretName"
                 simple: "${header[secret-name]}"
-          - simple: "${header[ce-secret-name]}"
+           -
+            simple: "${header[ce-secret-name]}"
             steps:
-            - set-header:
-                name: CamelAwsSecretsManagerSecretName
+             -
+              set-header:
+                name: "CamelAwsSecretsManagerSecretName"
                 simple: "${header[ce-secret-name]}"
           otherwise:
             steps:
-            - set-header:
-                name: CamelAwsSecretsManagerSecretName
+             -
+              set-header:
+                name: "CamelAwsSecretsManagerSecretName"
                 simple: "${exchangeId}"
-      - to:
+       -
+        to:
           uri: "aws-secrets-manager:kamelet"
           parameters:
             secretKey: "{{?secretKey}}"
diff --git a/kamelets/aws-ses-sink.kamelet.yaml b/kamelets/aws-ses-sink.kamelet.yaml
index b5cfe0d8..d7d379e9 100644
--- a/kamelets/aws-ses-sink.kamelet.yaml
+++ b/kamelets/aws-ses-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-ses-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,112 +25,162 @@ metadata:
     camel.apache.org/kamelet.group: "AWS SES"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-ses-sink"
+  headers:
+    CamelAwsSesBcc: "List of comma separated destination blind carbon copy (bcc) email address."
+    CamelAwsSesConfigurationSet: "TThe configuration set to send."
+    CamelAwsSesSubject: "The subject of the message."
+    CamelAwsSesFrom: "The sender's email address."
+    CamelAwsSesMessageId: "The Amazon SES message ID."
+    CamelAwsSesTo: "List of comma separated destination email address."
+    CamelAwsSesReturnPath: "The email address to which bounce notifications are to be forwarded."
+    CamelAwsSesCc: "List of comma separated destination carbon copy (cc) email address."
+    CamelAwsSesReplyToAddresses: "The reply-to email address(es) for the message."
+    CamelAwsSesHtmlEmail: "The flag to show if email content is HTML."
 spec:
   definition:
-    title: "AWS SES Sink"
-    description: |-
-      Send email through the Amazon Simple Email Service (SES).
-
-      The basic authentication method for the SES service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the SES client loads the credentials through this provider and doesn't use the basic authentication method.
-      
-      In the header, you can optionally set the following properties:
-      
-      - `subject` / `ce-subject` property to specify the email subject. If you do not set this property in the header, the Kamelet uses the exchange ID for the email subject.
-
-      - `to` / `ce-to` to provide a comma-separated list of email addresses.
-
-      - `reply-to-addresses` / `ce-reply-to-addresses`to provider a comma-separated list of reply-to email addresses.
-
-    required:
-      - from
-      - region
-    type: object
+    description: "Send email through the Amazon Simple Email Service (SES).\n\nThe basic authentication method for the SES service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the SES client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the following properties:\n [...]
     properties:
       from:
-        title: From 
-        description: From address
-        type: string
-        example: user@example.com
+        description: "From address"
+        example: "user@example.com"
+        title: "From"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the SES client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the SES client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "from"
+     - "region"
+    title: "AWS SES Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-ses"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-ses"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[subject]}"
+           -
+            simple: "${header[subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSesSubject
+             -
+              set-header:
+                name: "CamelAwsSesSubject"
                 simple: "${header[subject]}"
-          - simple: "${header[ce-subject]}"
+           -
+            simple: "${header[ce-subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSesSubject
+             -
+              set-header:
+                name: "CamelAwsSesSubject"
                 simple: "${header[ce-subject]}"
           otherwise:
             steps:
-            - set-header:
-                name: CamelAwsSesSubject
+             -
+              set-header:
+                name: "CamelAwsSesSubject"
                 simple: "${exchangeId}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[to]}"
+           -
+            simple: "${header[to]}"
             steps:
-            - set-header:
-                name: CamelAwsSesTo
+             -
+              set-header:
+                name: "CamelAwsSesTo"
                 simple: "${header[to]}"
-          - simple: "${header[ce-to]}"
+           -
+            simple: "${header[ce-to]}"
             steps:
-            - set-header:
-                name: CamelAwsSesTo
+             -
+              set-header:
+                name: "CamelAwsSesTo"
                 simple: "${header[ce-to]}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[reply-to-addresses]}"
+           -
+            simple: "${header[reply-to-addresses]}"
             steps:
-            - set-header:
-                name: CamelAwsSesReplyToAddresses
+             -
+              set-header:
+                name: "CamelAwsSesReplyToAddresses"
                 simple: "${header[reply-to-addresses]}"
-          - simple: "${header[ce-reply-to-addresses]}"
+           -
+            simple: "${header[ce-reply-to-addresses]}"
             steps:
-            - set-header:
-                name: CamelAwsSesReplyToAddresses
+             -
+              set-header:
+                name: "CamelAwsSesReplyToAddresses"
                 simple: "${header[ce-reply-to-addresses]}"
-      - to:
+       -
+        to:
           uri: "aws2-ses://{{from}}"
           parameters:
             secretKey: "{{?secretKey}}"
diff --git a/kamelets/aws-sns-fifo-sink.kamelet.yaml b/kamelets/aws-sns-fifo-sink.kamelet.yaml
index 86f44470..8f68cf6a 100644
--- a/kamelets/aws-sns-fifo-sink.kamelet.yaml
+++ b/kamelets/aws-sns-fifo-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sns-fifo-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,127 +24,173 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SNS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sns-fifo-sink"
+  headers:
+    CamelAwsSnsSubject: "The Amazon SNS message subject. If not set, the subject from the SnsConfiguration is used."
+    CamelAwsSnsMessageId: "The Amazon SNS message ID."
+    CamelAwsSnsMessageStructure: "The message structure to use such as json."
 spec:
   definition:
-    title: AWS SNS FIFO Sink
-    description: |- 
-      Send message to an AWS SNS FIFO Topic.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS SNS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the SNS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-
-      The Kamelet expects the following headers to be set:
-
-      - `subject` / `ce-subject`: the subject of the message
-    required:
-      - topicNameOrArn
-      - region
-    type: object
+    description: "Send message to an AWS SNS FIFO Topic.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS SNS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the SNS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.\n\nT [...]
     properties:
       topicNameOrArn:
-        title: Topic Name
-        description: The SNS Topic name or ARN
-        type: string
+        description: "The SNS Topic name or ARN"
+        title: "Topic Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       contentBasedDeduplication:
-        title: Content-Based Deduplication
-        description: Use content-based deduplication (should be enabled in the SQS FIFO queue first)
-        type: boolean
         default: false
+        description: "Use content-based deduplication (should be enabled in the SQS FIFO queue first)"
+        title: "Content-Based Deduplication"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       autoCreateTopic:
-        title: Autocreate Topic
-        description: Setting the autocreation of the SNS topic. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
-      useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the SNS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
+        description: "Setting the autocreation of the SNS topic."
+        title: "Autocreate Topic"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+      useDefaultCredentialsProvider:
         default: false
+        description: "Set whether the SNS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "topicNameOrArn"
+     - "region"
+    title: "AWS SNS FIFO Sink"
+    type: "object"
   dependencies:
-  - "camel:aws2-sns"
-  - "camel:core"
-  - "camel:kamelet"
+   - "camel:aws2-sns"
+   - "camel:core"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[subject]}"
+           -
+            simple: "${header[subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[subject]}"
-          - simple: "${header[ce-subject]}"
+           -
+            simple: "${header[ce-subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[ce-subject]}"
-      - set-property:
-          name: contentBasedDeduplication
+       -
+        set-property:
+          name: "contentBasedDeduplication"
           constant: "{{contentBasedDeduplication}}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[group]}"
+           -
+            simple: "${header[group]}"
             steps:
-            - set-property:
-                name: CamelAwsSnsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsSnsMessageGroupId"
                 simple: "${header[group]}"
-          - simple: "${header[ce-group]}"
+           -
+            simple: "${header[ce-group]}"
             steps:
-            - set-property:
-                name: CamelAwsSnsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsSnsMessageGroupId"
                 simple: "${header[ce-group]}"
           otherwise:
             steps:
-            - set-property:
-                name: CamelAwsSnsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsSnsMessageGroupId"
                 simple: "${exchangeId}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
+           -
+            simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sns:{{topicNameOrArn}}"
                 parameters:
                   autoCreateTopic: "{{autoCreateTopic}}"
@@ -160,7 +204,8 @@ spec:
                   overrideEndpoint: "{{overrideEndpoint}}"
           otherwise:
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sns:{{topicNameOrArn}}"
                 parameters:
                   autoCreateTopic: "{{autoCreateTopic}}"
diff --git a/kamelets/aws-sns-sink.kamelet.yaml b/kamelets/aws-sns-sink.kamelet.yaml
index 08589823..49e615b9 100644
--- a/kamelets/aws-sns-sink.kamelet.yaml
+++ b/kamelets/aws-sns-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sns-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,94 +24,133 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SNS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sns-sink"
+  headers:
+    CamelAwsSnsSubject: "The Amazon SNS message subject. If not set, the subject from the SnsConfiguration is used."
+    CamelAwsSnsMessageId: "The Amazon SNS message ID."
+    CamelAwsSnsMessageStructure: "The message structure to use such as json."
 spec:
   definition:
-    title: AWS SNS Sink
-    description: |-
-      Send message to an Amazon Simple Notification Service (SNS) topic.
-
-      The basic authentication method for the SNS service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the SNS client loads the credentials through this provider and doesn't use the basic authentication method.
-
-      In the header, you can optionally set the `subject` / `ce-subject` property to specify the subject of the message.
-    required:
-      - topicNameOrArn
-      - region
-    type: object
+    description: "Send message to an Amazon Simple Notification Service (SNS) topic.\n\nThe basic authentication method for the SNS service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the SNS client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the `subject` / `c [...]
     properties:
       topicNameOrArn:
-        title: Topic Name
-        description: The SNS topic name name or Amazon Resource Name (ARN).
-        type: string
+        description: "The SNS topic name name or Amazon Resource Name (ARN)."
+        title: "Topic Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       autoCreateTopic:
-        title: Autocreate Topic
-        description: Setting the autocreation of the SNS topic. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
-      useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the SNS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
+        description: "Setting the autocreation of the SNS topic."
+        title: "Autocreate Topic"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+      useDefaultCredentialsProvider:
         default: false
+        description: "If true, the SNS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "topicNameOrArn"
+     - "region"
+    title: "AWS SNS Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-sns"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-sns"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[subject]}"
+           -
+            simple: "${header[subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[subject]}"
-          - simple: "${header[ce-subject]}"
+           -
+            simple: "${header[ce-subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[ce-subject]}"
-      - to:
+       -
+        to:
           uri: "aws2-sns:{{topicNameOrArn}}"
           parameters:
             autoCreateTopic: "{{autoCreateTopic}}"
diff --git a/kamelets/aws-sqs-batch-sink.kamelet.yaml b/kamelets/aws-sqs-batch-sink.kamelet.yaml
index d40d62a7..976995e8 100644
--- a/kamelets/aws-sqs-batch-sink.kamelet.yaml
+++ b/kamelets/aws-sqs-batch-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sqs-batch-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,96 +24,135 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SQS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sqs-batch-sink"
+  headers:
+    CamelAwsSqsPrefix: "A string to use for filtering the list results."
+    CamelAwsSqsReceiptHandle: "The Amazon SQS message receipt handle."
+    CamelAwsSqsMessageId: "The Amazon SQS message ID."
+    CamelAwsSqsMD5OfBody: "The MD5 checksum of the Amazon SQS message."
+    CamelAwsSqsDelaySeconds: "The delay seconds that the Amazon SQS message can be see by others."
+    CamelAwsSqsOperation: "The operation we want to perform"
 spec:
   definition:
-    title: AWS SQS Batch Sink
-    description: |-
-      Send Batch message to an AWS SQS Queue.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-    required:
-      - queueNameOrArn
-      - region
-      - batchSeparator
-    type: object
+    description: "Send Batch message to an AWS SQS Queue.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet."
     properties:
       queueNameOrArn:
-        title: Queue Name
-        description: The SQS Queue name or ARN
-        type: string
+        description: "The SQS Queue name or ARN"
+        title: "Queue Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       autoCreateQueue:
-        title: Autocreate Queue
-        description: Setting the autocreation of the SQS queue. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Setting the autocreation of the SQS queue."
+        title: "Autocreate Queue"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       batchSeparator:
-        title: Batch Separator
-        description: The batch separator string
-        type: string
+        description: "The batch separator string"
         example: ","
+        title: "Batch Separator"
+        type: "string"
       amazonAWSHost:
-        title: AWS Host
-        description: The hostname of the Amazon AWS cloud. 
-        type: string
-        default: amazonaws.com
+        default: "amazonaws.com"
+        description: "The hostname of the Amazon AWS cloud."
+        title: "AWS Host"
+        type: "string"
       protocol:
-        title: Protocol
-        description: The underlying protocol used to communicate with SQS
-        type: string
-        example: http or https
-        default: https
+        default: "https"
+        description: "The underlying protocol used to communicate with SQS"
+        example: "http or https"
+        title: "Protocol"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
+        default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
         x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
-        default: false        
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "queueNameOrArn"
+     - "region"
+     - "batchSeparator"
+    title: "AWS SQS Batch Sink"
+    type: "object"
   dependencies:
-    - "camel:aws2-sqs"
-    - "camel:kamelet"
+   - "camel:aws2-sqs"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - to:
+       -
+        to:
           uri: "aws2-sqs:{{queueNameOrArn}}"
           parameters:
             autoCreateQueue: "{{autoCreateQueue}}"
@@ -128,4 +165,4 @@ spec:
             protocol: "{{?protocol}}"
             useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
             uriEndpointOverride: "{{?uriEndpointOverride}}"
-            overrideEndpoint: "{{overrideEndpoint}}"            
+            overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/kamelets/aws-sqs-fifo-sink.kamelet.yaml b/kamelets/aws-sqs-fifo-sink.kamelet.yaml
index 4ea06ac7..bb994194 100644
--- a/kamelets/aws-sqs-fifo-sink.kamelet.yaml
+++ b/kamelets/aws-sqs-fifo-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sqs-fifo-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,130 +24,177 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SQS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sqs-fifo-sink"
+  headers:
+    CamelAwsSqsPrefix: "A string to use for filtering the list results."
+    CamelAwsSqsReceiptHandle: "The Amazon SQS message receipt handle."
+    CamelAwsSqsMessageId: "The Amazon SQS message ID."
+    CamelAwsSqsMD5OfBody: "The MD5 checksum of the Amazon SQS message."
+    CamelAwsSqsDelaySeconds: "The delay seconds that the Amazon SQS message can be see by others."
+    CamelAwsSqsOperation: "The operation we want to perform"
 spec:
   definition:
-    title: AWS SQS FIFO Sink
-    description: |-
-
-      Send message to an AWS SQS FIFO Queue.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-    required:
-      - queueNameOrArn
-      - region
-    type: object
+    description: "\nSend message to an AWS SQS FIFO Queue.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet."
     properties:
       queueNameOrArn:
-        title: Queue Name
-        description: The SQS Queue name or ARN
-        type: string
+        description: "The SQS Queue name or ARN"
+        title: "Queue Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       contentBasedDeduplication:
-        title: Content-Based Deduplication
-        description: Use content-based deduplication (should be enabled in the SQS FIFO queue first)
-        type: boolean
         default: false
+        description: "Use content-based deduplication (should be enabled in the SQS FIFO queue first)"
+        title: "Content-Based Deduplication"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       autoCreateQueue:
-        title: Autocreate Queue
-        description: Setting the autocreation of the SQS queue. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Setting the autocreation of the SQS queue."
+        title: "Autocreate Queue"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       amazonAWSHost:
-        title: AWS Host
-        description: The hostname of the Amazon AWS cloud. 
-        type: string
-        default: amazonaws.com
+        default: "amazonaws.com"
+        description: "The hostname of the Amazon AWS cloud."
+        title: "AWS Host"
+        type: "string"
       protocol:
-        title: Protocol
-        description: The underlying protocol used to communicate with SQS
-        type: string
-        example: http or https
-        default: https
+        default: "https"
+        description: "The underlying protocol used to communicate with SQS"
+        example: "http or https"
+        title: "Protocol"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
+        default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
         x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
-        default: false   
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "queueNameOrArn"
+     - "region"
+    title: "AWS SQS FIFO Sink"
+    type: "object"
   dependencies:
-  - "camel:aws2-sqs"
-  - "camel:core"
-  - "camel:kamelet"
+   - "camel:aws2-sqs"
+   - "camel:core"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - set-property:
-          name: contentBasedDeduplication
+       -
+        set-property:
+          name: "contentBasedDeduplication"
           constant: "{{contentBasedDeduplication}}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[group]}"
+           -
+            simple: "${header[group]}"
             steps:
-            - set-property:
-                name: CamelAwsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsMessageGroupId"
                 simple: "${header[group]}"
-          - simple: "${header[ce-group]}"
+           -
+            simple: "${header[ce-group]}"
             steps:
-            - set-property:
-                name: CamelAwsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsMessageGroupId"
                 simple: "${header[ce-group]}"
           otherwise:
             steps:
-            - set-property:
-                name: CamelAwsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsMessageGroupId"
                 simple: "${exchangeId}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
+           -
+            simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sqs:{{queueNameOrArn}}"
                 parameters:
                   autoCreateQueue: "{{autoCreateQueue}}"
                   accessKey: "{{?accessKey}}"
                   secretKey: "{{?secretKey}}"
                   region: "{{region}}"
-                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" 
+                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
                   messageGroupIdStrategy: "usePropertyValue"
                   messageDeduplicationIdStrategy: "useContentBasedDeduplication"
                   amazonAWSHost: "{{?amazonAWSHost}}"
@@ -158,14 +203,15 @@ spec:
                   overrideEndpoint: "{{overrideEndpoint}}"
           otherwise:
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sqs:{{queueNameOrArn}}"
                 parameters:
                   autoCreateQueue: "{{autoCreateQueue}}"
                   accessKey: "{{?accessKey}}"
                   secretKey: "{{?secretKey}}"
                   region: "{{region}}"
-                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" 
+                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
                   messageGroupIdStrategy: "usePropertyValue"
                   messageDeduplicationIdStrategy: "useExchangeId"
                   amazonAWSHost: "{{?amazonAWSHost}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-ddb-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-ddb-sink.kamelet.yaml
index 5b603abf..51689b51 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-ddb-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-ddb-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-ddb-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,98 +25,145 @@ metadata:
     camel.apache.org/kamelet.group: "AWS DynamoDB Streams"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-ddb-sink"
+  headers:
+    CamelAwsDdbUpdateCondition: "Designates an attribute for a conditional modification."
+    CamelAwsDdbBatchItems: "A map of the table name and corresponding items to get by primary key."
+    CamelAwsDdbReturnValues: "Use this parameter if you want to get the attribute name-value pairs before or after they are modified(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW)."
+    CamelAwsDdbScanFilter: "Evaluates the scan results and returns only the desired values."
+    CamelAwsDdbUpdateValues: "Map of attribute name to the new value and action for the update."
+    CamelAwsDdbItem: "A map of the attributes for the item, and must include the primary key values that define the item."
+    CamelAwsDdbLimit: "The maximum number of items to return."
+    CamelAwsDdbAttributeNames: "If attribute names are not specified then all attributes will be returned."
+    CamelAwsDdbIndexName: "If set will be used as Secondary Index for Query operation."
+    CamelAwsDdbKeyConditions: "This header specify the selection criteria for the query, and merge together the two old headers CamelAwsDdbHashKeyValue and CamelAwsDdbScanRangeKeyCondition"
+    CamelAwsDdbStartKey: "Primary key of the item from which to continue an earlier query."
+    CamelAwsDdbTableName: "Table Name for this operation."
+    CamelAwsDdbConsistentRead: "If set to true, then a consistent read is issued, otherwise eventually consistent is used."
+    CamelAwsDdbScanIndexForward: "Specifies forward or backward traversal of the index."
+    CamelAwsDdbOperation: "The operation to perform."
+    CamelAwsDdbKey: "The primary key that uniquely identifies each item in a table."
 spec:
   definition:
-    title: "AWS DynamoDB Sink"
-    description: |-
-      Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table.
-
-      The basic authentication method for the AWS DynamoDB service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-
-      If you use the default credentials provider, the DynamoDB client loads the credentials through this provider and doesn't use the basic authentication method.
-
-      This Kamelet expects a JSON-formatted body and it must include the primary key values that define the DynamoDB item. The mapping between the JSON fields and table attribute values is done by key. For example, for  '{"username":"oscerd", "city":"Rome"}' input, the Kamelet inserts or update an item in the specified AWS DynamoDB table and sets the values for the 'username' and 'city' attributes. 
-    required:
-      - table
-      - region
-    type: object
+    description: "Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table.\n\nThe basic authentication method for the AWS DynamoDB service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the DynamoDB client loads the credentials through this provider and doesn't use the basic authentication me [...]
     properties:
       table:
-        title: Table
-        description: The name of the DynamoDB table.
-        type: string
+        description: "The name of the DynamoDB table."
+        title: "Table"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       operation:
-        title: Operation
+        default: "PutItem"
         description: "The operation to perform. The options are PutItem, UpdateItem, or DeleteItem."
-        type: string
-        default: PutItem
-        example: PutItem
+        example: "PutItem"
+        title: "Operation"
+        type: "string"
       writeCapacity:
-        title: Write Capacity
-        description: The provisioned throughput to reserve for writing resources to your table.
-        type: integer
         default: 1
+        description: "The provisioned throughput to reserve for writing resources to your table."
+        title: "Write Capacity"
+        type: "integer"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
-  types:
-    in:
-      mediaType: application/json
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "table"
+     - "region"
+    title: "AWS DynamoDB Sink"
+    type: "object"
   dependencies:
-  - github:apache.camel-kamelets:camel-kamelets-utils:main-SNAPSHOT
-  - "camel:core"
-  - "camel:jackson"
-  - "camel:aws2-ddb"
-  - "camel:kamelet"
+   - "github:apache.camel-kamelets:camel-kamelets-utils:main-SNAPSHOT"
+   - "camel:core"
+   - "camel:jackson"
+   - "camel:aws2-ddb"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - set-property:
-          name: operation
+       -
+        set-property:
+          name: "operation"
           constant: "{{operation}}"
-      - unmarshal:
+       -
+        unmarshal:
           json:
-            library: Jackson
-            unmarshalType: com.fasterxml.jackson.databind.JsonNode
-      - bean: "org.apache.camel.kamelets.utils.transform.aws.ddb.JsonToDdbModelConverter"
-      - to:
+            library: "Jackson"
+            unmarshalType: "com.fasterxml.jackson.databind.JsonNode"
+       -
+        bean: "org.apache.camel.kamelets.utils.transform.aws.ddb.JsonToDdbModelConverter"
+       -
+        to:
           uri: "aws2-ddb:{{table}}"
           parameters:
             secretKey: "{{?secretKey}}"
@@ -129,3 +174,6 @@ spec:
             useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
             uriEndpointOverride: "{{?uriEndpointOverride}}"
             overrideEndpoint: "{{overrideEndpoint}}"
+  types:
+    in:
+      mediaType: "application/json"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-ec2-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-ec2-sink.kamelet.yaml
index 4d8392cb..3c8bd581 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-ec2-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-ec2-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-ec2-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,84 +24,133 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS EC2"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-ec2-sink"
+  headers:
+    CamelAwsEC2InstancesClientToken: "Unique, case-sensitive identifier you provide to ensure the idempotency of the request."
+    CamelAwsEC2SubnetId: "The ID of the subnet to launch the instance into."
+    CamelAwsEC2InstanceEbsOptimized: "Define if the creating instance is optimized for EBS I/O."
+    CamelAwsEC2InstancesPlacement: "The placement for the instance."
+    CamelAwsEC2InstanceMinCount: "The minimum number of instances we want to run."
+    CamelAwsEC2InstanceMonitoring: "Define if we want the running instances to be monitored"
+    CamelAwsEC2ImageId: "An image ID of the AWS marketplace"
+    CamelAwsEC2InstanceSecurityGroups: "The security groups to associate to the instances"
+    CamelAwsEC2InstancesIds: "A collection of instances IDS to execute start, stop, describe and terminate operations on."
+    CamelAwsEC2InstanceKernelId: "The ID of the kernel."
+    CamelAwsEC2InstancesKeyPair: "The name of the key pair."
+    CamelAwsEC2Operation: "The operation we want to perform"
+    CamelAwsEC2InstanceMaxCount: "The maximum number of instances we want to run."
+    CamelAwsEC2InstancesTags: "A collection of tags to add or remove from EC2 resources"
+    CamelAwsEC2InstanceType: "The instance type we want to create and run"
 spec:
   definition:
-    title: AWS EC2 Sink
-    description: |-
-      Check the status of EC2 instances
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS EC2 Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the EC2 client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-
-      The Kamelet expects the following headers to be set:
-
-      - `instanceIds` / `ce-instanceids`: as a comma separated list of EC2 instance ids.
-    required:
-      - region
-    type: object
+    description: "Check the status of EC2 instances\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS EC2 Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the EC2 client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.\n\nThe Ka [...]
     properties:
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the CloudWatch client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the CloudWatch client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "region"
+    title: "AWS EC2 Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-ec2"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-ec2"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[instanceIds]}"
+           -
+            simple: "${header[instanceIds]}"
             steps:
-            - set-header:
-                name: CamelAwsEC2InstancesIds
+             -
+              set-header:
+                name: "CamelAwsEC2InstancesIds"
                 simple: "${header[instanceIds]}"
-          - simple: "${header[ce-instanceids]}"
+           -
+            simple: "${header[ce-instanceids]}"
             steps:
-            - set-header:
-                name: CamelAwsEC2InstancesIds
+             -
+              set-header:
+                name: "CamelAwsEC2InstancesIds"
                 simple: "${header[ce-instanceids]}"
-      - to:
+       -
+        to:
           uri: "aws2-ec2:ec2-route"
           parameters:
             accessKey: "{{?accessKey}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-eventbridge-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-eventbridge-sink.kamelet.yaml
index f42f7531..a065fa78 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-eventbridge-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-eventbridge-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-eventbridge-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Preview"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,116 +25,166 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Eventbridge"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-eventbridge-sink"
+  headers:
+    CamelAwsEventbridgeEventPattern: "The event pattern."
+    CamelAwsEventbridgeRuleNamePrefix: "The prefix matching the rule name."
+    CamelAwsEventbridgeOperation: "The operation we want to perform"
+    CamelAwsEventbridgeTargetArn: "The Amazon Resource Name (ARN) of the target resource."
+    CamelAwsEventbridgeSource: "The source related to Event"
+    CamelAwsEventbridgeDetailType: "The detail type related to Event"
+    CamelAwsEventbridgeTargets: "The targets to update or add to the rule."
+    CamelAwsEventbridgeTargetsIds: "The IDs of the targets to remove from the rule."
+    CamelAwsEventbridgeRuleName: "The name of the rule."
+    CamelAwsEventbridgeResourcesArn: "Comma separated list of Amazon Resource Names (ARN) of the resources related to Event"
 spec:
   definition:
-    title: "AWS Eventbridge Sink"
-    description: |-
-      Send events to an Amazon Eventbridge Eventbus.
-
-      The basic authentication method for the Eventbridge service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the Eventbridge client loads the credentials through this provider and doesn't use the basic authentication method.
-
-      In the headers, you need to set the `resources-arn` / `ce-resources-arn` property to specify the ARN of resources related to the event.
-
-      In the headers, you need to set the `detail-type` / `ce-detail-type` property to specify the detail type related to the event.
-
-      In the headers, you need to set the `event-source` / `ce-event-source` property to specify the event source related to the event.
-
-      If you do not set the property in the header, the Kamelet uses the exchange ID for the file name.
-    required:
-      - eventbusNameOrArn
-      - region
-    type: object
+    description: "Send events to an Amazon Eventbridge Eventbus.\n\nThe basic authentication method for the Eventbridge service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the Eventbridge client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the headers, you need to set the `resources-arn` / `ce-re [...]
     properties:
       eventbusNameOrArn:
-        title: Eventbus Name
-        description: The Eventbridge Eventbus name or Amazon Resource Name (ARN).
-        type: string
+        description: "The Eventbridge Eventbus name or Amazon Resource Name (ARN)."
+        title: "Eventbus Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the Eventbridge client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the Eventbridge client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "eventbusNameOrArn"
+     - "region"
+    title: "AWS Eventbridge Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-eventbridge"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-eventbridge"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[resources-arn]}"
+           -
+            simple: "${header[resources-arn]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeResourcesArn
+             -
+              set-header:
+                name: "CamelAwsEventbridgeResourcesArn"
                 simple: "${header[resources-arn]}"
-          - simple: "${header[ce-resources-arn]}"
+           -
+            simple: "${header[ce-resources-arn]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeResourcesArn
+             -
+              set-header:
+                name: "CamelAwsEventbridgeResourcesArn"
                 simple: "${header[ce-resources-arn]}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[detail-type]}"
+           -
+            simple: "${header[detail-type]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeDetailType
+             -
+              set-header:
+                name: "CamelAwsEventbridgeDetailType"
                 simple: "${header[detail-type]}"
-          - simple: "${header[ce-detail-type]}"
+           -
+            simple: "${header[ce-detail-type]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeDetailType
+             -
+              set-header:
+                name: "CamelAwsEventbridgeDetailType"
                 simple: "${header[ce-detail-type]}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[event-source]}"
+           -
+            simple: "${header[event-source]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeSource
+             -
+              set-header:
+                name: "CamelAwsEventbridgeSource"
                 simple: "${header[event-source]}"
-          - simple: "${header[ce-event-source]}"
+           -
+            simple: "${header[ce-event-source]}"
             steps:
-            - set-header:
-                name: CamelAwsEventbridgeSource
-                simple: "${header[ce-event-source]}"            
-      - to:
+             -
+              set-header:
+                name: "CamelAwsEventbridgeSource"
+                simple: "${header[ce-event-source]}"
+       -
+        to:
           uri: "aws2-eventbridge:{{eventbusNameOrArn}}"
           parameters:
             secretKey: "{{?secretKey}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml
index b4738814..a8b12e5b 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-lambda-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,61 +24,94 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS Lambda"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-lambda-sink"
+  headers: {}
 spec:
   definition:
-    title: AWS Lambda Sink
-    description: |-
-      Send a payload to an AWS Lambda function.
-
-      The basic authentication method for the Lambda service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the Lambda client loads the credentials through this provider and doesn't use the basic authentication method.
-    required:
-      - function
-      - region
-    type: object
+    description: "Send a payload to an AWS Lambda function.\n\nThe basic authentication method for the Lambda service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the Lambda client loads the credentials through this provider and doesn't use the basic authentication method."
     properties:
       function:
-        title: Function Name
-        description: The Lambda Function name.
-        type: string
+        description: "The Lambda Function name."
+        title: "Function Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the Lambda client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the Lambda client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "function"
+     - "region"
+    title: "AWS Lambda Sink"
+    type: "object"
   dependencies:
-    - "camel:aws2-lambda"
-    - "camel:kamelet"
+   - "camel:aws2-lambda"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - to:
+       -
+        to:
           uri: "aws2-lambda:{{function}}"
           parameters:
             accessKey: "{{?accessKey}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-sink.kamelet.yaml
index f7ff5de9..74486826 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-sink.kamelet.yaml
@@ -13,11 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-redshift-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,89 +25,97 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Redshift"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-redshift-sink"
+  headers:
+    CamelSqlUpdateCount: "The number of rows updated for update operations, returned as an Integer object. This header is not provided when using outputType=StreamList."
+    CamelSqlParameters: "The SQL parameters when using the option useMessageBodyForSql"
+    CamelSqlGeneratedColumns: "Set it to specify the expected generated columns"
+    CamelSqlGeneratedKeysRowCount: "The number of rows in the header that contains generated keys."
+    CamelSqlRowCount: "The number of rows returned for select operations, returned as an Integer object. This header is not provided when using outputType=StreamList."
+    CamelSqlRetrieveGeneratedKeys: "Set its value to true to retrieve generated keys"
+    CamelSqlQuery: "Query to execute. This query takes precedence over the query specified in the endpoint URI. Note that query parameters in the header _are_ represented by a instead of a pass:# symbol"
+    CamelSqlGeneratedKeyRows: "Rows that contains the generated keys (a list of maps of keys)."
 spec:
   definition:
-    title: "AWS Redshift Sink"
-    description: |-
-      Send data to an AWS Redshift Database.
-
-      This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
-
-      'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
-
-      Here is example input for the example query:
-
-      '{ "username":"oscerd", "city":"Rome"}'
-    required:
-      - serverName
-      - username
-      - password
-      - query
-      - databaseName
-    type: object
+    description: "Send data to an AWS Redshift Database.\n\nThis Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:\n\n'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'\n\nHere is example input for the example query:\n\n'{ \"username\":\"oscerd\", \"city\":\"Rome\"}'"
     properties:
       serverName:
-        title: Server Name
-        description: The server name for the data source.
-        type: string
-        example: localhost
+        description: "The server name for the data source."
+        example: "localhost"
+        title: "Server Name"
+        type: "string"
       serverPort:
-        title: Server Port
-        description: The server port for the AWS RedShi data source.
-        type: string
         default: 5439
+        description: "The server port for the AWS RedShi data source."
+        title: "Server Port"
+        type: "string"
       username:
-        title: Username
-        description: The username to access a secured AWS Redshift Database.
-        type: string
+        description: "The username to access a secured AWS Redshift Database."
+        title: "Username"
+        type: "string"
         x-descriptors:
-        - urn:camel:group:credentials
+         - "urn:camel:group:credentials"
       password:
-        title: Password
-        description: The password to access a secured AWS Redshift Database.
-        type: string
-        format: password
+        description: "The password to access a secured AWS Redshift Database."
+        format: "password"
+        title: "Password"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       query:
-        title: Query
-        description: The query to execute against the AWS Redshift Database.
-        type: string
-        example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
+        description: "The query to execute against the AWS Redshift Database."
+        example: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        title: "Query"
+        type: "string"
       databaseName:
-        title: Database Name
-        description: The name of the AWS RedShift Database.
-        type: string
-  types:
-    in:
-      mediaType: application/json
+        description: "The name of the AWS RedShift Database."
+        title: "Database Name"
+        type: "string"
+    required:
+     - "serverName"
+     - "username"
+     - "password"
+     - "query"
+     - "databaseName"
+    title: "AWS Redshift Sink"
+    type: "object"
   dependencies:
-  - "camel:jackson"
-  - "camel:kamelet"
-  - "camel:sql"
-  - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
-  - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
+   - "camel:jackson"
+   - "camel:kamelet"
+   - "camel:sql"
+   - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
+   - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
   template:
     beans:
-      - name: dsBean
-        type: "#class:org.apache.commons.dbcp2.BasicDataSource"
-        property:
-          - key: username
-            value: '{{username}}'
-          - key: password
-            value: '{{password}}'
-          - key: url
-            value: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}'
-          - key: driverClassName
-            value: 'com.amazon.redshift.jdbc.Driver'
+     -
+      name: "dsBean"
+      type: "#class:org.apache.commons.dbcp2.BasicDataSource"
+      property:
+       -
+        key: "username"
+        value: "{{username}}"
+       -
+        key: "password"
+        value: "{{password}}"
+       -
+        key: "url"
+        value: "jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}"
+       -
+        key: "driverClassName"
+        value: "com.amazon.redshift.jdbc.Driver"
     from:
       uri: "kamelet:source"
       steps:
-      - unmarshal:
-          json: 
-            library: Jackson
-      - to: 
+       -
+        unmarshal:
+          json:
+            library: "Jackson"
+       -
+        to:
           uri: "sql:{{query}}"
           parameters:
             dataSource: "#bean:{{dsBean}}"
+  types:
+    in:
+      mediaType: "application/json"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-source.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-source.kamelet.yaml
index cf00555e..99c2d34a 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-source.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-redshift-source.kamelet.yaml
@@ -13,11 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-redshift-source
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,84 +25,87 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Redshift"
   labels:
     camel.apache.org/kamelet.type: "source"
+  name: "aws-redshift-source"
+  headers: {}
 spec:
   definition:
-    title: "AWS Redshift Source"
-    description: |-
-      Query data from an AWS RedShift Database.
-    required:
-      - serverName
-      - username
-      - password
-      - query
-      - databaseName
-    type: object
+    description: "Query data from an AWS RedShift Database."
     properties:
       serverName:
-        title: Server Name
-        description: The server name for the data source.
-        type: string
-        example: localhost
+        description: "The server name for the data source."
+        example: "localhost"
+        title: "Server Name"
+        type: "string"
       serverPort:
-        title: Server Port
-        description: The server port for the data source.
-        type: string
         default: 5439
+        description: "The server port for the data source."
+        title: "Server Port"
+        type: "string"
       username:
-        title: Username
-        description: The username to access a secured AWS RedShift Database.
-        type: string
+        description: "The username to access a secured AWS RedShift Database."
+        title: "Username"
+        type: "string"
         x-descriptors:
-        - urn:camel:group:credentials
+         - "urn:camel:group:credentials"
       password:
-        title: Password
-        description: The password to access a secured AWS RedShift Database.
-        type: string
-        format: password
+        description: "The password to access a secured AWS RedShift Database."
+        format: "password"
+        title: "Password"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       query:
-        title: Query
-        description: The query to execute against the AWS RedShift Database.
-        type: string
-        example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
+        description: "The query to execute against the AWS RedShift Database."
+        example: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        title: "Query"
+        type: "string"
       databaseName:
-        title: Database Name
-        description: The name of the AWS RedShift Database.
-        type: string
+        description: "The name of the AWS RedShift Database."
+        title: "Database Name"
+        type: "string"
       consumedQuery:
-        title: Consumed Query
-        description: A query to run on a tuple consumed.
-        type: string
-        example: 'DELETE FROM accounts where user_id = :#user_id'
+        description: "A query to run on a tuple consumed."
+        example: "DELETE FROM accounts where user_id = :#user_id"
+        title: "Consumed Query"
+        type: "string"
       delay:
-        title: Delay
-        description: The number of milliseconds before the next poll from the AWS RedShift database.
-        type: integer
         default: 500
-  types:
-    out:
-      mediaType: application/json
+        description: "The number of milliseconds before the next poll from the AWS RedShift database."
+        title: "Delay"
+        type: "integer"
+    required:
+     - "serverName"
+     - "username"
+     - "password"
+     - "query"
+     - "databaseName"
+    title: "AWS Redshift Source"
+    type: "object"
   dependencies:
-  - "camel:jackson"
-  - "camel:kamelet"
-  - "camel:sql"
-  - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
-  - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
+   - "camel:jackson"
+   - "camel:kamelet"
+   - "camel:sql"
+   - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.9"
+   - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
   template:
     beans:
-      - name: dsBean
-        type: "#class:org.apache.commons.dbcp2.BasicDataSource"
-        property:
-          - key: username
-            value: '{{username}}'
-          - key: password
-            value: '{{password}}'
-          - key: url
-            value: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}'
-          - key: driverClassName
-            value: 'com.amazon.redshift.jdbc.Driver'
+     -
+      name: "dsBean"
+      type: "#class:org.apache.commons.dbcp2.BasicDataSource"
+      property:
+       -
+        key: "username"
+        value: "{{username}}"
+       -
+        key: "password"
+        value: "{{password}}"
+       -
+        key: "url"
+        value: "jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}"
+       -
+        key: "driverClassName"
+        value: "com.amazon.redshift.jdbc.Driver"
     from:
       uri: "sql:{{query}}"
       parameters:
@@ -111,7 +113,12 @@ spec:
         onConsume: "{{?consumedQuery}}"
         delay: "{{delay}}"
       steps:
-      - marshal:
-          json: 
-            library: Jackson
-      - to: "kamelet:sink"
+       -
+        marshal:
+          json:
+            library: "Jackson"
+       -
+        to: "kamelet:sink"
+  types:
+    out:
+      mediaType: "application/json"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml
index ca1e1d4b..6904306d 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml
@@ -27,60 +27,14 @@ metadata:
     camel.apache.org/kamelet.type: "sink"
   name: "aws-s3-sink"
   headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelAwsS3DowloadLinkExpirationTime: "The expiration time of the download link in milliseconds"
-    CamelAwsS3DownloadLinkSignedPayload: "The request payload that is needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3DestinationKey: "The Destination key which will be used for the current operation"
-    CamelAwsS3BucketDestinationName: "The bucket Destination Name which will be used for the current operation"
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3DownloadLinkHttpRequestHeaders: "The headers that are needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3Acl: "A well constructed Amazon S3 Access Control List object."
-    CamelAwsS3RangeStart: "The position of the first byte to get"
-    CamelAwsS3CannedAcl: "The canned acl that will be applied to the object. see software.amazon.awssdk.services.s3.model.ObjectCannedACL for allowed values."
-    CamelAwsS3DownloadLinkBrowserCompatible: "Whether the download link is browser compatible"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3StorageClass: "The storage class of this object."
-    CamelAwsS3RangeEnd: "The position of the last byte to get"
-  Headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelAwsS3DowloadLinkExpirationTime: "The expiration time of the download link in milliseconds"
-    CamelAwsS3DownloadLinkSignedPayload: "The request payload that is needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3DestinationKey: "The Destination key which will be used for the current operation"
-    CamelAwsS3BucketDestinationName: "The bucket Destination Name which will be used for the current operation"
-    CamelMessageTimestamp: "The timestamp of the message"
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ExpirationTime: "If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3DownloadLinkHttpRequestHeaders: "The headers that are needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3ReplicationStatus: "Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule."
-    CamelAwsS3Acl: "A well constructed Amazon S3 Access Control List object."
-    CamelAwsS3RangeStart: "The position of the first byte to get"
-    CamelAwsS3CannedAcl: "The canned acl that will be applied to the object. see software.amazon.awssdk.services.s3.model.ObjectCannedACL for allowed values."
-    CamelAwsS3DownloadLinkBrowserCompatible: "Whether the download link is browser compatible"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3StorageClass: "The storage class of this object."
-    CamelAwsS3RangeEnd: "The position of the last byte to get"
+    CamelAwsCwMetricDimensionName: "The Amazon CW metric dimension name."
+    CamelAwsCwMetricUnit: "The Amazon CW metric unit."
+    CamelAwsCwMetricDimensionValue: "The Amazon CW metric dimension value."
+    CamelAwsCwMetricDimensions: "A map of dimension names and dimension values."
+    CamelAwsCwMetricTimestamp: "The Amazon CW metric timestamp."
+    CamelAwsCwMetricNamespace: "The Amazon CW metric namespace."
+    CamelAwsCwMetricName: "The Amazon CW metric name."
+    CamelAwsCwMetricValue: "The Amazon CW metric value."
 spec:
   definition:
     description: "Upload data to an Amazon S3 Bucket.\n\nThe basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the `file` / `ce-partition` property to specify the [...]
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-s3-source.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-s3-source.kamelet.yaml
index e1efbffe..416eb518 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-s3-source.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-s3-source.kamelet.yaml
@@ -27,53 +27,14 @@ metadata:
     camel.apache.org/kamelet.type: "source"
   name: "aws-s3-source"
   headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ReplicationStatus: "Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelMessageTimestamp: "The timestamp of the message"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ExpirationTime: "If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header."
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3StorageClass: "The storage class of this object."
-  Headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelAwsS3DowloadLinkExpirationTime: "The expiration time of the download link in milliseconds"
-    CamelAwsS3DownloadLinkSignedPayload: "The request payload that is needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3DestinationKey: "The Destination key which will be used for the current operation"
-    CamelAwsS3BucketDestinationName: "The bucket Destination Name which will be used for the current operation"
-    CamelMessageTimestamp: "The timestamp of the message"
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ExpirationTime: "If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3DownloadLinkHttpRequestHeaders: "The headers that are needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3ReplicationStatus: "Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule."
-    CamelAwsS3Acl: "A well constructed Amazon S3 Access Control List object."
-    CamelAwsS3RangeStart: "The position of the first byte to get"
-    CamelAwsS3CannedAcl: "The canned acl that will be applied to the object. see software.amazon.awssdk.services.s3.model.ObjectCannedACL for allowed values."
-    CamelAwsS3DownloadLinkBrowserCompatible: "Whether the download link is browser compatible"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3StorageClass: "The storage class of this object."
-    CamelAwsS3RangeEnd: "The position of the last byte to get"
+    CamelAwsCwMetricDimensionName: "The Amazon CW metric dimension name."
+    CamelAwsCwMetricUnit: "The Amazon CW metric unit."
+    CamelAwsCwMetricDimensionValue: "The Amazon CW metric dimension value."
+    CamelAwsCwMetricDimensions: "A map of dimension names and dimension values."
+    CamelAwsCwMetricTimestamp: "The Amazon CW metric timestamp."
+    CamelAwsCwMetricNamespace: "The Amazon CW metric namespace."
+    CamelAwsCwMetricName: "The Amazon CW metric name."
+    CamelAwsCwMetricValue: "The Amazon CW metric value."
 spec:
   definition:
     description: "Receive data from an Amazon S3 Bucket.\n\nThe basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.\n\nTwo headers will be duplicated with different names for clarity at sink level, CamelAw [...]
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml
index ca1e1d4b..6904306d 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-s3-streaming-upload-sink.kamelet.yaml
@@ -27,60 +27,14 @@ metadata:
     camel.apache.org/kamelet.type: "sink"
   name: "aws-s3-sink"
   headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelAwsS3DowloadLinkExpirationTime: "The expiration time of the download link in milliseconds"
-    CamelAwsS3DownloadLinkSignedPayload: "The request payload that is needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3DestinationKey: "The Destination key which will be used for the current operation"
-    CamelAwsS3BucketDestinationName: "The bucket Destination Name which will be used for the current operation"
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3DownloadLinkHttpRequestHeaders: "The headers that are needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3Acl: "A well constructed Amazon S3 Access Control List object."
-    CamelAwsS3RangeStart: "The position of the first byte to get"
-    CamelAwsS3CannedAcl: "The canned acl that will be applied to the object. see software.amazon.awssdk.services.s3.model.ObjectCannedACL for allowed values."
-    CamelAwsS3DownloadLinkBrowserCompatible: "Whether the download link is browser compatible"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3StorageClass: "The storage class of this object."
-    CamelAwsS3RangeEnd: "The position of the last byte to get"
-  Headers:
-    CamelAwsS3Metadata: "A map of metadata to be stored or stored with the object in S3. More details about metadata https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.htmlhere."
-    CamelAwsS3ContentEncoding: "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field."
-    CamelAwsS3ETag: "(producer) The ETag value for the newly uploaded object. (consumer) The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3."
-    CamelAwsS3Operation: "The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, listObjects"
-    CamelAwsS3DowloadLinkExpirationTime: "The expiration time of the download link in milliseconds"
-    CamelAwsS3DownloadLinkSignedPayload: "The request payload that is needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3DestinationKey: "The Destination key which will be used for the current operation"
-    CamelAwsS3BucketDestinationName: "The bucket Destination Name which will be used for the current operation"
-    CamelMessageTimestamp: "The timestamp of the message"
-    CamelAwsS3ContentDisposition: "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as."
-    CamelAwsS3ContentType: "The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type."
-    CamelAwsS3LastModified: "The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object."
-    CamelAwsS3ExpirationTime: "If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header."
-    CamelAwsS3ContentControl: "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain."
-    CamelAwsS3ServerSideEncryption: "Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256."
-    CamelAwsS3DownloadLinkHttpRequestHeaders: "The headers that are needed by the service (not needed when BrowserCompatible is true)"
-    CamelAwsS3VersionId: "(producer) The optional version ID of the newly uploaded object. (consumer) The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled."
-    CamelAwsS3ReplicationStatus: "Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule."
-    CamelAwsS3Acl: "A well constructed Amazon S3 Access Control List object."
-    CamelAwsS3RangeStart: "The position of the first byte to get"
-    CamelAwsS3CannedAcl: "The canned acl that will be applied to the object. see software.amazon.awssdk.services.s3.model.ObjectCannedACL for allowed values."
-    CamelAwsS3DownloadLinkBrowserCompatible: "Whether the download link is browser compatible"
-    CamelAwsS3BucketName: "The bucket Name which this object will be stored or which will be used for the current operation or in which this object is contained."
-    CamelAwsS3ContentMD5: "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent."
-    CamelAwsS3Key: "The key under which this object is stored or will be stored or which will be used for the current operation"
-    CamelAwsS3ContentLength: "The Content-Length HTTP header indicating the size of the associated object in bytes."
-    CamelAwsS3StorageClass: "The storage class of this object."
-    CamelAwsS3RangeEnd: "The position of the last byte to get"
+    CamelAwsCwMetricDimensionName: "The Amazon CW metric dimension name."
+    CamelAwsCwMetricUnit: "The Amazon CW metric unit."
+    CamelAwsCwMetricDimensionValue: "The Amazon CW metric dimension value."
+    CamelAwsCwMetricDimensions: "A map of dimension names and dimension values."
+    CamelAwsCwMetricTimestamp: "The Amazon CW metric timestamp."
+    CamelAwsCwMetricNamespace: "The Amazon CW metric namespace."
+    CamelAwsCwMetricName: "The Amazon CW metric name."
+    CamelAwsCwMetricValue: "The Amazon CW metric value."
 spec:
   definition:
     description: "Upload data to an Amazon S3 Bucket.\n\nThe basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the `file` / `ce-partition` property to specify the [...]
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-secrets-manager-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-secrets-manager-sink.kamelet.yaml
index b1f28cec..67266e75 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-secrets-manager-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-secrets-manager-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-secrets-manager-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,79 +25,120 @@ metadata:
     camel.apache.org/kamelet.group: "AWS Secrets Manager"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-secrets-manager-sink"
+  headers:
+    CamelAwsSecretsManagerMaxResults: "The number of results to include in the response."
+    CamelAwsSecretsManagerSecretReplicationRegions: "A comma separated list of Regions in which to replicate the secret."
+    CamelAwsSecretsManagerSecretDescription: "The description of the secret."
+    CamelAwsSecretsManagerSecretId: "The ARN or name of the secret."
+    CamelAwsSecretsManagerSecretName: "The name of the secret."
+    CamelAwsSecretsManagerSecretVersionId: "The unique identifier of the version of the secret."
+    CamelAwsSecretsManagerLambdaRotationFunctionArn: "The ARN of the Lambda rotation function that can rotate the secret."
+    CamelAwsSecretsManagerOperation: "The operation we want to perform"
 spec:
   definition:
-    title: "AWS Secrets Manager Sink"
-    description: |-
-      Create a secret in AWS Secrets Manager.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS Secrets Manager Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the Secrets Manager client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-
-      The Kamelet expects the following headers to be set:
-
-      - `secret-name` / `ce-secret-name`: as the secret name to create.
-
-      If the header won't be set the exchange ID will be used as secret name.
-    required:
-      - region
-    type: object
+    description: "Create a secret in AWS Secrets Manager.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS Secrets Manager Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the Secrets Manager client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory paramet [...]
     properties:
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the Secrets Manager client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Set whether the Secrets Manager client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "region"
+    title: "AWS Secrets Manager Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws-secrets-manager"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws-secrets-manager"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[secret-name]}"
+           -
+            simple: "${header[secret-name]}"
             steps:
-            - set-header:
-                name: CamelAwsSecretsManagerSecretName
+             -
+              set-header:
+                name: "CamelAwsSecretsManagerSecretName"
                 simple: "${header[secret-name]}"
-          - simple: "${header[ce-secret-name]}"
+           -
+            simple: "${header[ce-secret-name]}"
             steps:
-            - set-header:
-                name: CamelAwsSecretsManagerSecretName
+             -
+              set-header:
+                name: "CamelAwsSecretsManagerSecretName"
                 simple: "${header[ce-secret-name]}"
           otherwise:
             steps:
-            - set-header:
-                name: CamelAwsSecretsManagerSecretName
+             -
+              set-header:
+                name: "CamelAwsSecretsManagerSecretName"
                 simple: "${exchangeId}"
-      - to:
+       -
+        to:
           uri: "aws-secrets-manager:kamelet"
           parameters:
             secretKey: "{{?secretKey}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-ses-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-ses-sink.kamelet.yaml
index b5cfe0d8..d7d379e9 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-ses-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-ses-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-ses-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -27,112 +25,162 @@ metadata:
     camel.apache.org/kamelet.group: "AWS SES"
   labels:
     camel.apache.org/kamelet.type: "sink"
+  name: "aws-ses-sink"
+  headers:
+    CamelAwsSesBcc: "List of comma separated destination blind carbon copy (bcc) email address."
+    CamelAwsSesConfigurationSet: "TThe configuration set to send."
+    CamelAwsSesSubject: "The subject of the message."
+    CamelAwsSesFrom: "The sender's email address."
+    CamelAwsSesMessageId: "The Amazon SES message ID."
+    CamelAwsSesTo: "List of comma separated destination email address."
+    CamelAwsSesReturnPath: "The email address to which bounce notifications are to be forwarded."
+    CamelAwsSesCc: "List of comma separated destination carbon copy (cc) email address."
+    CamelAwsSesReplyToAddresses: "The reply-to email address(es) for the message."
+    CamelAwsSesHtmlEmail: "The flag to show if email content is HTML."
 spec:
   definition:
-    title: "AWS SES Sink"
-    description: |-
-      Send email through the Amazon Simple Email Service (SES).
-
-      The basic authentication method for the SES service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the SES client loads the credentials through this provider and doesn't use the basic authentication method.
-      
-      In the header, you can optionally set the following properties:
-      
-      - `subject` / `ce-subject` property to specify the email subject. If you do not set this property in the header, the Kamelet uses the exchange ID for the email subject.
-
-      - `to` / `ce-to` to provide a comma-separated list of email addresses.
-
-      - `reply-to-addresses` / `ce-reply-to-addresses`to provider a comma-separated list of reply-to email addresses.
-
-    required:
-      - from
-      - region
-    type: object
+    description: "Send email through the Amazon Simple Email Service (SES).\n\nThe basic authentication method for the SES service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the SES client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the following properties:\n [...]
     properties:
       from:
-        title: From 
-        description: From address
-        type: string
-        example: user@example.com
+        description: "From address"
+        example: "user@example.com"
+        title: "From"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the SES client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "If true, the SES client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "from"
+     - "region"
+    title: "AWS SES Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-ses"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-ses"
+   - "camel:kamelet"
   template:
     from:
       uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[subject]}"
+           -
+            simple: "${header[subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSesSubject
+             -
+              set-header:
+                name: "CamelAwsSesSubject"
                 simple: "${header[subject]}"
-          - simple: "${header[ce-subject]}"
+           -
+            simple: "${header[ce-subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSesSubject
+             -
+              set-header:
+                name: "CamelAwsSesSubject"
                 simple: "${header[ce-subject]}"
           otherwise:
             steps:
-            - set-header:
-                name: CamelAwsSesSubject
+             -
+              set-header:
+                name: "CamelAwsSesSubject"
                 simple: "${exchangeId}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[to]}"
+           -
+            simple: "${header[to]}"
             steps:
-            - set-header:
-                name: CamelAwsSesTo
+             -
+              set-header:
+                name: "CamelAwsSesTo"
                 simple: "${header[to]}"
-          - simple: "${header[ce-to]}"
+           -
+            simple: "${header[ce-to]}"
             steps:
-            - set-header:
-                name: CamelAwsSesTo
+             -
+              set-header:
+                name: "CamelAwsSesTo"
                 simple: "${header[ce-to]}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[reply-to-addresses]}"
+           -
+            simple: "${header[reply-to-addresses]}"
             steps:
-            - set-header:
-                name: CamelAwsSesReplyToAddresses
+             -
+              set-header:
+                name: "CamelAwsSesReplyToAddresses"
                 simple: "${header[reply-to-addresses]}"
-          - simple: "${header[ce-reply-to-addresses]}"
+           -
+            simple: "${header[ce-reply-to-addresses]}"
             steps:
-            - set-header:
-                name: CamelAwsSesReplyToAddresses
+             -
+              set-header:
+                name: "CamelAwsSesReplyToAddresses"
                 simple: "${header[ce-reply-to-addresses]}"
-      - to:
+       -
+        to:
           uri: "aws2-ses://{{from}}"
           parameters:
             secretKey: "{{?secretKey}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml
index 86f44470..8f68cf6a 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sns-fifo-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,127 +24,173 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SNS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sns-fifo-sink"
+  headers:
+    CamelAwsSnsSubject: "The Amazon SNS message subject. If not set, the subject from the SnsConfiguration is used."
+    CamelAwsSnsMessageId: "The Amazon SNS message ID."
+    CamelAwsSnsMessageStructure: "The message structure to use such as json."
 spec:
   definition:
-    title: AWS SNS FIFO Sink
-    description: |- 
-      Send message to an AWS SNS FIFO Topic.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS SNS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the SNS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-
-      The Kamelet expects the following headers to be set:
-
-      - `subject` / `ce-subject`: the subject of the message
-    required:
-      - topicNameOrArn
-      - region
-    type: object
+    description: "Send message to an AWS SNS FIFO Topic.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS SNS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the SNS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.\n\nT [...]
     properties:
       topicNameOrArn:
-        title: Topic Name
-        description: The SNS Topic name or ARN
-        type: string
+        description: "The SNS Topic name or ARN"
+        title: "Topic Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       contentBasedDeduplication:
-        title: Content-Based Deduplication
-        description: Use content-based deduplication (should be enabled in the SQS FIFO queue first)
-        type: boolean
         default: false
+        description: "Use content-based deduplication (should be enabled in the SQS FIFO queue first)"
+        title: "Content-Based Deduplication"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       autoCreateTopic:
-        title: Autocreate Topic
-        description: Setting the autocreation of the SNS topic. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
-      useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the SNS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
+        description: "Setting the autocreation of the SNS topic."
+        title: "Autocreate Topic"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+      useDefaultCredentialsProvider:
         default: false
+        description: "Set whether the SNS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "topicNameOrArn"
+     - "region"
+    title: "AWS SNS FIFO Sink"
+    type: "object"
   dependencies:
-  - "camel:aws2-sns"
-  - "camel:core"
-  - "camel:kamelet"
+   - "camel:aws2-sns"
+   - "camel:core"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[subject]}"
+           -
+            simple: "${header[subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[subject]}"
-          - simple: "${header[ce-subject]}"
+           -
+            simple: "${header[ce-subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[ce-subject]}"
-      - set-property:
-          name: contentBasedDeduplication
+       -
+        set-property:
+          name: "contentBasedDeduplication"
           constant: "{{contentBasedDeduplication}}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[group]}"
+           -
+            simple: "${header[group]}"
             steps:
-            - set-property:
-                name: CamelAwsSnsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsSnsMessageGroupId"
                 simple: "${header[group]}"
-          - simple: "${header[ce-group]}"
+           -
+            simple: "${header[ce-group]}"
             steps:
-            - set-property:
-                name: CamelAwsSnsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsSnsMessageGroupId"
                 simple: "${header[ce-group]}"
           otherwise:
             steps:
-            - set-property:
-                name: CamelAwsSnsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsSnsMessageGroupId"
                 simple: "${exchangeId}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
+           -
+            simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sns:{{topicNameOrArn}}"
                 parameters:
                   autoCreateTopic: "{{autoCreateTopic}}"
@@ -160,7 +204,8 @@ spec:
                   overrideEndpoint: "{{overrideEndpoint}}"
           otherwise:
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sns:{{topicNameOrArn}}"
                 parameters:
                   autoCreateTopic: "{{autoCreateTopic}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml
index 08589823..49e615b9 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sns-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,94 +24,133 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SNS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sns-sink"
+  headers:
+    CamelAwsSnsSubject: "The Amazon SNS message subject. If not set, the subject from the SnsConfiguration is used."
+    CamelAwsSnsMessageId: "The Amazon SNS message ID."
+    CamelAwsSnsMessageStructure: "The message structure to use such as json."
 spec:
   definition:
-    title: AWS SNS Sink
-    description: |-
-      Send message to an Amazon Simple Notification Service (SNS) topic.
-
-      The basic authentication method for the SNS service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the SNS client loads the credentials through this provider and doesn't use the basic authentication method.
-
-      In the header, you can optionally set the `subject` / `ce-subject` property to specify the subject of the message.
-    required:
-      - topicNameOrArn
-      - region
-    type: object
+    description: "Send message to an Amazon Simple Notification Service (SNS) topic.\n\nThe basic authentication method for the SNS service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the SNS client loads the credentials through this provider and doesn't use the basic authentication method.\n\nIn the header, you can optionally set the `subject` / `c [...]
     properties:
       topicNameOrArn:
-        title: Topic Name
-        description: The SNS topic name name or Amazon Resource Name (ARN).
-        type: string
+        description: "The SNS topic name name or Amazon Resource Name (ARN)."
+        title: "Topic Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       autoCreateTopic:
-        title: Autocreate Topic
-        description: Setting the autocreation of the SNS topic. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
-      useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: If true, the SNS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).
-        type: boolean
+        description: "Setting the autocreation of the SNS topic."
+        title: "Autocreate Topic"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+      useDefaultCredentialsProvider:
         default: false
+        description: "If true, the SNS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key)."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
-        x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "topicNameOrArn"
+     - "region"
+    title: "AWS SNS Sink"
+    type: "object"
   dependencies:
-    - "camel:core"
-    - "camel:aws2-sns"
-    - "camel:kamelet"
+   - "camel:core"
+   - "camel:aws2-sns"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[subject]}"
+           -
+            simple: "${header[subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[subject]}"
-          - simple: "${header[ce-subject]}"
+           -
+            simple: "${header[ce-subject]}"
             steps:
-            - set-header:
-                name: CamelAwsSnsSubject
+             -
+              set-header:
+                name: "CamelAwsSnsSubject"
                 simple: "${header[ce-subject]}"
-      - to:
+       -
+        to:
           uri: "aws2-sns:{{topicNameOrArn}}"
           parameters:
             autoCreateTopic: "{{autoCreateTopic}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml
index d40d62a7..976995e8 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sqs-batch-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,96 +24,135 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SQS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sqs-batch-sink"
+  headers:
+    CamelAwsSqsPrefix: "A string to use for filtering the list results."
+    CamelAwsSqsReceiptHandle: "The Amazon SQS message receipt handle."
+    CamelAwsSqsMessageId: "The Amazon SQS message ID."
+    CamelAwsSqsMD5OfBody: "The MD5 checksum of the Amazon SQS message."
+    CamelAwsSqsDelaySeconds: "The delay seconds that the Amazon SQS message can be see by others."
+    CamelAwsSqsOperation: "The operation we want to perform"
 spec:
   definition:
-    title: AWS SQS Batch Sink
-    description: |-
-      Send Batch message to an AWS SQS Queue.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-    required:
-      - queueNameOrArn
-      - region
-      - batchSeparator
-    type: object
+    description: "Send Batch message to an AWS SQS Queue.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet."
     properties:
       queueNameOrArn:
-        title: Queue Name
-        description: The SQS Queue name or ARN
-        type: string
+        description: "The SQS Queue name or ARN"
+        title: "Queue Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       autoCreateQueue:
-        title: Autocreate Queue
-        description: Setting the autocreation of the SQS queue. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Setting the autocreation of the SQS queue."
+        title: "Autocreate Queue"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       batchSeparator:
-        title: Batch Separator
-        description: The batch separator string
-        type: string
+        description: "The batch separator string"
         example: ","
+        title: "Batch Separator"
+        type: "string"
       amazonAWSHost:
-        title: AWS Host
-        description: The hostname of the Amazon AWS cloud. 
-        type: string
-        default: amazonaws.com
+        default: "amazonaws.com"
+        description: "The hostname of the Amazon AWS cloud."
+        title: "AWS Host"
+        type: "string"
       protocol:
-        title: Protocol
-        description: The underlying protocol used to communicate with SQS
-        type: string
-        example: http or https
-        default: https
+        default: "https"
+        description: "The underlying protocol used to communicate with SQS"
+        example: "http or https"
+        title: "Protocol"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
+        default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
         x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
-        default: false        
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "queueNameOrArn"
+     - "region"
+     - "batchSeparator"
+    title: "AWS SQS Batch Sink"
+    type: "object"
   dependencies:
-    - "camel:aws2-sqs"
-    - "camel:kamelet"
+   - "camel:aws2-sqs"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - to:
+       -
+        to:
           uri: "aws2-sqs:{{queueNameOrArn}}"
           parameters:
             autoCreateQueue: "{{autoCreateQueue}}"
@@ -128,4 +165,4 @@ spec:
             protocol: "{{?protocol}}"
             useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
             uriEndpointOverride: "{{?uriEndpointOverride}}"
-            overrideEndpoint: "{{overrideEndpoint}}"            
+            overrideEndpoint: "{{overrideEndpoint}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml
index 4ea06ac7..bb994194 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml
@@ -13,12 +13,10 @@
 # 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
+# ------------------------------------------------------------------------------
+apiVersion: "camel.apache.org/v1alpha1"
+kind: "Kamelet"
 metadata:
-  name: aws-sqs-fifo-sink
   annotations:
     camel.apache.org/kamelet.support.level: "Stable"
     camel.apache.org/catalog.version: "main-SNAPSHOT"
@@ -26,130 +24,177 @@ metadata:
     camel.apache.org/provider: "Apache Software Foundation"
     camel.apache.org/kamelet.group: "AWS SQS"
   labels:
-    camel.apache.org/kamelet.type: sink
+    camel.apache.org/kamelet.type: "sink"
+  name: "aws-sqs-fifo-sink"
+  headers:
+    CamelAwsSqsPrefix: "A string to use for filtering the list results."
+    CamelAwsSqsReceiptHandle: "The Amazon SQS message receipt handle."
+    CamelAwsSqsMessageId: "The Amazon SQS message ID."
+    CamelAwsSqsMD5OfBody: "The MD5 checksum of the Amazon SQS message."
+    CamelAwsSqsDelaySeconds: "The delay seconds that the Amazon SQS message can be see by others."
+    CamelAwsSqsOperation: "The operation we want to perform"
 spec:
   definition:
-    title: AWS SQS FIFO Sink
-    description: |-
-
-      Send message to an AWS SQS FIFO Queue.
-
-      Access Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.
-      
-      When using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet.
-    required:
-      - queueNameOrArn
-      - region
-    type: object
+    description: "\nSend message to an AWS SQS FIFO Queue.\n\nAccess Key/Secret Key are the basic method for authenticating to the AWS SQS Service. These parameters are optional because the Kamelet provides the 'useDefaultCredentialsProvider'.\n\nWhen using a default Credentials Provider the SQS client will load the credentials through this provider and won't use the static credential. This is reason for not having the access key and secret key as mandatory parameter for this Kamelet."
     properties:
       queueNameOrArn:
-        title: Queue Name
-        description: The SQS Queue name or ARN
-        type: string
+        description: "The SQS Queue name or ARN"
+        title: "Queue Name"
+        type: "string"
       accessKey:
-        title: Access Key
-        description: The access key obtained from AWS.
-        type: string
-        format: password
+        description: "The access key obtained from AWS."
+        format: "password"
+        title: "Access Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       secretKey:
-        title: Secret Key
-        description: The secret key obtained from AWS.
-        type: string
-        format: password
+        description: "The secret key obtained from AWS."
+        format: "password"
+        title: "Secret Key"
+        type: "string"
         x-descriptors:
-        - urn:alm:descriptor:com.tectonic.ui:password
-        - urn:camel:group:credentials
+         - "urn:alm:descriptor:com.tectonic.ui:password"
+         - "urn:camel:group:credentials"
       region:
-        title: AWS Region
-        description: The AWS region to access.
-        type: string
-        enum: ["ap-south-1", "eu-south-1", "us-gov-east-1", "me-central-1", "ca-central-1", "eu-central-1", "us-iso-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", "eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-northeast-2", "ap-northeast-1", "me-south-1", "sa-east-1", "ap-east-1", "cn-north-1", "us-gov-west-1", "ap-southeast-1", "ap-southeast-2", "us-iso-east-1", "ap-southeast-3", "us-east-1", "us-east-2", "cn-northwest-1", "us-isob-east-1", "aws-global", "a [...]
+        description: "The AWS region to access."
+        enum:
+         - "ap-south-1"
+         - "eu-south-1"
+         - "us-gov-east-1"
+         - "me-central-1"
+         - "ca-central-1"
+         - "eu-central-1"
+         - "us-iso-west-1"
+         - "us-west-1"
+         - "us-west-2"
+         - "af-south-1"
+         - "eu-north-1"
+         - "eu-west-3"
+         - "eu-west-2"
+         - "eu-west-1"
+         - "ap-northeast-3"
+         - "ap-northeast-2"
+         - "ap-northeast-1"
+         - "me-south-1"
+         - "sa-east-1"
+         - "ap-east-1"
+         - "cn-north-1"
+         - "us-gov-west-1"
+         - "ap-southeast-1"
+         - "ap-southeast-2"
+         - "us-iso-east-1"
+         - "ap-southeast-3"
+         - "us-east-1"
+         - "us-east-2"
+         - "cn-northwest-1"
+         - "us-isob-east-1"
+         - "aws-global"
+         - "aws-cn-global"
+         - "aws-us-gov-global"
+         - "aws-iso-global"
+         - "aws-iso-b-global"
+        title: "AWS Region"
+        type: "string"
       contentBasedDeduplication:
-        title: Content-Based Deduplication
-        description: Use content-based deduplication (should be enabled in the SQS FIFO queue first)
-        type: boolean
         default: false
+        description: "Use content-based deduplication (should be enabled in the SQS FIFO queue first)"
+        title: "Content-Based Deduplication"
+        type: "boolean"
         x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       autoCreateQueue:
-        title: Autocreate Queue
-        description: Setting the autocreation of the SQS queue. 
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Setting the autocreation of the SQS queue."
+        title: "Autocreate Queue"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       amazonAWSHost:
-        title: AWS Host
-        description: The hostname of the Amazon AWS cloud. 
-        type: string
-        default: amazonaws.com
+        default: "amazonaws.com"
+        description: "The hostname of the Amazon AWS cloud."
+        title: "AWS Host"
+        type: "string"
       protocol:
-        title: Protocol
-        description: The underlying protocol used to communicate with SQS
-        type: string
-        example: http or https
-        default: https
+        default: "https"
+        description: "The underlying protocol used to communicate with SQS"
+        example: "http or https"
+        title: "Protocol"
+        type: "string"
       useDefaultCredentialsProvider:
-        title: Default Credentials Provider
-        description: Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.
-        type: boolean
-        x-descriptors:
-        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         default: false
+        description: "Set whether the SQS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in."
+        title: "Default Credentials Provider"
+        type: "boolean"
+        x-descriptors:
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
       uriEndpointOverride:
-        title: Overwrite Endpoint URI
-        description: The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.
-        type: string
+        description: "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
+        title: "Overwrite Endpoint URI"
+        type: "string"
       overrideEndpoint:
-        title: Endpoint Overwrite
-        description: Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.
-        type: boolean
+        default: false
+        description: "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option."
+        title: "Endpoint Overwrite"
+        type: "boolean"
         x-descriptors:
-          - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
-        default: false   
+         - "urn:alm:descriptor:com.tectonic.ui:checkbox"
+    required:
+     - "queueNameOrArn"
+     - "region"
+    title: "AWS SQS FIFO Sink"
+    type: "object"
   dependencies:
-  - "camel:aws2-sqs"
-  - "camel:core"
-  - "camel:kamelet"
+   - "camel:aws2-sqs"
+   - "camel:core"
+   - "camel:kamelet"
   template:
     from:
-      uri: kamelet:source
+      uri: "kamelet:source"
       steps:
-      - set-property:
-          name: contentBasedDeduplication
+       -
+        set-property:
+          name: "contentBasedDeduplication"
           constant: "{{contentBasedDeduplication}}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${header[group]}"
+           -
+            simple: "${header[group]}"
             steps:
-            - set-property:
-                name: CamelAwsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsMessageGroupId"
                 simple: "${header[group]}"
-          - simple: "${header[ce-group]}"
+           -
+            simple: "${header[ce-group]}"
             steps:
-            - set-property:
-                name: CamelAwsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsMessageGroupId"
                 simple: "${header[ce-group]}"
           otherwise:
             steps:
-            - set-property:
-                name: CamelAwsMessageGroupId
+             -
+              set-property:
+                name: "CamelAwsMessageGroupId"
                 simple: "${exchangeId}"
-      - choice:
+       -
+        choice:
           when:
-          - simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
+           -
+            simple: "${exchangeProperty.contentBasedDeduplication} == 'true'"
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sqs:{{queueNameOrArn}}"
                 parameters:
                   autoCreateQueue: "{{autoCreateQueue}}"
                   accessKey: "{{?accessKey}}"
                   secretKey: "{{?secretKey}}"
                   region: "{{region}}"
-                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" 
+                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
                   messageGroupIdStrategy: "usePropertyValue"
                   messageDeduplicationIdStrategy: "useContentBasedDeduplication"
                   amazonAWSHost: "{{?amazonAWSHost}}"
@@ -158,14 +203,15 @@ spec:
                   overrideEndpoint: "{{overrideEndpoint}}"
           otherwise:
             steps:
-            - to:
+             -
+              to:
                 uri: "aws2-sqs:{{queueNameOrArn}}"
                 parameters:
                   autoCreateQueue: "{{autoCreateQueue}}"
                   accessKey: "{{?accessKey}}"
                   secretKey: "{{?secretKey}}"
                   region: "{{region}}"
-                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" 
+                  useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}"
                   messageGroupIdStrategy: "usePropertyValue"
                   messageDeduplicationIdStrategy: "useExchangeId"
                   amazonAWSHost: "{{?amazonAWSHost}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml
index af05d598..25e6010d 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml
@@ -33,15 +33,6 @@ metadata:
     CamelAwsSqsMD5OfBody: "The MD5 checksum of the Amazon SQS message."
     CamelAwsSqsDelaySeconds: "The delay seconds that the Amazon SQS message can be see by others."
     CamelAwsSqsOperation: "The operation we want to perform"
-  Headers:
-    CamelAwsSqsPrefix: "A string to use for filtering the list results."
-    CamelAwsSqsReceiptHandle: "The Amazon SQS message receipt handle."
-    CamelAwsSqsMessageId: "The Amazon SQS message ID."
-    CamelAwsSqsMessageAttributes: "The Amazon SQS message attributes."
-    CamelAwsSqsMD5OfBody: "The MD5 checksum of the Amazon SQS message."
-    CamelAwsSqsAttributes: "A map of the attributes requested in ReceiveMessage to their respective values."
-    CamelAwsSqsDelaySeconds: "The delay seconds that the Amazon SQS message can be see by others."
-    CamelAwsSqsOperation: "The operation we want to perform"
 spec:
   definition:
     description: "Send messages to an Amazon Simple Queue Service (SQS) queue.\n\nThe basic authentication method for the SQS service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.\n\nIf you use the default credentials provider, the SQS client loads the credentials through this provider and doesn't use the basic authentication method."