You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/07/28 07:22:07 UTC

[camel] branch main updated: CAMEL-19645: camel-aws-athena - enable producer health check. Polish labels on configurations and regen.

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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 830b4e55bb5 CAMEL-19645: camel-aws-athena - enable producer health check. Polish labels on configurations and regen.
830b4e55bb5 is described below

commit 830b4e55bb558590777856cf818c1dece5887b91
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Jul 28 09:21:50 2023 +0200

    CAMEL-19645: camel-aws-athena - enable producer health check. Polish labels on configurations and regen.
---
 .../camel/catalog/components/aws2-athena.json      | 129 ++---
 .../aws2/athena/Athena2ComponentConfigurer.java    |  18 +
 .../camel/component/aws2/athena/aws2-athena.json   | 129 ++---
 .../component/aws2/athena/Athena2Component.java    |   5 +-
 .../aws2/athena/Athena2Configuration.java          | 114 ++---
 .../component/aws2/athena/Athena2Endpoint.java     |  26 +-
 .../component/aws2/athena/Athena2Producer.java     |  33 ++
 ...hCheck.java => Athena2ProducerHealthCheck.java} |   9 +-
 ...ena2ProducerHealthCheckCustomProducerTest.java} |  10 +-
 ...thena2ProducerHealthCheckProfileCredsTest.java} |  10 +-
 ...Athena2ProducerHealthCheckStaticCredsTest.java} |  10 +-
 .../dsl/Aws2AthenaComponentBuilderFactory.java     | 482 ++++++++++--------
 .../dsl/Athena2EndpointBuilderFactory.java         | 539 ++++++++++-----------
 13 files changed, 787 insertions(+), 727 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-athena.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-athena.json
index 6de75a47df6..3b0d0a3ff2e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-athena.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-athena.json
@@ -22,38 +22,41 @@
     "lenientProperties": false
   },
   "componentProperties": {
-    "accessKey": { "index": 0, "kind": "property", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
-    "amazonAthenaClient": { "index": 1, "kind": "property", "displayName": "Amazon Athena Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance to use as [...]
-    "configuration": { "index": 2, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration." },
-    "database": { "index": 3, "kind": "property", "displayName": "Database", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
-    "delay": { "index": 4, "kind": "property", "displayName": "Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section 'Waiting for Query Comp [...]
-    "encryptionOption": { "index": 5, "kind": "property", "displayName": "Encryption Option", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descrip [...]
-    "includeTrace": { "index": 6, "kind": "property", "displayName": "Include Trace", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment (pr [...]
-    "initialDelay": { "index": 7, "kind": "property", "displayName": "Initial Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section 'Waitin [...]
-    "kmsKey": { "index": 8, "kind": "property", "displayName": "Kms Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
-    "lazyStartProducer": { "index": 9, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
-    "maxAttempts": { "index": 10, "kind": "property", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section 'W [...]
-    "maxResults": { "index": 11, "kind": "property", "displayName": "Max Results", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint). [...]
-    "nextToken": { "index": 12, "kind": "property", "displayName": "Next Token", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
-    "operation": { "index": 13, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Athe [...]
-    "outputLocation": { "index": 14, "kind": "property", "displayName": "Output Location", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/bu [...]
-    "outputType": { "index": 15, "kind": "property", "displayName": "Output Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configura [...]
-    "profileCredentialsName": { "index": 16, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profile name" },
-    "proxyHost": { "index": 17, "kind": "property", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
-    "proxyPort": { "index": 18, "kind": "property", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
-    "proxyProtocol": { "index": 19, "kind": "property", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol w [...]
-    "queryExecutionId": { "index": 20, "kind": "property", "displayName": "Query Execution Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
-    "queryString": { "index": 21, "kind": "property", "displayName": "Query String", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange o [...]
-    "region": { "index": 22, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerca [...]
-    "resetWaitTimeoutOnRetry": { "index": 23, "kind": "property", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query r [...]
-    "retry": { "index": 24, "kind": "property", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma sep [...]
-    "secretKey": { "index": 25, "kind": "property", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
-    "useDefaultCredentialsProvider": { "index": 26, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load c [...]
-    "useProfileCredentialsProvider": { "index": 27, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load c [...]
-    "waitTimeout": { "index": 28, "kind": "property", "displayName": "Wait Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the sectio [...]
-    "workGroup": { "index": 29, "kind": "property", "displayName": "Work Group", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
-    "autowiredEnabled": { "index": 30, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
-    "clientRequestToken": { "index": 31, "kind": "property", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will ne [...]
+    "configuration": { "index": 0, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration." },
+    "database": { "index": 1, "kind": "property", "displayName": "Database", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
+    "delay": { "index": 2, "kind": "property", "displayName": "Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section Waiting for Query Completion an [...]
+    "initialDelay": { "index": 3, "kind": "property", "displayName": "Initial Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section Waiting for Que [...]
+    "lazyStartProducer": { "index": 4, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
+    "maxAttempts": { "index": 5, "kind": "property", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section Wai [...]
+    "maxResults": { "index": 6, "kind": "property", "displayName": "Max Results", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint). If not s [...]
+    "nextToken": { "index": 7, "kind": "property", "displayName": "Next Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
+    "operation": { "index": 8, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Config [...]
+    "outputLocation": { "index": 9, "kind": "property", "displayName": "Output Location", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/bucket\/. E [...]
+    "outputType": { "index": 10, "kind": "property", "displayName": "Output Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", " [...]
+    "queryExecutionId": { "index": 11, "kind": "property", "displayName": "Query Execution Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
+    "queryString": { "index": 12, "kind": "property", "displayName": "Query String", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange or as a h [...]
+    "region": { "index": 13, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerca [...]
+    "resetWaitTimeoutOnRetry": { "index": 14, "kind": "property", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query r [...]
+    "retry": { "index": 15, "kind": "property", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma sep [...]
+    "waitTimeout": { "index": 16, "kind": "property", "displayName": "Wait Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the section Waitin [...]
+    "workGroup": { "index": 17, "kind": "property", "displayName": "Work Group", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
+    "amazonAthenaClient": { "index": 18, "kind": "property", "displayName": "Amazon Athena Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance  [...]
+    "autowiredEnabled": { "index": 19, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
+    "clientRequestToken": { "index": 20, "kind": "property", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will ne [...]
+    "includeTrace": { "index": 21, "kind": "property", "displayName": "Include Trace", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment (p [...]
+    "healthCheckConsumerEnabled": { "index": 22, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+    "healthCheckEnabled": { "index": 23, "kind": "property", "displayName": "Health Check Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all health checks from this component" },
+    "healthCheckProducerEnabled": { "index": 24, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component" },
+    "proxyHost": { "index": 25, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
+    "proxyPort": { "index": 26, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
+    "proxyProtocol": { "index": 27, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol [...]
+    "accessKey": { "index": 28, "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
+    "encryptionOption": { "index": 29, "kind": "property", "displayName": "Encryption Option", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descri [...]
+    "kmsKey": { "index": 30, "kind": "property", "displayName": "Kms Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
+    "profileCredentialsName": { "index": 31, "kind": "property", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profile [...]
+    "secretKey": { "index": 32, "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
+    "useDefaultCredentialsProvider": { "index": 33, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect t [...]
+    "useProfileCredentialsProvider": { "index": 34, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect t [...]
   },
   "headers": {
     "CamelAwsAthenaOperation": { "index": 0, "kind": "header", "displayName": "", "group": "all", "label": "all", "required": false, "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "description": "The operation to perform. Permitted values are getQue [...]
@@ -80,36 +83,36 @@
     "CamelAwsAthenaStartQueryExecutionElapsedMillis": { "index": 21, "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total time in millis taken in startQueryExecution (mostly relevant when waiting for query completion within startQueryExecution).", "constantName": "org.apache.camel.component.aws2.athen [...]
   },
   "properties": {
-    "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "producer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Logical name" },
-    "accessKey": { "index": 1, "kind": "parameter", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
-    "amazonAthenaClient": { "index": 2, "kind": "parameter", "displayName": "Amazon Athena Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance to use a [...]
-    "database": { "index": 3, "kind": "parameter", "displayName": "Database", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
-    "delay": { "index": 4, "kind": "parameter", "displayName": "Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section 'Waiting for Query Com [...]
-    "encryptionOption": { "index": 5, "kind": "parameter", "displayName": "Encryption Option", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descri [...]
-    "includeTrace": { "index": 6, "kind": "parameter", "displayName": "Include Trace", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment (p [...]
-    "initialDelay": { "index": 7, "kind": "parameter", "displayName": "Initial Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section 'Waiti [...]
-    "kmsKey": { "index": 8, "kind": "parameter", "displayName": "Kms Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
-    "maxAttempts": { "index": 9, "kind": "parameter", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section 'W [...]
-    "maxResults": { "index": 10, "kind": "parameter", "displayName": "Max Results", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint) [...]
-    "nextToken": { "index": 11, "kind": "parameter", "displayName": "Next Token", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
-    "operation": { "index": 12, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Ath [...]
-    "outputLocation": { "index": 13, "kind": "parameter", "displayName": "Output Location", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/b [...]
-    "outputType": { "index": 14, "kind": "parameter", "displayName": "Output Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configur [...]
-    "profileCredentialsName": { "index": 15, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profile name" },
-    "proxyHost": { "index": 16, "kind": "parameter", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
-    "proxyPort": { "index": 17, "kind": "parameter", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
-    "proxyProtocol": { "index": 18, "kind": "parameter", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol  [...]
-    "queryExecutionId": { "index": 19, "kind": "parameter", "displayName": "Query Execution Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
-    "queryString": { "index": 20, "kind": "parameter", "displayName": "Query String", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange  [...]
-    "region": { "index": 21, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerc [...]
-    "resetWaitTimeoutOnRetry": { "index": 22, "kind": "parameter", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query  [...]
-    "retry": { "index": 23, "kind": "parameter", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma se [...]
-    "secretKey": { "index": 24, "kind": "parameter", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
-    "useDefaultCredentialsProvider": { "index": 25, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load  [...]
-    "useProfileCredentialsProvider": { "index": 26, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load  [...]
-    "waitTimeout": { "index": 27, "kind": "parameter", "displayName": "Wait Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the secti [...]
-    "workGroup": { "index": 28, "kind": "parameter", "displayName": "Work Group", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
-    "lazyStartProducer": { "index": 29, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "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 produ [...]
-    "clientRequestToken": { "index": 30, "kind": "parameter", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will n [...]
+    "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Logical name" },
+    "database": { "index": 1, "kind": "parameter", "displayName": "Database", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
+    "delay": { "index": 2, "kind": "parameter", "displayName": "Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section Waiting for Query Completion a [...]
+    "initialDelay": { "index": 3, "kind": "parameter", "displayName": "Initial Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section Waiting for Qu [...]
+    "maxAttempts": { "index": 4, "kind": "parameter", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section Wa [...]
+    "maxResults": { "index": 5, "kind": "parameter", "displayName": "Max Results", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint). If not  [...]
+    "nextToken": { "index": 6, "kind": "parameter", "displayName": "Next Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
+    "operation": { "index": 7, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Confi [...]
+    "outputLocation": { "index": 8, "kind": "parameter", "displayName": "Output Location", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/bucket\/.  [...]
+    "outputType": { "index": 9, "kind": "parameter", "displayName": "Output Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", " [...]
+    "queryExecutionId": { "index": 10, "kind": "parameter", "displayName": "Query Execution Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
+    "queryString": { "index": 11, "kind": "parameter", "displayName": "Query String", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange or as a  [...]
+    "region": { "index": 12, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerc [...]
+    "resetWaitTimeoutOnRetry": { "index": 13, "kind": "parameter", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query  [...]
+    "retry": { "index": 14, "kind": "parameter", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma se [...]
+    "waitTimeout": { "index": 15, "kind": "parameter", "displayName": "Wait Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the section Waiti [...]
+    "workGroup": { "index": 16, "kind": "parameter", "displayName": "Work Group", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
+    "lazyStartProducer": { "index": 17, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "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 produ [...]
+    "amazonAthenaClient": { "index": 18, "kind": "parameter", "displayName": "Amazon Athena Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance [...]
+    "clientRequestToken": { "index": 19, "kind": "parameter", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will n [...]
+    "includeTrace": { "index": 20, "kind": "parameter", "displayName": "Include Trace", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment ( [...]
+    "proxyHost": { "index": 21, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
+    "proxyPort": { "index": 22, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
+    "proxyProtocol": { "index": 23, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protoco [...]
+    "accessKey": { "index": 24, "kind": "parameter", "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
+    "encryptionOption": { "index": 25, "kind": "parameter", "displayName": "Encryption Option", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descr [...]
+    "kmsKey": { "index": 26, "kind": "parameter", "displayName": "Kms Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
+    "profileCredentialsName": { "index": 27, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profil [...]
+    "secretKey": { "index": 28, "kind": "parameter", "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
+    "useDefaultCredentialsProvider": { "index": 29, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect  [...]
+    "useProfileCredentialsProvider": { "index": 30, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect  [...]
   }
 }
diff --git a/components/camel-aws/camel-aws2-athena/src/generated/java/org/apache/camel/component/aws2/athena/Athena2ComponentConfigurer.java b/components/camel-aws/camel-aws2-athena/src/generated/java/org/apache/camel/component/aws2/athena/Athena2ComponentConfigurer.java
index 3ff898485f9..e40c25d62ab 100644
--- a/components/camel-aws/camel-aws2-athena/src/generated/java/org/apache/camel/component/aws2/athena/Athena2ComponentConfigurer.java
+++ b/components/camel-aws/camel-aws2-athena/src/generated/java/org/apache/camel/component/aws2/athena/Athena2ComponentConfigurer.java
@@ -41,6 +41,12 @@ public class Athena2ComponentConfigurer extends PropertyConfigurerSupport implem
         case "delay": getOrCreateConfiguration(target).setDelay(property(camelContext, long.class, value)); return true;
         case "encryptionoption":
         case "encryptionOption": getOrCreateConfiguration(target).setEncryptionOption(property(camelContext, software.amazon.awssdk.services.athena.model.EncryptionOption.class, value)); return true;
+        case "healthcheckconsumerenabled":
+        case "healthCheckConsumerEnabled": target.setHealthCheckConsumerEnabled(property(camelContext, boolean.class, value)); return true;
+        case "healthcheckenabled":
+        case "healthCheckEnabled": target.setHealthCheckEnabled(property(camelContext, boolean.class, value)); return true;
+        case "healthcheckproducerenabled":
+        case "healthCheckProducerEnabled": target.setHealthCheckProducerEnabled(property(camelContext, boolean.class, value)); return true;
         case "includetrace":
         case "includeTrace": getOrCreateConfiguration(target).setIncludeTrace(property(camelContext, boolean.class, value)); return true;
         case "initialdelay":
@@ -111,6 +117,12 @@ public class Athena2ComponentConfigurer extends PropertyConfigurerSupport implem
         case "delay": return long.class;
         case "encryptionoption":
         case "encryptionOption": return software.amazon.awssdk.services.athena.model.EncryptionOption.class;
+        case "healthcheckconsumerenabled":
+        case "healthCheckConsumerEnabled": return boolean.class;
+        case "healthcheckenabled":
+        case "healthCheckEnabled": return boolean.class;
+        case "healthcheckproducerenabled":
+        case "healthCheckProducerEnabled": return boolean.class;
         case "includetrace":
         case "includeTrace": return boolean.class;
         case "initialdelay":
@@ -177,6 +189,12 @@ public class Athena2ComponentConfigurer extends PropertyConfigurerSupport implem
         case "delay": return getOrCreateConfiguration(target).getDelay();
         case "encryptionoption":
         case "encryptionOption": return getOrCreateConfiguration(target).getEncryptionOption();
+        case "healthcheckconsumerenabled":
+        case "healthCheckConsumerEnabled": return target.isHealthCheckConsumerEnabled();
+        case "healthcheckenabled":
+        case "healthCheckEnabled": return target.isHealthCheckEnabled();
+        case "healthcheckproducerenabled":
+        case "healthCheckProducerEnabled": return target.isHealthCheckProducerEnabled();
         case "includetrace":
         case "includeTrace": return getOrCreateConfiguration(target).isIncludeTrace();
         case "initialdelay":
diff --git a/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json b/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json
index 6de75a47df6..3b0d0a3ff2e 100644
--- a/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json
+++ b/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json
@@ -22,38 +22,41 @@
     "lenientProperties": false
   },
   "componentProperties": {
-    "accessKey": { "index": 0, "kind": "property", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
-    "amazonAthenaClient": { "index": 1, "kind": "property", "displayName": "Amazon Athena Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance to use as [...]
-    "configuration": { "index": 2, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration." },
-    "database": { "index": 3, "kind": "property", "displayName": "Database", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
-    "delay": { "index": 4, "kind": "property", "displayName": "Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section 'Waiting for Query Comp [...]
-    "encryptionOption": { "index": 5, "kind": "property", "displayName": "Encryption Option", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descrip [...]
-    "includeTrace": { "index": 6, "kind": "property", "displayName": "Include Trace", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment (pr [...]
-    "initialDelay": { "index": 7, "kind": "property", "displayName": "Initial Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section 'Waitin [...]
-    "kmsKey": { "index": 8, "kind": "property", "displayName": "Kms Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
-    "lazyStartProducer": { "index": 9, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
-    "maxAttempts": { "index": 10, "kind": "property", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section 'W [...]
-    "maxResults": { "index": 11, "kind": "property", "displayName": "Max Results", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint). [...]
-    "nextToken": { "index": 12, "kind": "property", "displayName": "Next Token", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
-    "operation": { "index": 13, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Athe [...]
-    "outputLocation": { "index": 14, "kind": "property", "displayName": "Output Location", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/bu [...]
-    "outputType": { "index": 15, "kind": "property", "displayName": "Output Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configura [...]
-    "profileCredentialsName": { "index": 16, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profile name" },
-    "proxyHost": { "index": 17, "kind": "property", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
-    "proxyPort": { "index": 18, "kind": "property", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
-    "proxyProtocol": { "index": 19, "kind": "property", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol w [...]
-    "queryExecutionId": { "index": 20, "kind": "property", "displayName": "Query Execution Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
-    "queryString": { "index": 21, "kind": "property", "displayName": "Query String", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange o [...]
-    "region": { "index": 22, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerca [...]
-    "resetWaitTimeoutOnRetry": { "index": 23, "kind": "property", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query r [...]
-    "retry": { "index": 24, "kind": "property", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma sep [...]
-    "secretKey": { "index": 25, "kind": "property", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
-    "useDefaultCredentialsProvider": { "index": 26, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load c [...]
-    "useProfileCredentialsProvider": { "index": 27, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load c [...]
-    "waitTimeout": { "index": 28, "kind": "property", "displayName": "Wait Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the sectio [...]
-    "workGroup": { "index": 29, "kind": "property", "displayName": "Work Group", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
-    "autowiredEnabled": { "index": 30, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
-    "clientRequestToken": { "index": 31, "kind": "property", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will ne [...]
+    "configuration": { "index": 0, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration." },
+    "database": { "index": 1, "kind": "property", "displayName": "Database", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
+    "delay": { "index": 2, "kind": "property", "displayName": "Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section Waiting for Query Completion an [...]
+    "initialDelay": { "index": 3, "kind": "property", "displayName": "Initial Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section Waiting for Que [...]
+    "lazyStartProducer": { "index": 4, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
+    "maxAttempts": { "index": 5, "kind": "property", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section Wai [...]
+    "maxResults": { "index": 6, "kind": "property", "displayName": "Max Results", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint). If not s [...]
+    "nextToken": { "index": 7, "kind": "property", "displayName": "Next Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
+    "operation": { "index": 8, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Config [...]
+    "outputLocation": { "index": 9, "kind": "property", "displayName": "Output Location", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/bucket\/. E [...]
+    "outputType": { "index": 10, "kind": "property", "displayName": "Output Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", " [...]
+    "queryExecutionId": { "index": 11, "kind": "property", "displayName": "Query Execution Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
+    "queryString": { "index": 12, "kind": "property", "displayName": "Query String", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange or as a h [...]
+    "region": { "index": 13, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerca [...]
+    "resetWaitTimeoutOnRetry": { "index": 14, "kind": "property", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query r [...]
+    "retry": { "index": 15, "kind": "property", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma sep [...]
+    "waitTimeout": { "index": 16, "kind": "property", "displayName": "Wait Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the section Waitin [...]
+    "workGroup": { "index": 17, "kind": "property", "displayName": "Work Group", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
+    "amazonAthenaClient": { "index": 18, "kind": "property", "displayName": "Amazon Athena Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance  [...]
+    "autowiredEnabled": { "index": 19, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
+    "clientRequestToken": { "index": 20, "kind": "property", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will ne [...]
+    "includeTrace": { "index": 21, "kind": "property", "displayName": "Include Trace", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment (p [...]
+    "healthCheckConsumerEnabled": { "index": 22, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+    "healthCheckEnabled": { "index": 23, "kind": "property", "displayName": "Health Check Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all health checks from this component" },
+    "healthCheckProducerEnabled": { "index": 24, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component" },
+    "proxyHost": { "index": 25, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
+    "proxyPort": { "index": 26, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
+    "proxyProtocol": { "index": 27, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol [...]
+    "accessKey": { "index": 28, "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
+    "encryptionOption": { "index": 29, "kind": "property", "displayName": "Encryption Option", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descri [...]
+    "kmsKey": { "index": 30, "kind": "property", "displayName": "Kms Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
+    "profileCredentialsName": { "index": 31, "kind": "property", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profile [...]
+    "secretKey": { "index": 32, "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
+    "useDefaultCredentialsProvider": { "index": 33, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect t [...]
+    "useProfileCredentialsProvider": { "index": 34, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect t [...]
   },
   "headers": {
     "CamelAwsAthenaOperation": { "index": 0, "kind": "header", "displayName": "", "group": "all", "label": "all", "required": false, "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "description": "The operation to perform. Permitted values are getQue [...]
@@ -80,36 +83,36 @@
     "CamelAwsAthenaStartQueryExecutionElapsedMillis": { "index": 21, "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total time in millis taken in startQueryExecution (mostly relevant when waiting for query completion within startQueryExecution).", "constantName": "org.apache.camel.component.aws2.athen [...]
   },
   "properties": {
-    "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "producer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Logical name" },
-    "accessKey": { "index": 1, "kind": "parameter", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
-    "amazonAthenaClient": { "index": 2, "kind": "parameter", "displayName": "Amazon Athena Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance to use a [...]
-    "database": { "index": 3, "kind": "parameter", "displayName": "Database", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
-    "delay": { "index": 4, "kind": "parameter", "displayName": "Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section 'Waiting for Query Com [...]
-    "encryptionOption": { "index": 5, "kind": "parameter", "displayName": "Encryption Option", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descri [...]
-    "includeTrace": { "index": 6, "kind": "parameter", "displayName": "Include Trace", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment (p [...]
-    "initialDelay": { "index": 7, "kind": "parameter", "displayName": "Initial Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section 'Waiti [...]
-    "kmsKey": { "index": 8, "kind": "parameter", "displayName": "Kms Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
-    "maxAttempts": { "index": 9, "kind": "parameter", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section 'W [...]
-    "maxResults": { "index": 10, "kind": "parameter", "displayName": "Max Results", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint) [...]
-    "nextToken": { "index": 11, "kind": "parameter", "displayName": "Next Token", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
-    "operation": { "index": 12, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Ath [...]
-    "outputLocation": { "index": 13, "kind": "parameter", "displayName": "Output Location", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/b [...]
-    "outputType": { "index": 14, "kind": "parameter", "displayName": "Output Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configur [...]
-    "profileCredentialsName": { "index": 15, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profile name" },
-    "proxyHost": { "index": 16, "kind": "parameter", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
-    "proxyPort": { "index": 17, "kind": "parameter", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
-    "proxyProtocol": { "index": 18, "kind": "parameter", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol  [...]
-    "queryExecutionId": { "index": 19, "kind": "parameter", "displayName": "Query Execution Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
-    "queryString": { "index": 20, "kind": "parameter", "displayName": "Query String", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange  [...]
-    "region": { "index": 21, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerc [...]
-    "resetWaitTimeoutOnRetry": { "index": 22, "kind": "parameter", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query  [...]
-    "retry": { "index": 23, "kind": "parameter", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma se [...]
-    "secretKey": { "index": 24, "kind": "parameter", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
-    "useDefaultCredentialsProvider": { "index": 25, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load  [...]
-    "useProfileCredentialsProvider": { "index": 26, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect to load  [...]
-    "waitTimeout": { "index": 27, "kind": "parameter", "displayName": "Wait Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the secti [...]
-    "workGroup": { "index": 28, "kind": "parameter", "displayName": "Work Group", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
-    "lazyStartProducer": { "index": 29, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "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 produ [...]
-    "clientRequestToken": { "index": 30, "kind": "parameter", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will n [...]
+    "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Logical name" },
+    "database": { "index": 1, "kind": "parameter", "displayName": "Database", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The Athena database to use." },
+    "delay": { "index": 2, "kind": "parameter", "displayName": "Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the next poll for query execution status. See the section Waiting for Query Completion a [...]
+    "initialDelay": { "index": 3, "kind": "parameter", "displayName": "Initial Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Milliseconds before the first poll for query execution status. See the section Waiting for Qu [...]
+    "maxAttempts": { "index": 4, "kind": "parameter", "displayName": "Max Attempts", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Maximum number of times to attempt a query. Set to 1 to disable retries. See the section Wa [...]
+    "maxResults": { "index": 5, "kind": "parameter", "displayName": "Max Results", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint). If not  [...]
+    "nextToken": { "index": 6, "kind": "parameter", "displayName": "Next Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Pagination token to use in the case where the response from the previous request was truncated." },
+    "operation": { "index": 7, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Confi [...]
+    "outputLocation": { "index": 8, "kind": "parameter", "displayName": "Output Location", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/bucket\/.  [...]
+    "outputType": { "index": 9, "kind": "parameter", "displayName": "Output Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "StreamList", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", " [...]
+    "queryExecutionId": { "index": 10, "kind": "parameter", "displayName": "Query Execution Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The unique ID identifying the query execution." },
+    "queryString": { "index": 11, "kind": "parameter", "displayName": "Query String", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange or as a  [...]
+    "region": { "index": 12, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowerc [...]
+    "resetWaitTimeoutOnRetry": { "index": 13, "kind": "parameter", "displayName": "Reset Wait Timeout On Retry", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Reset the waitTimeout countdown in the event of a query  [...]
+    "retry": { "index": 14, "kind": "parameter", "displayName": "Retry", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "never", "always", "retryable", "exhausted", "generic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "never", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional comma se [...]
+    "waitTimeout": { "index": 15, "kind": "parameter", "displayName": "Wait Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Optional max wait time in millis to wait for a successful query completion. See the section Waiti [...]
+    "workGroup": { "index": 16, "kind": "parameter", "displayName": "Work Group", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The workgroup to use for running the query." },
+    "lazyStartProducer": { "index": 17, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "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 produ [...]
+    "amazonAthenaClient": { "index": 18, "kind": "parameter", "displayName": "Amazon Athena Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.AthenaClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "The AmazonAthena instance [...]
+    "clientRequestToken": { "index": 19, "kind": "parameter", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will n [...]
+    "includeTrace": { "index": 20, "kind": "parameter", "displayName": "Include Trace", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Include useful trace information at the beginning of queries as an SQL comment ( [...]
+    "proxyHost": { "index": 21, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Athena client." },
+    "proxyPort": { "index": 22, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Athena client." },
+    "proxyProtocol": { "index": 23, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "To define a proxy protoco [...]
+    "accessKey": { "index": 24, "kind": "parameter", "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." },
+    "encryptionOption": { "index": 25, "kind": "parameter", "displayName": "Encryption Option", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "descr [...]
+    "kmsKey": { "index": 26, "kind": "parameter", "displayName": "Kms Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." },
+    "profileCredentialsName": { "index": 27, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "If using a profile credentials provider this parameter will set the profil [...]
+    "secretKey": { "index": 28, "kind": "parameter", "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.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key." },
+    "useDefaultCredentialsProvider": { "index": 29, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect  [...]
+    "useProfileCredentialsProvider": { "index": 30, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Set whether the Athena client should expect  [...]
   }
 }
diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Component.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Component.java
index 9fad841aea5..404fee063ad 100644
--- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Component.java
+++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Component.java
@@ -22,13 +22,14 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Component;
-import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.HealthCheckComponent;
 
 /**
  * For working with Amazon Athena SDK v2.
  */
 @Component("aws2-athena")
-public class Athena2Component extends DefaultComponent {
+public class Athena2Component extends HealthCheckComponent {
+
     @Metadata
     private Athena2Configuration configuration = new Athena2Configuration();
 
diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Configuration.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Configuration.java
index 1de82f7cdef..77f3154a36f 100644
--- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Configuration.java
+++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Configuration.java
@@ -29,121 +29,101 @@ import software.amazon.awssdk.services.athena.paginators.GetQueryResultsIterable
 @UriParams
 public class Athena2Configuration implements Cloneable {
 
-    @UriPath(label = "producer",
-             description = "Logical name")
+    @UriPath(description = "Logical name")
     @Metadata(required = true)
     private String label;
 
-    @UriParam(label = "producer",
-              defaultValue = "startQueryExecution",
+    @UriParam(defaultValue = "startQueryExecution",
               description = "The Athena API function to call.")
     private Athena2Operations operation = Athena2Operations.startQueryExecution;
-    @UriParam(label = "producer",
-              description = "The Athena database to use.")
+    @UriParam(description = "The Athena database to use.")
     private String database;
-    @UriParam(label = "producer",
-              description = "The unique ID identifying the query execution.")
+    @UriParam(description = "The unique ID identifying the query execution.")
     private String queryExecutionId;
-    @UriParam(label = "producer",
-              description = "The workgroup to use for running the query.")
+    @UriParam(description = "The workgroup to use for running the query.")
     private String workGroup;
-    @UriParam(label = "producer",
-              description = "Pagination token to use in the case where the response from the previous request was truncated.")
+    @UriParam(description = "Pagination token to use in the case where the response from the previous request was truncated.")
     private String nextToken;
-    @UriParam(label = "producer",
-              description = "Max number of results to return for the given operation (if supported by the Athena API endpoint).  If not set, will use the Athena API default for the given operation.")
+    @UriParam(description = "Max number of results to return for the given operation (if supported by the Athena API endpoint). If not set, will use the Athena API default for the given operation.")
     private Integer maxResults;
-    @UriParam(label = "producer",
-              defaultValue = "false",
-              description = "Include useful trace information at the beginning of queries as an SQL comment (prefixed with \"--\").")
+    @UriParam(label = "advanced", description = "Include useful trace information at the beginning of queries as an SQL comment (prefixed with --).")
     private boolean includeTrace;
-    @UriParam(label = "producer",
-              description = "The location in Amazon S3 where query results are stored, such as s3://path/to/query/bucket/.  Ensure this value ends with a forward slash ('/').")
+    @UriParam(description = "The location in Amazon S3 where query results are stored, such as s3://path/to/query/bucket/. Ensure this value ends with a forward slash.")
     private String outputLocation;
-    @UriParam(label = "producer",
-              defaultValue = "StreamList",
-              description = "How query results should be returned.  One of "
+    @UriParam(defaultValue = "StreamList",
+              description = "How query results should be returned. One of "
                             + "StreamList (default - return a GetQueryResultsIterable that can page through all results), "
-                            + "SelectList (returns at most 1,000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results), "
+                            + "SelectList (returns at most 1000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results), "
                             + "S3Pointer (return an S3 path pointing to the results).")
     private Athena2OutputType outputType = Athena2OutputType.StreamList;
-
     @UriParam(label = "advanced",
-              description = "A unique string to ensure issues queries are idempotent.  It is unlikely you will need to set this.")
+              description = "A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this.")
     private String clientRequestToken;
-    @UriParam(label = "producer",
-              description = "The SQL query to run.  Except for simple queries, prefer setting this as the {@code body} of the "
+    @UriParam(description = "The SQL query to run. Except for simple queries, prefer setting this as the body of the "
                             + "Exchange or as a header using Athena2Constants.QUERY_STRING to avoid having to deal with URL encoding issues.")
     private String queryString;
-    @UriParam(label = "producer",
-              description = "The encryption type to use when storing query results in S3.  One of SSE_S3, SSE_KMS, or CSE_KMS.")
+    @UriParam(label = "security", description = "The encryption type to use when storing query results in S3. One of SSE_S3, SSE_KMS, or CSE_KMS.")
     private EncryptionOption encryptionOption;
-    @UriParam(label = "producer",
+    @UriParam(label = "security",
               description = "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.")
     private String kmsKey;
-
-    @UriParam(label = "producer",
-              defaultValue = "0",
-              description = "Optional max wait time in millis to wait for a successful query completion.  "
-                            + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.")
+    @UriParam(defaultValue = "0",
+              description = "Optional max wait time in millis to wait for a successful query completion."
+                            + " See the section Waiting for Query Completion and Retrying Failed Queries to learn more.")
     private long waitTimeout;
-    @UriParam(label = "producer",
-              defaultValue = "1000",
-              description = "Milliseconds before the first poll for query execution status.  "
-                            + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.")
-    private long initialDelay = 1_000;
-    @UriParam(label = "producer",
-              defaultValue = "2000",
-              description = "Milliseconds before the next poll for query execution status.  "
-                            + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.")
-    private long delay = 2_000;
-
+    @UriParam(defaultValue = "1000",
+              description = "Milliseconds before the first poll for query execution status."
+                            + " See the section Waiting for Query Completion and Retrying Failed Queries to learn more.")
+    private long initialDelay = 1000;
+    @UriParam(defaultValue = "2000",
+              description = "Milliseconds before the next poll for query execution status."
+                            + " See the section Waiting for Query Completion and Retrying Failed Queries to learn more.")
+    private long delay = 2000;
     @UriParam(label = "producer",
               defaultValue = "1",
-              description = "Maximum number of times to attempt a query.  Set to 1 to disable retries.  "
-                            + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.")
+              description = "Maximum number of times to attempt a query. Set to 1 to disable retries."
+                            + " See the section Waiting for Query Completion and Retrying Failed Queries to learn more.")
     private int maxAttempts = 1;
     @UriParam(label = "producer",
               defaultValue = "never",
-              description = "Optional comma separated list of error types to retry the query for.  Use "
+              description = "Optional comma separated list of error types to retry the query for. Use: "
                             + "'retryable' to retry all retryable failure conditions (e.g. generic errors and resources exhausted), "
                             + "'generic' to retry 'GENERIC_INTERNAL_ERROR' failures, "
                             + "'exhausted' to retry queries that have exhausted resource limits, "
                             + "'always' to always retry regardless of failure condition, or "
                             + "'never' or null to never retry (default). "
-                            + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.",
+                            + "See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",
               enums = "never,always,retryable,exhausted,generic")
     private String retry;
     @UriParam(label = "producer",
               defaultValue = "true",
-              description = "Reset the waitTimeout countdown in the event of a query retry.  "
-                            + "If set to true, potential max time spent waiting for queries is equal to waitTimeout x maxAttempts.  "
-                            + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.")
+              description = "Reset the waitTimeout countdown in the event of a query retry."
+                            + " If set to true, potential max time spent waiting for queries is equal to waitTimeout x maxAttempts."
+                            + " See the section Waiting for Query Completion and Retrying Failed Queries to learn more.")
     private boolean resetWaitTimeoutOnRetry = true;
-
     @UriParam
-    @Metadata(autowired = true)
+    @Metadata(label = "advanced", autowired = true)
     private AthenaClient amazonAthenaClient;
-    @UriParam(label = "producer", secret = true)
+    @UriParam(label = "security", secret = true)
     private String accessKey;
-    @UriParam(label = "producer", secret = true)
+    @UriParam(label = "security", secret = true)
     private String secretKey;
-    @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS")
+    @UriParam(label = "proxy", enums = "HTTP,HTTPS", defaultValue = "HTTPS")
     private Protocol proxyProtocol = Protocol.HTTPS;
-    @UriParam(label = "producer")
+    @UriParam(label = "proxy")
     private String proxyHost;
-    @UriParam(label = "producer")
+    @UriParam(label = "proxy")
     private Integer proxyPort;
-    @UriParam
+    @UriParam(description = "The region in which Athena client needs to work. When using this parameter, the configuration will expect the"
+                            + " lowercase name of the region (for example ap-east-1).")
     private String region;
-    @UriParam(defaultValue = "false",
-              description = "Set whether the Athena client should expect to load credentials through a default credentials provider or to expect "
-                            +
-                            "static credentials to be passed in")
+    @UriParam(label = "security",
+              description = "Set whether the Athena client should expect to load credentials through a default credentials provider"
+                            + " or to expect static credentials to be passed in")
     private boolean useDefaultCredentialsProvider;
-    @UriParam(defaultValue = "false")
+    @UriParam(label = "security", defaultValue = "false")
     private boolean useProfileCredentialsProvider;
-    @UriParam
+    @UriParam(label = "security")
     private String profileCredentialsName;
 
     public String getAccessKey() {
diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java
index 64f9e8d6de1..b6390f04aa1 100644
--- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java
+++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java
@@ -22,8 +22,6 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.aws2.athena.client.Athena2ClientFactory;
-import org.apache.camel.health.HealthCheckHelper;
-import org.apache.camel.health.WritableHealthCheckRepository;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.DefaultEndpoint;
@@ -39,9 +37,6 @@ public class Athena2Endpoint extends DefaultEndpoint {
 
     private AthenaClient athenaClient;
 
-    private WritableHealthCheckRepository healthCheckRepository;
-    private Athena2ClientHealthCheck clientHealthCheck;
-
     @UriParam
     private Athena2Configuration configuration;
 
@@ -60,6 +55,11 @@ public class Athena2Endpoint extends DefaultEndpoint {
         return new Athena2Producer(this);
     }
 
+    @Override
+    public Athena2Component getComponent() {
+        return (Athena2Component) super.getComponent();
+    }
+
     @Override
     public void doInit() throws Exception {
         super.doInit();
@@ -68,26 +68,10 @@ public class Athena2Endpoint extends DefaultEndpoint {
                 ? configuration.getAmazonAthenaClient()
                 : Athena2ClientFactory.getAWSAthenaClient(configuration).getAthenaClient();
 
-        // health-check is optional so discover and resolve
-        healthCheckRepository = HealthCheckHelper.getHealthCheckRepository(
-                getCamelContext(),
-                "components",
-                WritableHealthCheckRepository.class);
-
-        if (healthCheckRepository != null) {
-            // Do not register the health check until we resolve CAMEL-18992
-            // clientHealthCheck = new Athena2ClientHealthCheck(this, getId());
-            // healthCheckRepository.addHealthCheck(clientHealthCheck);
-        }
     }
 
     @Override
     public void doStop() throws Exception {
-        if (healthCheckRepository != null && clientHealthCheck != null) {
-            healthCheckRepository.removeHealthCheck(clientHealthCheck);
-            clientHealthCheck = null;
-        }
-
         if (ObjectHelper.isEmpty(configuration.getAmazonAthenaClient())) {
             if (athenaClient != null) {
                 athenaClient.close();
diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Producer.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Producer.java
index a6db62838ef..3e5294442ad 100644
--- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Producer.java
+++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Producer.java
@@ -21,6 +21,8 @@ import java.util.Arrays;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
+import org.apache.camel.health.HealthCheckHelper;
+import org.apache.camel.health.WritableHealthCheckRepository;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -47,6 +49,9 @@ public class Athena2Producer extends DefaultProducer {
 
     private static final Logger LOG = LoggerFactory.getLogger(Athena2Producer.class);
 
+    private Athena2ProducerHealthCheck producerHealthCheck;
+    private WritableHealthCheckRepository healthCheckRepository;
+
     public Athena2Producer(Endpoint endpoint) {
         super(endpoint);
     }
@@ -426,4 +431,32 @@ public class Athena2Producer extends DefaultProducer {
     public Athena2Endpoint getEndpoint() {
         return (Athena2Endpoint) super.getEndpoint();
     }
+
+    @Override
+    protected void doStart() throws Exception {
+        // health-check is optional so discover and resolve
+        healthCheckRepository = HealthCheckHelper.getHealthCheckRepository(
+                getEndpoint().getCamelContext(),
+                "components",
+                WritableHealthCheckRepository.class);
+
+        if (healthCheckRepository != null) {
+            String id = getEndpoint().getConfiguration().getQueryExecutionId();
+            if (id == null) {
+                id = getEndpoint().getId();
+            }
+            producerHealthCheck = new Athena2ProducerHealthCheck(getEndpoint(), id);
+            producerHealthCheck.setEnabled(getEndpoint().getComponent().isHealthCheckEnabled()
+                    && getEndpoint().getComponent().isHealthCheckProducerEnabled());
+            healthCheckRepository.addHealthCheck(producerHealthCheck);
+        }
+    }
+
+    @Override
+    protected void doStop() throws Exception {
+        if (healthCheckRepository != null && producerHealthCheck != null) {
+            healthCheckRepository.removeHealthCheck(producerHealthCheck);
+            producerHealthCheck = null;
+        }
+    }
 }
diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheck.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheck.java
similarity index 92%
rename from components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheck.java
rename to components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheck.java
index 8405f8000b2..8b60c8b1398 100644
--- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheck.java
@@ -27,18 +27,17 @@ import software.amazon.awssdk.regions.Region;
 import software.amazon.awssdk.services.athena.AthenaClient;
 import software.amazon.awssdk.services.athena.model.ListQueryExecutionsRequest;
 
-public class Athena2ClientHealthCheck extends AbstractHealthCheck {
+public class Athena2ProducerHealthCheck extends AbstractHealthCheck {
 
     private final Athena2Endpoint athena2Endpoint;
 
-    public Athena2ClientHealthCheck(Athena2Endpoint athena2Endpoint, String clientId) {
-        super("camel", "aws2-athena-client-" + clientId);
+    public Athena2ProducerHealthCheck(Athena2Endpoint athena2Endpoint, String clientId) {
+        super("camel", "aws2-athena-producer-" + clientId);
         this.athena2Endpoint = athena2Endpoint;
     }
 
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
-
         try {
             if (ObjectHelper.isNotEmpty(athena2Endpoint.getConfiguration().getRegion())) {
                 if (!AthenaClient.serviceMetadata().regions()
@@ -61,12 +60,12 @@ public class Athena2ClientHealthCheck extends AbstractHealthCheck {
             }
             builder.down();
             return;
-
         } catch (Exception e) {
             builder.error(e);
             builder.down();
             return;
         }
+
         builder.up();
     }
 
diff --git a/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckCustomClientTest.java b/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckCustomProducerTest.java
similarity index 90%
rename from components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckCustomClientTest.java
rename to components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckCustomProducerTest.java
index 6a6cacedea1..6a5ee6916ea 100644
--- a/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckCustomClientTest.java
+++ b/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckCustomProducerTest.java
@@ -28,16 +28,15 @@ import org.apache.camel.health.HealthCheckRegistry;
 import org.apache.camel.impl.health.DefaultHealthCheckRegistry;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
 
-public class Athena2ClientHealthCheckCustomClientTest extends CamelTestSupport {
+public class Athena2ProducerHealthCheckCustomProducerTest extends CamelTestSupport {
 
-    private static final Logger LOG = LoggerFactory.getLogger(Athena2ClientHealthCheckCustomClientTest.class);
+    private static final Logger LOG = LoggerFactory.getLogger(Athena2ProducerHealthCheckCustomProducerTest.class);
 
     CamelContext context;
 
@@ -74,7 +73,6 @@ public class Athena2ClientHealthCheckCustomClientTest extends CamelTestSupport {
     }
 
     @Test
-    @Disabled("Do not register the Producer Health Check until we solve CAMEL-18992")
     public void testConnectivity() {
 
         Collection<HealthCheck.Result> res = HealthCheckHelper.invokeLiveness(context);
@@ -86,9 +84,7 @@ public class Athena2ClientHealthCheckCustomClientTest extends CamelTestSupport {
             Collection<HealthCheck.Result> res2 = HealthCheckHelper.invokeReadiness(context);
             boolean down = res2.stream().allMatch(r -> r.getState().equals(HealthCheck.State.DOWN));
             boolean containsAws2AthenaHealthCheck = res2.stream()
-                    .filter(result -> result.getCheck().getId().startsWith("aws2-athena-client"))
-                    .findAny()
-                    .isPresent();
+                    .anyMatch(result -> result.getCheck().getId().startsWith("aws2-athena-producer"));
             boolean hasRegionMessage = res2.stream()
                     .anyMatch(r -> r.getMessage().stream().anyMatch(msg -> msg.contains("region")));
             Assertions.assertTrue(down, "liveness check");
diff --git a/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckProfileCredsTest.java b/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckProfileCredsTest.java
similarity index 89%
rename from components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckProfileCredsTest.java
rename to components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckProfileCredsTest.java
index c9aafcec27a..6fe1c1fe0f3 100644
--- a/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckProfileCredsTest.java
+++ b/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckProfileCredsTest.java
@@ -28,16 +28,15 @@ import org.apache.camel.health.HealthCheckRegistry;
 import org.apache.camel.impl.health.DefaultHealthCheckRegistry;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
 
-public class Athena2ClientHealthCheckProfileCredsTest extends CamelTestSupport {
+public class Athena2ProducerHealthCheckProfileCredsTest extends CamelTestSupport {
 
-    private static final Logger LOG = LoggerFactory.getLogger(Athena2ClientHealthCheckProfileCredsTest.class);
+    private static final Logger LOG = LoggerFactory.getLogger(Athena2ProducerHealthCheckProfileCredsTest.class);
 
     CamelContext context;
 
@@ -73,7 +72,6 @@ public class Athena2ClientHealthCheckProfileCredsTest extends CamelTestSupport {
     }
 
     @Test
-    @Disabled("Do not register the Producer Health Check until we solve CAMEL-18992")
     public void testConnectivity() {
 
         Collection<HealthCheck.Result> res = HealthCheckHelper.invokeLiveness(context);
@@ -85,9 +83,7 @@ public class Athena2ClientHealthCheckProfileCredsTest extends CamelTestSupport {
             Collection<HealthCheck.Result> res2 = HealthCheckHelper.invokeReadiness(context);
             boolean down = res2.stream().allMatch(r -> r.getState().equals(HealthCheck.State.DOWN));
             boolean containsAws2AthenaHealthCheck = res2.stream()
-                    .filter(result -> result.getCheck().getId().startsWith("aws2-athena-client"))
-                    .findAny()
-                    .isPresent();
+                    .anyMatch(result -> result.getCheck().getId().startsWith("aws2-athena-producer"));
             boolean hasRegionMessage = res2.stream()
                     .anyMatch(r -> r.getMessage().stream().anyMatch(msg -> msg.contains("region")));
             Assertions.assertTrue(down, "liveness check");
diff --git a/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckStaticCredsTest.java b/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckStaticCredsTest.java
similarity index 89%
rename from components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckStaticCredsTest.java
rename to components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckStaticCredsTest.java
index 654e75f68a2..9aa90fe8740 100644
--- a/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheckStaticCredsTest.java
+++ b/components/camel-aws/camel-aws2-athena/src/test/java/org/apache/camel/component/aws2/athena/Athena2ProducerHealthCheckStaticCredsTest.java
@@ -28,16 +28,15 @@ import org.apache.camel.health.HealthCheckRegistry;
 import org.apache.camel.impl.health.DefaultHealthCheckRegistry;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
 
-public class Athena2ClientHealthCheckStaticCredsTest extends CamelTestSupport {
+public class Athena2ProducerHealthCheckStaticCredsTest extends CamelTestSupport {
 
-    private static final Logger LOG = LoggerFactory.getLogger(Athena2ClientHealthCheckStaticCredsTest.class);
+    private static final Logger LOG = LoggerFactory.getLogger(Athena2ProducerHealthCheckStaticCredsTest.class);
 
     CamelContext context;
 
@@ -73,7 +72,6 @@ public class Athena2ClientHealthCheckStaticCredsTest extends CamelTestSupport {
     }
 
     @Test
-    @Disabled("Do not register the Producer Health Check until we solve CAMEL-18992")
     public void testConnectivity() {
 
         Collection<HealthCheck.Result> res = HealthCheckHelper.invokeLiveness(context);
@@ -85,9 +83,7 @@ public class Athena2ClientHealthCheckStaticCredsTest extends CamelTestSupport {
             Collection<HealthCheck.Result> res2 = HealthCheckHelper.invokeReadiness(context);
             boolean down = res2.stream().allMatch(r -> r.getState().equals(HealthCheck.State.DOWN));
             boolean containsAws2AthenaHealthCheck = res2.stream()
-                    .filter(result -> result.getCheck().getId().startsWith("aws2-athena-client"))
-                    .findAny()
-                    .isPresent();
+                    .anyMatch(result -> result.getCheck().getId().startsWith("aws2-athena-producer"));
             boolean hasRegionMessage = res2.stream()
                     .anyMatch(r -> r.getMessage().stream().anyMatch(msg -> msg.contains("region")));
             Assertions.assertTrue(down, "liveness check");
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2AthenaComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2AthenaComponentBuilderFactory.java
index 15dbe945032..9e3902fcdaa 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2AthenaComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2AthenaComponentBuilderFactory.java
@@ -50,36 +50,6 @@ public interface Aws2AthenaComponentBuilderFactory {
     interface Aws2AthenaComponentBuilder
             extends
                 ComponentBuilder<Athena2Component> {
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder accessKey(java.lang.String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * The AmazonAthena instance to use as the client.
-         * 
-         * The option is a:
-         * &lt;code&gt;software.amazon.awssdk.services.athena.AthenaClient&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonAthenaClient the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder amazonAthenaClient(
-                software.amazon.awssdk.services.athena.AthenaClient amazonAthenaClient) {
-            doSetProperty("amazonAthenaClient", amazonAthenaClient);
-            return this;
-        }
         /**
          * The component configuration.
          * 
@@ -112,7 +82,7 @@ public interface Aws2AthenaComponentBuilderFactory {
         }
         /**
          * Milliseconds before the next poll for query execution status. See the
-         * section 'Waiting for Query Completion and Retrying Failed Queries' to
+         * section Waiting for Query Completion and Retrying Failed Queries to
          * learn more.
          * 
          * The option is a: &lt;code&gt;long&lt;/code&gt; type.
@@ -127,43 +97,10 @@ public interface Aws2AthenaComponentBuilderFactory {
             doSetProperty("delay", delay);
             return this;
         }
-        /**
-         * The encryption type to use when storing query results in S3. One of
-         * SSE_S3, SSE_KMS, or CSE_KMS.
-         * 
-         * The option is a:
-         * &lt;code&gt;software.amazon.awssdk.services.athena.model.EncryptionOption&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param encryptionOption the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder encryptionOption(
-                software.amazon.awssdk.services.athena.model.EncryptionOption encryptionOption) {
-            doSetProperty("encryptionOption", encryptionOption);
-            return this;
-        }
-        /**
-         * Include useful trace information at the beginning of queries as an
-         * SQL comment (prefixed with --).
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param includeTrace the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder includeTrace(boolean includeTrace) {
-            doSetProperty("includeTrace", includeTrace);
-            return this;
-        }
         /**
          * Milliseconds before the first poll for query execution status. See
-         * the section 'Waiting for Query Completion and Retrying Failed
-         * Queries' to learn more.
+         * the section Waiting for Query Completion and Retrying Failed Queries
+         * to learn more.
          * 
          * The option is a: &lt;code&gt;long&lt;/code&gt; type.
          * 
@@ -177,20 +114,6 @@ public interface Aws2AthenaComponentBuilderFactory {
             doSetProperty("initialDelay", initialDelay);
             return this;
         }
-        /**
-         * For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param kmsKey the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder kmsKey(java.lang.String kmsKey) {
-            doSetProperty("kmsKey", kmsKey);
-            return this;
-        }
         /**
          * Whether the producer should be started lazy (on the first message).
          * By starting lazy you can use this to allow CamelContext and routes to
@@ -217,8 +140,8 @@ public interface Aws2AthenaComponentBuilderFactory {
         }
         /**
          * Maximum number of times to attempt a query. Set to 1 to disable
-         * retries. See the section 'Waiting for Query Completion and Retrying
-         * Failed Queries' to learn more.
+         * retries. See the section Waiting for Query Completion and Retrying
+         * Failed Queries to learn more.
          * 
          * The option is a: &lt;code&gt;int&lt;/code&gt; type.
          * 
@@ -284,7 +207,7 @@ public interface Aws2AthenaComponentBuilderFactory {
         /**
          * The location in Amazon S3 where query results are stored, such as
          * s3://path/to/query/bucket/. Ensure this value ends with a forward
-         * slash ('/').
+         * slash.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
@@ -301,7 +224,7 @@ public interface Aws2AthenaComponentBuilderFactory {
         /**
          * How query results should be returned. One of StreamList (default -
          * return a GetQueryResultsIterable that can page through all results),
-         * SelectList (returns at most 1,000 rows at a time, plus a NextToken
+         * SelectList (returns at most 1000 rows at a time, plus a NextToken
          * value as a header than can be used for manual pagination of results),
          * S3Pointer (return an S3 path pointing to the results).
          * 
@@ -319,67 +242,6 @@ public interface Aws2AthenaComponentBuilderFactory {
             doSetProperty("outputType", outputType);
             return this;
         }
-        /**
-         * If using a profile credentials provider this parameter will set the
-         * profile name.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param profileCredentialsName the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder profileCredentialsName(
-                java.lang.String profileCredentialsName) {
-            doSetProperty("profileCredentialsName", profileCredentialsName);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the Athena client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder proxyHost(java.lang.String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the Athena client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder proxyPort(java.lang.Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the Athena client.
-         * 
-         * The option is a:
-         * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
-         * 
-         * Default: HTTPS
-         * Group: producer
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder proxyProtocol(
-                software.amazon.awssdk.core.Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
         /**
          * The unique ID identifying the query execution.
          * 
@@ -416,8 +278,7 @@ public interface Aws2AthenaComponentBuilderFactory {
         /**
          * The region in which Athena client needs to work. When using this
          * parameter, the configuration will expect the lowercase name of the
-         * region (for example ap-east-1). You'll need to use the name
-         * Region.EU_WEST_1.id().
+         * region (for example ap-east-1).
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
@@ -433,8 +294,8 @@ public interface Aws2AthenaComponentBuilderFactory {
         /**
          * Reset the waitTimeout countdown in the event of a query retry. If set
          * to true, potential max time spent waiting for queries is equal to
-         * waitTimeout x maxAttempts. See the section 'Waiting for Query
-         * Completion and Retrying Failed Queries' to learn more.
+         * waitTimeout x maxAttempts. See the section Waiting for Query
+         * Completion and Retrying Failed Queries to learn more.
          * 
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
@@ -451,13 +312,13 @@ public interface Aws2AthenaComponentBuilderFactory {
         }
         /**
          * Optional comma separated list of error types to retry the query for.
-         * Use 'retryable' to retry all retryable failure conditions (e.g.
+         * Use: 'retryable' to retry all retryable failure conditions (e.g.
          * generic errors and resources exhausted), 'generic' to retry
          * 'GENERIC_INTERNAL_ERROR' failures, 'exhausted' to retry queries that
          * have exhausted resource limits, 'always' to always retry regardless
          * of failure condition, or 'never' or null to never retry (default).
-         * See the section 'Waiting for Query Completion and Retrying Failed
-         * Queries' to learn more.
+         * See the section Waiting for Query Completion and Retrying Failed
+         * Queries to learn more.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
@@ -471,59 +332,10 @@ public interface Aws2AthenaComponentBuilderFactory {
             doSetProperty("retry", retry);
             return this;
         }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder secretKey(java.lang.String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-        /**
-         * Set whether the Athena client should expect to load credentials
-         * through a default credentials provider or to expect static
-         * credentials to be passed in.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param useDefaultCredentialsProvider the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder useDefaultCredentialsProvider(
-                boolean useDefaultCredentialsProvider) {
-            doSetProperty("useDefaultCredentialsProvider", useDefaultCredentialsProvider);
-            return this;
-        }
-        /**
-         * Set whether the Athena client should expect to load credentials
-         * through a profile credentials provider.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param useProfileCredentialsProvider the value to set
-         * @return the dsl builder
-         */
-        default Aws2AthenaComponentBuilder useProfileCredentialsProvider(
-                boolean useProfileCredentialsProvider) {
-            doSetProperty("useProfileCredentialsProvider", useProfileCredentialsProvider);
-            return this;
-        }
         /**
          * Optional max wait time in millis to wait for a successful query
-         * completion. See the section 'Waiting for Query Completion and
-         * Retrying Failed Queries' to learn more.
+         * completion. See the section Waiting for Query Completion and Retrying
+         * Failed Queries to learn more.
          * 
          * The option is a: &lt;code&gt;long&lt;/code&gt; type.
          * 
@@ -551,6 +363,22 @@ public interface Aws2AthenaComponentBuilderFactory {
             doSetProperty("workGroup", workGroup);
             return this;
         }
+        /**
+         * The AmazonAthena instance to use as the client.
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.services.athena.AthenaClient&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param amazonAthenaClient the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder amazonAthenaClient(
+                software.amazon.awssdk.services.athena.AthenaClient amazonAthenaClient) {
+            doSetProperty("amazonAthenaClient", amazonAthenaClient);
+            return this;
+        }
         /**
          * Whether autowiring is enabled. This is used for automatic autowiring
          * options (the option must be marked as autowired) by looking up in the
@@ -588,6 +416,227 @@ public interface Aws2AthenaComponentBuilderFactory {
             doSetProperty("clientRequestToken", clientRequestToken);
             return this;
         }
+        /**
+         * Include useful trace information at the beginning of queries as an
+         * SQL comment (prefixed with --).
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param includeTrace the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder includeTrace(boolean includeTrace) {
+            doSetProperty("includeTrace", includeTrace);
+            return this;
+        }
+        /**
+         * Used for enabling or disabling all consumer based health checks from
+         * this component.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckConsumerEnabled the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder healthCheckConsumerEnabled(
+                boolean healthCheckConsumerEnabled) {
+            doSetProperty("healthCheckConsumerEnabled", healthCheckConsumerEnabled);
+            return this;
+        }
+        /**
+         * Used for enabling or disabling all health checks from this component.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckEnabled the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder healthCheckEnabled(
+                boolean healthCheckEnabled) {
+            doSetProperty("healthCheckEnabled", healthCheckEnabled);
+            return this;
+        }
+        /**
+         * Used for enabling or disabling all producer based health checks from
+         * this component.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckProducerEnabled the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder healthCheckProducerEnabled(
+                boolean healthCheckProducerEnabled) {
+            doSetProperty("healthCheckProducerEnabled", healthCheckProducerEnabled);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the Athena client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyHost the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder proxyHost(java.lang.String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the Athena client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyPort the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder proxyPort(java.lang.Integer proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy protocol when instantiating the Athena client.
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
+         * 
+         * Default: HTTPS
+         * Group: proxy
+         * 
+         * @param proxyProtocol the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder proxyProtocol(
+                software.amazon.awssdk.core.Protocol proxyProtocol) {
+            doSetProperty("proxyProtocol", proxyProtocol);
+            return this;
+        }
+        /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param accessKey the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder accessKey(java.lang.String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * The encryption type to use when storing query results in S3. One of
+         * SSE_S3, SSE_KMS, or CSE_KMS.
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.services.athena.model.EncryptionOption&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param encryptionOption the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder encryptionOption(
+                software.amazon.awssdk.services.athena.model.EncryptionOption encryptionOption) {
+            doSetProperty("encryptionOption", encryptionOption);
+            return this;
+        }
+        /**
+         * For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param kmsKey the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder kmsKey(java.lang.String kmsKey) {
+            doSetProperty("kmsKey", kmsKey);
+            return this;
+        }
+        /**
+         * If using a profile credentials provider this parameter will set the
+         * profile name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param profileCredentialsName the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder profileCredentialsName(
+                java.lang.String profileCredentialsName) {
+            doSetProperty("profileCredentialsName", profileCredentialsName);
+            return this;
+        }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param secretKey the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder secretKey(java.lang.String secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
+        /**
+         * Set whether the Athena client should expect to load credentials
+         * through a default credentials provider or to expect static
+         * credentials to be passed in.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder useDefaultCredentialsProvider(
+                boolean useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", useDefaultCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Athena client should expect to load credentials
+         * through a profile credentials provider.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useProfileCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Aws2AthenaComponentBuilder useProfileCredentialsProvider(
+                boolean useProfileCredentialsProvider) {
+            doSetProperty("useProfileCredentialsProvider", useProfileCredentialsProvider);
+            return this;
+        }
     }
 
     class Aws2AthenaComponentBuilderImpl
@@ -612,15 +661,10 @@ public interface Aws2AthenaComponentBuilderFactory {
                 String name,
                 Object value) {
             switch (name) {
-            case "accessKey": getOrCreateConfiguration((Athena2Component) component).setAccessKey((java.lang.String) value); return true;
-            case "amazonAthenaClient": getOrCreateConfiguration((Athena2Component) component).setAmazonAthenaClient((software.amazon.awssdk.services.athena.AthenaClient) value); return true;
             case "configuration": ((Athena2Component) component).setConfiguration((org.apache.camel.component.aws2.athena.Athena2Configuration) value); return true;
             case "database": getOrCreateConfiguration((Athena2Component) component).setDatabase((java.lang.String) value); return true;
             case "delay": getOrCreateConfiguration((Athena2Component) component).setDelay((long) value); return true;
-            case "encryptionOption": getOrCreateConfiguration((Athena2Component) component).setEncryptionOption((software.amazon.awssdk.services.athena.model.EncryptionOption) value); return true;
-            case "includeTrace": getOrCreateConfiguration((Athena2Component) component).setIncludeTrace((boolean) value); return true;
             case "initialDelay": getOrCreateConfiguration((Athena2Component) component).setInitialDelay((long) value); return true;
-            case "kmsKey": getOrCreateConfiguration((Athena2Component) component).setKmsKey((java.lang.String) value); return true;
             case "lazyStartProducer": ((Athena2Component) component).setLazyStartProducer((boolean) value); return true;
             case "maxAttempts": getOrCreateConfiguration((Athena2Component) component).setMaxAttempts((int) value); return true;
             case "maxResults": getOrCreateConfiguration((Athena2Component) component).setMaxResults((java.lang.Integer) value); return true;
@@ -628,22 +672,30 @@ public interface Aws2AthenaComponentBuilderFactory {
             case "operation": getOrCreateConfiguration((Athena2Component) component).setOperation((org.apache.camel.component.aws2.athena.Athena2Operations) value); return true;
             case "outputLocation": getOrCreateConfiguration((Athena2Component) component).setOutputLocation((java.lang.String) value); return true;
             case "outputType": getOrCreateConfiguration((Athena2Component) component).setOutputType((org.apache.camel.component.aws2.athena.Athena2OutputType) value); return true;
-            case "profileCredentialsName": getOrCreateConfiguration((Athena2Component) component).setProfileCredentialsName((java.lang.String) value); return true;
-            case "proxyHost": getOrCreateConfiguration((Athena2Component) component).setProxyHost((java.lang.String) value); return true;
-            case "proxyPort": getOrCreateConfiguration((Athena2Component) component).setProxyPort((java.lang.Integer) value); return true;
-            case "proxyProtocol": getOrCreateConfiguration((Athena2Component) component).setProxyProtocol((software.amazon.awssdk.core.Protocol) value); return true;
             case "queryExecutionId": getOrCreateConfiguration((Athena2Component) component).setQueryExecutionId((java.lang.String) value); return true;
             case "queryString": getOrCreateConfiguration((Athena2Component) component).setQueryString((java.lang.String) value); return true;
             case "region": getOrCreateConfiguration((Athena2Component) component).setRegion((java.lang.String) value); return true;
             case "resetWaitTimeoutOnRetry": getOrCreateConfiguration((Athena2Component) component).setResetWaitTimeoutOnRetry((boolean) value); return true;
             case "retry": getOrCreateConfiguration((Athena2Component) component).setRetry((java.lang.String) value); return true;
-            case "secretKey": getOrCreateConfiguration((Athena2Component) component).setSecretKey((java.lang.String) value); return true;
-            case "useDefaultCredentialsProvider": getOrCreateConfiguration((Athena2Component) component).setUseDefaultCredentialsProvider((boolean) value); return true;
-            case "useProfileCredentialsProvider": getOrCreateConfiguration((Athena2Component) component).setUseProfileCredentialsProvider((boolean) value); return true;
             case "waitTimeout": getOrCreateConfiguration((Athena2Component) component).setWaitTimeout((long) value); return true;
             case "workGroup": getOrCreateConfiguration((Athena2Component) component).setWorkGroup((java.lang.String) value); return true;
+            case "amazonAthenaClient": getOrCreateConfiguration((Athena2Component) component).setAmazonAthenaClient((software.amazon.awssdk.services.athena.AthenaClient) value); return true;
             case "autowiredEnabled": ((Athena2Component) component).setAutowiredEnabled((boolean) value); return true;
             case "clientRequestToken": getOrCreateConfiguration((Athena2Component) component).setClientRequestToken((java.lang.String) value); return true;
+            case "includeTrace": getOrCreateConfiguration((Athena2Component) component).setIncludeTrace((boolean) value); return true;
+            case "healthCheckConsumerEnabled": ((Athena2Component) component).setHealthCheckConsumerEnabled((boolean) value); return true;
+            case "healthCheckEnabled": ((Athena2Component) component).setHealthCheckEnabled((boolean) value); return true;
+            case "healthCheckProducerEnabled": ((Athena2Component) component).setHealthCheckProducerEnabled((boolean) value); return true;
+            case "proxyHost": getOrCreateConfiguration((Athena2Component) component).setProxyHost((java.lang.String) value); return true;
+            case "proxyPort": getOrCreateConfiguration((Athena2Component) component).setProxyPort((java.lang.Integer) value); return true;
+            case "proxyProtocol": getOrCreateConfiguration((Athena2Component) component).setProxyProtocol((software.amazon.awssdk.core.Protocol) value); return true;
+            case "accessKey": getOrCreateConfiguration((Athena2Component) component).setAccessKey((java.lang.String) value); return true;
+            case "encryptionOption": getOrCreateConfiguration((Athena2Component) component).setEncryptionOption((software.amazon.awssdk.services.athena.model.EncryptionOption) value); return true;
+            case "kmsKey": getOrCreateConfiguration((Athena2Component) component).setKmsKey((java.lang.String) value); return true;
+            case "profileCredentialsName": getOrCreateConfiguration((Athena2Component) component).setProfileCredentialsName((java.lang.String) value); return true;
+            case "secretKey": getOrCreateConfiguration((Athena2Component) component).setSecretKey((java.lang.String) value); return true;
+            case "useDefaultCredentialsProvider": getOrCreateConfiguration((Athena2Component) component).setUseDefaultCredentialsProvider((boolean) value); return true;
+            case "useProfileCredentialsProvider": getOrCreateConfiguration((Athena2Component) component).setUseProfileCredentialsProvider((boolean) value); return true;
             default: return false;
             }
         }
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Athena2EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Athena2EndpointBuilderFactory.java
index 00f3de31be2..ed344ec3937 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Athena2EndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Athena2EndpointBuilderFactory.java
@@ -41,52 +41,6 @@ public interface Athena2EndpointBuilderFactory {
         default AdvancedAthena2EndpointBuilder advanced() {
             return (AdvancedAthena2EndpointBuilder) this;
         }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder accessKey(String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * The AmazonAthena instance to use as the client.
-         * 
-         * The option is a:
-         * &lt;code&gt;software.amazon.awssdk.services.athena.AthenaClient&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonAthenaClient the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder amazonAthenaClient(
-                software.amazon.awssdk.services.athena.AthenaClient amazonAthenaClient) {
-            doSetProperty("amazonAthenaClient", amazonAthenaClient);
-            return this;
-        }
-        /**
-         * The AmazonAthena instance to use as the client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;software.amazon.awssdk.services.athena.AthenaClient&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonAthenaClient the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder amazonAthenaClient(
-                String amazonAthenaClient) {
-            doSetProperty("amazonAthenaClient", amazonAthenaClient);
-            return this;
-        }
         /**
          * The Athena database to use.
          * 
@@ -103,7 +57,7 @@ public interface Athena2EndpointBuilderFactory {
         }
         /**
          * Milliseconds before the next poll for query execution status. See the
-         * section 'Waiting for Query Completion and Retrying Failed Queries' to
+         * section Waiting for Query Completion and Retrying Failed Queries to
          * learn more.
          * 
          * The option is a: &lt;code&gt;long&lt;/code&gt; type.
@@ -120,7 +74,7 @@ public interface Athena2EndpointBuilderFactory {
         }
         /**
          * Milliseconds before the next poll for query execution status. See the
-         * section 'Waiting for Query Completion and Retrying Failed Queries' to
+         * section Waiting for Query Completion and Retrying Failed Queries to
          * learn more.
          * 
          * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
@@ -135,76 +89,10 @@ public interface Athena2EndpointBuilderFactory {
             doSetProperty("delay", delay);
             return this;
         }
-        /**
-         * The encryption type to use when storing query results in S3. One of
-         * SSE_S3, SSE_KMS, or CSE_KMS.
-         * 
-         * The option is a:
-         * &lt;code&gt;software.amazon.awssdk.services.athena.model.EncryptionOption&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param encryptionOption the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder encryptionOption(
-                software.amazon.awssdk.services.athena.model.EncryptionOption encryptionOption) {
-            doSetProperty("encryptionOption", encryptionOption);
-            return this;
-        }
-        /**
-         * The encryption type to use when storing query results in S3. One of
-         * SSE_S3, SSE_KMS, or CSE_KMS.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;software.amazon.awssdk.services.athena.model.EncryptionOption&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param encryptionOption the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder encryptionOption(String encryptionOption) {
-            doSetProperty("encryptionOption", encryptionOption);
-            return this;
-        }
-        /**
-         * Include useful trace information at the beginning of queries as an
-         * SQL comment (prefixed with --).
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param includeTrace the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder includeTrace(boolean includeTrace) {
-            doSetProperty("includeTrace", includeTrace);
-            return this;
-        }
-        /**
-         * Include useful trace information at the beginning of queries as an
-         * SQL comment (prefixed with --).
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param includeTrace the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder includeTrace(String includeTrace) {
-            doSetProperty("includeTrace", includeTrace);
-            return this;
-        }
         /**
          * Milliseconds before the first poll for query execution status. See
-         * the section 'Waiting for Query Completion and Retrying Failed
-         * Queries' to learn more.
+         * the section Waiting for Query Completion and Retrying Failed Queries
+         * to learn more.
          * 
          * The option is a: &lt;code&gt;long&lt;/code&gt; type.
          * 
@@ -220,8 +108,8 @@ public interface Athena2EndpointBuilderFactory {
         }
         /**
          * Milliseconds before the first poll for query execution status. See
-         * the section 'Waiting for Query Completion and Retrying Failed
-         * Queries' to learn more.
+         * the section Waiting for Query Completion and Retrying Failed Queries
+         * to learn more.
          * 
          * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
          * 
@@ -235,24 +123,10 @@ public interface Athena2EndpointBuilderFactory {
             doSetProperty("initialDelay", initialDelay);
             return this;
         }
-        /**
-         * For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param kmsKey the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder kmsKey(String kmsKey) {
-            doSetProperty("kmsKey", kmsKey);
-            return this;
-        }
         /**
          * Maximum number of times to attempt a query. Set to 1 to disable
-         * retries. See the section 'Waiting for Query Completion and Retrying
-         * Failed Queries' to learn more.
+         * retries. See the section Waiting for Query Completion and Retrying
+         * Failed Queries to learn more.
          * 
          * The option is a: &lt;code&gt;int&lt;/code&gt; type.
          * 
@@ -268,8 +142,8 @@ public interface Athena2EndpointBuilderFactory {
         }
         /**
          * Maximum number of times to attempt a query. Set to 1 to disable
-         * retries. See the section 'Waiting for Query Completion and Retrying
-         * Failed Queries' to learn more.
+         * retries. See the section Waiting for Query Completion and Retrying
+         * Failed Queries to learn more.
          * 
          * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
          * 
@@ -367,7 +241,7 @@ public interface Athena2EndpointBuilderFactory {
         /**
          * The location in Amazon S3 where query results are stored, such as
          * s3://path/to/query/bucket/. Ensure this value ends with a forward
-         * slash ('/').
+         * slash.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
@@ -383,7 +257,7 @@ public interface Athena2EndpointBuilderFactory {
         /**
          * How query results should be returned. One of StreamList (default -
          * return a GetQueryResultsIterable that can page through all results),
-         * SelectList (returns at most 1,000 rows at a time, plus a NextToken
+         * SelectList (returns at most 1000 rows at a time, plus a NextToken
          * value as a header than can be used for manual pagination of results),
          * S3Pointer (return an S3 path pointing to the results).
          * 
@@ -404,7 +278,7 @@ public interface Athena2EndpointBuilderFactory {
         /**
          * How query results should be returned. One of StreamList (default -
          * return a GetQueryResultsIterable that can page through all results),
-         * SelectList (returns at most 1,000 rows at a time, plus a NextToken
+         * SelectList (returns at most 1000 rows at a time, plus a NextToken
          * value as a header than can be used for manual pagination of results),
          * S3Pointer (return an S3 path pointing to the results).
          * 
@@ -422,28 +296,168 @@ public interface Athena2EndpointBuilderFactory {
             return this;
         }
         /**
-         * If using a profile credentials provider this parameter will set the
-         * profile name.
+         * The unique ID identifying the query execution.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
          * Group: producer
          * 
-         * @param profileCredentialsName the value to set
+         * @param queryExecutionId the value to set
          * @return the dsl builder
          */
-        default Athena2EndpointBuilder profileCredentialsName(
-                String profileCredentialsName) {
-            doSetProperty("profileCredentialsName", profileCredentialsName);
+        default Athena2EndpointBuilder queryExecutionId(String queryExecutionId) {
+            doSetProperty("queryExecutionId", queryExecutionId);
             return this;
         }
         /**
-         * To define a proxy host when instantiating the Athena client.
+         * The SQL query to run. Except for simple queries, prefer setting this
+         * as the body of the Exchange or as a header using
+         * Athena2Constants.QUERY_STRING to avoid having to deal with URL
+         * encoding issues.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param queryString the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder queryString(String queryString) {
+            doSetProperty("queryString", queryString);
+            return this;
+        }
+        /**
+         * The region in which Athena client needs to work. When using this
+         * parameter, the configuration will expect the lowercase name of the
+         * region (for example ap-east-1).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param region the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder region(String region) {
+            doSetProperty("region", region);
+            return this;
+        }
+        /**
+         * Reset the waitTimeout countdown in the event of a query retry. If set
+         * to true, potential max time spent waiting for queries is equal to
+         * waitTimeout x maxAttempts. See the section Waiting for Query
+         * Completion and Retrying Failed Queries to learn more.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param resetWaitTimeoutOnRetry the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder resetWaitTimeoutOnRetry(
+                boolean resetWaitTimeoutOnRetry) {
+            doSetProperty("resetWaitTimeoutOnRetry", resetWaitTimeoutOnRetry);
+            return this;
+        }
+        /**
+         * Reset the waitTimeout countdown in the event of a query retry. If set
+         * to true, potential max time spent waiting for queries is equal to
+         * waitTimeout x maxAttempts. See the section Waiting for Query
+         * Completion and Retrying Failed Queries to learn more.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param resetWaitTimeoutOnRetry the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder resetWaitTimeoutOnRetry(
+                String resetWaitTimeoutOnRetry) {
+            doSetProperty("resetWaitTimeoutOnRetry", resetWaitTimeoutOnRetry);
+            return this;
+        }
+        /**
+         * Optional comma separated list of error types to retry the query for.
+         * Use: 'retryable' to retry all retryable failure conditions (e.g.
+         * generic errors and resources exhausted), 'generic' to retry
+         * 'GENERIC_INTERNAL_ERROR' failures, 'exhausted' to retry queries that
+         * have exhausted resource limits, 'always' to always retry regardless
+         * of failure condition, or 'never' or null to never retry (default).
+         * See the section Waiting for Query Completion and Retrying Failed
+         * Queries to learn more.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
+         * Default: never
+         * Group: producer
+         * 
+         * @param retry the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder retry(String retry) {
+            doSetProperty("retry", retry);
+            return this;
+        }
+        /**
+         * Optional max wait time in millis to wait for a successful query
+         * completion. See the section Waiting for Query Completion and Retrying
+         * Failed Queries to learn more.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0
          * Group: producer
          * 
+         * @param waitTimeout the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder waitTimeout(long waitTimeout) {
+            doSetProperty("waitTimeout", waitTimeout);
+            return this;
+        }
+        /**
+         * Optional max wait time in millis to wait for a successful query
+         * completion. See the section Waiting for Query Completion and Retrying
+         * Failed Queries to learn more.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0
+         * Group: producer
+         * 
+         * @param waitTimeout the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder waitTimeout(String waitTimeout) {
+            doSetProperty("waitTimeout", waitTimeout);
+            return this;
+        }
+        /**
+         * The workgroup to use for running the query.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param workGroup the value to set
+         * @return the dsl builder
+         */
+        default Athena2EndpointBuilder workGroup(String workGroup) {
+            doSetProperty("workGroup", workGroup);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the Athena client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
          * @param proxyHost the value to set
          * @return the dsl builder
          */
@@ -456,7 +470,7 @@ public interface Athena2EndpointBuilderFactory {
          * 
          * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
          * 
-         * Group: producer
+         * Group: proxy
          * 
          * @param proxyPort the value to set
          * @return the dsl builder
@@ -471,7 +485,7 @@ public interface Athena2EndpointBuilderFactory {
          * The option will be converted to a
          * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
          * 
-         * Group: producer
+         * Group: proxy
          * 
          * @param proxyPort the value to set
          * @return the dsl builder
@@ -487,7 +501,7 @@ public interface Athena2EndpointBuilderFactory {
          * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
          * 
          * Default: HTTPS
-         * Group: producer
+         * Group: proxy
          * 
          * @param proxyProtocol the value to set
          * @return the dsl builder
@@ -504,7 +518,7 @@ public interface Athena2EndpointBuilderFactory {
          * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
          * 
          * Default: HTTPS
-         * Group: producer
+         * Group: proxy
          * 
          * @param proxyProtocol the value to set
          * @return the dsl builder
@@ -514,112 +528,80 @@ public interface Athena2EndpointBuilderFactory {
             return this;
         }
         /**
-         * The unique ID identifying the query execution.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param queryExecutionId the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder queryExecutionId(String queryExecutionId) {
-            doSetProperty("queryExecutionId", queryExecutionId);
-            return this;
-        }
-        /**
-         * The SQL query to run. Except for simple queries, prefer setting this
-         * as the body of the Exchange or as a header using
-         * Athena2Constants.QUERY_STRING to avoid having to deal with URL
-         * encoding issues.
+         * Amazon AWS Access Key.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
-         * Group: producer
+         * Group: security
          * 
-         * @param queryString the value to set
+         * @param accessKey the value to set
          * @return the dsl builder
          */
-        default Athena2EndpointBuilder queryString(String queryString) {
-            doSetProperty("queryString", queryString);
+        default Athena2EndpointBuilder accessKey(String accessKey) {
+            doSetProperty("accessKey", accessKey);
             return this;
         }
         /**
-         * The region in which Athena client needs to work. When using this
-         * parameter, the configuration will expect the lowercase name of the
-         * region (for example ap-east-1). You'll need to use the name
-         * Region.EU_WEST_1.id().
+         * The encryption type to use when storing query results in S3. One of
+         * SSE_S3, SSE_KMS, or CSE_KMS.
          * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.services.athena.model.EncryptionOption&lt;/code&gt; type.
          * 
-         * Group: producer
+         * Group: security
          * 
-         * @param region the value to set
+         * @param encryptionOption the value to set
          * @return the dsl builder
          */
-        default Athena2EndpointBuilder region(String region) {
-            doSetProperty("region", region);
+        default Athena2EndpointBuilder encryptionOption(
+                software.amazon.awssdk.services.athena.model.EncryptionOption encryptionOption) {
+            doSetProperty("encryptionOption", encryptionOption);
             return this;
         }
         /**
-         * Reset the waitTimeout countdown in the event of a query retry. If set
-         * to true, potential max time spent waiting for queries is equal to
-         * waitTimeout x maxAttempts. See the section 'Waiting for Query
-         * Completion and Retrying Failed Queries' to learn more.
+         * The encryption type to use when storing query results in S3. One of
+         * SSE_S3, SSE_KMS, or CSE_KMS.
          * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * The option will be converted to a
+         * &lt;code&gt;software.amazon.awssdk.services.athena.model.EncryptionOption&lt;/code&gt; type.
          * 
-         * Default: true
-         * Group: producer
+         * Group: security
          * 
-         * @param resetWaitTimeoutOnRetry the value to set
+         * @param encryptionOption the value to set
          * @return the dsl builder
          */
-        default Athena2EndpointBuilder resetWaitTimeoutOnRetry(
-                boolean resetWaitTimeoutOnRetry) {
-            doSetProperty("resetWaitTimeoutOnRetry", resetWaitTimeoutOnRetry);
+        default Athena2EndpointBuilder encryptionOption(String encryptionOption) {
+            doSetProperty("encryptionOption", encryptionOption);
             return this;
         }
         /**
-         * Reset the waitTimeout countdown in the event of a query retry. If set
-         * to true, potential max time spent waiting for queries is equal to
-         * waitTimeout x maxAttempts. See the section 'Waiting for Query
-         * Completion and Retrying Failed Queries' to learn more.
+         * For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.
          * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
-         * Default: true
-         * Group: producer
+         * Group: security
          * 
-         * @param resetWaitTimeoutOnRetry the value to set
+         * @param kmsKey the value to set
          * @return the dsl builder
          */
-        default Athena2EndpointBuilder resetWaitTimeoutOnRetry(
-                String resetWaitTimeoutOnRetry) {
-            doSetProperty("resetWaitTimeoutOnRetry", resetWaitTimeoutOnRetry);
+        default Athena2EndpointBuilder kmsKey(String kmsKey) {
+            doSetProperty("kmsKey", kmsKey);
             return this;
         }
         /**
-         * Optional comma separated list of error types to retry the query for.
-         * Use 'retryable' to retry all retryable failure conditions (e.g.
-         * generic errors and resources exhausted), 'generic' to retry
-         * 'GENERIC_INTERNAL_ERROR' failures, 'exhausted' to retry queries that
-         * have exhausted resource limits, 'always' to always retry regardless
-         * of failure condition, or 'never' or null to never retry (default).
-         * See the section 'Waiting for Query Completion and Retrying Failed
-         * Queries' to learn more.
+         * If using a profile credentials provider this parameter will set the
+         * profile name.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
-         * Default: never
-         * Group: producer
+         * Group: security
          * 
-         * @param retry the value to set
+         * @param profileCredentialsName the value to set
          * @return the dsl builder
          */
-        default Athena2EndpointBuilder retry(String retry) {
-            doSetProperty("retry", retry);
+        default Athena2EndpointBuilder profileCredentialsName(
+                String profileCredentialsName) {
+            doSetProperty("profileCredentialsName", profileCredentialsName);
             return this;
         }
         /**
@@ -627,7 +609,7 @@ public interface Athena2EndpointBuilderFactory {
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
-         * Group: producer
+         * Group: security
          * 
          * @param secretKey the value to set
          * @return the dsl builder
@@ -644,7 +626,7 @@ public interface Athena2EndpointBuilderFactory {
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
          * Default: false
-         * Group: producer
+         * Group: security
          * 
          * @param useDefaultCredentialsProvider the value to set
          * @return the dsl builder
@@ -663,7 +645,7 @@ public interface Athena2EndpointBuilderFactory {
          * type.
          * 
          * Default: false
-         * Group: producer
+         * Group: security
          * 
          * @param useDefaultCredentialsProvider the value to set
          * @return the dsl builder
@@ -680,7 +662,7 @@ public interface Athena2EndpointBuilderFactory {
          * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
          * 
          * Default: false
-         * Group: producer
+         * Group: security
          * 
          * @param useProfileCredentialsProvider the value to set
          * @return the dsl builder
@@ -698,7 +680,7 @@ public interface Athena2EndpointBuilderFactory {
          * type.
          * 
          * Default: false
-         * Group: producer
+         * Group: security
          * 
          * @param useProfileCredentialsProvider the value to set
          * @return the dsl builder
@@ -708,54 +690,6 @@ public interface Athena2EndpointBuilderFactory {
             doSetProperty("useProfileCredentialsProvider", useProfileCredentialsProvider);
             return this;
         }
-        /**
-         * Optional max wait time in millis to wait for a successful query
-         * completion. See the section 'Waiting for Query Completion and
-         * Retrying Failed Queries' to learn more.
-         * 
-         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 0
-         * Group: producer
-         * 
-         * @param waitTimeout the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder waitTimeout(long waitTimeout) {
-            doSetProperty("waitTimeout", waitTimeout);
-            return this;
-        }
-        /**
-         * Optional max wait time in millis to wait for a successful query
-         * completion. See the section 'Waiting for Query Completion and
-         * Retrying Failed Queries' to learn more.
-         * 
-         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 0
-         * Group: producer
-         * 
-         * @param waitTimeout the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder waitTimeout(String waitTimeout) {
-            doSetProperty("waitTimeout", waitTimeout);
-            return this;
-        }
-        /**
-         * The workgroup to use for running the query.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param workGroup the value to set
-         * @return the dsl builder
-         */
-        default Athena2EndpointBuilder workGroup(String workGroup) {
-            doSetProperty("workGroup", workGroup);
-            return this;
-        }
     }
 
     /**
@@ -816,6 +750,38 @@ public interface Athena2EndpointBuilderFactory {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * The AmazonAthena instance to use as the client.
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.services.athena.AthenaClient&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param amazonAthenaClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedAthena2EndpointBuilder amazonAthenaClient(
+                software.amazon.awssdk.services.athena.AthenaClient amazonAthenaClient) {
+            doSetProperty("amazonAthenaClient", amazonAthenaClient);
+            return this;
+        }
+        /**
+         * The AmazonAthena instance to use as the client.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;software.amazon.awssdk.services.athena.AthenaClient&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param amazonAthenaClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedAthena2EndpointBuilder amazonAthenaClient(
+                String amazonAthenaClient) {
+            doSetProperty("amazonAthenaClient", amazonAthenaClient);
+            return this;
+        }
         /**
          * A unique string to ensure issues queries are idempotent. It is
          * unlikely you will need to set this.
@@ -832,6 +798,39 @@ public interface Athena2EndpointBuilderFactory {
             doSetProperty("clientRequestToken", clientRequestToken);
             return this;
         }
+        /**
+         * Include useful trace information at the beginning of queries as an
+         * SQL comment (prefixed with --).
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param includeTrace the value to set
+         * @return the dsl builder
+         */
+        default AdvancedAthena2EndpointBuilder includeTrace(boolean includeTrace) {
+            doSetProperty("includeTrace", includeTrace);
+            return this;
+        }
+        /**
+         * Include useful trace information at the beginning of queries as an
+         * SQL comment (prefixed with --).
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param includeTrace the value to set
+         * @return the dsl builder
+         */
+        default AdvancedAthena2EndpointBuilder includeTrace(String includeTrace) {
+            doSetProperty("includeTrace", includeTrace);
+            return this;
+        }
     }
 
     public interface Athena2Builders {