You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2022/03/16 19:13:08 UTC

[camel] 19/33: CAMEL-17792: Add doc about the message headers of camel-aws2-lambda

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

nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2506ffb9dd84237e4eefdd38082fb39eeee1e08b
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Wed Mar 16 11:38:57 2022 +0100

    CAMEL-17792: Add doc about the message headers of camel-aws2-lambda
---
 .../camel/component/aws2/lambda/aws2-lambda.json   | 32 +++++++++
 .../src/main/docs/aws2-lambda-component.adoc       | 75 ++------------------
 .../component/aws2/lambda/Lambda2Constants.java    | 82 +++++++++++++++++++++-
 .../component/aws2/lambda/Lambda2Endpoint.java     |  3 +-
 4 files changed, 119 insertions(+), 73 deletions(-)

diff --git a/components/camel-aws/camel-aws2-lambda/src/generated/resources/org/apache/camel/component/aws2/lambda/aws2-lambda.json b/components/camel-aws/camel-aws2-lambda/src/generated/resources/org/apache/camel/component/aws2/lambda/aws2-lambda.json
index 2897a29..5a752af 100644
--- a/components/camel-aws/camel-aws2-lambda/src/generated/resources/org/apache/camel/component/aws2/lambda/aws2-lambda.json
+++ b/components/camel-aws/camel-aws2-lambda/src/generated/resources/org/apache/camel/component/aws2/lambda/aws2-lambda.json
@@ -39,6 +39,38 @@
     "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.lambda.Lambda2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
     "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.lambda.Lambda2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
   },
+  "headers": {
+    "CamelAwsLambdaOperation": { "kind": "header", "displayName": "", "group": "all", "label": "all", "required": true, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform. Override operation passed as query parameter" },
+    "CamelAwsLambdaS3Bucket": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Amazon S3 bucket name where the .zip file containing\nyour deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function." },
+    "CamelAwsLambdaS3Key": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Amazon S3 object (the deployment package) key name\nyou want to upload." },
+    "CamelAwsLambdaS3ObjectVersion": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Amazon S3 object (the deployment package) version\nyou want to upload." },
+    "CamelAwsLambdaZipFile": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The local path of the zip file (the deployment package).\n Content of zip file can also be put in Message body." },
+    "CamelAwsLambdaDescription": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The user-provided description." },
+    "CamelAwsLambdaRole": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": true, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Amazon Resource Name (ARN) of the IAM role that Lambda assumes\n when it executes your function to access any other Amazon Web Services (AWS) resources." },
+    "CamelAwsLambdaRuntime": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": true, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The runtime environment for the Lambda function you are uploading.\n (nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge)" },
+    "CamelAwsLambdaHandler": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": true, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The function within your code that Lambda calls to begin execution.\n For Node.js, it is the module-name.export value in your function.\n For Java, it can be package.class-name::handler or package.class-name." },
+    "CamelAwsLambdaTargetArn": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The parent object that contains the target ARN (Amazon Resource Name)\nof an Amazon SQS queue or Amazon SNS topic." },
+    "CamelAwsLambdaMemorySize": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The memory size, in MB, you configured for the function.\nMust be a multiple of 64 MB." },
+    "CamelAwsLambdaKMSKeyArn": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables.\nIf not provided, AWS Lambda will use a default service key." },
+    "CamelAwsLambdaEnvironmentVariables": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The key-value pairs that represent your environment's configuration settings." },
+    "CamelAwsLambdaPublish": { "kind": "header", "displayName": "", "group": "createFunction updateFunction", "label": "createFunction updateFunction", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "This boolean parameter can be used to request AWS Lambda\nto create the Lambda function and publish a version as an atomic operation." },
+    "CamelAwsLambdaTimeout": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The function execution time at which Lambda should terminate the function.\nThe default is 3 seconds." },
+    "CamelAwsLambdaTags": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The list of tags (key-value pairs) assigned to the new function." },
+    "CamelAwsLambdaTracingConfig": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Your function's tracing settings (Active or PassThrough)." },
+    "CamelAwsLambdaSecurityGroupIds": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "List<String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "If your Lambda function accesses resources in a VPC, a list of one or more security groups IDs in your VPC." },
+    "CamelAwsLambdaSubnetIds": { "kind": "header", "displayName": "", "group": "createFunction", "label": "createFunction", "required": false, "javaType": "List<String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "If your Lambda function accesses resources in a VPC, a list of one or more subnet IDs in your VPC." },
+    "CamelAwsLambdaEventSourceArn": { "kind": "header", "displayName": "", "group": "createEventSourceMapping", "label": "createEventSourceMapping", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Amazon Resource Name (ARN) of the event source." },
+    "CamelAwsLambdaEventSourceBatchSize": { "kind": "header", "displayName": "", "group": "createEventSourceMapping", "label": "createEventSourceMapping", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function." },
+    "CamelAwsLambdaEventSourceUuid": { "kind": "header", "displayName": "", "group": "deleteEventSourceMapping", "label": "deleteEventSourceMapping", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The identifier of the event source mapping." },
+    "CamelAwsLambdaResourceArn": { "kind": "header", "displayName": "", "group": "listTags tagResource untagResource", "label": "listTags tagResource untagResource", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The function's Amazon Resource Name (ARN)." },
+    "CamelAwsLambdaResourceTags": { "kind": "header", "displayName": "", "group": "tagResource", "label": "tagResource", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "A list of tags to apply to the function." },
+    "CamelAwsLambdaResourceTagKeys": { "kind": "header", "displayName": "", "group": "untagResource", "label": "untagResource", "required": false, "javaType": "List<String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "A list of tag keys to remove from the function." },
+    "CamelAwsLambdaVersionDescription": { "kind": "header", "displayName": "", "group": "publishVersion", "label": "publishVersion", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "A description for the version to override the description in the function configuration." },
+    "CamelAwsLambdaVersionRevisionId": { "kind": "header", "displayName": "", "group": "publishVersion", "label": "publishVersion", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Only update the function if the revision ID matches the ID that's specified." },
+    "CamelAwsLambdaFunctionVersion": { "kind": "header", "displayName": "", "group": "createAlias listAliases", "label": "createAlias listAliases", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The function version to set in the alias" },
+    "CamelAwsLambdaAliasFunctionName": { "kind": "header", "displayName": "", "group": "createAlias deleteAlias getAlias", "label": "createAlias deleteAlias getAlias", "required": true, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The function name of the alias" },
+    "CamelAwsLambdaAliasFunctionDescription": { "kind": "header", "displayName": "", "group": "createAlias", "label": "createAlias", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The function description to set in the alias" }
+  },
   "properties": {
     "function": { "kind": "path", "displayName": "Function", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of the Lambda function." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
diff --git a/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc b/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc
index edc8616..6576722 100644
--- a/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc
+++ b/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc
@@ -70,78 +70,11 @@ You have the possibility of avoiding the usage of explicit static credentials, b
 
 For more information about this you can look at https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html[AWS credentials documentation]
 
-=== Message headers evaluated by the Lambda producer
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
-[width="100%",cols="5%,5%,10%,75%,5%",options="header",]
-|=======================================================================
-|Operation |Header |Type |Description |Required
-
-|All |`CamelAwsLambdaOperation` |`String` |The operation we want to perform. Override operation passed as query parameter| Yes
-
-|createFunction |`CamelAwsLambdaS3Bucket` |`String` |Amazon S3 bucket name where the .zip file containing
-your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.| No
-
-|createFunction |`CamelAwsLambdaS3Key` |`String` |The Amazon S3 object (the deployment package) key name
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaS3ObjectVersion` |String |The Amazon S3 object (the deployment package) version
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaZipFile` |`String` |The local path of the zip file (the deployment package).
- Content of zip file can also be put in Message body.| No
-
-|createFunction |`CamelAwsLambdaRole` |`String` |The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
- when it executes your function to access any other Amazon Web Services (AWS) resources. |Yes
-
-|createFunction |`CamelAwsLambdaRuntime` |String |The runtime environment for the Lambda function you are uploading.
- (nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge) |Yes
-
-|createFunction |`CamelAwsLambdaHandler` |`String` |The function within your code that Lambda calls to begin execution.
- For Node.js, it is the module-name.export value in your function.
- For Java, it can be package.class-name::handler or package.class-name.|Yes
-
-|createFunction |`CamelAwsLambdaDescription` |`String` |The user-provided description.|No
-
-|createFunction |`CamelAwsLambdaTargetArn` |`String` |The parent object that contains the target ARN (Amazon Resource Name)
-of an Amazon SQS queue or Amazon SNS topic.|No
-
-|createFunction |`CamelAwsLambdaMemorySize` |`Integer` |The memory size, in MB, you configured for the function.
-Must be a multiple of 64 MB.|No
-
-|createFunction |`CamelAwsLambdaKMSKeyArn` |`String` |The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables.
-If not provided, AWS Lambda will use a default service key.|No
-
-|createFunction |`CamelAwsLambdaPublish` |`Boolean` |This boolean parameter can be used to request AWS Lambda
-to create the Lambda function and publish a version as an atomic operation.|No
-
-|createFunction |`CamelAwsLambdaTimeout` |`Integer` |The function execution time at which Lambda should terminate the function.
-The default is 3 seconds.|No
-
-|createFunction |`CamelAwsLambdaTracingConfig` |`String` |Your function's tracing settings (Active or PassThrough).|No
-
-|createFunction |`CamelAwsLambdaEnvironmentVariables` |`Map<String, String>` |The key-value pairs that represent your environment's configuration settings.|No
-
-|createFunction |`CamelAwsLambdaEnvironmentTags` |`Map<String, String>` |The list of tags (key-value pairs) assigned to the new function.|No
-
-|createFunction |`CamelAwsLambdaSecurityGroupIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more security groups IDs in your VPC.|No
-
-|createFunction |`CamelAwsLambdaSubnetIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more subnet IDs in your VPC.|No
-
-|createAlias |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionDescription` |`String` |The function description to set in the alias|No
-
-|deleteAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|getAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|listAliases |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|No
-
-|=======================================================================
-
-== List of Avalaible Operations
+== List of Available Operations
 
 - listFunctions
 - getFunction
diff --git a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Constants.java b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Constants.java
index 7b51f5d..5310d30 100644
--- a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Constants.java
+++ b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Constants.java
@@ -16,40 +16,120 @@
  */
 package org.apache.camel.component.aws2.lambda;
 
+import org.apache.camel.spi.Metadata;
+
 /**
  * Constants used in Camel AWS Lambda module
  */
 public interface Lambda2Constants {
 
+    @Metadata(label = "all", description = "The operation we want to perform. Override operation passed as query parameter",
+              javaType = "String", required = true)
     String OPERATION = "CamelAwsLambdaOperation";
-
+    @Metadata(label = "createFunction", description = "Amazon S3 bucket name where the .zip file containing\n" +
+                                                      "your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.",
+              javaType = "String")
     String S3_BUCKET = "CamelAwsLambdaS3Bucket";
+    @Metadata(label = "createFunction", description = "The Amazon S3 object (the deployment package) key name\n" +
+                                                      "you want to upload.",
+              javaType = "String")
     String S3_KEY = "CamelAwsLambdaS3Key";
+    @Metadata(label = "createFunction", description = "The Amazon S3 object (the deployment package) version\n" +
+                                                      "you want to upload.",
+              javaType = "String")
     String S3_OBJECT_VERSION = "CamelAwsLambdaS3ObjectVersion";
+    @Metadata(label = "createFunction", description = "The local path of the zip file (the deployment package).\n" +
+                                                      " Content of zip file can also be put in Message body.",
+              javaType = "String")
     String ZIP_FILE = "CamelAwsLambdaZipFile";
+    @Metadata(label = "createFunction", description = "The user-provided description.", javaType = "String")
     String DESCRIPTION = "CamelAwsLambdaDescription";
+    @Metadata(label = "createFunction", description = "The Amazon Resource Name (ARN) of the IAM role that Lambda assumes\n" +
+                                                      " when it executes your function to access any other Amazon Web Services (AWS) resources.",
+              javaType = "String", required = true)
     String ROLE = "CamelAwsLambdaRole";
+    @Metadata(label = "createFunction", description = "The runtime environment for the Lambda function you are uploading.\n" +
+                                                      " (nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge)",
+              javaType = "String", required = true)
     String RUNTIME = "CamelAwsLambdaRuntime";
+    @Metadata(label = "createFunction", description = "The function within your code that Lambda calls to begin execution.\n" +
+                                                      " For Node.js, it is the module-name.export value in your function.\n" +
+                                                      " For Java, it can be package.class-name::handler or package.class-name.",
+              javaType = "String", required = true)
     String HANDLER = "CamelAwsLambdaHandler";
+    @Metadata(label = "createFunction",
+              description = "The parent object that contains the target ARN (Amazon Resource Name)\n" +
+                            "of an Amazon SQS queue or Amazon SNS topic.",
+              javaType = "String")
     String TARGET_ARN = "CamelAwsLambdaTargetArn";
+    @Metadata(label = "createFunction", description = "The memory size, in MB, you configured for the function.\n" +
+                                                      "Must be a multiple of 64 MB.",
+              javaType = "Integer")
     String MEMORY_SIZE = "CamelAwsLambdaMemorySize";
+    @Metadata(label = "createFunction",
+              description = "The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables.\n"
+                            +
+                            "If not provided, AWS Lambda will use a default service key.",
+              javaType = "String")
     String KMS_KEY_ARN = "CamelAwsLambdaKMSKeyArn";
+    @Metadata(label = "createFunction",
+              description = "The key-value pairs that represent your environment's configuration settings.",
+              javaType = "Map<String, String>")
     String ENVIRONMENT_VARIABLES = "CamelAwsLambdaEnvironmentVariables";
+    @Metadata(label = "createFunction updateFunction",
+              description = "This boolean parameter can be used to request AWS Lambda\n" +
+                            "to create the Lambda function and publish a version as an atomic operation.",
+              javaType = "Boolean")
     String PUBLISH = "CamelAwsLambdaPublish";
+    @Metadata(label = "createFunction",
+              description = "The function execution time at which Lambda should terminate the function.\n" +
+                            "The default is 3 seconds.",
+              javaType = "Integer")
     String TIMEOUT = "CamelAwsLambdaTimeout";
+    @Metadata(label = "createFunction", description = "The list of tags (key-value pairs) assigned to the new function.",
+              javaType = "Map<String, String>")
     String TAGS = "CamelAwsLambdaTags";
+    @Metadata(label = "createFunction", description = "Your function's tracing settings (Active or PassThrough).",
+              javaType = "String")
     String TRACING_CONFIG = "CamelAwsLambdaTracingConfig";
+    @Metadata(label = "createFunction",
+              description = "If your Lambda function accesses resources in a VPC, a list of one or more security groups IDs in your VPC.",
+              javaType = "List<String>")
     String SECURITY_GROUP_IDS = "CamelAwsLambdaSecurityGroupIds";
+    @Metadata(label = "createFunction",
+              description = "If your Lambda function accesses resources in a VPC, a list of one or more subnet IDs in your VPC.",
+              javaType = "List<String>")
     String SUBNET_IDS = "CamelAwsLambdaSubnetIds";
+    @Metadata(label = "createEventSourceMapping", description = "The Amazon Resource Name (ARN) of the event source.",
+              javaType = "String")
     String EVENT_SOURCE_ARN = "CamelAwsLambdaEventSourceArn";
+    @Metadata(label = "createEventSourceMapping",
+              description = "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. ",
+              javaType = "Integer")
     String EVENT_SOURCE_BATCH_SIZE = "CamelAwsLambdaEventSourceBatchSize";
+    @Metadata(label = "deleteEventSourceMapping", description = "The identifier of the event source mapping.",
+              javaType = "String")
     String EVENT_SOURCE_UUID = "CamelAwsLambdaEventSourceUuid";
+    @Metadata(label = "listTags tagResource untagResource", description = "The function's Amazon Resource Name (ARN).",
+              javaType = "String")
     String RESOURCE_ARN = "CamelAwsLambdaResourceArn";
+    @Metadata(label = "tagResource", description = "A list of tags to apply to the function.", javaType = "Map<String, String>")
     String RESOURCE_TAGS = "CamelAwsLambdaResourceTags";
+    @Metadata(label = "untagResource", description = "A list of tag keys to remove from the function.",
+              javaType = "List<String>")
     String RESOURCE_TAG_KEYS = "CamelAwsLambdaResourceTagKeys";
+    @Metadata(label = "publishVersion",
+              description = "A description for the version to override the description in the function configuration.",
+              javaType = "String")
     String VERSION_DESCRIPTION = "CamelAwsLambdaVersionDescription";
+    @Metadata(label = "publishVersion",
+              description = "Only update the function if the revision ID matches the ID that's specified.", javaType = "String")
     String VERSION_REVISION_ID = "CamelAwsLambdaVersionRevisionId";
+    @Metadata(label = "createAlias listAliases", description = "The function version to set in the alias", javaType = "String")
     String FUNCTION_VERSION = "CamelAwsLambdaFunctionVersion";
+    @Metadata(label = "createAlias deleteAlias getAlias", description = "The function name of the alias", javaType = "String",
+              required = true)
     String FUNCTION_ALIAS_NAME = "CamelAwsLambdaAliasFunctionName";
+    @Metadata(label = "createAlias", description = "The function description to set in the alias", javaType = "String")
     String FUNCTION_ALIAS_DESCRIPTION = "CamelAwsLambdaAliasFunctionDescription";
 }
diff --git a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Endpoint.java b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Endpoint.java
index 20f2fe6..ea31f83 100644
--- a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Endpoint.java
+++ b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Endpoint.java
@@ -34,7 +34,8 @@ import software.amazon.awssdk.services.lambda.LambdaClient;
  * Manage and invoke AWS Lambda functions using AWS SDK version 2.x.
  */
 @UriEndpoint(firstVersion = "3.2.0", scheme = "aws2-lambda", title = "AWS Lambda", syntax = "aws2-lambda:function",
-             producerOnly = true, category = { Category.CLOUD, Category.COMPUTING, Category.SERVERLESS })
+             producerOnly = true, category = { Category.CLOUD, Category.COMPUTING, Category.SERVERLESS },
+             headersClass = Lambda2Constants.class)
 public class Lambda2Endpoint extends DefaultEndpoint {
 
     private LambdaClient awsLambdaClient;