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 2024/03/11 18:49:30 UTC

(camel) branch main updated: Kotlin API enhancements (#13431)

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 336506d0417 Kotlin API enhancements (#13431)
336506d0417 is described below

commit 336506d041777f61ae41185fa0f9c3277a5bf530
Author: Ivan Mashtak <de...@yandex.ru>
AuthorDate: Mon Mar 11 21:48:32 2024 +0300

    Kotlin API enhancements (#13431)
    
    * camel-kotlin-api: renamed classes and add docs to generated methods
    
    * camel-kotlin-api: regen
    
    * camel-kotlin-api: regen
---
 .../camel/kotlin/components/ActivemqUriDsl.kt      |  836 ++++++++++++++++
 .../apache/camel/kotlin/components/AmqpUriDsl.kt   |  829 ++++++++++++++++
 .../camel/kotlin/components/ArangodbUriDsl.kt      |   63 ++
 .../apache/camel/kotlin/components/As2UriDsl.kt    |  154 +++
 .../camel/kotlin/components/AsteriskUriDsl.kt      |   64 ++
 .../kotlin/components/AtmosphereWebsocketUriDsl.kt |  246 +++++
 .../apache/camel/kotlin/components/AtomUriDsl.kt   |  166 ++++
 .../apache/camel/kotlin/components/AvroUriDsl.kt   |   92 ++
 .../camel/kotlin/components/Aws2AthenaUriDsl.kt    |  184 ++++
 .../apache/camel/kotlin/components/Aws2CwUriDsl.kt |  111 +++
 .../camel/kotlin/components/Aws2DdbUriDsl.kt       |  134 +++
 .../camel/kotlin/components/Aws2DdbstreamUriDsl.kt |  220 +++++
 .../camel/kotlin/components/Aws2Ec2UriDsl.kt       |  107 ++
 .../camel/kotlin/components/Aws2EcsUriDsl.kt       |  105 ++
 .../camel/kotlin/components/Aws2EksUriDsl.kt       |  105 ++
 .../kotlin/components/Aws2EventbridgeUriDsl.kt     |  108 ++
 .../camel/kotlin/components/Aws2IamUriDsl.kt       |  106 ++
 .../kotlin/components/Aws2KinesisFirehoseUriDsl.kt |  107 ++
 .../camel/kotlin/components/Aws2KinesisUriDsl.kt   |  262 +++++
 .../camel/kotlin/components/Aws2KmsUriDsl.kt       |  105 ++
 .../camel/kotlin/components/Aws2LambdaUriDsl.kt    |  106 ++
 .../apache/camel/kotlin/components/Aws2MqUriDsl.kt |  105 ++
 .../camel/kotlin/components/Aws2MskUriDsl.kt       |  105 ++
 .../kotlin/components/Aws2RedshiftDataUriDsl.kt    |  107 ++
 .../apache/camel/kotlin/components/Aws2S3UriDsl.kt |  473 +++++++++
 .../camel/kotlin/components/Aws2SesUriDsl.kt       |  123 +++
 .../camel/kotlin/components/Aws2SnsUriDsl.kt       |  143 +++
 .../camel/kotlin/components/Aws2SqsUriDsl.kt       |  407 ++++++++
 .../kotlin/components/Aws2StepFunctionsUriDsl.kt   |  108 ++
 .../camel/kotlin/components/Aws2StsUriDsl.kt       |   94 ++
 .../kotlin/components/Aws2TimestreamUriDsl.kt      |  105 ++
 .../camel/kotlin/components/Aws2TranslateUriDsl.kt |  117 +++
 .../components/AwsBedrockAgentRuntimeUriDsl.kt     |  113 +++
 .../kotlin/components/AwsBedrockAgentUriDsl.kt     |  249 +++++
 .../camel/kotlin/components/AwsBedrockUriDsl.kt    |  108 ++
 .../camel/kotlin/components/AwsCloudtrailUriDsl.kt |  221 +++++
 .../camel/kotlin/components/AwsConfigUriDsl.kt     |  105 ++
 .../kotlin/components/AwsSecretsManagerUriDsl.kt   |  113 +++
 .../camel/kotlin/components/AzureCosmosdbUriDsl.kt |  240 +++++
 .../kotlin/components/AzureEventhubsUriDsl.kt      |  161 +++
 .../camel/kotlin/components/AzureFilesUriDsl.kt    |  784 +++++++++++++++
 .../camel/kotlin/components/AzureKeyVaultUriDsl.kt |   40 +
 .../kotlin/components/AzureServicebusUriDsl.kt     |  161 +++
 .../kotlin/components/AzureStorageBlobUriDsl.kt    |  318 ++++++
 .../components/AzureStorageDatalakeUriDsl.kt       |  291 ++++++
 .../kotlin/components/AzureStorageQueueUriDsl.kt   |  221 +++++
 .../apache/camel/kotlin/components/BeanUriDsl.kt   |   40 +
 .../camel/kotlin/components/BeanValidatorUriDsl.kt |   46 +
 .../apache/camel/kotlin/components/BonitaUriDsl.kt |   37 +
 .../apache/camel/kotlin/components/BoxUriDsl.kt    |   87 ++
 .../camel/kotlin/components/BraintreeUriDsl.kt     |   75 ++
 .../apache/camel/kotlin/components/BrowseUriDsl.kt |   52 +
 .../camel/kotlin/components/CaffeineCacheUriDsl.kt |  107 ++
 .../kotlin/components/CaffeineLoadcacheUriDsl.kt   |  107 ++
 .../camel/kotlin/components/ChatscriptUriDsl.kt    |   41 +
 .../apache/camel/kotlin/components/ChunkUriDsl.kt  |   68 ++
 .../apache/camel/kotlin/components/ClassUriDsl.kt  |   40 +
 .../apache/camel/kotlin/components/CmSmsUriDsl.kt  |   44 +
 .../apache/camel/kotlin/components/CoapUriDsl.kt   |  118 +++
 .../apache/camel/kotlin/components/CometdUriDsl.kt |  139 +++
 .../apache/camel/kotlin/components/ConsulUriDsl.kt |  127 +++
 .../camel/kotlin/components/ControlbusUriDsl.kt    |   58 ++
 .../camel/kotlin/components/CouchbaseUriDsl.kt     |  269 +++++
 .../camel/kotlin/components/CouchdbUriDsl.kt       |   97 ++
 .../apache/camel/kotlin/components/CqlUriDsl.kt    |  208 ++++
 .../apache/camel/kotlin/components/CronUriDsl.kt   |   39 +
 .../apache/camel/kotlin/components/CryptoUriDsl.kt |  101 ++
 .../apache/camel/kotlin/components/CxfUriDsl.kt    |  210 ++++
 .../apache/camel/kotlin/components/CxfrsUriDsl.kt  |  207 ++++
 .../camel/kotlin/components/DataformatUriDsl.kt    |   25 +
 .../camel/kotlin/components/DatasetTestUriDsl.kt   |  168 ++++
 .../camel/kotlin/components/DatasetUriDsl.kt       |  204 ++++
 .../camel/kotlin/components/DebeziumDb2UriDsl.kt   |  399 ++++++++
 .../kotlin/components/DebeziumMongodbUriDsl.kt     |  351 +++++++
 .../camel/kotlin/components/DebeziumMysqlUriDsl.kt |  638 ++++++++++++
 .../kotlin/components/DebeziumOracleUriDsl.kt      |  648 ++++++++++++
 .../kotlin/components/DebeziumPostgresUriDsl.kt    |  565 +++++++++++
 .../kotlin/components/DebeziumSqlserverUriDsl.kt   |  473 +++++++++
 .../apache/camel/kotlin/components/Dhis2UriDsl.kt  |  177 ++++
 .../camel/kotlin/components/DigitaloceanUriDsl.kt  |   60 ++
 .../apache/camel/kotlin/components/DirectUriDsl.kt |   86 ++
 .../camel/kotlin/components/DisruptorUriDsl.kt     |  113 +++
 .../camel/kotlin/components/DisruptorVmUriDsl.kt   |  113 +++
 .../apache/camel/kotlin/components/DjlUriDsl.kt    |   31 +
 .../apache/camel/kotlin/components/DnsUriDsl.kt    |   22 +
 .../apache/camel/kotlin/components/DockerUriDsl.kt |  130 +++
 .../apache/camel/kotlin/components/DrillUriDsl.kt  |   38 +
 .../camel/kotlin/components/DropboxUriDsl.kt       |   95 ++
 .../components/DynamicRouterControlUriDsl.kt       |   47 +
 .../camel/kotlin/components/DynamicRouterUriDsl.kt |  185 ++++
 .../camel/kotlin/components/EhcacheUriDsl.kt       |   97 ++
 .../components/ElasticsearchRestClientUriDsl.kt    |   73 ++
 .../camel/kotlin/components/ElasticsearchUriDsl.kt |  137 +++
 .../apache/camel/kotlin/components/Etcd3UriDsl.kt  |  130 +++
 .../apache/camel/kotlin/components/ExecUriDsl.kt   |   62 ++
 .../apache/camel/kotlin/components/FhirUriDsl.kt   |  257 +++++
 .../apache/camel/kotlin/components/FileUriDsl.kt   |  833 ++++++++++++++++
 .../camel/kotlin/components/FileWatchUriDsl.kt     |   93 ++
 .../camel/kotlin/components/FlatpackUriDsl.kt      |  187 ++++
 .../apache/camel/kotlin/components/FlinkUriDsl.kt  |   40 +
 .../apache/camel/kotlin/components/FopUriDsl.kt    |   28 +
 .../camel/kotlin/components/FreemarkerUriDsl.kt    |   65 ++
 .../apache/camel/kotlin/components/FtpUriDsl.kt    |  916 +++++++++++++++++
 .../apache/camel/kotlin/components/FtpsUriDsl.kt   |  954 ++++++++++++++++++
 .../camel/kotlin/components/GeocoderUriDsl.kt      |   73 ++
 .../apache/camel/kotlin/components/GitUriDsl.kt    |   89 ++
 .../apache/camel/kotlin/components/GithubUriDsl.kt |  183 ++++
 .../kotlin/components/GoogleBigquerySqlUriDsl.kt   |   33 +
 .../kotlin/components/GoogleBigqueryUriDsl.kt      |   39 +
 .../components/GoogleCalendarStreamUriDsl.kt       |  208 ++++
 .../kotlin/components/GoogleCalendarUriDsl.kt      |  199 ++++
 .../camel/kotlin/components/GoogleDriveUriDsl.kt   |  192 ++++
 .../kotlin/components/GoogleFunctionsUriDsl.kt     |   43 +
 .../kotlin/components/GoogleMailStreamUriDsl.kt    |  190 ++++
 .../camel/kotlin/components/GoogleMailUriDsl.kt    |  187 ++++
 .../camel/kotlin/components/GooglePubsubUriDsl.kt  |  113 +++
 .../kotlin/components/GoogleSecretManagerUriDsl.kt |   37 +
 .../kotlin/components/GoogleSheetsStreamUriDsl.kt  |  198 ++++
 .../camel/kotlin/components/GoogleSheetsUriDsl.kt  |  197 ++++
 .../camel/kotlin/components/GoogleStorageUriDsl.kt |  231 +++++
 .../apache/camel/kotlin/components/GrapeUriDsl.kt  |   22 +
 .../camel/kotlin/components/GraphqlUriDsl.kt       |   55 ++
 .../apache/camel/kotlin/components/GrpcUriDsl.kt   |  206 ++++
 .../camel/kotlin/components/GuavaEventbusUriDsl.kt |   64 ++
 .../kotlin/components/HashicorpVaultUriDsl.kt      |   43 +
 .../components/HazelcastAtomicvalueUriDsl.kt       |   36 +
 .../kotlin/components/HazelcastInstanceUriDsl.kt   |   50 +
 .../camel/kotlin/components/HazelcastListUriDsl.kt |   66 ++
 .../camel/kotlin/components/HazelcastMapUriDsl.kt  |   66 ++
 .../kotlin/components/HazelcastMultimapUriDsl.kt   |   66 ++
 .../kotlin/components/HazelcastQueueUriDsl.kt      |   81 ++
 .../components/HazelcastReplicatedmapUriDsl.kt     |   66 ++
 .../kotlin/components/HazelcastRingbufferUriDsl.kt |   36 +
 .../camel/kotlin/components/HazelcastSedaUriDsl.kt |  105 ++
 .../camel/kotlin/components/HazelcastSetUriDsl.kt  |   66 ++
 .../kotlin/components/HazelcastTopicUriDsl.kt      |   72 ++
 .../apache/camel/kotlin/components/HttpUriDsl.kt   |  305 ++++++
 .../camel/kotlin/components/HwcloudDmsUriDsl.kt    |  129 +++
 .../camel/kotlin/components/HwcloudFrsUriDsl.kt    |  147 +++
 .../components/HwcloudFunctiongraphUriDsl.kt       |   67 ++
 .../camel/kotlin/components/HwcloudIamUriDsl.kt    |   61 ++
 .../components/HwcloudImagerecognitionUriDsl.kt    |  101 ++
 .../camel/kotlin/components/HwcloudObsUriDsl.kt    |  239 +++++
 .../camel/kotlin/components/HwcloudSmnUriDsl.kt    |   71 ++
 .../kotlin/components/Iec60870ClientUriDsl.kt      |  127 +++
 .../kotlin/components/Iec60870ServerUriDsl.kt      |  133 +++
 .../camel/kotlin/components/IgniteCacheUriDsl.kt   |  128 +++
 .../camel/kotlin/components/IgniteComputeUriDsl.kt |   60 ++
 .../camel/kotlin/components/IgniteEventsUriDsl.kt  |   59 ++
 .../camel/kotlin/components/IgniteIdgenUriDsl.kt   |   55 ++
 .../kotlin/components/IgniteMessagingUriDsl.kt     |   80 ++
 .../camel/kotlin/components/IgniteQueueUriDsl.kt   |   59 ++
 .../camel/kotlin/components/IgniteSetUriDsl.kt     |   47 +
 .../apache/camel/kotlin/components/ImapUriDsl.kt   |  462 +++++++++
 .../kotlin/components/InfinispanEmbeddedUriDsl.kt  |  117 +++
 .../camel/kotlin/components/InfinispanUriDsl.kt    |  129 +++
 .../camel/kotlin/components/Influxdb2UriDsl.kt     |   49 +
 .../camel/kotlin/components/InfluxdbUriDsl.kt      |   52 +
 .../apache/camel/kotlin/components/IrcUriDsl.kt    |  176 ++++
 .../apache/camel/kotlin/components/IronmqUriDsl.kt |  222 +++++
 .../apache/camel/kotlin/components/JcacheUriDsl.kt |  141 +++
 .../apache/camel/kotlin/components/JcrUriDsl.kt    |  105 ++
 .../apache/camel/kotlin/components/JdbcUriDsl.kt   |  112 +++
 .../apache/camel/kotlin/components/JettyUriDsl.kt  |  303 ++++++
 .../camel/kotlin/components/JgroupsRaftUriDsl.kt   |   60 ++
 .../camel/kotlin/components/JgroupsUriDsl.kt       |   63 ++
 .../apache/camel/kotlin/components/JiraUriDsl.kt   |  108 ++
 .../apache/camel/kotlin/components/JmsUriDsl.kt    |  829 ++++++++++++++++
 .../apache/camel/kotlin/components/JmxUriDsl.kt    |  184 ++++
 .../apache/camel/kotlin/components/JoltUriDsl.kt   |   50 +
 .../apache/camel/kotlin/components/JooqUriDsl.kt   |  169 ++++
 .../apache/camel/kotlin/components/JpaUriDsl.kt    |  326 +++++++
 .../apache/camel/kotlin/components/JsltUriDsl.kt   |   68 ++
 .../camel/kotlin/components/JsonPatchUriDsl.kt     |   43 +
 .../camel/kotlin/components/JsonValidatorUriDsl.kt |   75 ++
 .../camel/kotlin/components/JsonataUriDsl.kt       |   49 +
 .../apache/camel/kotlin/components/Jt400UriDsl.kt  |  232 +++++
 .../apache/camel/kotlin/components/JteUriDsl.kt    |   53 +
 .../apache/camel/kotlin/components/KafkaUriDsl.kt  |  843 ++++++++++++++++
 .../camel/kotlin/components/KameletUriDsl.kt       |   90 ++
 .../camel/kotlin/components/KnativeUriDsl.kt       |  105 ++
 .../components/KubernetesConfigMapsUriDsl.kt       |  152 +++
 .../kotlin/components/KubernetesCronjobUriDsl.kt   |   92 ++
 .../components/KubernetesCustomResourcesUriDsl.kt  |  152 +++
 .../components/KubernetesDeploymentsUriDsl.kt      |  152 +++
 .../kotlin/components/KubernetesEventsUriDsl.kt    |  152 +++
 .../camel/kotlin/components/KubernetesHpaUriDsl.kt |  153 +++
 .../camel/kotlin/components/KubernetesJobUriDsl.kt |   92 ++
 .../components/KubernetesNamespacesUriDsl.kt       |  152 +++
 .../kotlin/components/KubernetesNodesUriDsl.kt     |  152 +++
 .../KubernetesPersistentVolumesClaimsUriDsl.kt     |   93 ++
 .../KubernetesPersistentVolumesUriDsl.kt           |   93 ++
 .../kotlin/components/KubernetesPodsUriDsl.kt      |  152 +++
 .../KubernetesReplicationControllersUriDsl.kt      |  153 +++
 .../components/KubernetesResourcesQuotaUriDsl.kt   |   92 ++
 .../kotlin/components/KubernetesSecretsUriDsl.kt   |   92 ++
 .../components/KubernetesServiceAccountsUriDsl.kt  |   92 ++
 .../kotlin/components/KubernetesServicesUriDsl.kt  |  152 +++
 .../apache/camel/kotlin/components/KuduUriDsl.kt   |   32 +
 .../camel/kotlin/components/LanguageUriDsl.kt      |   73 ++
 .../apache/camel/kotlin/components/LdapUriDsl.kt   |   48 +
 .../apache/camel/kotlin/components/LdifUriDsl.kt   |   23 +
 .../apache/camel/kotlin/components/LogUriDsl.kt    |  228 +++++
 .../apache/camel/kotlin/components/LprUriDsl.kt    |   71 ++
 .../apache/camel/kotlin/components/LuceneUriDsl.kt |   44 +
 .../camel/kotlin/components/LumberjackUriDsl.kt    |   45 +
 .../camel/kotlin/components/MapstructUriDsl.kt     |   28 +
 .../apache/camel/kotlin/components/MasterUriDsl.kt |   40 +
 .../camel/kotlin/components/MetricsUriDsl.kt       |   55 ++
 .../camel/kotlin/components/MicrometerUriDsl.kt    |   43 +
 .../apache/camel/kotlin/components/MinaUriDsl.kt   |  213 ++++
 .../apache/camel/kotlin/components/MinioUriDsl.kt  |  382 ++++++++
 .../apache/camel/kotlin/components/MllpUriDsl.kt   |  226 +++++
 .../apache/camel/kotlin/components/MockUriDsl.kt   |  144 +++
 .../camel/kotlin/components/MongodbGridfsUriDsl.kt |   96 ++
 .../camel/kotlin/components/MongodbUriDsl.kt       |  377 +++++++
 .../camel/kotlin/components/MustacheUriDsl.kt      |   62 ++
 .../apache/camel/kotlin/components/MvelUriDsl.kt   |   56 ++
 .../camel/kotlin/components/MybatisBeanUriDsl.kt   |   44 +
 .../camel/kotlin/components/MybatisUriDsl.kt       |  216 ++++
 .../apache/camel/kotlin/components/NatsUriDsl.kt   |  187 ++++
 .../camel/kotlin/components/NettyHttpUriDsl.kt     |  640 ++++++++++++
 .../apache/camel/kotlin/components/NettyUriDsl.kt  |  525 ++++++++++
 .../camel/kotlin/components/NitriteUriDsl.kt       |   68 ++
 .../apache/camel/kotlin/components/OaipmhUriDsl.kt |  193 ++++
 .../camel/kotlin/components/Olingo2UriDsl.kt       |  222 +++++
 .../camel/kotlin/components/Olingo4UriDsl.kt       |  212 ++++
 .../camel/kotlin/components/OpensearchUriDsl.kt    |  123 +++
 .../components/OpenshiftBuildConfigsUriDsl.kt      |   92 ++
 .../kotlin/components/OpenshiftBuildsUriDsl.kt     |   92 ++
 .../components/OpenshiftDeploymentconfigsUriDsl.kt |  152 +++
 .../kotlin/components/OpenstackCinderUriDsl.kt     |   46 +
 .../kotlin/components/OpenstackGlanceUriDsl.kt     |   43 +
 .../kotlin/components/OpenstackKeystoneUriDsl.kt   |   44 +
 .../kotlin/components/OpenstackNeutronUriDsl.kt    |   46 +
 .../camel/kotlin/components/OpenstackNovaUriDsl.kt |   46 +
 .../kotlin/components/OpenstackSwiftUriDsl.kt      |   46 +
 .../camel/kotlin/components/OptaplannerUriDsl.kt   |   80 ++
 .../camel/kotlin/components/PahoMqtt5UriDsl.kt     |  299 ++++++
 .../apache/camel/kotlin/components/PahoUriDsl.kt   |  284 ++++++
 .../apache/camel/kotlin/components/PdfUriDsl.kt    |   65 ++
 .../kotlin/components/PgReplicationSlotUriDsl.kt   |  174 ++++
 .../camel/kotlin/components/PgeventUriDsl.kt       |   75 ++
 .../camel/kotlin/components/PlatformHttpUriDsl.kt  |  116 +++
 .../apache/camel/kotlin/components/Plc4xUriDsl.kt  |   70 ++
 .../apache/camel/kotlin/components/PubnubUriDsl.kt |   97 ++
 .../apache/camel/kotlin/components/PulsarUriDsl.kt |  275 ++++++
 .../apache/camel/kotlin/components/QdrantUriDsl.kt |   43 +
 .../apache/camel/kotlin/components/QuartzUriDsl.kt |  142 +++
 .../camel/kotlin/components/QuickfixUriDsl.kt      |   72 ++
 .../kotlin/components/ReactiveStreamsUriDsl.kt     |  100 ++
 .../apache/camel/kotlin/components/RefUriDsl.kt    |   52 +
 .../camel/kotlin/components/RestApiUriDsl.kt       |   47 +
 .../camel/kotlin/components/RestOpenapiUriDsl.kt   |   78 ++
 .../apache/camel/kotlin/components/RestUriDsl.kt   |  106 ++
 .../kotlin/components/RobotframeworkUriDsl.kt      |  357 +++++++
 .../camel/kotlin/components/RocketmqUriDsl.kt      |   97 ++
 .../apache/camel/kotlin/components/RssUriDsl.kt    |  166 ++++
 .../apache/camel/kotlin/components/SagaUriDsl.kt   |   22 +
 .../camel/kotlin/components/SalesforceUriDsl.kt    |  326 +++++++
 .../camel/kotlin/components/SapNetweaverUriDsl.kt  |   50 +
 .../camel/kotlin/components/SchedulerUriDsl.kt     |  158 +++
 .../camel/kotlin/components/SchematronUriDsl.kt    |   35 +
 .../apache/camel/kotlin/components/ScpUriDsl.kt    |  171 ++++
 .../apache/camel/kotlin/components/SedaUriDsl.kt   |  165 ++++
 .../camel/kotlin/components/ServiceUriDsl.kt       |   36 +
 .../camel/kotlin/components/ServicenowUriDsl.kt    |  226 +++++
 .../camel/kotlin/components/ServletUriDsl.kt       |  199 ++++
 .../apache/camel/kotlin/components/SftpUriDsl.kt   | 1027 ++++++++++++++++++++
 .../apache/camel/kotlin/components/Sjms2UriDsl.kt  |  406 ++++++++
 .../apache/camel/kotlin/components/SjmsUriDsl.kt   |  391 ++++++++
 .../apache/camel/kotlin/components/SlackUriDsl.kt  |  184 ++++
 .../apache/camel/kotlin/components/SmbUriDsl.kt    |  169 ++++
 .../apache/camel/kotlin/components/SmppUriDsl.kt   |  339 +++++++
 .../apache/camel/kotlin/components/SnmpUriDsl.kt   |  246 +++++
 .../camel/kotlin/components/SplunkHecUriDsl.kt     |   75 ++
 .../apache/camel/kotlin/components/SplunkUriDsl.kt |  259 +++++
 .../camel/kotlin/components/SpringBatchUriDsl.kt   |   34 +
 .../camel/kotlin/components/SpringEventUriDsl.kt   |   52 +
 .../camel/kotlin/components/SpringJdbcUriDsl.kt    |  112 +++
 .../camel/kotlin/components/SpringLdapUriDsl.kt    |   28 +
 .../kotlin/components/SpringRabbitmqUriDsl.kt      |  269 +++++
 .../camel/kotlin/components/SpringRedisUriDsl.kt   |   77 ++
 .../camel/kotlin/components/SpringWsUriDsl.kt      |  177 ++++
 .../camel/kotlin/components/SqlStoredUriDsl.kt     |   63 ++
 .../apache/camel/kotlin/components/SqlUriDsl.kt    |  317 ++++++
 .../apache/camel/kotlin/components/SshUriDsl.kt    |  241 +++++
 .../apache/camel/kotlin/components/StaxUriDsl.kt   |   22 +
 .../apache/camel/kotlin/components/StitchUriDsl.kt |   51 +
 .../apache/camel/kotlin/components/StompUriDsl.kt  |   77 ++
 .../apache/camel/kotlin/components/StreamUriDsl.kt |  179 ++++
 .../kotlin/components/StringTemplateUriDsl.kt      |   59 ++
 .../apache/camel/kotlin/components/StubUriDsl.kt   |  165 ++++
 .../camel/kotlin/components/TelegramUriDsl.kt      |  203 ++++
 .../apache/camel/kotlin/components/ThriftUriDsl.kt |  103 ++
 .../camel/kotlin/components/ThymeleafUriDsl.kt     |   82 ++
 .../apache/camel/kotlin/components/TikaUriDsl.kt   |   36 +
 .../apache/camel/kotlin/components/TimerUriDsl.kt  |   93 ++
 .../apache/camel/kotlin/components/TwilioUriDsl.kt |  160 +++
 .../components/TwitterDirectmessageUriDsl.kt       |  267 +++++
 .../camel/kotlin/components/TwitterSearchUriDsl.kt |  267 +++++
 .../kotlin/components/TwitterTimelineUriDsl.kt     |  273 ++++++
 .../camel/kotlin/components/UndertowUriDsl.kt      |  218 +++++
 .../camel/kotlin/components/ValidatorUriDsl.kt     |   65 ++
 .../camel/kotlin/components/VelocityUriDsl.kt      |   65 ++
 .../camel/kotlin/components/VertxHttpUriDsl.kt     |  135 +++
 .../apache/camel/kotlin/components/VertxUriDsl.kt  |   58 ++
 .../kotlin/components/VertxWebsocketUriDsl.kt      |  147 +++
 .../apache/camel/kotlin/components/WasmUriDsl.kt   |   26 +
 .../camel/kotlin/components/WeatherUriDsl.kt       |  234 +++++
 .../apache/camel/kotlin/components/Web3jUriDsl.kt  |  166 ++++
 .../camel/kotlin/components/WebhookUriDsl.kt       |   55 ++
 .../camel/kotlin/components/WhatsappUriDsl.kt      |   44 +
 .../camel/kotlin/components/WordpressUriDsl.kt     |   88 ++
 .../camel/kotlin/components/WorkdayUriDsl.kt       |   46 +
 .../camel/kotlin/components/XchangeUriDsl.kt       |   34 +
 .../org/apache/camel/kotlin/components/XjUriDsl.kt |  137 +++
 .../kotlin/components/XmlsecuritySignUriDsl.kt     |  184 ++++
 .../kotlin/components/XmlsecurityVerifyUriDsl.kt   |  137 +++
 .../apache/camel/kotlin/components/XmppUriDsl.kt   |  144 +++
 .../apache/camel/kotlin/components/XqueryUriDsl.kt |  198 ++++
 .../camel/kotlin/components/XsltSaxonUriDsl.kt     |  134 +++
 .../apache/camel/kotlin/components/XsltUriDsl.kt   |  106 ++
 .../apache/camel/kotlin/components/ZeebeUriDsl.kt  |   67 ++
 .../camel/kotlin/components/ZendeskUriDsl.kt       |  172 ++++
 .../kotlin/components/ZookeeperMasterUriDsl.kt     |   40 +
 .../camel/kotlin/components/ZookeeperUriDsl.kt     |   94 ++
 .../camel/kotlin/dataformats/Asn1DataFormatDsl.kt  |   20 +-
 .../camel/kotlin/dataformats/AvroDataFormatDsl.kt  |    9 +
 .../kotlin/dataformats/AvroJacksonDataFormatDsl.kt |  244 +++++
 .../kotlin/dataformats/AvrojacksonDataFormatDsl.kt |  142 ---
 .../kotlin/dataformats/BarcodeDataFormatDsl.kt     |   24 +
 .../kotlin/dataformats/Base64DataFormatDsl.kt      |   23 +
 .../kotlin/dataformats/BeanioDataFormatDsl.kt      |   51 +
 ...vpDataFormatDsl.kt => BindyCsvDataFormatDsl.kt} |   44 +-
 ...DataFormatDsl.kt => BindyFixedDataFormatDsl.kt} |   44 +-
 ...svDataFormatDsl.kt => BindyKvpDataFormatDsl.kt} |   44 +-
 .../camel/kotlin/dataformats/CborDataFormatDsl.kt  |   69 +-
 .../kotlin/dataformats/CryptoDataFormatDsl.kt      |   48 +
 .../camel/kotlin/dataformats/CsvDataFormatDsl.kt   |  149 +++
 .../kotlin/dataformats/FastjsonDataFormatDsl.kt    |   19 +-
 .../kotlin/dataformats/FhirJsonDataFormatDsl.kt    |  298 ++++++
 .../kotlin/dataformats/FhirXmlDataFormatDsl.kt     |  298 ++++++
 .../kotlin/dataformats/FhirjsonDataFormatDsl.kt    |  151 ---
 .../kotlin/dataformats/FhirxmlDataFormatDsl.kt     |  151 ---
 .../kotlin/dataformats/FlatpackDataFormatDsl.kt    |   46 +
 .../camel/kotlin/dataformats/GrokDataFormatDsl.kt  |   31 +
 .../camel/kotlin/dataformats/GsonDataFormatDsl.kt  |   28 +-
 ...taFormatDsl.kt => GzipDeflaterDataFormatDsl.kt} |   12 +-
 .../camel/kotlin/dataformats/Hl7DataFormatDsl.kt   |   12 +
 .../camel/kotlin/dataformats/IcalDataFormatDsl.kt  |   12 +
 .../kotlin/dataformats/JacksonDataFormatDsl.kt     |  121 ++-
 .../kotlin/dataformats/JacksonXmlDataFormatDsl.kt  |  225 +++++
 .../kotlin/dataformats/JacksonxmlDataFormatDsl.kt  |  130 ---
 .../camel/kotlin/dataformats/JaxbDataFormatDsl.kt  |  130 +++
 ...apiDataFormatDsl.kt => JsonApiDataFormatDsl.kt} |   19 +-
 .../camel/kotlin/dataformats/JsonbDataFormatDsl.kt |   18 +-
 .../camel/kotlin/dataformats/LzfDataFormatDsl.kt   |   12 +
 ...aFormatDsl.kt => MimeMultipartDataFormatDsl.kt} |   43 +-
 ...ataFormatDsl.kt => ParquetAvroDataFormatDsl.kt} |   30 +-
 .../camel/kotlin/dataformats/PgpDataFormatDsl.kt   |   97 ++
 .../kotlin/dataformats/ProtobufDataFormatDsl.kt    |   24 +
 .../dataformats/ProtobufJacksonDataFormatDsl.kt    |  244 +++++
 .../dataformats/ProtobufjacksonDataFormatDsl.kt    |  142 ---
 .../camel/kotlin/dataformats/RssDataFormatDsl.kt   |    6 +
 ...lDataFormatDsl.kt => SnakeYamlDataFormatDsl.kt} |   66 +-
 .../camel/kotlin/dataformats/SoapDataFormatDsl.kt  |   39 +
 ...tmtDataFormatDsl.kt => SwiftMtDataFormatDsl.kt} |   18 +-
 ...tmxDataFormatDsl.kt => SwiftMxDataFormatDsl.kt} |   30 +-
 .../kotlin/dataformats/SyslogDataFormatDsl.kt      |    6 +
 ...ileDataFormatDsl.kt => TarFileDataFormatDsl.kt} |   46 +-
 .../kotlin/dataformats/ThriftDataFormatDsl.kt      |   24 +
 ...taFormatDsl.kt => UnivocityCsvDataFormatDsl.kt} |   99 +-
 ...FormatDsl.kt => UnivocityFixedDataFormatDsl.kt} |  100 +-
 ...taFormatDsl.kt => UnivocityTsvDataFormatDsl.kt} |   87 +-
 .../kotlin/dataformats/XmlSecurityDataFormatDsl.kt |  167 ++++
 .../kotlin/dataformats/XmlsecurityDataFormatDsl.kt |   97 --
 ...ataFormatDsl.kt => ZipDeflaterDataFormatDsl.kt} |   20 +-
 ...ileDataFormatDsl.kt => ZipFileDataFormatDsl.kt} |   46 +-
 .../camel/kotlin/languages/BeanLanguageDsl.kt      |   49 +-
 .../camel/kotlin/languages/ConstantLanguageDsl.kt  |   18 +-
 .../camel/kotlin/languages/CsimpleLanguageDsl.kt   |   18 +-
 .../kotlin/languages/DatasonnetLanguageDsl.kt      |   29 +-
 ...nguageDsl.kt => ExchangePropertyLanguageDsl.kt} |   18 +-
 .../camel/kotlin/languages/FileLanguageDsl.kt      |   18 +-
 .../camel/kotlin/languages/GroovyLanguageDsl.kt    |   18 +-
 .../camel/kotlin/languages/HeaderLanguageDsl.kt    |   12 +
 .../camel/kotlin/languages/Hl7terserLanguageDsl.kt |   23 +-
 .../camel/kotlin/languages/JavaLanguageDsl.kt      |   34 +-
 .../camel/kotlin/languages/JoorLanguageDsl.kt      |   34 +-
 .../apache/camel/kotlin/languages/JqLanguageDsl.kt |   23 +-
 .../apache/camel/kotlin/languages/JsLanguageDsl.kt |   18 +-
 .../camel/kotlin/languages/JsonpathLanguageDsl.kt  |   58 +-
 .../camel/kotlin/languages/MvelLanguageDsl.kt      |   18 +-
 .../camel/kotlin/languages/OgnlLanguageDsl.kt      |   18 +-
 .../camel/kotlin/languages/PythonLanguageDsl.kt    |   18 +-
 .../camel/kotlin/languages/RefLanguageDsl.kt       |   18 +-
 .../camel/kotlin/languages/SimpleLanguageDsl.kt    |   18 +-
 .../camel/kotlin/languages/SpelLanguageDsl.kt      |   18 +-
 .../camel/kotlin/languages/TokenizeLanguageDsl.kt  |   71 +-
 .../camel/kotlin/languages/VariableLanguageDsl.kt  |   12 +
 .../camel/kotlin/languages/WasmLanguageDsl.kt      |   22 +-
 .../camel/kotlin/languages/XpathLanguageDsl.kt     |   84 +-
 .../camel/kotlin/languages/XqueryLanguageDsl.kt    |   31 +-
 .../camel/kotlin/languages/XtokenizeLanguageDsl.kt |   38 +-
 .../main/kotlin/org/apache/camel/kotlin/Main.kt    |    4 +
 .../main/kotlin/org/apache/camel/kotlin/RootDsl.kt |    1 -
 .../camel/maven/packaging/AllDslKotlinMojo.java    |  184 +++-
 408 files changed, 55335 insertions(+), 990 deletions(-)

diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ActivemqUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ActivemqUriDsl.kt
index c77b48c0efe..12642e130a7 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ActivemqUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ActivemqUriDsl.kt
@@ -23,6 +23,10 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS
+ * component.
+ */
 public fun UriDsl.activemq(i: ActivemqUriDsl.() -> Unit) {
   ActivemqUriDsl(this).apply(i)
 }
@@ -42,636 +46,1468 @@ public class ActivemqUriDsl(
 
   private var destinationName: String = ""
 
+  /**
+   * The kind of destination to use
+   */
   public fun destinationType(destinationType: String) {
     this.destinationType = destinationType
     it.url("$destinationType:$destinationName")
   }
 
+  /**
+   * Name of the queue or topic to use as destination
+   */
   public fun destinationName(destinationName: String) {
     this.destinationName = destinationName
     it.url("$destinationType:$destinationName")
   }
 
+  /**
+   * Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only
+   * be used by a single JMS connection instance. It is typically only required for durable topic
+   * subscriptions with JMS 1.1.
+   */
   public fun clientId(clientId: String) {
     it.property("clientId", clientId)
   }
 
+  /**
+   * The connection factory to be use. A connection factory must be configured either on the
+   * component or endpoint.
+   */
   public fun connectionFactory(connectionFactory: String) {
     it.property("connectionFactory", connectionFactory)
   }
 
+  /**
+   * Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send
+   * a reply back to the destination specified in the JMSReplyTo header. You can use this option if you
+   * want Camel to consume from a route and you do not want Camel to automatically send back a reply
+   * message because another component in your code handles the reply message. You can also use this
+   * option if you want to use Camel as a proxy between different message brokers and you want to route
+   * message from one system to another.
+   */
   public fun disableReplyTo(disableReplyTo: String) {
     it.property("disableReplyTo", disableReplyTo)
   }
 
+  /**
+   * Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send
+   * a reply back to the destination specified in the JMSReplyTo header. You can use this option if you
+   * want Camel to consume from a route and you do not want Camel to automatically send back a reply
+   * message because another component in your code handles the reply message. You can also use this
+   * option if you want to use Camel as a proxy between different message brokers and you want to route
+   * message from one system to another.
+   */
   public fun disableReplyTo(disableReplyTo: Boolean) {
     it.property("disableReplyTo", disableReplyTo.toString())
   }
 
+  /**
+   * The durable subscriber name for specifying durable topic subscriptions. The clientId option
+   * must be configured as well.
+   */
   public fun durableSubscriptionName(durableSubscriptionName: String) {
     it.property("durableSubscriptionName", durableSubscriptionName)
   }
 
+  /**
+   * Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS
+   * messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine
+   * which JMS message type to use from the In body type. This option allows you to specify it.
+   */
   public fun jmsMessageType(jmsMessageType: String) {
     it.property("jmsMessageType", jmsMessageType)
   }
 
+  /**
+   * Provides an explicit ReplyTo destination (overrides any incoming value of
+   * Message.getJMSReplyTo() in consumer).
+   */
   public fun replyTo(replyTo: String) {
     it.property("replyTo", replyTo)
   }
 
+  /**
+   * Specifies whether to test the connection on startup. This ensures that when Camel starts that
+   * all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted
+   * then Camel throws an exception on startup. This ensures that Camel is not started with failed
+   * connections. The JMS producers is tested as well.
+   */
   public fun testConnectionOnStartup(testConnectionOnStartup: String) {
     it.property("testConnectionOnStartup", testConnectionOnStartup)
   }
 
+  /**
+   * Specifies whether to test the connection on startup. This ensures that when Camel starts that
+   * all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted
+   * then Camel throws an exception on startup. This ensures that Camel is not started with failed
+   * connections. The JMS producers is tested as well.
+   */
   public fun testConnectionOnStartup(testConnectionOnStartup: Boolean) {
     it.property("testConnectionOnStartup", testConnectionOnStartup.toString())
   }
 
+  /**
+   * The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE,
+   * AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE
+   */
   public fun acknowledgementModeName(acknowledgementModeName: String) {
     it.property("acknowledgementModeName", acknowledgementModeName)
   }
 
+  /**
+   * Consumer priorities allow you to ensure that high priority consumers receive messages while
+   * they are active. Normally, active consumers connected to a queue receive messages from it in a
+   * round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if
+   * multiple active consumers exist with the same high priority. Messages will only going to lower
+   * priority consumers when the high priority consumers do not have credit available to consume the
+   * message, or those high priority consumers have declined to accept the message (for instance
+   * because it does not meet the criteria of any selectors associated with the consumer).
+   */
   public fun artemisConsumerPriority(artemisConsumerPriority: String) {
     it.property("artemisConsumerPriority", artemisConsumerPriority)
   }
 
+  /**
+   * Consumer priorities allow you to ensure that high priority consumers receive messages while
+   * they are active. Normally, active consumers connected to a queue receive messages from it in a
+   * round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if
+   * multiple active consumers exist with the same high priority. Messages will only going to lower
+   * priority consumers when the high priority consumers do not have credit available to consume the
+   * message, or those high priority consumers have declined to accept the message (for instance
+   * because it does not meet the criteria of any selectors associated with the consumer).
+   */
   public fun artemisConsumerPriority(artemisConsumerPriority: Int) {
     it.property("artemisConsumerPriority", artemisConsumerPriority.toString())
   }
 
+  /**
+   * Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer
+   * may pickup the next message from the JMS queue, while the previous message is being processed
+   * asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not
+   * 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the
+   * JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled,
+   * then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously
+   * (Camel 3.0 may support async transactions).
+   */
   public fun asyncConsumer(asyncConsumer: String) {
     it.property("asyncConsumer", asyncConsumer)
   }
 
+  /**
+   * Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer
+   * may pickup the next message from the JMS queue, while the previous message is being processed
+   * asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not
+   * 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the
+   * JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled,
+   * then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously
+   * (Camel 3.0 may support async transactions).
+   */
   public fun asyncConsumer(asyncConsumer: Boolean) {
     it.property("asyncConsumer", asyncConsumer.toString())
   }
 
+  /**
+   * Specifies whether the consumer container should auto-startup.
+   */
   public fun autoStartup(autoStartup: String) {
     it.property("autoStartup", autoStartup)
   }
 
+  /**
+   * Specifies whether the consumer container should auto-startup.
+   */
   public fun autoStartup(autoStartup: Boolean) {
     it.property("autoStartup", autoStartup.toString())
   }
 
+  /**
+   * Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more
+   * details.
+   */
   public fun cacheLevel(cacheLevel: String) {
     it.property("cacheLevel", cacheLevel)
   }
 
+  /**
+   * Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more
+   * details.
+   */
   public fun cacheLevel(cacheLevel: Int) {
     it.property("cacheLevel", cacheLevel.toString())
   }
 
+  /**
+   * Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO,
+   * CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is
+   * CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.
+   */
   public fun cacheLevelName(cacheLevelName: String) {
     it.property("cacheLevelName", cacheLevelName)
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used
+   * to control number of concurrent consumers on the reply message listener.
+   */
   public fun concurrentConsumers(concurrentConsumers: String) {
     it.property("concurrentConsumers", concurrentConsumers)
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used
+   * to control number of concurrent consumers on the reply message listener.
+   */
   public fun concurrentConsumers(concurrentConsumers: Int) {
     it.property("concurrentConsumers", concurrentConsumers.toString())
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is
+   * used to control number of concurrent consumers on the reply message listener.
+   */
   public fun maxConcurrentConsumers(maxConcurrentConsumers: String) {
     it.property("maxConcurrentConsumers", maxConcurrentConsumers)
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is
+   * used to control number of concurrent consumers on the reply message listener.
+   */
   public fun maxConcurrentConsumers(maxConcurrentConsumers: Int) {
     it.property("maxConcurrentConsumers", maxConcurrentConsumers.toString())
   }
 
+  /**
+   * Specifies whether to use persistent delivery by default for replies.
+   */
   public fun replyToDeliveryPersistent(replyToDeliveryPersistent: String) {
     it.property("replyToDeliveryPersistent", replyToDeliveryPersistent)
   }
 
+  /**
+   * Specifies whether to use persistent delivery by default for replies.
+   */
   public fun replyToDeliveryPersistent(replyToDeliveryPersistent: Boolean) {
     it.property("replyToDeliveryPersistent", replyToDeliveryPersistent.toString())
   }
 
+  /**
+   * Sets the JMS selector to use
+   */
   public fun selector(selector: String) {
     it.property("selector", selector)
   }
 
+  /**
+   * Set whether to make the subscription durable. The durable subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * durable subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Only makes sense when listening to a
+   * topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.
+   */
   public fun subscriptionDurable(subscriptionDurable: String) {
     it.property("subscriptionDurable", subscriptionDurable)
   }
 
+  /**
+   * Set whether to make the subscription durable. The durable subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * durable subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Only makes sense when listening to a
+   * topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.
+   */
   public fun subscriptionDurable(subscriptionDurable: Boolean) {
     it.property("subscriptionDurable", subscriptionDurable.toString())
   }
 
+  /**
+   * Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain)
+   * with a shared or durable subscription. The subscription name needs to be unique within this
+   * client's JMS client id. Default is the class name of the specified message listener. Note: Only 1
+   * concurrent consumer (which is the default of this message listener container) is allowed for each
+   * subscription, except for a shared subscription (which requires JMS 2.0).
+   */
   public fun subscriptionName(subscriptionName: String) {
     it.property("subscriptionName", subscriptionName)
   }
 
+  /**
+   * Set whether to make the subscription shared. The shared subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * shared subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Note that shared subscriptions may also
+   * be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only
+   * makes sense when listening to a topic (pub-sub domain), therefore this method switches the
+   * pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.
+   */
   public fun subscriptionShared(subscriptionShared: String) {
     it.property("subscriptionShared", subscriptionShared)
   }
 
+  /**
+   * Set whether to make the subscription shared. The shared subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * shared subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Note that shared subscriptions may also
+   * be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only
+   * makes sense when listening to a topic (pub-sub domain), therefore this method switches the
+   * pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.
+   */
   public fun subscriptionShared(subscriptionShared: Boolean) {
     it.property("subscriptionShared", subscriptionShared.toString())
   }
 
+  /**
+   * Specifies whether the consumer accept messages while it is stopping. You may consider enabling
+   * this option, if you start and stop JMS routes at runtime, while there are still messages enqueued
+   * on the queue. If this option is false, and you stop the JMS route, then messages may be rejected,
+   * and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and
+   * eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its
+   * recommended to enable this option.
+   */
   public fun acceptMessagesWhileStopping(acceptMessagesWhileStopping: String) {
     it.property("acceptMessagesWhileStopping", acceptMessagesWhileStopping)
   }
 
+  /**
+   * Specifies whether the consumer accept messages while it is stopping. You may consider enabling
+   * this option, if you start and stop JMS routes at runtime, while there are still messages enqueued
+   * on the queue. If this option is false, and you stop the JMS route, then messages may be rejected,
+   * and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and
+   * eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its
+   * recommended to enable this option.
+   */
   public fun acceptMessagesWhileStopping(acceptMessagesWhileStopping: Boolean) {
     it.property("acceptMessagesWhileStopping", acceptMessagesWhileStopping.toString())
   }
 
+  /**
+   * Whether the DefaultMessageListenerContainer used in the reply managers for request-reply
+   * messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case
+   * JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is
+   * currently being stopped. This quick stop ability is enabled by default in the regular JMS
+   * consumers but to enable for reply managers you must enable this flag.
+   */
   public fun allowReplyManagerQuickStop(allowReplyManagerQuickStop: String) {
     it.property("allowReplyManagerQuickStop", allowReplyManagerQuickStop)
   }
 
+  /**
+   * Whether the DefaultMessageListenerContainer used in the reply managers for request-reply
+   * messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case
+   * JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is
+   * currently being stopped. This quick stop ability is enabled by default in the regular JMS
+   * consumers but to enable for reply managers you must enable this flag.
+   */
   public fun allowReplyManagerQuickStop(allowReplyManagerQuickStop: Boolean) {
     it.property("allowReplyManagerQuickStop", allowReplyManagerQuickStop.toString())
   }
 
+  /**
+   * The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type
+   * determines which Spring JMS listener to use. Default will use
+   * org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use
+   * org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the
+   * MessageListenerContainerFactory defined by the messageListenerContainerFactory option will
+   * determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.
+   */
   public fun consumerType(consumerType: String) {
     it.property("consumerType", consumerType)
   }
 
+  /**
+   * Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for
+   * both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values:
+   * SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
+   * ThreadPoolTaskExecutor with optimal values - cached thread-pool-like). If not set, it defaults to
+   * the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for
+   * reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic
+   * configurations with dynamically increasing and decreasing concurrent consumers.
+   */
   public fun defaultTaskExecutorType(defaultTaskExecutorType: String) {
     it.property("defaultTaskExecutorType", defaultTaskExecutorType)
   }
 
+  /**
+   * Destination Options are a way to provide extended configuration options to a JMS consumer
+   * without having to extend the JMS API. The options are encoded using URL query syntax in the
+   * destination name that the consumer is created on. See more details at
+   * https://activemq.apache.org/destination-options.
+   */
   public fun destinationOptions(destinationOptions: String) {
     it.property("destinationOptions", destinationOptions)
   }
 
+  /**
+   * Enables eager loading of JMS properties and payload as soon as a message is loaded which
+   * generally is inefficient as the JMS properties may not be required but sometimes can catch early
+   * any issues with the underlying JMS provider and the use of JMS properties. See also the option
+   * eagerPoisonBody.
+   */
   public fun eagerLoadingOfProperties(eagerLoadingOfProperties: String) {
     it.property("eagerLoadingOfProperties", eagerLoadingOfProperties)
   }
 
+  /**
+   * Enables eager loading of JMS properties and payload as soon as a message is loaded which
+   * generally is inefficient as the JMS properties may not be required but sometimes can catch early
+   * any issues with the underlying JMS provider and the use of JMS properties. See also the option
+   * eagerPoisonBody.
+   */
   public fun eagerLoadingOfProperties(eagerLoadingOfProperties: Boolean) {
     it.property("eagerLoadingOfProperties", eagerLoadingOfProperties.toString())
   }
 
+  /**
+   * If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties)
+   * is poison (cannot be read/mapped), then set this text as the message body instead so the message
+   * can be processed (the cause of the poison are already stored as exception on the Exchange). This
+   * can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.
+   */
   public fun eagerPoisonBody(eagerPoisonBody: String) {
     it.property("eagerPoisonBody", eagerPoisonBody)
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * Specifies whether the listener session should be exposed when consuming messages.
+   */
   public fun exposeListenerSession(exposeListenerSession: String) {
     it.property("exposeListenerSession", exposeListenerSession)
   }
 
+  /**
+   * Specifies whether the listener session should be exposed when consuming messages.
+   */
   public fun exposeListenerSession(exposeListenerSession: Boolean) {
     it.property("exposeListenerSession", exposeListenerSession.toString())
   }
 
+  /**
+   * The consumer type of the reply consumer (when doing request/reply), which can be one of:
+   * Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default
+   * will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use
+   * org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the
+   * MessageListenerContainerFactory defined by the messageListenerContainerFactory option will
+   * determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.
+   */
   public fun replyToConsumerType(replyToConsumerType: String) {
     it.property("replyToConsumerType", replyToConsumerType)
   }
 
+  /**
+   * Whether a JMS consumer is allowed to send a reply message to the same destination that the
+   * consumer is using to consume from. This prevents an endless loop by consuming and sending back the
+   * same message to itself.
+   */
   public fun replyToSameDestinationAllowed(replyToSameDestinationAllowed: String) {
     it.property("replyToSameDestinationAllowed", replyToSameDestinationAllowed)
   }
 
+  /**
+   * Whether a JMS consumer is allowed to send a reply message to the same destination that the
+   * consumer is using to consume from. This prevents an endless loop by consuming and sending back the
+   * same message to itself.
+   */
   public fun replyToSameDestinationAllowed(replyToSameDestinationAllowed: Boolean) {
     it.property("replyToSameDestinationAllowed", replyToSameDestinationAllowed.toString())
   }
 
+  /**
+   * Allows you to specify a custom task executor for consuming messages.
+   */
   public fun taskExecutor(taskExecutor: String) {
     it.property("taskExecutor", taskExecutor)
   }
 
+  /**
+   * Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant
+   * broker.
+   */
   public fun deliveryDelay(deliveryDelay: String) {
     it.property("deliveryDelay", deliveryDelay)
   }
 
+  /**
+   * Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant
+   * broker.
+   */
   public fun deliveryDelay(deliveryDelay: Int) {
     it.property("deliveryDelay", deliveryDelay.toString())
   }
 
+  /**
+   * Specifies the delivery mode to be used. Possible values are those defined by
+   * jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.
+   */
   public fun deliveryMode(deliveryMode: String) {
     it.property("deliveryMode", deliveryMode)
   }
 
+  /**
+   * Specifies the delivery mode to be used. Possible values are those defined by
+   * jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.
+   */
   public fun deliveryMode(deliveryMode: Int) {
     it.property("deliveryMode", deliveryMode.toString())
   }
 
+  /**
+   * Specifies whether persistent delivery is used by default.
+   */
   public fun deliveryPersistent(deliveryPersistent: String) {
     it.property("deliveryPersistent", deliveryPersistent)
   }
 
+  /**
+   * Specifies whether persistent delivery is used by default.
+   */
   public fun deliveryPersistent(deliveryPersistent: Boolean) {
     it.property("deliveryPersistent", deliveryPersistent.toString())
   }
 
+  /**
+   * Set if the deliveryMode, priority or timeToLive qualities of service should be used when
+   * sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and
+   * timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos
+   * option, which operates at message granularity, reading QoS properties exclusively from the Camel
+   * In message headers.
+   */
   public fun explicitQosEnabled(explicitQosEnabled: String) {
     it.property("explicitQosEnabled", explicitQosEnabled)
   }
 
+  /**
+   * Set if the deliveryMode, priority or timeToLive qualities of service should be used when
+   * sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and
+   * timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos
+   * option, which operates at message granularity, reading QoS properties exclusively from the Camel
+   * In message headers.
+   */
   public fun explicitQosEnabled(explicitQosEnabled: Boolean) {
     it.property("explicitQosEnabled", explicitQosEnabled.toString())
   }
 
+  /**
+   * Sets whether JMS date properties should be formatted according to the ISO 8601 standard.
+   */
   public fun formatDateHeadersToIso8601(formatDateHeadersToIso8601: String) {
     it.property("formatDateHeadersToIso8601", formatDateHeadersToIso8601)
   }
 
+  /**
+   * Sets whether JMS date properties should be formatted according to the ISO 8601 standard.
+   */
   public fun formatDateHeadersToIso8601(formatDateHeadersToIso8601: Boolean) {
     it.property("formatDateHeadersToIso8601", formatDateHeadersToIso8601.toString())
   }
 
+  /**
+   * Set to true, if you want to send message using the QoS settings specified on the message,
+   * instead of the QoS settings on the JMS endpoint. The following three headers are considered
+   * JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not
+   * provided, Camel will fall back to use the values from the endpoint instead. So, when using this
+   * option, the headers override the values from the endpoint. The explicitQosEnabled option, by
+   * contrast, will only use options set on the endpoint, and not values from the message header.
+   */
   public fun preserveMessageQos(preserveMessageQos: String) {
     it.property("preserveMessageQos", preserveMessageQos)
   }
 
+  /**
+   * Set to true, if you want to send message using the QoS settings specified on the message,
+   * instead of the QoS settings on the JMS endpoint. The following three headers are considered
+   * JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not
+   * provided, Camel will fall back to use the values from the endpoint instead. So, when using this
+   * option, the headers override the values from the endpoint. The explicitQosEnabled option, by
+   * contrast, will only use options set on the endpoint, and not values from the message header.
+   */
   public fun preserveMessageQos(preserveMessageQos: Boolean) {
     it.property("preserveMessageQos", preserveMessageQos.toString())
   }
 
+  /**
+   * Values greater than 1 specify the message priority when sending (where 1 is the lowest priority
+   * and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option
+   * to have any effect.
+   */
   public fun priority(priority: String) {
     it.property("priority", priority)
   }
 
+  /**
+   * Values greater than 1 specify the message priority when sending (where 1 is the lowest priority
+   * and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option
+   * to have any effect.
+   */
   public fun priority(priority: Int) {
     it.property("priority", priority.toString())
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when doing request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToConcurrentConsumers(replyToConcurrentConsumers: String) {
     it.property("replyToConcurrentConsumers", replyToConcurrentConsumers)
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when doing request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToConcurrentConsumers(replyToConcurrentConsumers: Int) {
     it.property("replyToConcurrentConsumers", replyToConcurrentConsumers.toString())
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when using request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToMaxConcurrentConsumers(replyToMaxConcurrentConsumers: String) {
     it.property("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers)
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when using request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToMaxConcurrentConsumers(replyToMaxConcurrentConsumers: Int) {
     it.property("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers.toString())
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers for continue routing when timeout occurred
+   * when using request/reply over JMS.
+   */
   public
       fun replyToOnTimeoutMaxConcurrentConsumers(replyToOnTimeoutMaxConcurrentConsumers: String) {
     it.property("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers)
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers for continue routing when timeout occurred
+   * when using request/reply over JMS.
+   */
   public fun replyToOnTimeoutMaxConcurrentConsumers(replyToOnTimeoutMaxConcurrentConsumers: Int) {
     it.property("replyToOnTimeoutMaxConcurrentConsumers",
         replyToOnTimeoutMaxConcurrentConsumers.toString())
   }
 
+  /**
+   * Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of
+   * replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply
+   * message from the ReplyTo destination.
+   */
   public fun replyToOverride(replyToOverride: String) {
     it.property("replyToOverride", replyToOverride)
   }
 
+  /**
+   * Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing
+   * request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel
+   * will use temporary queues. However if replyTo has been configured, then Shared is used by default.
+   * This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation
+   * for more details, and especially the notes about the implications if running in a clustered
+   * environment, and the fact that Shared reply queues has lower performance than its alternatives
+   * Temporary and Exclusive.
+   */
   public fun replyToType(replyToType: String) {
     it.property("replyToType", replyToType)
   }
 
+  /**
+   * The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds).
+   * The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this
+   * endpoint configured timeout value, and thus have per message individual timeout values. See also
+   * the requestTimeoutCheckerInterval option.
+   */
   public fun requestTimeout(requestTimeout: String) {
     it.property("requestTimeout", requestTimeout)
   }
 
+  /**
+   * When sending messages, specifies the time-to-live of the message (in milliseconds).
+   */
   public fun timeToLive(timeToLive: String) {
     it.property("timeToLive", timeToLive)
   }
 
+  /**
+   * When sending messages, specifies the time-to-live of the message (in milliseconds).
+   */
   public fun timeToLive(timeToLive: Int) {
     it.property("timeToLive", timeToLive.toString())
   }
 
+  /**
+   * This option is used to allow additional headers which may have values that are invalid
+   * according to JMS specification. For example, some message systems, such as WMQ, do this with
+   * header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types.
+   * You can specify multiple header names separated by comma, and use as suffix for wildcard matching.
+   */
   public fun allowAdditionalHeaders(allowAdditionalHeaders: String) {
     it.property("allowAdditionalHeaders", allowAdditionalHeaders)
   }
 
+  /**
+   * Whether to allow sending messages with no body. If this option is false and the message body is
+   * null, then an JMSException is thrown.
+   */
   public fun allowNullBody(allowNullBody: String) {
     it.property("allowNullBody", allowNullBody)
   }
 
+  /**
+   * Whether to allow sending messages with no body. If this option is false and the message body is
+   * null, then an JMSException is thrown.
+   */
   public fun allowNullBody(allowNullBody: Boolean) {
     it.property("allowNullBody", allowNullBody.toString())
   }
 
+  /**
+   * If true, Camel will always make a JMS message copy of the message when it is passed to the
+   * producer for sending. Copying the message is needed in some situations, such as when a
+   * replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option
+   * to true, if a replyToDestinationSelectorName is set)
+   */
   public fun alwaysCopyMessage(alwaysCopyMessage: String) {
     it.property("alwaysCopyMessage", alwaysCopyMessage)
   }
 
+  /**
+   * If true, Camel will always make a JMS message copy of the message when it is passed to the
+   * producer for sending. Copying the message is needed in some situations, such as when a
+   * replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option
+   * to true, if a replyToDestinationSelectorName is set)
+   */
   public fun alwaysCopyMessage(alwaysCopyMessage: Boolean) {
     it.property("alwaysCopyMessage", alwaysCopyMessage.toString())
   }
 
+  /**
+   * When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS
+   * property to correlate messages. If set messages will be correlated solely on the value of this
+   * property JMSCorrelationID property will be ignored and not set by Camel.
+   */
   public fun correlationProperty(correlationProperty: String) {
     it.property("correlationProperty", correlationProperty)
   }
 
+  /**
+   * Use this option to force disabling time to live. For example when you do request/reply over
+   * JMS, then Camel will by default use the requestTimeout value as time to live on the message being
+   * sent. The problem is that the sender and receiver systems have to have their clocks synchronized,
+   * so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true
+   * to not set a time to live value on the sent message. Then the message will not expire on the
+   * receiver system. See below in section About time to live for more details.
+   */
   public fun disableTimeToLive(disableTimeToLive: String) {
     it.property("disableTimeToLive", disableTimeToLive)
   }
 
+  /**
+   * Use this option to force disabling time to live. For example when you do request/reply over
+   * JMS, then Camel will by default use the requestTimeout value as time to live on the message being
+   * sent. The problem is that the sender and receiver systems have to have their clocks synchronized,
+   * so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true
+   * to not set a time to live value on the sent message. Then the message will not expire on the
+   * receiver system. See below in section About time to live for more details.
+   */
   public fun disableTimeToLive(disableTimeToLive: Boolean) {
     it.property("disableTimeToLive", disableTimeToLive.toString())
   }
 
+  /**
+   * When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS
+   * destination if you touch the headers (get or set) during the route. Set this option to true to
+   * force Camel to send the original JMS message that was received.
+   */
   public fun forceSendOriginalMessage(forceSendOriginalMessage: String) {
     it.property("forceSendOriginalMessage", forceSendOriginalMessage)
   }
 
+  /**
+   * When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS
+   * destination if you touch the headers (get or set) during the route. Set this option to true to
+   * force Camel to send the original JMS message that was received.
+   */
   public fun forceSendOriginalMessage(forceSendOriginalMessage: Boolean) {
     it.property("forceSendOriginalMessage", forceSendOriginalMessage.toString())
   }
 
+  /**
+   * Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling
+   * this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS
+   * client when the message was sent to the JMS destination.
+   */
   public fun includeSentJMSMessageID(includeSentJMSMessageID: String) {
     it.property("includeSentJMSMessageID", includeSentJMSMessageID)
   }
 
+  /**
+   * Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling
+   * this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS
+   * client when the message was sent to the JMS destination.
+   */
   public fun includeSentJMSMessageID(includeSentJMSMessageID: Boolean) {
     it.property("includeSentJMSMessageID", includeSentJMSMessageID.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * Sets the cache level by name for the reply consumer when doing request/reply over JMS. This
+   * option only applies when using fixed reply queues (not temporary). Camel will by default use:
+   * CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared
+   * without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the
+   * replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not
+   * allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.
+   */
   public fun replyToCacheLevelName(replyToCacheLevelName: String) {
     it.property("replyToCacheLevelName", replyToCacheLevelName)
   }
 
+  /**
+   * Sets the JMS Selector using the fixed name to be used so you can filter out your own replies
+   * from the others when using a shared queue (that is, if you are not using a temporary reply queue).
+   */
   public fun replyToDestinationSelectorName(replyToDestinationSelectorName: String) {
     it.property("replyToDestinationSelectorName", replyToDestinationSelectorName)
   }
 
+  /**
+   * Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as
+   * files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls
+   * which kind will be used. By default BytesMessage is used which enforces the entire message payload
+   * to be read into memory. By enabling this option the message payload is read into memory in chunks
+   * and each chunk is then written to the StreamMessage until no more data.
+   */
   public fun streamMessageTypeEnabled(streamMessageTypeEnabled: String) {
     it.property("streamMessageTypeEnabled", streamMessageTypeEnabled)
   }
 
+  /**
+   * Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as
+   * files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls
+   * which kind will be used. By default BytesMessage is used which enforces the entire message payload
+   * to be read into memory. By enabling this option the message payload is read into memory in chunks
+   * and each chunk is then written to the StreamMessage until no more data.
+   */
   public fun streamMessageTypeEnabled(streamMessageTypeEnabled: Boolean) {
     it.property("streamMessageTypeEnabled", streamMessageTypeEnabled.toString())
   }
 
+  /**
+   * Controls whether or not to include serialized headers. Applies only when transferExchange is
+   * true. This requires that the objects are serializable. Camel will exclude any non-serializable
+   * objects and log it at WARN level.
+   */
   public fun allowSerializedHeaders(allowSerializedHeaders: String) {
     it.property("allowSerializedHeaders", allowSerializedHeaders)
   }
 
+  /**
+   * Controls whether or not to include serialized headers. Applies only when transferExchange is
+   * true. This requires that the objects are serializable. Camel will exclude any non-serializable
+   * objects and log it at WARN level.
+   */
   public fun allowSerializedHeaders(allowSerializedHeaders: Boolean) {
     it.property("allowSerializedHeaders", allowSerializedHeaders.toString())
   }
 
+  /**
+   * Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when
+   * using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is
+   * being used.
+   */
   public fun artemisStreamingEnabled(artemisStreamingEnabled: String) {
     it.property("artemisStreamingEnabled", artemisStreamingEnabled)
   }
 
+  /**
+   * Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when
+   * using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is
+   * being used.
+   */
   public fun artemisStreamingEnabled(artemisStreamingEnabled: Boolean) {
     it.property("artemisStreamingEnabled", artemisStreamingEnabled.toString())
   }
 
+  /**
+   * Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For
+   * example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while
+   * retrying and/or fail-over. This will cause Camel to block while starting routes. By setting this
+   * option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker
+   * using a dedicated thread in asynchronous mode. If this option is used, then beware that if the
+   * connection could not be established, then an exception is logged at WARN level, and the consumer
+   * will not be able to receive messages; You can then restart the route to retry.
+   */
   public fun asyncStartListener(asyncStartListener: String) {
     it.property("asyncStartListener", asyncStartListener)
   }
 
+  /**
+   * Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For
+   * example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while
+   * retrying and/or fail-over. This will cause Camel to block while starting routes. By setting this
+   * option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker
+   * using a dedicated thread in asynchronous mode. If this option is used, then beware that if the
+   * connection could not be established, then an exception is logged at WARN level, and the consumer
+   * will not be able to receive messages; You can then restart the route to retry.
+   */
   public fun asyncStartListener(asyncStartListener: Boolean) {
     it.property("asyncStartListener", asyncStartListener.toString())
   }
 
+  /**
+   * Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.
+   */
   public fun asyncStopListener(asyncStopListener: String) {
     it.property("asyncStopListener", asyncStopListener)
   }
 
+  /**
+   * Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.
+   */
   public fun asyncStopListener(asyncStopListener: Boolean) {
     it.property("asyncStopListener", asyncStopListener.toString())
   }
 
+  /**
+   * A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to
+   * use your own resolver (for example, to lookup the real destination in a JNDI registry).
+   */
   public fun destinationResolver(destinationResolver: String) {
     it.property("destinationResolver", destinationResolver)
   }
 
+  /**
+   * Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught
+   * exceptions thrown while processing a Message. By default these exceptions will be logged at the
+   * WARN level, if no errorHandler has been configured. You can configure logging level and whether
+   * stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace
+   * options. This makes it much easier to configure, than having to code a custom errorHandler.
+   */
   public fun errorHandler(errorHandler: String) {
     it.property("errorHandler", errorHandler)
   }
 
+  /**
+   * Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.
+   */
   public fun exceptionListener(exceptionListener: String) {
     it.property("exceptionListener", exceptionListener)
   }
 
+  /**
+   * To use a custom HeaderFilterStrategy to filter header to and from Camel message.
+   */
   public fun headerFilterStrategy(headerFilterStrategy: String) {
     it.property("headerFilterStrategy", headerFilterStrategy)
   }
 
+  /**
+   * Specify the limit for the number of consumers that are allowed to be idle at any given time.
+   */
   public fun idleConsumerLimit(idleConsumerLimit: String) {
     it.property("idleConsumerLimit", idleConsumerLimit)
   }
 
+  /**
+   * Specify the limit for the number of consumers that are allowed to be idle at any given time.
+   */
   public fun idleConsumerLimit(idleConsumerLimit: Int) {
     it.property("idleConsumerLimit", idleConsumerLimit.toString())
   }
 
+  /**
+   * Specifies the limit for idle executions of a receive task, not having received any message
+   * within its execution. If this limit is reached, the task will shut down and leave receiving to
+   * other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting).
+   * There is additional doc available from Spring.
+   */
   public fun idleTaskExecutionLimit(idleTaskExecutionLimit: String) {
     it.property("idleTaskExecutionLimit", idleTaskExecutionLimit)
   }
 
+  /**
+   * Specifies the limit for idle executions of a receive task, not having received any message
+   * within its execution. If this limit is reached, the task will shut down and leave receiving to
+   * other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting).
+   * There is additional doc available from Spring.
+   */
   public fun idleTaskExecutionLimit(idleTaskExecutionLimit: Int) {
     it.property("idleTaskExecutionLimit", idleTaskExecutionLimit.toString())
   }
 
+  /**
+   * Whether to include all JMSX prefixed properties when mapping from JMS to Camel Message. Setting
+   * this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using
+   * a custom headerFilterStrategy then this option does not apply.
+   */
   public fun includeAllJMSXProperties(includeAllJMSXProperties: String) {
     it.property("includeAllJMSXProperties", includeAllJMSXProperties)
   }
 
+  /**
+   * Whether to include all JMSX prefixed properties when mapping from JMS to Camel Message. Setting
+   * this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using
+   * a custom headerFilterStrategy then this option does not apply.
+   */
   public fun includeAllJMSXProperties(includeAllJMSXProperties: Boolean) {
     it.property("includeAllJMSXProperties", includeAllJMSXProperties.toString())
   }
 
+  /**
+   * Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS
+   * specification. Camel provides two implementations out of the box: default and passthrough. The
+   * default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves
+   * the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain
+   * illegal characters. You can provide your own implementation of the
+   * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.
+   */
   public fun jmsKeyFormatStrategy(jmsKeyFormatStrategy: String) {
     it.property("jmsKeyFormatStrategy", jmsKeyFormatStrategy)
   }
 
+  /**
+   * Specifies whether Camel should auto map the received JMS message to a suited payload type, such
+   * as jakarta.jms.TextMessage to a String etc.
+   */
   public fun mapJmsMessage(mapJmsMessage: String) {
     it.property("mapJmsMessage", mapJmsMessage)
   }
 
+  /**
+   * Specifies whether Camel should auto map the received JMS message to a suited payload type, such
+   * as jakarta.jms.TextMessage to a String etc.
+   */
   public fun mapJmsMessage(mapJmsMessage: Boolean) {
     it.property("mapJmsMessage", mapJmsMessage.toString())
   }
 
+  /**
+   * The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers
+   * (eg min max), then this option can be used to set a value to eg 100 to control how fast the
+   * consumers will shrink when less work is required.
+   */
   public fun maxMessagesPerTask(maxMessagesPerTask: String) {
     it.property("maxMessagesPerTask", maxMessagesPerTask)
   }
 
+  /**
+   * The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers
+   * (eg min max), then this option can be used to set a value to eg 100 to control how fast the
+   * consumers will shrink when less work is required.
+   */
   public fun maxMessagesPerTask(maxMessagesPerTask: Int) {
     it.property("maxMessagesPerTask", maxMessagesPerTask.toString())
   }
 
+  /**
+   * To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be
+   * in control how to map to/from a jakarta.jms.Message.
+   */
   public fun messageConverter(messageConverter: String) {
     it.property("messageConverter", messageConverter)
   }
 
+  /**
+   * To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of
+   * jakarta.jms.Message objects when Camel is sending a JMS message.
+   */
   public fun messageCreatedStrategy(messageCreatedStrategy: String) {
     it.property("messageCreatedStrategy", messageCreatedStrategy)
   }
 
+  /**
+   * When sending, specifies whether message IDs should be added. This is just an hint to the JMS
+   * broker. If the JMS provider accepts this hint, these messages must have the message ID set to
+   * null; if the provider ignores the hint, the message ID must be set to its normal unique value.
+   */
   public fun messageIdEnabled(messageIdEnabled: String) {
     it.property("messageIdEnabled", messageIdEnabled)
   }
 
+  /**
+   * When sending, specifies whether message IDs should be added. This is just an hint to the JMS
+   * broker. If the JMS provider accepts this hint, these messages must have the message ID set to
+   * null; if the provider ignores the hint, the message ID must be set to its normal unique value.
+   */
   public fun messageIdEnabled(messageIdEnabled: Boolean) {
     it.property("messageIdEnabled", messageIdEnabled.toString())
   }
 
+  /**
+   * Registry ID of the MessageListenerContainerFactory used to determine what
+   * org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages.
+   * Setting this will automatically set consumerType to Custom.
+   */
   public fun messageListenerContainerFactory(messageListenerContainerFactory: String) {
     it.property("messageListenerContainerFactory", messageListenerContainerFactory)
   }
 
+  /**
+   * Specifies whether timestamps should be enabled by default on sending messages. This is just an
+   * hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the
+   * timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal
+   * value.
+   */
   public fun messageTimestampEnabled(messageTimestampEnabled: String) {
     it.property("messageTimestampEnabled", messageTimestampEnabled)
   }
 
+  /**
+   * Specifies whether timestamps should be enabled by default on sending messages. This is just an
+   * hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the
+   * timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal
+   * value.
+   */
   public fun messageTimestampEnabled(messageTimestampEnabled: Boolean) {
     it.property("messageTimestampEnabled", messageTimestampEnabled.toString())
   }
 
+  /**
+   * Specifies whether to inhibit the delivery of messages published by its own connection.
+   */
   public fun pubSubNoLocal(pubSubNoLocal: String) {
     it.property("pubSubNoLocal", pubSubNoLocal)
   }
 
+  /**
+   * Specifies whether to inhibit the delivery of messages published by its own connection.
+   */
   public fun pubSubNoLocal(pubSubNoLocal: Boolean) {
     it.property("pubSubNoLocal", pubSubNoLocal.toString())
   }
 
+  /**
+   * The timeout for receiving messages (in milliseconds).
+   */
   public fun receiveTimeout(receiveTimeout: String) {
     it.property("receiveTimeout", receiveTimeout)
   }
 
+  /**
+   * Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in
+   * milliseconds. The default is 5000 ms, that is, 5 seconds.
+   */
   public fun recoveryInterval(recoveryInterval: String) {
     it.property("recoveryInterval", recoveryInterval)
   }
 
+  /**
+   * Configures how often Camel should check for timed out Exchanges when doing request/reply over
+   * JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs,
+   * then you can lower this interval, to check more frequently. The timeout is determined by the
+   * option requestTimeout.
+   */
   public fun requestTimeoutCheckerInterval(requestTimeoutCheckerInterval: String) {
     it.property("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval)
   }
 
+  /**
+   * Sets whether synchronous processing should be strictly used
+   */
   public fun synchronous(synchronous: String) {
     it.property("synchronous", synchronous)
   }
 
+  /**
+   * Sets whether synchronous processing should be strictly used
+   */
   public fun synchronous(synchronous: Boolean) {
     it.property("synchronous", synchronous.toString())
   }
 
+  /**
+   * A pluggable TemporaryQueueResolver that allows you to use your own resolver for creating
+   * temporary queues (some messaging systems has special requirements for creating temporary queues).
+   */
   public fun temporaryQueueResolver(temporaryQueueResolver: String) {
     it.property("temporaryQueueResolver", temporaryQueueResolver)
   }
 
+  /**
+   * If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the
+   * consumer side, then the caused Exception will be send back in response as a
+   * jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows
+   * you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable
+   * robust routing. Notice that if you also have transferExchange enabled, this option takes
+   * precedence. The caught exception is required to be serializable. The original Exception on the
+   * consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException
+   * when returned to the producer. Use this with caution as the data is using Java Object
+   * serialization and requires the received to be able to deserialize the data at Class level, which
+   * forces a strong coupling between the producers and consumer!
+   */
   public fun transferException(transferException: String) {
     it.property("transferException", transferException)
   }
 
+  /**
+   * If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the
+   * consumer side, then the caused Exception will be send back in response as a
+   * jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows
+   * you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable
+   * robust routing. Notice that if you also have transferExchange enabled, this option takes
+   * precedence. The caught exception is required to be serializable. The original Exception on the
+   * consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException
+   * when returned to the producer. Use this with caution as the data is using Java Object
+   * serialization and requires the received to be able to deserialize the data at Class level, which
+   * forces a strong coupling between the producers and consumer!
+   */
   public fun transferException(transferException: Boolean) {
     it.property("transferException", transferException.toString())
   }
 
+  /**
+   * You can transfer the exchange over the wire instead of just the body and headers. The following
+   * fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers,
+   * exchange properties, exchange exception. This requires that the objects are serializable. Camel
+   * will exclude any non-serializable objects and log it at WARN level. You must enable this option on
+   * both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular
+   * payload. Use this with caution as the data is using Java Object serialization and requires the
+   * receiver to be able to deserialize the data at Class level, which forces a strong coupling between
+   * the producers and consumers having to use compatible Camel versions!
+   */
   public fun transferExchange(transferExchange: String) {
     it.property("transferExchange", transferExchange)
   }
 
+  /**
+   * You can transfer the exchange over the wire instead of just the body and headers. The following
+   * fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers,
+   * exchange properties, exchange exception. This requires that the objects are serializable. Camel
+   * will exclude any non-serializable objects and log it at WARN level. You must enable this option on
+   * both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular
+   * payload. Use this with caution as the data is using Java Object serialization and requires the
+   * receiver to be able to deserialize the data at Class level, which forces a strong coupling between
+   * the producers and consumers having to use compatible Camel versions!
+   */
   public fun transferExchange(transferExchange: Boolean) {
     it.property("transferExchange", transferExchange.toString())
   }
 
+  /**
+   * Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.
+   */
   public fun useMessageIDAsCorrelationID(useMessageIDAsCorrelationID: String) {
     it.property("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID)
   }
 
+  /**
+   * Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.
+   */
   public fun useMessageIDAsCorrelationID(useMessageIDAsCorrelationID: Boolean) {
     it.property("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID.toString())
   }
 
+  /**
+   * Number of times to wait for provisional correlation id to be updated to the actual correlation
+   * id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.
+   */
   public
       fun waitForProvisionCorrelationToBeUpdatedCounter(waitForProvisionCorrelationToBeUpdatedCounter: String) {
     it.property("waitForProvisionCorrelationToBeUpdatedCounter",
         waitForProvisionCorrelationToBeUpdatedCounter)
   }
 
+  /**
+   * Number of times to wait for provisional correlation id to be updated to the actual correlation
+   * id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.
+   */
   public
       fun waitForProvisionCorrelationToBeUpdatedCounter(waitForProvisionCorrelationToBeUpdatedCounter: Int) {
     it.property("waitForProvisionCorrelationToBeUpdatedCounter",
         waitForProvisionCorrelationToBeUpdatedCounter.toString())
   }
 
+  /**
+   * Interval in millis to sleep each time while waiting for provisional correlation id to be
+   * updated.
+   */
   public
       fun waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(waitForProvisionCorrelationToBeUpdatedThreadSleepingTime: String) {
     it.property("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime",
         waitForProvisionCorrelationToBeUpdatedThreadSleepingTime)
   }
 
+  /**
+   * Allows to configure the default errorHandler logging level for logging uncaught exceptions.
+   */
   public fun errorHandlerLoggingLevel(errorHandlerLoggingLevel: String) {
     it.property("errorHandlerLoggingLevel", errorHandlerLoggingLevel)
   }
 
+  /**
+   * Allows to control whether stack-traces should be logged or not, by the default errorHandler.
+   */
   public fun errorHandlerLogStackTrace(errorHandlerLogStackTrace: String) {
     it.property("errorHandlerLogStackTrace", errorHandlerLogStackTrace)
   }
 
+  /**
+   * Allows to control whether stack-traces should be logged or not, by the default errorHandler.
+   */
   public fun errorHandlerLogStackTrace(errorHandlerLogStackTrace: Boolean) {
     it.property("errorHandlerLogStackTrace", errorHandlerLogStackTrace.toString())
   }
 
+  /**
+   * Password to use with the ConnectionFactory. You can also configure username/password directly
+   * on the ConnectionFactory.
+   */
   public fun password(password: String) {
     it.property("password", password)
   }
 
+  /**
+   * Username to use with the ConnectionFactory. You can also configure username/password directly
+   * on the ConnectionFactory.
+   */
   public fun username(username: String) {
     it.property("username", username)
   }
 
+  /**
+   * Specifies whether to use transacted mode
+   */
   public fun transacted(transacted: String) {
     it.property("transacted", transacted)
   }
 
+  /**
+   * Specifies whether to use transacted mode
+   */
   public fun transacted(transacted: Boolean) {
     it.property("transacted", transacted.toString())
   }
 
+  /**
+   * Specifies whether InOut operations (request reply) default to using transacted mode If this
+   * flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the
+   * acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS:
+   * that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not
+   * taken into account. Depending on the Java EE transaction context, the container makes its own
+   * decisions on these values. Analogously, these parameters are not taken into account within a
+   * locally managed transaction either, since Spring JMS operates on an existing JMS Session in this
+   * case. Setting this flag to true will use a short local JMS transaction when running outside of a
+   * managed transaction, and a synchronized local JMS transaction in case of a managed transaction
+   * (other than an XA transaction) being present. This has the effect of a local JMS transaction being
+   * managed alongside the main transaction (which might be a native JDBC transaction), with the JMS
+   * transaction committing right after the main transaction.
+   */
   public fun transactedInOut(transactedInOut: String) {
     it.property("transactedInOut", transactedInOut)
   }
 
+  /**
+   * Specifies whether InOut operations (request reply) default to using transacted mode If this
+   * flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the
+   * acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS:
+   * that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not
+   * taken into account. Depending on the Java EE transaction context, the container makes its own
+   * decisions on these values. Analogously, these parameters are not taken into account within a
+   * locally managed transaction either, since Spring JMS operates on an existing JMS Session in this
+   * case. Setting this flag to true will use a short local JMS transaction when running outside of a
+   * managed transaction, and a synchronized local JMS transaction in case of a managed transaction
+   * (other than an XA transaction) being present. This has the effect of a local JMS transaction being
+   * managed alongside the main transaction (which might be a native JDBC transaction), with the JMS
+   * transaction committing right after the main transaction.
+   */
   public fun transactedInOut(transactedInOut: Boolean) {
     it.property("transactedInOut", transactedInOut.toString())
   }
 
+  /**
+   * If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected
+   * when option transacted=true.
+   */
   public fun lazyCreateTransactionManager(lazyCreateTransactionManager: String) {
     it.property("lazyCreateTransactionManager", lazyCreateTransactionManager)
   }
 
+  /**
+   * If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected
+   * when option transacted=true.
+   */
   public fun lazyCreateTransactionManager(lazyCreateTransactionManager: Boolean) {
     it.property("lazyCreateTransactionManager", lazyCreateTransactionManager.toString())
   }
 
+  /**
+   * The Spring transaction manager to use.
+   */
   public fun transactionManager(transactionManager: String) {
     it.property("transactionManager", transactionManager)
   }
 
+  /**
+   * The name of the transaction to use.
+   */
   public fun transactionName(transactionName: String) {
     it.property("transactionName", transactionName)
   }
 
+  /**
+   * The timeout value of the transaction (in seconds), if using transacted mode.
+   */
   public fun transactionTimeout(transactionTimeout: String) {
     it.property("transactionTimeout", transactionTimeout)
   }
 
+  /**
+   * The timeout value of the transaction (in seconds), if using transacted mode.
+   */
   public fun transactionTimeout(transactionTimeout: Int) {
     it.property("transactionTimeout", transactionTimeout.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AmqpUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AmqpUriDsl.kt
index 9b50e8144ef..3cb276bad2f 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AmqpUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AmqpUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Messaging with AMQP protocol using Apache QPid Client.
+ */
 public fun UriDsl.amqp(i: AmqpUriDsl.() -> Unit) {
   AmqpUriDsl(this).apply(i)
 }
@@ -42,632 +45,1458 @@ public class AmqpUriDsl(
 
   private var destinationName: String = ""
 
+  /**
+   * The kind of destination to use
+   */
   public fun destinationType(destinationType: String) {
     this.destinationType = destinationType
     it.url("$destinationType:$destinationName")
   }
 
+  /**
+   * Name of the queue or topic to use as destination
+   */
   public fun destinationName(destinationName: String) {
     this.destinationName = destinationName
     it.url("$destinationType:$destinationName")
   }
 
+  /**
+   * Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only
+   * be used by a single JMS connection instance. It is typically only required for durable topic
+   * subscriptions with JMS 1.1.
+   */
   public fun clientId(clientId: String) {
     it.property("clientId", clientId)
   }
 
+  /**
+   * The connection factory to be use. A connection factory must be configured either on the
+   * component or endpoint.
+   */
   public fun connectionFactory(connectionFactory: String) {
     it.property("connectionFactory", connectionFactory)
   }
 
+  /**
+   * Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send
+   * a reply back to the destination specified in the JMSReplyTo header. You can use this option if you
+   * want Camel to consume from a route and you do not want Camel to automatically send back a reply
+   * message because another component in your code handles the reply message. You can also use this
+   * option if you want to use Camel as a proxy between different message brokers and you want to route
+   * message from one system to another.
+   */
   public fun disableReplyTo(disableReplyTo: String) {
     it.property("disableReplyTo", disableReplyTo)
   }
 
+  /**
+   * Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send
+   * a reply back to the destination specified in the JMSReplyTo header. You can use this option if you
+   * want Camel to consume from a route and you do not want Camel to automatically send back a reply
+   * message because another component in your code handles the reply message. You can also use this
+   * option if you want to use Camel as a proxy between different message brokers and you want to route
+   * message from one system to another.
+   */
   public fun disableReplyTo(disableReplyTo: Boolean) {
     it.property("disableReplyTo", disableReplyTo.toString())
   }
 
+  /**
+   * The durable subscriber name for specifying durable topic subscriptions. The clientId option
+   * must be configured as well.
+   */
   public fun durableSubscriptionName(durableSubscriptionName: String) {
     it.property("durableSubscriptionName", durableSubscriptionName)
   }
 
+  /**
+   * Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS
+   * messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine
+   * which JMS message type to use from the In body type. This option allows you to specify it.
+   */
   public fun jmsMessageType(jmsMessageType: String) {
     it.property("jmsMessageType", jmsMessageType)
   }
 
+  /**
+   * Provides an explicit ReplyTo destination (overrides any incoming value of
+   * Message.getJMSReplyTo() in consumer).
+   */
   public fun replyTo(replyTo: String) {
     it.property("replyTo", replyTo)
   }
 
+  /**
+   * Specifies whether to test the connection on startup. This ensures that when Camel starts that
+   * all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted
+   * then Camel throws an exception on startup. This ensures that Camel is not started with failed
+   * connections. The JMS producers is tested as well.
+   */
   public fun testConnectionOnStartup(testConnectionOnStartup: String) {
     it.property("testConnectionOnStartup", testConnectionOnStartup)
   }
 
+  /**
+   * Specifies whether to test the connection on startup. This ensures that when Camel starts that
+   * all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted
+   * then Camel throws an exception on startup. This ensures that Camel is not started with failed
+   * connections. The JMS producers is tested as well.
+   */
   public fun testConnectionOnStartup(testConnectionOnStartup: Boolean) {
     it.property("testConnectionOnStartup", testConnectionOnStartup.toString())
   }
 
+  /**
+   * The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE,
+   * AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE
+   */
   public fun acknowledgementModeName(acknowledgementModeName: String) {
     it.property("acknowledgementModeName", acknowledgementModeName)
   }
 
+  /**
+   * Consumer priorities allow you to ensure that high priority consumers receive messages while
+   * they are active. Normally, active consumers connected to a queue receive messages from it in a
+   * round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if
+   * multiple active consumers exist with the same high priority. Messages will only going to lower
+   * priority consumers when the high priority consumers do not have credit available to consume the
+   * message, or those high priority consumers have declined to accept the message (for instance
+   * because it does not meet the criteria of any selectors associated with the consumer).
+   */
   public fun artemisConsumerPriority(artemisConsumerPriority: String) {
     it.property("artemisConsumerPriority", artemisConsumerPriority)
   }
 
+  /**
+   * Consumer priorities allow you to ensure that high priority consumers receive messages while
+   * they are active. Normally, active consumers connected to a queue receive messages from it in a
+   * round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if
+   * multiple active consumers exist with the same high priority. Messages will only going to lower
+   * priority consumers when the high priority consumers do not have credit available to consume the
+   * message, or those high priority consumers have declined to accept the message (for instance
+   * because it does not meet the criteria of any selectors associated with the consumer).
+   */
   public fun artemisConsumerPriority(artemisConsumerPriority: Int) {
     it.property("artemisConsumerPriority", artemisConsumerPriority.toString())
   }
 
+  /**
+   * Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer
+   * may pickup the next message from the JMS queue, while the previous message is being processed
+   * asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not
+   * 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the
+   * JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled,
+   * then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously
+   * (Camel 3.0 may support async transactions).
+   */
   public fun asyncConsumer(asyncConsumer: String) {
     it.property("asyncConsumer", asyncConsumer)
   }
 
+  /**
+   * Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer
+   * may pickup the next message from the JMS queue, while the previous message is being processed
+   * asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not
+   * 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the
+   * JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled,
+   * then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously
+   * (Camel 3.0 may support async transactions).
+   */
   public fun asyncConsumer(asyncConsumer: Boolean) {
     it.property("asyncConsumer", asyncConsumer.toString())
   }
 
+  /**
+   * Specifies whether the consumer container should auto-startup.
+   */
   public fun autoStartup(autoStartup: String) {
     it.property("autoStartup", autoStartup)
   }
 
+  /**
+   * Specifies whether the consumer container should auto-startup.
+   */
   public fun autoStartup(autoStartup: Boolean) {
     it.property("autoStartup", autoStartup.toString())
   }
 
+  /**
+   * Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more
+   * details.
+   */
   public fun cacheLevel(cacheLevel: String) {
     it.property("cacheLevel", cacheLevel)
   }
 
+  /**
+   * Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more
+   * details.
+   */
   public fun cacheLevel(cacheLevel: Int) {
     it.property("cacheLevel", cacheLevel.toString())
   }
 
+  /**
+   * Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO,
+   * CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is
+   * CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.
+   */
   public fun cacheLevelName(cacheLevelName: String) {
     it.property("cacheLevelName", cacheLevelName)
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used
+   * to control number of concurrent consumers on the reply message listener.
+   */
   public fun concurrentConsumers(concurrentConsumers: String) {
     it.property("concurrentConsumers", concurrentConsumers)
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used
+   * to control number of concurrent consumers on the reply message listener.
+   */
   public fun concurrentConsumers(concurrentConsumers: Int) {
     it.property("concurrentConsumers", concurrentConsumers.toString())
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is
+   * used to control number of concurrent consumers on the reply message listener.
+   */
   public fun maxConcurrentConsumers(maxConcurrentConsumers: String) {
     it.property("maxConcurrentConsumers", maxConcurrentConsumers)
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when consuming from JMS (not for
+   * request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down
+   * of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is
+   * used to control number of concurrent consumers on the reply message listener.
+   */
   public fun maxConcurrentConsumers(maxConcurrentConsumers: Int) {
     it.property("maxConcurrentConsumers", maxConcurrentConsumers.toString())
   }
 
+  /**
+   * Specifies whether to use persistent delivery by default for replies.
+   */
   public fun replyToDeliveryPersistent(replyToDeliveryPersistent: String) {
     it.property("replyToDeliveryPersistent", replyToDeliveryPersistent)
   }
 
+  /**
+   * Specifies whether to use persistent delivery by default for replies.
+   */
   public fun replyToDeliveryPersistent(replyToDeliveryPersistent: Boolean) {
     it.property("replyToDeliveryPersistent", replyToDeliveryPersistent.toString())
   }
 
+  /**
+   * Sets the JMS selector to use
+   */
   public fun selector(selector: String) {
     it.property("selector", selector)
   }
 
+  /**
+   * Set whether to make the subscription durable. The durable subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * durable subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Only makes sense when listening to a
+   * topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.
+   */
   public fun subscriptionDurable(subscriptionDurable: String) {
     it.property("subscriptionDurable", subscriptionDurable)
   }
 
+  /**
+   * Set whether to make the subscription durable. The durable subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * durable subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Only makes sense when listening to a
+   * topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.
+   */
   public fun subscriptionDurable(subscriptionDurable: Boolean) {
     it.property("subscriptionDurable", subscriptionDurable.toString())
   }
 
+  /**
+   * Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain)
+   * with a shared or durable subscription. The subscription name needs to be unique within this
+   * client's JMS client id. Default is the class name of the specified message listener. Note: Only 1
+   * concurrent consumer (which is the default of this message listener container) is allowed for each
+   * subscription, except for a shared subscription (which requires JMS 2.0).
+   */
   public fun subscriptionName(subscriptionName: String) {
     it.property("subscriptionName", subscriptionName)
   }
 
+  /**
+   * Set whether to make the subscription shared. The shared subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * shared subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Note that shared subscriptions may also
+   * be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only
+   * makes sense when listening to a topic (pub-sub domain), therefore this method switches the
+   * pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.
+   */
   public fun subscriptionShared(subscriptionShared: String) {
     it.property("subscriptionShared", subscriptionShared)
   }
 
+  /**
+   * Set whether to make the subscription shared. The shared subscription name to be used can be
+   * specified through the subscriptionName property. Default is false. Set this to true to register a
+   * shared subscription, typically in combination with a subscriptionName value (unless your message
+   * listener class name is good enough as subscription name). Note that shared subscriptions may also
+   * be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only
+   * makes sense when listening to a topic (pub-sub domain), therefore this method switches the
+   * pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.
+   */
   public fun subscriptionShared(subscriptionShared: Boolean) {
     it.property("subscriptionShared", subscriptionShared.toString())
   }
 
+  /**
+   * Specifies whether the consumer accept messages while it is stopping. You may consider enabling
+   * this option, if you start and stop JMS routes at runtime, while there are still messages enqueued
+   * on the queue. If this option is false, and you stop the JMS route, then messages may be rejected,
+   * and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and
+   * eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its
+   * recommended to enable this option.
+   */
   public fun acceptMessagesWhileStopping(acceptMessagesWhileStopping: String) {
     it.property("acceptMessagesWhileStopping", acceptMessagesWhileStopping)
   }
 
+  /**
+   * Specifies whether the consumer accept messages while it is stopping. You may consider enabling
+   * this option, if you start and stop JMS routes at runtime, while there are still messages enqueued
+   * on the queue. If this option is false, and you stop the JMS route, then messages may be rejected,
+   * and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and
+   * eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its
+   * recommended to enable this option.
+   */
   public fun acceptMessagesWhileStopping(acceptMessagesWhileStopping: Boolean) {
     it.property("acceptMessagesWhileStopping", acceptMessagesWhileStopping.toString())
   }
 
+  /**
+   * Whether the DefaultMessageListenerContainer used in the reply managers for request-reply
+   * messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case
+   * JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is
+   * currently being stopped. This quick stop ability is enabled by default in the regular JMS
+   * consumers but to enable for reply managers you must enable this flag.
+   */
   public fun allowReplyManagerQuickStop(allowReplyManagerQuickStop: String) {
     it.property("allowReplyManagerQuickStop", allowReplyManagerQuickStop)
   }
 
+  /**
+   * Whether the DefaultMessageListenerContainer used in the reply managers for request-reply
+   * messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case
+   * JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is
+   * currently being stopped. This quick stop ability is enabled by default in the regular JMS
+   * consumers but to enable for reply managers you must enable this flag.
+   */
   public fun allowReplyManagerQuickStop(allowReplyManagerQuickStop: Boolean) {
     it.property("allowReplyManagerQuickStop", allowReplyManagerQuickStop.toString())
   }
 
+  /**
+   * The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type
+   * determines which Spring JMS listener to use. Default will use
+   * org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use
+   * org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the
+   * MessageListenerContainerFactory defined by the messageListenerContainerFactory option will
+   * determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.
+   */
   public fun consumerType(consumerType: String) {
     it.property("consumerType", consumerType)
   }
 
+  /**
+   * Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for
+   * both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values:
+   * SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
+   * ThreadPoolTaskExecutor with optimal values - cached thread-pool-like). If not set, it defaults to
+   * the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for
+   * reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic
+   * configurations with dynamically increasing and decreasing concurrent consumers.
+   */
   public fun defaultTaskExecutorType(defaultTaskExecutorType: String) {
     it.property("defaultTaskExecutorType", defaultTaskExecutorType)
   }
 
+  /**
+   * Enables eager loading of JMS properties and payload as soon as a message is loaded which
+   * generally is inefficient as the JMS properties may not be required but sometimes can catch early
+   * any issues with the underlying JMS provider and the use of JMS properties. See also the option
+   * eagerPoisonBody.
+   */
   public fun eagerLoadingOfProperties(eagerLoadingOfProperties: String) {
     it.property("eagerLoadingOfProperties", eagerLoadingOfProperties)
   }
 
+  /**
+   * Enables eager loading of JMS properties and payload as soon as a message is loaded which
+   * generally is inefficient as the JMS properties may not be required but sometimes can catch early
+   * any issues with the underlying JMS provider and the use of JMS properties. See also the option
+   * eagerPoisonBody.
+   */
   public fun eagerLoadingOfProperties(eagerLoadingOfProperties: Boolean) {
     it.property("eagerLoadingOfProperties", eagerLoadingOfProperties.toString())
   }
 
+  /**
+   * If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties)
+   * is poison (cannot be read/mapped), then set this text as the message body instead so the message
+   * can be processed (the cause of the poison are already stored as exception on the Exchange). This
+   * can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.
+   */
   public fun eagerPoisonBody(eagerPoisonBody: String) {
     it.property("eagerPoisonBody", eagerPoisonBody)
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * Specifies whether the listener session should be exposed when consuming messages.
+   */
   public fun exposeListenerSession(exposeListenerSession: String) {
     it.property("exposeListenerSession", exposeListenerSession)
   }
 
+  /**
+   * Specifies whether the listener session should be exposed when consuming messages.
+   */
   public fun exposeListenerSession(exposeListenerSession: Boolean) {
     it.property("exposeListenerSession", exposeListenerSession.toString())
   }
 
+  /**
+   * The consumer type of the reply consumer (when doing request/reply), which can be one of:
+   * Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default
+   * will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use
+   * org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the
+   * MessageListenerContainerFactory defined by the messageListenerContainerFactory option will
+   * determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.
+   */
   public fun replyToConsumerType(replyToConsumerType: String) {
     it.property("replyToConsumerType", replyToConsumerType)
   }
 
+  /**
+   * Whether a JMS consumer is allowed to send a reply message to the same destination that the
+   * consumer is using to consume from. This prevents an endless loop by consuming and sending back the
+   * same message to itself.
+   */
   public fun replyToSameDestinationAllowed(replyToSameDestinationAllowed: String) {
     it.property("replyToSameDestinationAllowed", replyToSameDestinationAllowed)
   }
 
+  /**
+   * Whether a JMS consumer is allowed to send a reply message to the same destination that the
+   * consumer is using to consume from. This prevents an endless loop by consuming and sending back the
+   * same message to itself.
+   */
   public fun replyToSameDestinationAllowed(replyToSameDestinationAllowed: Boolean) {
     it.property("replyToSameDestinationAllowed", replyToSameDestinationAllowed.toString())
   }
 
+  /**
+   * Allows you to specify a custom task executor for consuming messages.
+   */
   public fun taskExecutor(taskExecutor: String) {
     it.property("taskExecutor", taskExecutor)
   }
 
+  /**
+   * Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant
+   * broker.
+   */
   public fun deliveryDelay(deliveryDelay: String) {
     it.property("deliveryDelay", deliveryDelay)
   }
 
+  /**
+   * Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant
+   * broker.
+   */
   public fun deliveryDelay(deliveryDelay: Int) {
     it.property("deliveryDelay", deliveryDelay.toString())
   }
 
+  /**
+   * Specifies the delivery mode to be used. Possible values are those defined by
+   * jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.
+   */
   public fun deliveryMode(deliveryMode: String) {
     it.property("deliveryMode", deliveryMode)
   }
 
+  /**
+   * Specifies the delivery mode to be used. Possible values are those defined by
+   * jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.
+   */
   public fun deliveryMode(deliveryMode: Int) {
     it.property("deliveryMode", deliveryMode.toString())
   }
 
+  /**
+   * Specifies whether persistent delivery is used by default.
+   */
   public fun deliveryPersistent(deliveryPersistent: String) {
     it.property("deliveryPersistent", deliveryPersistent)
   }
 
+  /**
+   * Specifies whether persistent delivery is used by default.
+   */
   public fun deliveryPersistent(deliveryPersistent: Boolean) {
     it.property("deliveryPersistent", deliveryPersistent.toString())
   }
 
+  /**
+   * Set if the deliveryMode, priority or timeToLive qualities of service should be used when
+   * sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and
+   * timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos
+   * option, which operates at message granularity, reading QoS properties exclusively from the Camel
+   * In message headers.
+   */
   public fun explicitQosEnabled(explicitQosEnabled: String) {
     it.property("explicitQosEnabled", explicitQosEnabled)
   }
 
+  /**
+   * Set if the deliveryMode, priority or timeToLive qualities of service should be used when
+   * sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and
+   * timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos
+   * option, which operates at message granularity, reading QoS properties exclusively from the Camel
+   * In message headers.
+   */
   public fun explicitQosEnabled(explicitQosEnabled: Boolean) {
     it.property("explicitQosEnabled", explicitQosEnabled.toString())
   }
 
+  /**
+   * Sets whether JMS date properties should be formatted according to the ISO 8601 standard.
+   */
   public fun formatDateHeadersToIso8601(formatDateHeadersToIso8601: String) {
     it.property("formatDateHeadersToIso8601", formatDateHeadersToIso8601)
   }
 
+  /**
+   * Sets whether JMS date properties should be formatted according to the ISO 8601 standard.
+   */
   public fun formatDateHeadersToIso8601(formatDateHeadersToIso8601: Boolean) {
     it.property("formatDateHeadersToIso8601", formatDateHeadersToIso8601.toString())
   }
 
+  /**
+   * Set to true, if you want to send message using the QoS settings specified on the message,
+   * instead of the QoS settings on the JMS endpoint. The following three headers are considered
+   * JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not
+   * provided, Camel will fall back to use the values from the endpoint instead. So, when using this
+   * option, the headers override the values from the endpoint. The explicitQosEnabled option, by
+   * contrast, will only use options set on the endpoint, and not values from the message header.
+   */
   public fun preserveMessageQos(preserveMessageQos: String) {
     it.property("preserveMessageQos", preserveMessageQos)
   }
 
+  /**
+   * Set to true, if you want to send message using the QoS settings specified on the message,
+   * instead of the QoS settings on the JMS endpoint. The following three headers are considered
+   * JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not
+   * provided, Camel will fall back to use the values from the endpoint instead. So, when using this
+   * option, the headers override the values from the endpoint. The explicitQosEnabled option, by
+   * contrast, will only use options set on the endpoint, and not values from the message header.
+   */
   public fun preserveMessageQos(preserveMessageQos: Boolean) {
     it.property("preserveMessageQos", preserveMessageQos.toString())
   }
 
+  /**
+   * Values greater than 1 specify the message priority when sending (where 1 is the lowest priority
+   * and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option
+   * to have any effect.
+   */
   public fun priority(priority: String) {
     it.property("priority", priority)
   }
 
+  /**
+   * Values greater than 1 specify the message priority when sending (where 1 is the lowest priority
+   * and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option
+   * to have any effect.
+   */
   public fun priority(priority: Int) {
     it.property("priority", priority.toString())
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when doing request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToConcurrentConsumers(replyToConcurrentConsumers: String) {
     it.property("replyToConcurrentConsumers", replyToConcurrentConsumers)
   }
 
+  /**
+   * Specifies the default number of concurrent consumers when doing request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToConcurrentConsumers(replyToConcurrentConsumers: Int) {
     it.property("replyToConcurrentConsumers", replyToConcurrentConsumers.toString())
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when using request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToMaxConcurrentConsumers(replyToMaxConcurrentConsumers: String) {
     it.property("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers)
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers when using request/reply over JMS. See
+   * also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
+   */
   public fun replyToMaxConcurrentConsumers(replyToMaxConcurrentConsumers: Int) {
     it.property("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers.toString())
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers for continue routing when timeout occurred
+   * when using request/reply over JMS.
+   */
   public
       fun replyToOnTimeoutMaxConcurrentConsumers(replyToOnTimeoutMaxConcurrentConsumers: String) {
     it.property("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers)
   }
 
+  /**
+   * Specifies the maximum number of concurrent consumers for continue routing when timeout occurred
+   * when using request/reply over JMS.
+   */
   public fun replyToOnTimeoutMaxConcurrentConsumers(replyToOnTimeoutMaxConcurrentConsumers: Int) {
     it.property("replyToOnTimeoutMaxConcurrentConsumers",
         replyToOnTimeoutMaxConcurrentConsumers.toString())
   }
 
+  /**
+   * Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of
+   * replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply
+   * message from the ReplyTo destination.
+   */
   public fun replyToOverride(replyToOverride: String) {
     it.property("replyToOverride", replyToOverride)
   }
 
+  /**
+   * Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing
+   * request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel
+   * will use temporary queues. However if replyTo has been configured, then Shared is used by default.
+   * This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation
+   * for more details, and especially the notes about the implications if running in a clustered
+   * environment, and the fact that Shared reply queues has lower performance than its alternatives
+   * Temporary and Exclusive.
+   */
   public fun replyToType(replyToType: String) {
     it.property("replyToType", replyToType)
   }
 
+  /**
+   * The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds).
+   * The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this
+   * endpoint configured timeout value, and thus have per message individual timeout values. See also
+   * the requestTimeoutCheckerInterval option.
+   */
   public fun requestTimeout(requestTimeout: String) {
     it.property("requestTimeout", requestTimeout)
   }
 
+  /**
+   * When sending messages, specifies the time-to-live of the message (in milliseconds).
+   */
   public fun timeToLive(timeToLive: String) {
     it.property("timeToLive", timeToLive)
   }
 
+  /**
+   * When sending messages, specifies the time-to-live of the message (in milliseconds).
+   */
   public fun timeToLive(timeToLive: Int) {
     it.property("timeToLive", timeToLive.toString())
   }
 
+  /**
+   * This option is used to allow additional headers which may have values that are invalid
+   * according to JMS specification. For example, some message systems, such as WMQ, do this with
+   * header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types.
+   * You can specify multiple header names separated by comma, and use as suffix for wildcard matching.
+   */
   public fun allowAdditionalHeaders(allowAdditionalHeaders: String) {
     it.property("allowAdditionalHeaders", allowAdditionalHeaders)
   }
 
+  /**
+   * Whether to allow sending messages with no body. If this option is false and the message body is
+   * null, then an JMSException is thrown.
+   */
   public fun allowNullBody(allowNullBody: String) {
     it.property("allowNullBody", allowNullBody)
   }
 
+  /**
+   * Whether to allow sending messages with no body. If this option is false and the message body is
+   * null, then an JMSException is thrown.
+   */
   public fun allowNullBody(allowNullBody: Boolean) {
     it.property("allowNullBody", allowNullBody.toString())
   }
 
+  /**
+   * If true, Camel will always make a JMS message copy of the message when it is passed to the
+   * producer for sending. Copying the message is needed in some situations, such as when a
+   * replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option
+   * to true, if a replyToDestinationSelectorName is set)
+   */
   public fun alwaysCopyMessage(alwaysCopyMessage: String) {
     it.property("alwaysCopyMessage", alwaysCopyMessage)
   }
 
+  /**
+   * If true, Camel will always make a JMS message copy of the message when it is passed to the
+   * producer for sending. Copying the message is needed in some situations, such as when a
+   * replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option
+   * to true, if a replyToDestinationSelectorName is set)
+   */
   public fun alwaysCopyMessage(alwaysCopyMessage: Boolean) {
     it.property("alwaysCopyMessage", alwaysCopyMessage.toString())
   }
 
+  /**
+   * When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS
+   * property to correlate messages. If set messages will be correlated solely on the value of this
+   * property JMSCorrelationID property will be ignored and not set by Camel.
+   */
   public fun correlationProperty(correlationProperty: String) {
     it.property("correlationProperty", correlationProperty)
   }
 
+  /**
+   * Use this option to force disabling time to live. For example when you do request/reply over
+   * JMS, then Camel will by default use the requestTimeout value as time to live on the message being
+   * sent. The problem is that the sender and receiver systems have to have their clocks synchronized,
+   * so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true
+   * to not set a time to live value on the sent message. Then the message will not expire on the
+   * receiver system. See below in section About time to live for more details.
+   */
   public fun disableTimeToLive(disableTimeToLive: String) {
     it.property("disableTimeToLive", disableTimeToLive)
   }
 
+  /**
+   * Use this option to force disabling time to live. For example when you do request/reply over
+   * JMS, then Camel will by default use the requestTimeout value as time to live on the message being
+   * sent. The problem is that the sender and receiver systems have to have their clocks synchronized,
+   * so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true
+   * to not set a time to live value on the sent message. Then the message will not expire on the
+   * receiver system. See below in section About time to live for more details.
+   */
   public fun disableTimeToLive(disableTimeToLive: Boolean) {
     it.property("disableTimeToLive", disableTimeToLive.toString())
   }
 
+  /**
+   * When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS
+   * destination if you touch the headers (get or set) during the route. Set this option to true to
+   * force Camel to send the original JMS message that was received.
+   */
   public fun forceSendOriginalMessage(forceSendOriginalMessage: String) {
     it.property("forceSendOriginalMessage", forceSendOriginalMessage)
   }
 
+  /**
+   * When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS
+   * destination if you touch the headers (get or set) during the route. Set this option to true to
+   * force Camel to send the original JMS message that was received.
+   */
   public fun forceSendOriginalMessage(forceSendOriginalMessage: Boolean) {
     it.property("forceSendOriginalMessage", forceSendOriginalMessage.toString())
   }
 
+  /**
+   * Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling
+   * this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS
+   * client when the message was sent to the JMS destination.
+   */
   public fun includeSentJMSMessageID(includeSentJMSMessageID: String) {
     it.property("includeSentJMSMessageID", includeSentJMSMessageID)
   }
 
+  /**
+   * Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling
+   * this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS
+   * client when the message was sent to the JMS destination.
+   */
   public fun includeSentJMSMessageID(includeSentJMSMessageID: Boolean) {
     it.property("includeSentJMSMessageID", includeSentJMSMessageID.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * Sets the cache level by name for the reply consumer when doing request/reply over JMS. This
+   * option only applies when using fixed reply queues (not temporary). Camel will by default use:
+   * CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared
+   * without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the
+   * replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not
+   * allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.
+   */
   public fun replyToCacheLevelName(replyToCacheLevelName: String) {
     it.property("replyToCacheLevelName", replyToCacheLevelName)
   }
 
+  /**
+   * Sets the JMS Selector using the fixed name to be used so you can filter out your own replies
+   * from the others when using a shared queue (that is, if you are not using a temporary reply queue).
+   */
   public fun replyToDestinationSelectorName(replyToDestinationSelectorName: String) {
     it.property("replyToDestinationSelectorName", replyToDestinationSelectorName)
   }
 
+  /**
+   * Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as
+   * files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls
+   * which kind will be used. By default BytesMessage is used which enforces the entire message payload
+   * to be read into memory. By enabling this option the message payload is read into memory in chunks
+   * and each chunk is then written to the StreamMessage until no more data.
+   */
   public fun streamMessageTypeEnabled(streamMessageTypeEnabled: String) {
     it.property("streamMessageTypeEnabled", streamMessageTypeEnabled)
   }
 
+  /**
+   * Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as
+   * files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls
+   * which kind will be used. By default BytesMessage is used which enforces the entire message payload
+   * to be read into memory. By enabling this option the message payload is read into memory in chunks
+   * and each chunk is then written to the StreamMessage until no more data.
+   */
   public fun streamMessageTypeEnabled(streamMessageTypeEnabled: Boolean) {
     it.property("streamMessageTypeEnabled", streamMessageTypeEnabled.toString())
   }
 
+  /**
+   * Controls whether or not to include serialized headers. Applies only when transferExchange is
+   * true. This requires that the objects are serializable. Camel will exclude any non-serializable
+   * objects and log it at WARN level.
+   */
   public fun allowSerializedHeaders(allowSerializedHeaders: String) {
     it.property("allowSerializedHeaders", allowSerializedHeaders)
   }
 
+  /**
+   * Controls whether or not to include serialized headers. Applies only when transferExchange is
+   * true. This requires that the objects are serializable. Camel will exclude any non-serializable
+   * objects and log it at WARN level.
+   */
   public fun allowSerializedHeaders(allowSerializedHeaders: Boolean) {
     it.property("allowSerializedHeaders", allowSerializedHeaders.toString())
   }
 
+  /**
+   * Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when
+   * using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is
+   * being used.
+   */
   public fun artemisStreamingEnabled(artemisStreamingEnabled: String) {
     it.property("artemisStreamingEnabled", artemisStreamingEnabled)
   }
 
+  /**
+   * Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when
+   * using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is
+   * being used.
+   */
   public fun artemisStreamingEnabled(artemisStreamingEnabled: Boolean) {
     it.property("artemisStreamingEnabled", artemisStreamingEnabled.toString())
   }
 
+  /**
+   * Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For
+   * example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while
+   * retrying and/or fail-over. This will cause Camel to block while starting routes. By setting this
+   * option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker
+   * using a dedicated thread in asynchronous mode. If this option is used, then beware that if the
+   * connection could not be established, then an exception is logged at WARN level, and the consumer
+   * will not be able to receive messages; You can then restart the route to retry.
+   */
   public fun asyncStartListener(asyncStartListener: String) {
     it.property("asyncStartListener", asyncStartListener)
   }
 
+  /**
+   * Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For
+   * example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while
+   * retrying and/or fail-over. This will cause Camel to block while starting routes. By setting this
+   * option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker
+   * using a dedicated thread in asynchronous mode. If this option is used, then beware that if the
+   * connection could not be established, then an exception is logged at WARN level, and the consumer
+   * will not be able to receive messages; You can then restart the route to retry.
+   */
   public fun asyncStartListener(asyncStartListener: Boolean) {
     it.property("asyncStartListener", asyncStartListener.toString())
   }
 
+  /**
+   * Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.
+   */
   public fun asyncStopListener(asyncStopListener: String) {
     it.property("asyncStopListener", asyncStopListener)
   }
 
+  /**
+   * Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.
+   */
   public fun asyncStopListener(asyncStopListener: Boolean) {
     it.property("asyncStopListener", asyncStopListener.toString())
   }
 
+  /**
+   * A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to
+   * use your own resolver (for example, to lookup the real destination in a JNDI registry).
+   */
   public fun destinationResolver(destinationResolver: String) {
     it.property("destinationResolver", destinationResolver)
   }
 
+  /**
+   * Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught
+   * exceptions thrown while processing a Message. By default these exceptions will be logged at the
+   * WARN level, if no errorHandler has been configured. You can configure logging level and whether
+   * stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace
+   * options. This makes it much easier to configure, than having to code a custom errorHandler.
+   */
   public fun errorHandler(errorHandler: String) {
     it.property("errorHandler", errorHandler)
   }
 
+  /**
+   * Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.
+   */
   public fun exceptionListener(exceptionListener: String) {
     it.property("exceptionListener", exceptionListener)
   }
 
+  /**
+   * To use a custom HeaderFilterStrategy to filter header to and from Camel message.
+   */
   public fun headerFilterStrategy(headerFilterStrategy: String) {
     it.property("headerFilterStrategy", headerFilterStrategy)
   }
 
+  /**
+   * Specify the limit for the number of consumers that are allowed to be idle at any given time.
+   */
   public fun idleConsumerLimit(idleConsumerLimit: String) {
     it.property("idleConsumerLimit", idleConsumerLimit)
   }
 
+  /**
+   * Specify the limit for the number of consumers that are allowed to be idle at any given time.
+   */
   public fun idleConsumerLimit(idleConsumerLimit: Int) {
     it.property("idleConsumerLimit", idleConsumerLimit.toString())
   }
 
+  /**
+   * Specifies the limit for idle executions of a receive task, not having received any message
+   * within its execution. If this limit is reached, the task will shut down and leave receiving to
+   * other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting).
+   * There is additional doc available from Spring.
+   */
   public fun idleTaskExecutionLimit(idleTaskExecutionLimit: String) {
     it.property("idleTaskExecutionLimit", idleTaskExecutionLimit)
   }
 
+  /**
+   * Specifies the limit for idle executions of a receive task, not having received any message
+   * within its execution. If this limit is reached, the task will shut down and leave receiving to
+   * other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting).
+   * There is additional doc available from Spring.
+   */
   public fun idleTaskExecutionLimit(idleTaskExecutionLimit: Int) {
     it.property("idleTaskExecutionLimit", idleTaskExecutionLimit.toString())
   }
 
+  /**
+   * Whether to include all JMSX prefixed properties when mapping from JMS to Camel Message. Setting
+   * this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using
+   * a custom headerFilterStrategy then this option does not apply.
+   */
   public fun includeAllJMSXProperties(includeAllJMSXProperties: String) {
     it.property("includeAllJMSXProperties", includeAllJMSXProperties)
   }
 
+  /**
+   * Whether to include all JMSX prefixed properties when mapping from JMS to Camel Message. Setting
+   * this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using
+   * a custom headerFilterStrategy then this option does not apply.
+   */
   public fun includeAllJMSXProperties(includeAllJMSXProperties: Boolean) {
     it.property("includeAllJMSXProperties", includeAllJMSXProperties.toString())
   }
 
+  /**
+   * Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS
+   * specification. Camel provides two implementations out of the box: default and passthrough. The
+   * default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves
+   * the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain
+   * illegal characters. You can provide your own implementation of the
+   * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.
+   */
   public fun jmsKeyFormatStrategy(jmsKeyFormatStrategy: String) {
     it.property("jmsKeyFormatStrategy", jmsKeyFormatStrategy)
   }
 
+  /**
+   * Specifies whether Camel should auto map the received JMS message to a suited payload type, such
+   * as jakarta.jms.TextMessage to a String etc.
+   */
   public fun mapJmsMessage(mapJmsMessage: String) {
     it.property("mapJmsMessage", mapJmsMessage)
   }
 
+  /**
+   * Specifies whether Camel should auto map the received JMS message to a suited payload type, such
+   * as jakarta.jms.TextMessage to a String etc.
+   */
   public fun mapJmsMessage(mapJmsMessage: Boolean) {
     it.property("mapJmsMessage", mapJmsMessage.toString())
   }
 
+  /**
+   * The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers
+   * (eg min max), then this option can be used to set a value to eg 100 to control how fast the
+   * consumers will shrink when less work is required.
+   */
   public fun maxMessagesPerTask(maxMessagesPerTask: String) {
     it.property("maxMessagesPerTask", maxMessagesPerTask)
   }
 
+  /**
+   * The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers
+   * (eg min max), then this option can be used to set a value to eg 100 to control how fast the
+   * consumers will shrink when less work is required.
+   */
   public fun maxMessagesPerTask(maxMessagesPerTask: Int) {
     it.property("maxMessagesPerTask", maxMessagesPerTask.toString())
   }
 
+  /**
+   * To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be
+   * in control how to map to/from a jakarta.jms.Message.
+   */
   public fun messageConverter(messageConverter: String) {
     it.property("messageConverter", messageConverter)
   }
 
+  /**
+   * To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of
+   * jakarta.jms.Message objects when Camel is sending a JMS message.
+   */
   public fun messageCreatedStrategy(messageCreatedStrategy: String) {
     it.property("messageCreatedStrategy", messageCreatedStrategy)
   }
 
+  /**
+   * When sending, specifies whether message IDs should be added. This is just an hint to the JMS
+   * broker. If the JMS provider accepts this hint, these messages must have the message ID set to
+   * null; if the provider ignores the hint, the message ID must be set to its normal unique value.
+   */
   public fun messageIdEnabled(messageIdEnabled: String) {
     it.property("messageIdEnabled", messageIdEnabled)
   }
 
+  /**
+   * When sending, specifies whether message IDs should be added. This is just an hint to the JMS
+   * broker. If the JMS provider accepts this hint, these messages must have the message ID set to
+   * null; if the provider ignores the hint, the message ID must be set to its normal unique value.
+   */
   public fun messageIdEnabled(messageIdEnabled: Boolean) {
     it.property("messageIdEnabled", messageIdEnabled.toString())
   }
 
+  /**
+   * Registry ID of the MessageListenerContainerFactory used to determine what
+   * org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages.
+   * Setting this will automatically set consumerType to Custom.
+   */
   public fun messageListenerContainerFactory(messageListenerContainerFactory: String) {
     it.property("messageListenerContainerFactory", messageListenerContainerFactory)
   }
 
+  /**
+   * Specifies whether timestamps should be enabled by default on sending messages. This is just an
+   * hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the
+   * timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal
+   * value.
+   */
   public fun messageTimestampEnabled(messageTimestampEnabled: String) {
     it.property("messageTimestampEnabled", messageTimestampEnabled)
   }
 
+  /**
+   * Specifies whether timestamps should be enabled by default on sending messages. This is just an
+   * hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the
+   * timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal
+   * value.
+   */
   public fun messageTimestampEnabled(messageTimestampEnabled: Boolean) {
     it.property("messageTimestampEnabled", messageTimestampEnabled.toString())
   }
 
+  /**
+   * Specifies whether to inhibit the delivery of messages published by its own connection.
+   */
   public fun pubSubNoLocal(pubSubNoLocal: String) {
     it.property("pubSubNoLocal", pubSubNoLocal)
   }
 
+  /**
+   * Specifies whether to inhibit the delivery of messages published by its own connection.
+   */
   public fun pubSubNoLocal(pubSubNoLocal: Boolean) {
     it.property("pubSubNoLocal", pubSubNoLocal.toString())
   }
 
+  /**
+   * The timeout for receiving messages (in milliseconds).
+   */
   public fun receiveTimeout(receiveTimeout: String) {
     it.property("receiveTimeout", receiveTimeout)
   }
 
+  /**
+   * Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in
+   * milliseconds. The default is 5000 ms, that is, 5 seconds.
+   */
   public fun recoveryInterval(recoveryInterval: String) {
     it.property("recoveryInterval", recoveryInterval)
   }
 
+  /**
+   * Configures how often Camel should check for timed out Exchanges when doing request/reply over
+   * JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs,
+   * then you can lower this interval, to check more frequently. The timeout is determined by the
+   * option requestTimeout.
+   */
   public fun requestTimeoutCheckerInterval(requestTimeoutCheckerInterval: String) {
     it.property("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval)
   }
 
+  /**
+   * Sets whether synchronous processing should be strictly used
+   */
   public fun synchronous(synchronous: String) {
     it.property("synchronous", synchronous)
   }
 
+  /**
+   * Sets whether synchronous processing should be strictly used
+   */
   public fun synchronous(synchronous: Boolean) {
     it.property("synchronous", synchronous.toString())
   }
 
+  /**
+   * A pluggable TemporaryQueueResolver that allows you to use your own resolver for creating
+   * temporary queues (some messaging systems has special requirements for creating temporary queues).
+   */
   public fun temporaryQueueResolver(temporaryQueueResolver: String) {
     it.property("temporaryQueueResolver", temporaryQueueResolver)
   }
 
+  /**
+   * If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the
+   * consumer side, then the caused Exception will be send back in response as a
+   * jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows
+   * you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable
+   * robust routing. Notice that if you also have transferExchange enabled, this option takes
+   * precedence. The caught exception is required to be serializable. The original Exception on the
+   * consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException
+   * when returned to the producer. Use this with caution as the data is using Java Object
+   * serialization and requires the received to be able to deserialize the data at Class level, which
+   * forces a strong coupling between the producers and consumer!
+   */
   public fun transferException(transferException: String) {
     it.property("transferException", transferException)
   }
 
+  /**
+   * If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the
+   * consumer side, then the caused Exception will be send back in response as a
+   * jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows
+   * you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable
+   * robust routing. Notice that if you also have transferExchange enabled, this option takes
+   * precedence. The caught exception is required to be serializable. The original Exception on the
+   * consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException
+   * when returned to the producer. Use this with caution as the data is using Java Object
+   * serialization and requires the received to be able to deserialize the data at Class level, which
+   * forces a strong coupling between the producers and consumer!
+   */
   public fun transferException(transferException: Boolean) {
     it.property("transferException", transferException.toString())
   }
 
+  /**
+   * You can transfer the exchange over the wire instead of just the body and headers. The following
+   * fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers,
+   * exchange properties, exchange exception. This requires that the objects are serializable. Camel
+   * will exclude any non-serializable objects and log it at WARN level. You must enable this option on
+   * both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular
+   * payload. Use this with caution as the data is using Java Object serialization and requires the
+   * receiver to be able to deserialize the data at Class level, which forces a strong coupling between
+   * the producers and consumers having to use compatible Camel versions!
+   */
   public fun transferExchange(transferExchange: String) {
     it.property("transferExchange", transferExchange)
   }
 
+  /**
+   * You can transfer the exchange over the wire instead of just the body and headers. The following
+   * fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers,
+   * exchange properties, exchange exception. This requires that the objects are serializable. Camel
+   * will exclude any non-serializable objects and log it at WARN level. You must enable this option on
+   * both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular
+   * payload. Use this with caution as the data is using Java Object serialization and requires the
+   * receiver to be able to deserialize the data at Class level, which forces a strong coupling between
+   * the producers and consumers having to use compatible Camel versions!
+   */
   public fun transferExchange(transferExchange: Boolean) {
     it.property("transferExchange", transferExchange.toString())
   }
 
+  /**
+   * Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.
+   */
   public fun useMessageIDAsCorrelationID(useMessageIDAsCorrelationID: String) {
     it.property("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID)
   }
 
+  /**
+   * Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.
+   */
   public fun useMessageIDAsCorrelationID(useMessageIDAsCorrelationID: Boolean) {
     it.property("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID.toString())
   }
 
+  /**
+   * Number of times to wait for provisional correlation id to be updated to the actual correlation
+   * id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.
+   */
   public
       fun waitForProvisionCorrelationToBeUpdatedCounter(waitForProvisionCorrelationToBeUpdatedCounter: String) {
     it.property("waitForProvisionCorrelationToBeUpdatedCounter",
         waitForProvisionCorrelationToBeUpdatedCounter)
   }
 
+  /**
+   * Number of times to wait for provisional correlation id to be updated to the actual correlation
+   * id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.
+   */
   public
       fun waitForProvisionCorrelationToBeUpdatedCounter(waitForProvisionCorrelationToBeUpdatedCounter: Int) {
     it.property("waitForProvisionCorrelationToBeUpdatedCounter",
         waitForProvisionCorrelationToBeUpdatedCounter.toString())
   }
 
+  /**
+   * Interval in millis to sleep each time while waiting for provisional correlation id to be
+   * updated.
+   */
   public
       fun waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(waitForProvisionCorrelationToBeUpdatedThreadSleepingTime: String) {
     it.property("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime",
         waitForProvisionCorrelationToBeUpdatedThreadSleepingTime)
   }
 
+  /**
+   * Allows to configure the default errorHandler logging level for logging uncaught exceptions.
+   */
   public fun errorHandlerLoggingLevel(errorHandlerLoggingLevel: String) {
     it.property("errorHandlerLoggingLevel", errorHandlerLoggingLevel)
   }
 
+  /**
+   * Allows to control whether stack-traces should be logged or not, by the default errorHandler.
+   */
   public fun errorHandlerLogStackTrace(errorHandlerLogStackTrace: String) {
     it.property("errorHandlerLogStackTrace", errorHandlerLogStackTrace)
   }
 
+  /**
+   * Allows to control whether stack-traces should be logged or not, by the default errorHandler.
+   */
   public fun errorHandlerLogStackTrace(errorHandlerLogStackTrace: Boolean) {
     it.property("errorHandlerLogStackTrace", errorHandlerLogStackTrace.toString())
   }
 
+  /**
+   * Password to use with the ConnectionFactory. You can also configure username/password directly
+   * on the ConnectionFactory.
+   */
   public fun password(password: String) {
     it.property("password", password)
   }
 
+  /**
+   * Username to use with the ConnectionFactory. You can also configure username/password directly
+   * on the ConnectionFactory.
+   */
   public fun username(username: String) {
     it.property("username", username)
   }
 
+  /**
+   * Specifies whether to use transacted mode
+   */
   public fun transacted(transacted: String) {
     it.property("transacted", transacted)
   }
 
+  /**
+   * Specifies whether to use transacted mode
+   */
   public fun transacted(transacted: Boolean) {
     it.property("transacted", transacted.toString())
   }
 
+  /**
+   * Specifies whether InOut operations (request reply) default to using transacted mode If this
+   * flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the
+   * acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS:
+   * that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not
+   * taken into account. Depending on the Java EE transaction context, the container makes its own
+   * decisions on these values. Analogously, these parameters are not taken into account within a
+   * locally managed transaction either, since Spring JMS operates on an existing JMS Session in this
+   * case. Setting this flag to true will use a short local JMS transaction when running outside of a
+   * managed transaction, and a synchronized local JMS transaction in case of a managed transaction
+   * (other than an XA transaction) being present. This has the effect of a local JMS transaction being
+   * managed alongside the main transaction (which might be a native JDBC transaction), with the JMS
+   * transaction committing right after the main transaction.
+   */
   public fun transactedInOut(transactedInOut: String) {
     it.property("transactedInOut", transactedInOut)
   }
 
+  /**
+   * Specifies whether InOut operations (request reply) default to using transacted mode If this
+   * flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the
+   * acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS:
+   * that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not
+   * taken into account. Depending on the Java EE transaction context, the container makes its own
+   * decisions on these values. Analogously, these parameters are not taken into account within a
+   * locally managed transaction either, since Spring JMS operates on an existing JMS Session in this
+   * case. Setting this flag to true will use a short local JMS transaction when running outside of a
+   * managed transaction, and a synchronized local JMS transaction in case of a managed transaction
+   * (other than an XA transaction) being present. This has the effect of a local JMS transaction being
+   * managed alongside the main transaction (which might be a native JDBC transaction), with the JMS
+   * transaction committing right after the main transaction.
+   */
   public fun transactedInOut(transactedInOut: Boolean) {
     it.property("transactedInOut", transactedInOut.toString())
   }
 
+  /**
+   * If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected
+   * when option transacted=true.
+   */
   public fun lazyCreateTransactionManager(lazyCreateTransactionManager: String) {
     it.property("lazyCreateTransactionManager", lazyCreateTransactionManager)
   }
 
+  /**
+   * If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected
+   * when option transacted=true.
+   */
   public fun lazyCreateTransactionManager(lazyCreateTransactionManager: Boolean) {
     it.property("lazyCreateTransactionManager", lazyCreateTransactionManager.toString())
   }
 
+  /**
+   * The Spring transaction manager to use.
+   */
   public fun transactionManager(transactionManager: String) {
     it.property("transactionManager", transactionManager)
   }
 
+  /**
+   * The name of the transaction to use.
+   */
   public fun transactionName(transactionName: String) {
     it.property("transactionName", transactionName)
   }
 
+  /**
+   * The timeout value of the transaction (in seconds), if using transacted mode.
+   */
   public fun transactionTimeout(transactionTimeout: String) {
     it.property("transactionTimeout", transactionTimeout)
   }
 
+  /**
+   * The timeout value of the transaction (in seconds), if using transacted mode.
+   */
   public fun transactionTimeout(transactionTimeout: Int) {
     it.property("transactionTimeout", transactionTimeout.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ArangodbUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ArangodbUriDsl.kt
index 964ffba0dbb..39c46dae22e 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ArangodbUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/ArangodbUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
+ */
 public fun UriDsl.arangodb(i: ArangodbUriDsl.() -> Unit) {
   ArangodbUriDsl(this).apply(i)
 }
@@ -40,59 +43,119 @@ public class ArangodbUriDsl(
 
   private var database: String = ""
 
+  /**
+   * database name
+   */
   public fun database(database: String) {
     this.database = database
     it.url("$database")
   }
 
+  /**
+   * Collection name, when using ArangoDb as a Document Database. Set the documentCollection name
+   * when using the CRUD operation on the document database collections (SAVE_DOCUMENT ,
+   * FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT).
+   */
   public fun documentCollection(documentCollection: String) {
     it.property("documentCollection", documentCollection)
   }
 
+  /**
+   * Collection name of vertices, when using ArangoDb as a Graph Database. Set the edgeCollection
+   * name to perform CRUD operation on edges using these operations : SAVE_VERTEX, FIND_VERTEX_BY_KEY,
+   * UPDATE_VERTEX, DELETE_VERTEX. The graph attribute is mandatory.
+   */
   public fun edgeCollection(edgeCollection: String) {
     it.property("edgeCollection", edgeCollection)
   }
 
+  /**
+   * Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two
+   * attributes vertexCollection and edgeCollection.
+   */
   public fun graph(graph: String) {
     it.property("graph", graph)
   }
 
+  /**
+   * ArangoDB host. If host and port are default, this field is Optional.
+   */
   public fun host(host: String) {
     it.property("host", host)
   }
 
+  /**
+   * Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection
+   * or graph.
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * ArangoDB exposed port. If host and port are default, this field is Optional.
+   */
   public fun port(port: String) {
     it.property("port", port)
   }
 
+  /**
+   * ArangoDB exposed port. If host and port are default, this field is Optional.
+   */
   public fun port(port: Int) {
     it.property("port", port.toString())
   }
 
+  /**
+   * Collection name of vertices, when using ArangoDb as a Graph Database. Set the vertexCollection
+   * name to perform CRUD operation on vertices using these operations : SAVE_EDGE, FIND_EDGE_BY_KEY,
+   * UPDATE_EDGE, DELETE_EDGE. The graph attribute is mandatory.
+   */
   public fun vertexCollection(vertexCollection: String) {
     it.property("vertexCollection", vertexCollection)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing ArangDB client.
+   */
   public fun arangoDB(arangoDB: String) {
     it.property("arangoDB", arangoDB)
   }
 
+  /**
+   * ArangoDB password. If user and password are default, this field is Optional.
+   */
   public fun password(password: String) {
     it.property("password", password)
   }
 
+  /**
+   * ArangoDB user. If user and password are default, this field is Optional.
+   */
   public fun user(user: String) {
     it.property("user", user)
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/As2UriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/As2UriDsl.kt
index fe6ccc31ce9..4c5c071937c 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/As2UriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/As2UriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Transfer data securely and reliably using the AS2 protocol (RFC4130).
+ */
 public fun UriDsl.as2(i: As2UriDsl.() -> Unit) {
   As2UriDsl(this).apply(i)
 }
@@ -42,180 +45,331 @@ public class As2UriDsl(
 
   private var methodName: String = ""
 
+  /**
+   * What kind of operation to perform
+   */
   public fun apiName(apiName: String) {
     this.apiName = apiName
     it.url("$apiName/$methodName")
   }
 
+  /**
+   * What sub operation to use for the selected operation
+   */
   public fun methodName(methodName: String) {
     this.methodName = methodName
     it.url("$apiName/$methodName")
   }
 
+  /**
+   * The value of the AS2From header of AS2 message.
+   */
   public fun as2From(as2From: String) {
     it.property("as2From", as2From)
   }
 
+  /**
+   * The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No
+   * encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption,
+   * signature
+   */
   public fun as2MessageStructure(as2MessageStructure: String) {
     it.property("as2MessageStructure", as2MessageStructure)
   }
 
+  /**
+   * The value of the AS2To header of AS2 message.
+   */
   public fun as2To(as2To: String) {
     it.property("as2To", as2To)
   }
 
+  /**
+   * The version of the AS2 protocol.
+   */
   public fun as2Version(as2Version: String) {
     it.property("as2Version", as2Version)
   }
 
+  /**
+   * The name of the attached file
+   */
   public fun attachedFileName(attachedFileName: String) {
     it.property("attachedFileName", attachedFileName)
   }
 
+  /**
+   * The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint.
+   */
   public fun clientFqdn(clientFqdn: String) {
     it.property("clientFqdn", clientFqdn)
   }
 
+  /**
+   * The algorithm used to compress EDI message.
+   */
   public fun compressionAlgorithm(compressionAlgorithm: String) {
     it.property("compressionAlgorithm", compressionAlgorithm)
   }
 
+  /**
+   * The value of the Disposition-Notification-To header. Assigning a value to this parameter
+   * requests a message disposition notification (MDN) for the AS2 message.
+   */
   public fun dispositionNotificationTo(dispositionNotificationTo: String) {
     it.property("dispositionNotificationTo", dispositionNotificationTo)
   }
 
+  /**
+   * The transfer encoding of EDI message.
+   */
   public fun ediMessageTransferEncoding(ediMessageTransferEncoding: String) {
     it.property("ediMessageTransferEncoding", ediMessageTransferEncoding)
   }
 
+  /**
+   * The content type of EDI message. One of application/edifact, application/edi-x12,
+   * application/edi-consent, application/xml
+   */
   public fun ediMessageType(ediMessageType: String) {
     it.property("ediMessageType", ediMessageType)
   }
 
+  /**
+   * The value of the From header of AS2 message.
+   */
   public fun from(from: String) {
     it.property("from", from)
   }
 
+  /**
+   * Set hostname verifier for SSL session.
+   */
   public fun hostnameVerifier(hostnameVerifier: String) {
     it.property("hostnameVerifier", hostnameVerifier)
   }
 
+  /**
+   * The maximum size of the connection pool for http connections (client only)
+   */
   public fun httpConnectionPoolSize(httpConnectionPoolSize: String) {
     it.property("httpConnectionPoolSize", httpConnectionPoolSize)
   }
 
+  /**
+   * The maximum size of the connection pool for http connections (client only)
+   */
   public fun httpConnectionPoolSize(httpConnectionPoolSize: Int) {
     it.property("httpConnectionPoolSize", httpConnectionPoolSize.toString())
   }
 
+  /**
+   * The time to live for connections in the connection pool (client only)
+   */
   public fun httpConnectionPoolTtl(httpConnectionPoolTtl: String) {
     it.property("httpConnectionPoolTtl", httpConnectionPoolTtl)
   }
 
+  /**
+   * The timeout of the http connection (client only)
+   */
   public fun httpConnectionTimeout(httpConnectionTimeout: String) {
     it.property("httpConnectionTimeout", httpConnectionTimeout)
   }
 
+  /**
+   * The timeout of the underlying http socket (client only)
+   */
   public fun httpSocketTimeout(httpSocketTimeout: String) {
     it.property("httpSocketTimeout", httpSocketTimeout)
   }
 
+  /**
+   * Sets the name of a parameter to be passed in the exchange In Body
+   */
   public fun inBody(inBody: String) {
     it.property("inBody", inBody)
   }
 
+  /**
+   * The template used to format MDN message
+   */
   public fun mdnMessageTemplate(mdnMessageTemplate: String) {
     it.property("mdnMessageTemplate", mdnMessageTemplate)
   }
 
+  /**
+   * The request URI of EDI message.
+   */
   public fun requestUri(requestUri: String) {
     it.property("requestUri", requestUri)
   }
 
+  /**
+   * The value included in the Server message header identifying the AS2 Server.
+   */
   public fun server(server: String) {
     it.property("server", server)
   }
 
+  /**
+   * The Server Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint.
+   */
   public fun serverFqdn(serverFqdn: String) {
     it.property("serverFqdn", serverFqdn)
   }
 
+  /**
+   * The port number of server.
+   */
   public fun serverPortNumber(serverPortNumber: String) {
     it.property("serverPortNumber", serverPortNumber)
   }
 
+  /**
+   * The port number of server.
+   */
   public fun serverPortNumber(serverPortNumber: Int) {
     it.property("serverPortNumber", serverPortNumber.toString())
   }
 
+  /**
+   * Set SSL context for connection to remote server.
+   */
   public fun sslContext(sslContext: String) {
     it.property("sslContext", sslContext)
   }
 
+  /**
+   * The value of Subject header of AS2 message.
+   */
   public fun subject(subject: String) {
     it.property("subject", subject)
   }
 
+  /**
+   * The host name (IP or DNS name) of target host.
+   */
   public fun targetHostname(targetHostname: String) {
     it.property("targetHostname", targetHostname)
   }
 
+  /**
+   * The port number of target host. -1 indicates the scheme default port.
+   */
   public fun targetPortNumber(targetPortNumber: String) {
     it.property("targetPortNumber", targetPortNumber)
   }
 
+  /**
+   * The port number of target host. -1 indicates the scheme default port.
+   */
   public fun targetPortNumber(targetPortNumber: Int) {
     it.property("targetPortNumber", targetPortNumber.toString())
   }
 
+  /**
+   * The value included in the User-Agent message header identifying the AS2 user agent.
+   */
   public fun userAgent(userAgent: String) {
     it.property("userAgent", userAgent)
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * The key used to encrypt the EDI message.
+   */
   public fun decryptingPrivateKey(decryptingPrivateKey: String) {
     it.property("decryptingPrivateKey", decryptingPrivateKey)
   }
 
+  /**
+   * The algorithm used to encrypt EDI message.
+   */
   public fun encryptingAlgorithm(encryptingAlgorithm: String) {
     it.property("encryptingAlgorithm", encryptingAlgorithm)
   }
 
+  /**
+   * The chain of certificates used to encrypt EDI message.
+   */
   public fun encryptingCertificateChain(encryptingCertificateChain: String) {
     it.property("encryptingCertificateChain", encryptingCertificateChain)
   }
 
+  /**
+   * The list of algorithms, in order of preference, requested to generate a message integrity check
+   * (MIC) returned in message dispostion notification (MDN)
+   */
   public fun signedReceiptMicAlgorithms(signedReceiptMicAlgorithms: String) {
     it.property("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms)
   }
 
+  /**
+   * The algorithm used to sign EDI message.
+   */
   public fun signingAlgorithm(signingAlgorithm: String) {
     it.property("signingAlgorithm", signingAlgorithm)
   }
 
+  /**
+   * The chain of certificates used to sign EDI message.
+   */
   public fun signingCertificateChain(signingCertificateChain: String) {
     it.property("signingCertificateChain", signingCertificateChain)
   }
 
+  /**
+   * The key used to sign the EDI message.
+   */
   public fun signingPrivateKey(signingPrivateKey: String) {
     it.property("signingPrivateKey", signingPrivateKey)
   }
 
+  /**
+   * Certificates to validate the message's signature against. If not supplied, validation will not
+   * take place. Server: validates the received message. Client: not yet implemented, should validate
+   * the MDN
+   */
   public fun validateSigningCertificateChain(validateSigningCertificateChain: String) {
     it.property("validateSigningCertificateChain", validateSigningCertificateChain)
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AsteriskUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AsteriskUriDsl.kt
index db2831fbca2..290a9f0e64e 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AsteriskUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AsteriskUriDsl.kt
@@ -22,6 +22,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Interact with Asterisk PBX Server (VoIP).
+ */
 public fun UriDsl.asterisk(i: AsteriskUriDsl.() -> Unit) {
   AsteriskUriDsl(this).apply(i)
 }
@@ -39,47 +42,108 @@ public class AsteriskUriDsl(
 
   private var name: String = ""
 
+  /**
+   * Name of component
+   */
   public fun name(name: String) {
     this.name = name
     it.url("$name")
   }
 
+  /**
+   * The hostname of the asterisk server
+   */
   public fun hostname(hostname: String) {
     it.property("hostname", hostname)
   }
 
+  /**
+   * Login password
+   */
   public fun password(password: String) {
     it.property("password", password)
   }
 
+  /**
+   * Login username
+   */
   public fun username(username: String) {
     it.property("username", username)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: String) {
     it.property("bridgeErrorHandler", bridgeErrorHandler)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
     it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * What action to perform such as getting queue status, sip peers or extension state.
+   */
   public fun action(action: String) {
     it.property("action", action)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtmosphereWebsocketUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtmosphereWebsocketUriDsl.kt
index 22695c8f584..fd746e3513e 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtmosphereWebsocketUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtmosphereWebsocketUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Expose WebSocket endpoints using the Atmosphere framework.
+ */
 public fun UriDsl.`atmosphere-websocket`(i: AtmosphereWebsocketUriDsl.() -> Unit) {
   AtmosphereWebsocketUriDsl(this).apply(i)
 }
@@ -40,207 +43,450 @@ public class AtmosphereWebsocketUriDsl(
 
   private var servicePath: String = ""
 
+  /**
+   * Name of websocket endpoint
+   */
   public fun servicePath(servicePath: String) {
     this.servicePath = servicePath
     it.url("$servicePath")
   }
 
+  /**
+   * If this option is false the Servlet will disable the HTTP streaming and set the content-length
+   * header on the response
+   */
   public fun chunked(chunked: String) {
     it.property("chunked", chunked)
   }
 
+  /**
+   * If this option is false the Servlet will disable the HTTP streaming and set the content-length
+   * header on the response
+   */
   public fun chunked(chunked: Boolean) {
     it.property("chunked", chunked.toString())
   }
 
+  /**
+   * Determines whether or not the raw input stream from Servlet is cached or not (Camel will read
+   * the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache
+   * the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all
+   * data from the stream. However you can set this option to true when you for example need to access
+   * the raw stream, such as streaming it directly to a file or other persistent store.
+   * DefaultHttpBinding will copy the request input stream into a stream cache and put it into message
+   * body if this option is false to support reading the stream multiple times. If you use Servlet to
+   * bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do
+   * not need to read the message payload multiple times. The http producer will by default cache the
+   * response body stream. If setting this option to true, then the producers will not cache the
+   * response body stream but use the response stream as-is as the message body.
+   */
   public fun disableStreamCache(disableStreamCache: String) {
     it.property("disableStreamCache", disableStreamCache)
   }
 
+  /**
+   * Determines whether or not the raw input stream from Servlet is cached or not (Camel will read
+   * the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache
+   * the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all
+   * data from the stream. However you can set this option to true when you for example need to access
+   * the raw stream, such as streaming it directly to a file or other persistent store.
+   * DefaultHttpBinding will copy the request input stream into a stream cache and put it into message
+   * body if this option is false to support reading the stream multiple times. If you use Servlet to
+   * bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do
+   * not need to read the message payload multiple times. The http producer will by default cache the
+   * response body stream. If setting this option to true, then the producers will not cache the
+   * response body stream but use the response stream as-is as the message body.
+   */
   public fun disableStreamCache(disableStreamCache: Boolean) {
     it.property("disableStreamCache", disableStreamCache.toString())
   }
 
+  /**
+   * Whether to send to all (broadcast) or send to a single receiver.
+   */
   public fun sendToAll(sendToAll: String) {
     it.property("sendToAll", sendToAll)
   }
 
+  /**
+   * Whether to send to all (broadcast) or send to a single receiver.
+   */
   public fun sendToAll(sendToAll: Boolean) {
     it.property("sendToAll", sendToAll.toString())
   }
 
+  /**
+   * If enabled and an Exchange failed processing on the consumer side, and if the caused Exception
+   * was send back serialized in the response as a application/x-java-serialized-object content type.
+   * On the producer side the exception will be deserialized and thrown as is, instead of the
+   * HttpOperationFailedException. The caused exception is required to be serialized. This is by
+   * default turned off. If you enable this then be aware that Java will deserialize the incoming data
+   * from the request to Java and that can be a potential security risk.
+   */
   public fun transferException(transferException: String) {
     it.property("transferException", transferException)
   }
 
+  /**
+   * If enabled and an Exchange failed processing on the consumer side, and if the caused Exception
+   * was send back serialized in the response as a application/x-java-serialized-object content type.
+   * On the producer side the exception will be deserialized and thrown as is, instead of the
+   * HttpOperationFailedException. The caused exception is required to be serialized. This is by
+   * default turned off. If you enable this then be aware that Java will deserialize the incoming data
+   * from the request to Java and that can be a potential security risk.
+   */
   public fun transferException(transferException: Boolean) {
     it.property("transferException", transferException.toString())
   }
 
+  /**
+   * To enable streaming to send data as multiple text fragments.
+   */
   public fun useStreaming(useStreaming: String) {
     it.property("useStreaming", useStreaming)
   }
 
+  /**
+   * To enable streaming to send data as multiple text fragments.
+   */
   public fun useStreaming(useStreaming: Boolean) {
     it.property("useStreaming", useStreaming.toString())
   }
 
+  /**
+   * To use a custom HeaderFilterStrategy to filter header to and from Camel message.
+   */
   public fun headerFilterStrategy(headerFilterStrategy: String) {
     it.property("headerFilterStrategy", headerFilterStrategy)
   }
 
+  /**
+   * To use a custom HttpBinding to control the mapping between Camel message and HttpClient.
+   */
   public fun httpBinding(httpBinding: String) {
     it.property("httpBinding", httpBinding)
   }
 
+  /**
+   * Configure the consumer to work in async mode
+   */
   public fun async(async: String) {
     it.property("async", async)
   }
 
+  /**
+   * Configure the consumer to work in async mode
+   */
   public fun async(async: Boolean) {
     it.property("async", async.toString())
   }
 
+  /**
+   * Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple
+   * methods can be specified separated by comma.
+   */
   public fun httpMethodRestrict(httpMethodRestrict: String) {
     it.property("httpMethodRestrict", httpMethodRestrict)
   }
 
+  /**
+   * If enabled and an Exchange failed processing on the consumer side the exception's stack trace
+   * will be logged when the exception stack trace is not sent in the response's body.
+   */
   public fun logException(logException: String) {
     it.property("logException", logException)
   }
 
+  /**
+   * If enabled and an Exchange failed processing on the consumer side the exception's stack trace
+   * will be logged when the exception stack trace is not sent in the response's body.
+   */
   public fun logException(logException: Boolean) {
     it.property("logException", logException.toString())
   }
 
+  /**
+   * Whether or not the consumer should try to find a target consumer by matching the URI prefix if
+   * no exact match is found.
+   */
   public fun matchOnUriPrefix(matchOnUriPrefix: String) {
     it.property("matchOnUriPrefix", matchOnUriPrefix)
   }
 
+  /**
+   * Whether or not the consumer should try to find a target consumer by matching the URI prefix if
+   * no exact match is found.
+   */
   public fun matchOnUriPrefix(matchOnUriPrefix: Boolean) {
     it.property("matchOnUriPrefix", matchOnUriPrefix.toString())
   }
 
+  /**
+   * If enabled and an Exchange failed processing on the consumer side the response's body won't
+   * contain the exception's stack trace.
+   */
   public fun muteException(muteException: String) {
     it.property("muteException", muteException)
   }
 
+  /**
+   * If enabled and an Exchange failed processing on the consumer side the response's body won't
+   * contain the exception's stack trace.
+   */
   public fun muteException(muteException: Boolean) {
     it.property("muteException", muteException.toString())
   }
 
+  /**
+   * To use a custom buffer size on the jakarta.servlet.ServletResponse.
+   */
   public fun responseBufferSize(responseBufferSize: String) {
     it.property("responseBufferSize", responseBufferSize)
   }
 
+  /**
+   * To use a custom buffer size on the jakarta.servlet.ServletResponse.
+   */
   public fun responseBufferSize(responseBufferSize: Int) {
     it.property("responseBufferSize", responseBufferSize.toString())
   }
 
+  /**
+   * Name of the servlet to use
+   */
   public fun servletName(servletName: String) {
     it.property("servletName", servletName)
   }
 
+  /**
+   * Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options
+   * attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove
+   * disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may
+   * require servlet specific configuration to enable this when using Servlet's.
+   */
   public fun attachmentMultipartBinding(attachmentMultipartBinding: String) {
     it.property("attachmentMultipartBinding", attachmentMultipartBinding)
   }
 
+  /**
+   * Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options
+   * attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove
+   * disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may
+   * require servlet specific configuration to enable this when using Servlet's.
+   */
   public fun attachmentMultipartBinding(attachmentMultipartBinding: Boolean) {
     it.property("attachmentMultipartBinding", attachmentMultipartBinding.toString())
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: String) {
     it.property("bridgeErrorHandler", bridgeErrorHandler)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
     it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
   }
 
+  /**
+   * Whether to eager check whether the HTTP requests has content if the content-length header is 0
+   * or not present. This can be turned on in case HTTP clients do not send streamed data.
+   */
   public fun eagerCheckContentAvailable(eagerCheckContentAvailable: String) {
     it.property("eagerCheckContentAvailable", eagerCheckContentAvailable)
   }
 
+  /**
+   * Whether to eager check whether the HTTP requests has content if the content-length header is 0
+   * or not present. This can be turned on in case HTTP clients do not send streamed data.
+   */
   public fun eagerCheckContentAvailable(eagerCheckContentAvailable: Boolean) {
     it.property("eagerCheckContentAvailable", eagerCheckContentAvailable.toString())
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can
+   * be separated by comma, such as txt,xml.
+   */
   public fun fileNameExtWhitelist(fileNameExtWhitelist: String) {
     it.property("fileNameExtWhitelist", fileNameExtWhitelist)
   }
 
+  /**
+   * If this option is true then IN exchange Body of the exchange will be mapped to HTTP body.
+   * Setting this to false will avoid the HTTP mapping.
+   */
   public fun mapHttpMessageBody(mapHttpMessageBody: String) {
     it.property("mapHttpMessageBody", mapHttpMessageBody)
   }
 
+  /**
+   * If this option is true then IN exchange Body of the exchange will be mapped to HTTP body.
+   * Setting this to false will avoid the HTTP mapping.
+   */
   public fun mapHttpMessageBody(mapHttpMessageBody: Boolean) {
     it.property("mapHttpMessageBody", mapHttpMessageBody.toString())
   }
 
+  /**
+   * If this option is true then IN exchange Form Encoded body of the exchange will be mapped to
+   * HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.
+   */
   public fun mapHttpMessageFormUrlEncodedBody(mapHttpMessageFormUrlEncodedBody: String) {
     it.property("mapHttpMessageFormUrlEncodedBody", mapHttpMessageFormUrlEncodedBody)
   }
 
+  /**
+   * If this option is true then IN exchange Form Encoded body of the exchange will be mapped to
+   * HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.
+   */
   public fun mapHttpMessageFormUrlEncodedBody(mapHttpMessageFormUrlEncodedBody: Boolean) {
     it.property("mapHttpMessageFormUrlEncodedBody", mapHttpMessageFormUrlEncodedBody.toString())
   }
 
+  /**
+   * If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers.
+   * Setting this to false will avoid the HTTP Headers mapping.
+   */
   public fun mapHttpMessageHeaders(mapHttpMessageHeaders: String) {
     it.property("mapHttpMessageHeaders", mapHttpMessageHeaders)
   }
 
+  /**
+   * If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers.
+   * Setting this to false will avoid the HTTP Headers mapping.
+   */
   public fun mapHttpMessageHeaders(mapHttpMessageHeaders: Boolean) {
     it.property("mapHttpMessageHeaders", mapHttpMessageHeaders.toString())
   }
 
+  /**
+   * Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is
+   * turned off.
+   */
   public fun optionsEnabled(optionsEnabled: String) {
     it.property("optionsEnabled", optionsEnabled)
   }
 
+  /**
+   * Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is
+   * turned off.
+   */
   public fun optionsEnabled(optionsEnabled: Boolean) {
     it.property("optionsEnabled", optionsEnabled.toString())
   }
 
+  /**
+   * Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned
+   * off.
+   */
   public fun traceEnabled(traceEnabled: String) {
     it.property("traceEnabled", traceEnabled)
   }
 
+  /**
+   * Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned
+   * off.
+   */
   public fun traceEnabled(traceEnabled: Boolean) {
     it.property("traceEnabled", traceEnabled.toString())
   }
 
+  /**
+   * If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the
+   * endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let
+   * the HttpProducer send all the fault response back.
+   */
   public fun bridgeEndpoint(bridgeEndpoint: String) {
     it.property("bridgeEndpoint", bridgeEndpoint)
   }
 
+  /**
+   * If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the
+   * endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let
+   * the HttpProducer send all the fault response back.
+   */
   public fun bridgeEndpoint(bridgeEndpoint: Boolean) {
     it.property("bridgeEndpoint", bridgeEndpoint.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * OAuth2 client id
+   */
   public fun oauth2ClientId(oauth2ClientId: String) {
     it.property("oauth2ClientId", oauth2ClientId)
   }
 
+  /**
+   * OAuth2 client secret
+   */
   public fun oauth2ClientSecret(oauth2ClientSecret: String) {
     it.property("oauth2ClientSecret", oauth2ClientSecret)
   }
 
+  /**
+   * OAuth2 Token endpoint
+   */
   public fun oauth2TokenEndpoint(oauth2TokenEndpoint: String) {
     it.property("oauth2TokenEndpoint", oauth2TokenEndpoint)
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtomUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtomUriDsl.kt
index 69d78b8015c..fc3823958b9 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtomUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AtomUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Poll Atom RSS feeds.
+ */
 public fun UriDsl.atom(i: AtomUriDsl.() -> Unit) {
   AtomUriDsl(this).apply(i)
 }
@@ -40,159 +43,322 @@ public class AtomUriDsl(
 
   private var feedUri: String = ""
 
+  /**
+   * The URI to the feed to poll.
+   */
   public fun feedUri(feedUri: String) {
     this.feedUri = feedUri
     it.url("$feedUri")
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: String) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle)
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: Boolean) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle.toString())
   }
 
+  /**
+   * Sets whether to sort entries by published date. Only works when splitEntries = true.
+   */
   public fun sortEntries(sortEntries: String) {
     it.property("sortEntries", sortEntries)
   }
 
+  /**
+   * Sets whether to sort entries by published date. Only works when splitEntries = true.
+   */
   public fun sortEntries(sortEntries: Boolean) {
     it.property("sortEntries", sortEntries.toString())
   }
 
+  /**
+   * Sets whether or not entries should be sent individually or whether the entire feed should be
+   * sent as a single message
+   */
   public fun splitEntries(splitEntries: String) {
     it.property("splitEntries", splitEntries)
   }
 
+  /**
+   * Sets whether or not entries should be sent individually or whether the entire feed should be
+   * sent as a single message
+   */
   public fun splitEntries(splitEntries: Boolean) {
     it.property("splitEntries", splitEntries.toString())
   }
 
+  /**
+   * Sets whether all entries identified in a single feed poll should be delivered immediately. If
+   * true, only one entry is processed per delay. Only applicable when splitEntries = true.
+   */
   public fun throttleEntries(throttleEntries: String) {
     it.property("throttleEntries", throttleEntries)
   }
 
+  /**
+   * Sets whether all entries identified in a single feed poll should be delivered immediately. If
+   * true, only one entry is processed per delay. Only applicable when splitEntries = true.
+   */
   public fun throttleEntries(throttleEntries: Boolean) {
     it.property("throttleEntries", throttleEntries.toString())
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: String) {
     it.property("bridgeErrorHandler", bridgeErrorHandler)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
     it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom
+   * implementation to control error handling usually occurred during the poll operation before an
+   * Exchange have been created and being routed in Camel.
+   */
   public fun pollStrategy(pollStrategy: String) {
     it.property("pollStrategy", pollStrategy)
   }
 
+  /**
+   * Sets whether to add the feed object as a header.
+   */
   public fun feedHeader(feedHeader: String) {
     it.property("feedHeader", feedHeader)
   }
 
+  /**
+   * Sets whether to add the feed object as a header.
+   */
   public fun feedHeader(feedHeader: Boolean) {
     it.property("feedHeader", feedHeader.toString())
   }
 
+  /**
+   * The number of subsequent error polls (failed due some error) that should happen before the
+   * backoffMultipler should kick-in.
+   */
   public fun backoffErrorThreshold(backoffErrorThreshold: String) {
     it.property("backoffErrorThreshold", backoffErrorThreshold)
   }
 
+  /**
+   * The number of subsequent error polls (failed due some error) that should happen before the
+   * backoffMultipler should kick-in.
+   */
   public fun backoffErrorThreshold(backoffErrorThreshold: Int) {
     it.property("backoffErrorThreshold", backoffErrorThreshold.toString())
   }
 
+  /**
+   * The number of subsequent idle polls that should happen before the backoffMultipler should
+   * kick-in.
+   */
   public fun backoffIdleThreshold(backoffIdleThreshold: String) {
     it.property("backoffIdleThreshold", backoffIdleThreshold)
   }
 
+  /**
+   * The number of subsequent idle polls that should happen before the backoffMultipler should
+   * kick-in.
+   */
   public fun backoffIdleThreshold(backoffIdleThreshold: Int) {
     it.property("backoffIdleThreshold", backoffIdleThreshold.toString())
   }
 
+  /**
+   * To let the scheduled polling consumer backoff if there has been a number of subsequent
+   * idles/errors in a row. The multiplier is then the number of polls that will be skipped before the
+   * next actual attempt is happening again. When this option is in use then backoffIdleThreshold
+   * and/or backoffErrorThreshold must also be configured.
+   */
   public fun backoffMultiplier(backoffMultiplier: String) {
     it.property("backoffMultiplier", backoffMultiplier)
   }
 
+  /**
+   * To let the scheduled polling consumer backoff if there has been a number of subsequent
+   * idles/errors in a row. The multiplier is then the number of polls that will be skipped before the
+   * next actual attempt is happening again. When this option is in use then backoffIdleThreshold
+   * and/or backoffErrorThreshold must also be configured.
+   */
   public fun backoffMultiplier(backoffMultiplier: Int) {
     it.property("backoffMultiplier", backoffMultiplier.toString())
   }
 
+  /**
+   * Milliseconds before the next poll.
+   */
   public fun delay(delay: String) {
     it.property("delay", delay)
   }
 
+  /**
+   * Milliseconds before the next poll.
+   */
   public fun delay(delay: Int) {
     it.property("delay", delay.toString())
   }
 
+  /**
+   * If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the
+   * previous run polled 1 or more messages.
+   */
   public fun greedy(greedy: String) {
     it.property("greedy", greedy)
   }
 
+  /**
+   * If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the
+   * previous run polled 1 or more messages.
+   */
   public fun greedy(greedy: Boolean) {
     it.property("greedy", greedy.toString())
   }
 
+  /**
+   * Milliseconds before the first poll starts.
+   */
   public fun initialDelay(initialDelay: String) {
     it.property("initialDelay", initialDelay)
   }
 
+  /**
+   * Milliseconds before the first poll starts.
+   */
   public fun initialDelay(initialDelay: Int) {
     it.property("initialDelay", initialDelay.toString())
   }
 
+  /**
+   * Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only
+   * fire once. If you set it to 5, it will only fire five times. A value of zero or negative means
+   * fire forever.
+   */
   public fun repeatCount(repeatCount: String) {
     it.property("repeatCount", repeatCount)
   }
 
+  /**
+   * Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only
+   * fire once. If you set it to 5, it will only fire five times. A value of zero or negative means
+   * fire forever.
+   */
   public fun repeatCount(repeatCount: Int) {
     it.property("repeatCount", repeatCount.toString())
   }
 
+  /**
+   * The consumer logs a start/complete log line when it polls. This option allows you to configure
+   * the logging level for that.
+   */
   public fun runLoggingLevel(runLoggingLevel: String) {
     it.property("runLoggingLevel", runLoggingLevel)
   }
 
+  /**
+   * Allows for configuring a custom/shared thread pool to use for the consumer. By default each
+   * consumer has its own single threaded thread pool.
+   */
   public fun scheduledExecutorService(scheduledExecutorService: String) {
     it.property("scheduledExecutorService", scheduledExecutorService)
   }
 
+  /**
+   * To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or
+   * quartz for built in scheduler
+   */
   public fun scheduler(scheduler: String) {
     it.property("scheduler", scheduler)
   }
 
+  /**
+   * To configure additional properties when using a custom scheduler or any of the Quartz, Spring
+   * based scheduler.
+   */
   public fun schedulerProperties(schedulerProperties: String) {
     it.property("schedulerProperties", schedulerProperties)
   }
 
+  /**
+   * Whether the scheduler should be auto started.
+   */
   public fun startScheduler(startScheduler: String) {
     it.property("startScheduler", startScheduler)
   }
 
+  /**
+   * Whether the scheduler should be auto started.
+   */
   public fun startScheduler(startScheduler: Boolean) {
     it.property("startScheduler", startScheduler.toString())
   }
 
+  /**
+   * Time unit for initialDelay and delay options.
+   */
   public fun timeUnit(timeUnit: String) {
     it.property("timeUnit", timeUnit)
   }
 
+  /**
+   * Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
+   */
   public fun useFixedDelay(useFixedDelay: String) {
     it.property("useFixedDelay", useFixedDelay)
   }
 
+  /**
+   * Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
+   */
   public fun useFixedDelay(useFixedDelay: Boolean) {
     it.property("useFixedDelay", useFixedDelay.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AvroUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AvroUriDsl.kt
index 1b2951ca4c3..17454b40888 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AvroUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AvroUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Produce or consume Apache Avro RPC services.
+ */
 public fun UriDsl.avro(i: AvroUriDsl.() -> Unit) {
   AvroUriDsl(this).apply(i)
 }
@@ -46,83 +49,172 @@ public class AvroUriDsl(
 
   private var messageName: String = ""
 
+  /**
+   * Transport to use, can be either http or netty
+   */
   public fun transport(transport: String) {
     this.transport = transport
     it.url("$transport:$host:$port/$messageName")
   }
 
+  /**
+   * Port number to use
+   */
   public fun port(port: String) {
     this.port = port
     it.url("$transport:$host:$port/$messageName")
   }
 
+  /**
+   * Port number to use
+   */
   public fun port(port: Int) {
     this.port = port.toString()
     it.url("$transport:$host:$port/$messageName")
   }
 
+  /**
+   * Hostname to use
+   */
   public fun host(host: String) {
     this.host = host
     it.url("$transport:$host:$port/$messageName")
   }
 
+  /**
+   * The name of the message to send.
+   */
   public fun messageName(messageName: String) {
     this.messageName = messageName
     it.url("$transport:$host:$port/$messageName")
   }
 
+  /**
+   * Avro protocol to use
+   */
   public fun protocol(protocol: String) {
     it.property("protocol", protocol)
   }
 
+  /**
+   * Avro protocol to use defined by the FQN class name
+   */
   public fun protocolClassName(protocolClassName: String) {
     it.property("protocolClassName", protocolClassName)
   }
 
+  /**
+   * Avro protocol location
+   */
   public fun protocolLocation(protocolLocation: String) {
     it.property("protocolLocation", protocolLocation)
   }
 
+  /**
+   * If the protocol object provided is reflection protocol. Should be used only with protocol
+   * parameter because for protocolClassName protocol type will be auto-detected
+   */
   public fun reflectionProtocol(reflectionProtocol: String) {
     it.property("reflectionProtocol", reflectionProtocol)
   }
 
+  /**
+   * If the protocol object provided is reflection protocol. Should be used only with protocol
+   * parameter because for protocolClassName protocol type will be auto-detected
+   */
   public fun reflectionProtocol(reflectionProtocol: Boolean) {
     it.property("reflectionProtocol", reflectionProtocol.toString())
   }
 
+  /**
+   * If true, consumer parameter won't be wrapped into an array. Will fail if protocol specifies
+   * more than one parameter for the message
+   */
   public fun singleParameter(singleParameter: String) {
     it.property("singleParameter", singleParameter)
   }
 
+  /**
+   * If true, consumer parameter won't be wrapped into an array. Will fail if protocol specifies
+   * more than one parameter for the message
+   */
   public fun singleParameter(singleParameter: Boolean) {
     it.property("singleParameter", singleParameter.toString())
   }
 
+  /**
+   * Authority to use (username and password)
+   */
   public fun uriAuthority(uriAuthority: String) {
     it.property("uriAuthority", uriAuthority)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: String) {
     it.property("bridgeErrorHandler", bridgeErrorHandler)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
     it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2AthenaUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2AthenaUriDsl.kt
index 0d242c4fd91..179264595df 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2AthenaUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2AthenaUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Access AWS Athena.
+ */
 public fun UriDsl.`aws2-athena`(i: Aws2AthenaUriDsl.() -> Unit) {
   Aws2AthenaUriDsl(this).apply(i)
 }
@@ -40,183 +43,364 @@ public class Aws2AthenaUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * The Athena database to use.
+   */
   public fun database(database: String) {
     it.property("database", database)
   }
 
+  /**
+   * Milliseconds before the next poll for query execution status. See the section Waiting for Query
+   * Completion and Retrying Failed Queries to learn more.
+   */
   public fun delay(delay: String) {
     it.property("delay", delay)
   }
 
+  /**
+   * Milliseconds before the next poll for query execution status. See the section Waiting for Query
+   * Completion and Retrying Failed Queries to learn more.
+   */
   public fun delay(delay: Int) {
     it.property("delay", delay.toString())
   }
 
+  /**
+   * Milliseconds before the first poll for query execution status. See the section Waiting for
+   * Query Completion and Retrying Failed Queries to learn more.
+   */
   public fun initialDelay(initialDelay: String) {
     it.property("initialDelay", initialDelay)
   }
 
+  /**
+   * Milliseconds before the first poll for query execution status. See the section Waiting for
+   * Query Completion and Retrying Failed Queries to learn more.
+   */
   public fun initialDelay(initialDelay: Int) {
     it.property("initialDelay", initialDelay.toString())
   }
 
+  /**
+   * 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.
+   */
   public fun maxAttempts(maxAttempts: String) {
     it.property("maxAttempts", maxAttempts)
   }
 
+  /**
+   * 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.
+   */
   public fun maxAttempts(maxAttempts: Int) {
     it.property("maxAttempts", maxAttempts.toString())
   }
 
+  /**
+   * 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.
+   */
   public fun maxResults(maxResults: String) {
     it.property("maxResults", maxResults)
   }
 
+  /**
+   * 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.
+   */
   public fun maxResults(maxResults: Int) {
     it.property("maxResults", maxResults.toString())
   }
 
+  /**
+   * Pagination token to use in the case where the response from the previous request was truncated.
+   */
   public fun nextToken(nextToken: String) {
     it.property("nextToken", nextToken)
   }
 
+  /**
+   * The Athena API function to call.
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * 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.
+   */
   public fun outputLocation(outputLocation: String) {
     it.property("outputLocation", outputLocation)
   }
 
+  /**
+   * How query results should be returned. One of StreamList (default - return a
+   * GetQueryResultsIterable that can page through all 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).
+   */
   public fun outputType(outputType: String) {
     it.property("outputType", outputType)
   }
 
+  /**
+   * The unique ID identifying the query execution.
+   */
   public fun queryExecutionId(queryExecutionId: String) {
     it.property("queryExecutionId", queryExecutionId)
   }
 
+  /**
+   * 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.
+   */
   public fun queryString(queryString: String) {
     it.property("queryString", queryString)
   }
 
+  /**
+   * 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).
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * 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.
+   */
   public fun resetWaitTimeoutOnRetry(resetWaitTimeoutOnRetry: String) {
     it.property("resetWaitTimeoutOnRetry", resetWaitTimeoutOnRetry)
   }
 
+  /**
+   * 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.
+   */
   public fun resetWaitTimeoutOnRetry(resetWaitTimeoutOnRetry: Boolean) {
     it.property("resetWaitTimeoutOnRetry", resetWaitTimeoutOnRetry.toString())
   }
 
+  /**
+   * 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.
+   */
   public fun retry(retry: String) {
     it.property("retry", retry)
   }
 
+  /**
+   * 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.
+   */
   public fun waitTimeout(waitTimeout: String) {
     it.property("waitTimeout", waitTimeout)
   }
 
+  /**
+   * 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.
+   */
   public fun waitTimeout(waitTimeout: Int) {
     it.property("waitTimeout", waitTimeout.toString())
   }
 
+  /**
+   * The workgroup to use for running the query.
+   */
   public fun workGroup(workGroup: String) {
     it.property("workGroup", workGroup)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * The AmazonAthena instance to use as the client.
+   */
   public fun amazonAthenaClient(amazonAthenaClient: String) {
     it.property("amazonAthenaClient", amazonAthenaClient)
   }
 
+  /**
+   * A unique string to ensure issues queries are idempotent. It is unlikely you will need to set
+   * this.
+   */
   public fun clientRequestToken(clientRequestToken: String) {
     it.property("clientRequestToken", clientRequestToken)
   }
 
+  /**
+   * Include useful trace information at the beginning of queries as an SQL comment (prefixed
+   * with --).
+   */
   public fun includeTrace(includeTrace: String) {
     it.property("includeTrace", includeTrace)
   }
 
+  /**
+   * Include useful trace information at the beginning of queries as an SQL comment (prefixed
+   * with --).
+   */
   public fun includeTrace(includeTrace: Boolean) {
     it.property("includeTrace", includeTrace.toString())
   }
 
+  /**
+   * To define a proxy host when instantiating the Athena client.
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the Athena client.
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the Athena client.
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the Athena client.
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key.
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * The encryption type to use when storing query results in S3. One of SSE_S3, SSE_KMS, or
+   * CSE_KMS.
+   */
   public fun encryptionOption(encryptionOption: String) {
     it.property("encryptionOption", encryptionOption)
   }
 
+  /**
+   * For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.
+   */
   public fun kmsKey(kmsKey: String) {
     it.property("kmsKey", kmsKey)
   }
 
+  /**
+   * If using a profile credentials provider this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key.
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * Set whether the Athena client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the Athena client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Athena client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the Athena client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Athena client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume a IAM role for doing operations in Athena.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the Athena client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume a IAM role for doing operations in Athena.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2CwUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2CwUriDsl.kt
index c9883b7e2c4..bf94e44e434 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2CwUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2CwUriDsl.kt
@@ -24,6 +24,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Sending metrics to AWS CloudWatch.
+ */
 public fun UriDsl.`aws2-cw`(i: Aws2CwUriDsl.() -> Unit) {
   Aws2CwUriDsl(this).apply(i)
 }
@@ -41,119 +44,227 @@ public class Aws2CwUriDsl(
 
   private var namespace: String = ""
 
+  /**
+   * The metric namespace
+   */
   public fun namespace(namespace: String) {
     this.namespace = namespace
     it.url("$namespace")
   }
 
+  /**
+   * The metric name
+   */
   public fun name(name: String) {
     it.property("name", name)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * The region in which CW client needs to work. When using this parameter, the configuration will
+   * expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * The metric timestamp
+   */
   public fun timestamp(timestamp: String) {
     it.property("timestamp", timestamp)
   }
 
+  /**
+   * The metric unit
+   */
   public fun unit(unit: String) {
     it.property("unit", unit)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * The metric value
+   */
   public fun `value`(`value`: String) {
     it.property("value", value)
   }
 
+  /**
+   * The metric value
+   */
   public fun `value`(`value`: Double) {
     it.property("value", value.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use the AmazonCloudWatch as the client
+   */
   public fun amazonCwClient(amazonCwClient: String) {
     it.property("amazonCwClient", amazonCwClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the CW client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the CW client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the CW client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the CW client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the S3 client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the S3 client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Cloudwatch client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the Cloudwatch client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the CloudWatch client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in CloudWatch.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the CloudWatch client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in CloudWatch.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbUriDsl.kt
index 62c332aa824..1194fb7ea08 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Store and retrieve data from AWS DynamoDB.
+ */
 public fun UriDsl.`aws2-ddb`(i: Aws2DdbUriDsl.() -> Unit) {
   Aws2DdbUriDsl(this).apply(i)
 }
@@ -40,147 +43,278 @@ public class Aws2DdbUriDsl(
 
   private var tableName: String = ""
 
+  /**
+   * The name of the table currently worked with.
+   */
   public fun tableName(tableName: String) {
     this.tableName = tableName
     it.url("$tableName")
   }
 
+  /**
+   * Determines whether strong consistency should be enforced when data is read.
+   */
   public fun consistentRead(consistentRead: String) {
     it.property("consistentRead", consistentRead)
   }
 
+  /**
+   * Determines whether strong consistency should be enforced when data is read.
+   */
   public fun consistentRead(consistentRead: Boolean) {
     it.property("consistentRead", consistentRead.toString())
   }
 
+  /**
+   * Set whether the initial Describe table operation in the DDB Endpoint must be done, or not.
+   */
   public fun enabledInitialDescribeTable(enabledInitialDescribeTable: String) {
     it.property("enabledInitialDescribeTable", enabledInitialDescribeTable)
   }
 
+  /**
+   * Set whether the initial Describe table operation in the DDB Endpoint must be done, or not.
+   */
   public fun enabledInitialDescribeTable(enabledInitialDescribeTable: Boolean) {
     it.property("enabledInitialDescribeTable", enabledInitialDescribeTable.toString())
   }
 
+  /**
+   * Attribute name when creating table
+   */
   public fun keyAttributeName(keyAttributeName: String) {
     it.property("keyAttributeName", keyAttributeName)
   }
 
+  /**
+   * Attribute type when creating table
+   */
   public fun keyAttributeType(keyAttributeType: String) {
     it.property("keyAttributeType", keyAttributeType)
   }
 
+  /**
+   * The key scalar type, it can be S (String), N (Number) and B (Bytes)
+   */
   public fun keyScalarType(keyScalarType: String) {
     it.property("keyScalarType", keyScalarType)
   }
 
+  /**
+   * What operation to perform
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * The provisioned throughput to reserve for reading resources from your table
+   */
   public fun readCapacity(readCapacity: String) {
     it.property("readCapacity", readCapacity)
   }
 
+  /**
+   * The provisioned throughput to reserve for reading resources from your table
+   */
   public fun readCapacity(readCapacity: Int) {
     it.property("readCapacity", readCapacity.toString())
   }
 
+  /**
+   * The region in which DDB client needs to work
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * The provisioned throughput to reserved for writing resources to your table
+   */
   public fun writeCapacity(writeCapacity: String) {
     it.property("writeCapacity", writeCapacity)
   }
 
+  /**
+   * The provisioned throughput to reserved for writing resources to your table
+   */
   public fun writeCapacity(writeCapacity: Int) {
     it.property("writeCapacity", writeCapacity.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use the AmazonDynamoDB as the client
+   */
   public fun amazonDDBClient(amazonDDBClient: String) {
     it.property("amazonDDBClient", amazonDDBClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the DDB client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * The region in which DynamoDB client needs to work. When using this parameter, the configuration
+   * will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * The region in which DynamoDB client needs to work. When using this parameter, the configuration
+   * will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the DDB client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume a IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the S3 client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the S3 client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the DDB client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the DDB client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the DDB client should expect to use Session Credentials. This is useful in
+   * situation in which the user needs to assume a IAM role for doing operations in DDB.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the DDB client should expect to use Session Credentials. This is useful in
+   * situation in which the user needs to assume a IAM role for doing operations in DDB.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbstreamUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbstreamUriDsl.kt
index dc26e14910a..ba7eb20d580 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbstreamUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2DdbstreamUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Receive messages from AWS DynamoDB Stream.
+ */
 public fun UriDsl.`aws2-ddbstream`(i: Aws2DdbstreamUriDsl.() -> Unit) {
   Aws2DdbstreamUriDsl(this).apply(i)
 }
@@ -40,223 +43,440 @@ public class Aws2DdbstreamUriDsl(
 
   private var tableName: String = ""
 
+  /**
+   * Name of the dynamodb table
+   */
   public fun tableName(tableName: String) {
     this.tableName = tableName
     it.url("$tableName")
   }
 
+  /**
+   * Maximum number of records that will be fetched in each poll
+   */
   public fun maxResultsPerRequest(maxResultsPerRequest: String) {
     it.property("maxResultsPerRequest", maxResultsPerRequest)
   }
 
+  /**
+   * Maximum number of records that will be fetched in each poll
+   */
   public fun maxResultsPerRequest(maxResultsPerRequest: Int) {
     it.property("maxResultsPerRequest", maxResultsPerRequest.toString())
   }
 
+  /**
+   * Set the need for overidding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overidding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * The region in which DDBStreams client needs to work
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: String) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle)
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: Boolean) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle.toString())
   }
 
+  /**
+   * Defines where in the DynamoDB stream to start getting records. Note that using FROM_START can
+   * cause a significant delay before the stream has caught up to real-time.
+   */
   public fun streamIteratorType(streamIteratorType: String) {
     it.property("streamIteratorType", streamIteratorType)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Amazon DynamoDB client to use for all requests for this endpoint
+   */
   public fun amazonDynamoDbStreamsClient(amazonDynamoDbStreamsClient: String) {
     it.property("amazonDynamoDbStreamsClient", amazonDynamoDbStreamsClient)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: String) {
     it.property("bridgeErrorHandler", bridgeErrorHandler)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
     it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom
+   * implementation to control error handling usually occurred during the poll operation before an
+   * Exchange have been created and being routed in Camel.
+   */
   public fun pollStrategy(pollStrategy: String) {
     it.property("pollStrategy", pollStrategy)
   }
 
+  /**
+   * To define a proxy host when instantiating the DDBStreams client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the DDBStreams client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the DDBStreams client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the DDBStreams client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * The number of subsequent error polls (failed due some error) that should happen before the
+   * backoffMultipler should kick-in.
+   */
   public fun backoffErrorThreshold(backoffErrorThreshold: String) {
     it.property("backoffErrorThreshold", backoffErrorThreshold)
   }
 
+  /**
+   * The number of subsequent error polls (failed due some error) that should happen before the
+   * backoffMultipler should kick-in.
+   */
   public fun backoffErrorThreshold(backoffErrorThreshold: Int) {
     it.property("backoffErrorThreshold", backoffErrorThreshold.toString())
   }
 
+  /**
+   * The number of subsequent idle polls that should happen before the backoffMultipler should
+   * kick-in.
+   */
   public fun backoffIdleThreshold(backoffIdleThreshold: String) {
     it.property("backoffIdleThreshold", backoffIdleThreshold)
   }
 
+  /**
+   * The number of subsequent idle polls that should happen before the backoffMultipler should
+   * kick-in.
+   */
   public fun backoffIdleThreshold(backoffIdleThreshold: Int) {
     it.property("backoffIdleThreshold", backoffIdleThreshold.toString())
   }
 
+  /**
+   * To let the scheduled polling consumer backoff if there has been a number of subsequent
+   * idles/errors in a row. The multiplier is then the number of polls that will be skipped before the
+   * next actual attempt is happening again. When this option is in use then backoffIdleThreshold
+   * and/or backoffErrorThreshold must also be configured.
+   */
   public fun backoffMultiplier(backoffMultiplier: String) {
     it.property("backoffMultiplier", backoffMultiplier)
   }
 
+  /**
+   * To let the scheduled polling consumer backoff if there has been a number of subsequent
+   * idles/errors in a row. The multiplier is then the number of polls that will be skipped before the
+   * next actual attempt is happening again. When this option is in use then backoffIdleThreshold
+   * and/or backoffErrorThreshold must also be configured.
+   */
   public fun backoffMultiplier(backoffMultiplier: Int) {
     it.property("backoffMultiplier", backoffMultiplier.toString())
   }
 
+  /**
+   * Milliseconds before the next poll.
+   */
   public fun delay(delay: String) {
     it.property("delay", delay)
   }
 
+  /**
+   * Milliseconds before the next poll.
+   */
   public fun delay(delay: Int) {
     it.property("delay", delay.toString())
   }
 
+  /**
+   * If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the
+   * previous run polled 1 or more messages.
+   */
   public fun greedy(greedy: String) {
     it.property("greedy", greedy)
   }
 
+  /**
+   * If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the
+   * previous run polled 1 or more messages.
+   */
   public fun greedy(greedy: Boolean) {
     it.property("greedy", greedy.toString())
   }
 
+  /**
+   * Milliseconds before the first poll starts.
+   */
   public fun initialDelay(initialDelay: String) {
     it.property("initialDelay", initialDelay)
   }
 
+  /**
+   * Milliseconds before the first poll starts.
+   */
   public fun initialDelay(initialDelay: Int) {
     it.property("initialDelay", initialDelay.toString())
   }
 
+  /**
+   * Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only
+   * fire once. If you set it to 5, it will only fire five times. A value of zero or negative means
+   * fire forever.
+   */
   public fun repeatCount(repeatCount: String) {
     it.property("repeatCount", repeatCount)
   }
 
+  /**
+   * Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only
+   * fire once. If you set it to 5, it will only fire five times. A value of zero or negative means
+   * fire forever.
+   */
   public fun repeatCount(repeatCount: Int) {
     it.property("repeatCount", repeatCount.toString())
   }
 
+  /**
+   * The consumer logs a start/complete log line when it polls. This option allows you to configure
+   * the logging level for that.
+   */
   public fun runLoggingLevel(runLoggingLevel: String) {
     it.property("runLoggingLevel", runLoggingLevel)
   }
 
+  /**
+   * Allows for configuring a custom/shared thread pool to use for the consumer. By default each
+   * consumer has its own single threaded thread pool.
+   */
   public fun scheduledExecutorService(scheduledExecutorService: String) {
     it.property("scheduledExecutorService", scheduledExecutorService)
   }
 
+  /**
+   * To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or
+   * quartz for built in scheduler
+   */
   public fun scheduler(scheduler: String) {
     it.property("scheduler", scheduler)
   }
 
+  /**
+   * To configure additional properties when using a custom scheduler or any of the Quartz, Spring
+   * based scheduler.
+   */
   public fun schedulerProperties(schedulerProperties: String) {
     it.property("schedulerProperties", schedulerProperties)
   }
 
+  /**
+   * Whether the scheduler should be auto started.
+   */
   public fun startScheduler(startScheduler: String) {
     it.property("startScheduler", startScheduler)
   }
 
+  /**
+   * Whether the scheduler should be auto started.
+   */
   public fun startScheduler(startScheduler: Boolean) {
     it.property("startScheduler", startScheduler.toString())
   }
 
+  /**
+   * Time unit for initialDelay and delay options.
+   */
   public fun timeUnit(timeUnit: String) {
     it.property("timeUnit", timeUnit)
   }
 
+  /**
+   * Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
+   */
   public fun useFixedDelay(useFixedDelay: String) {
     it.property("useFixedDelay", useFixedDelay)
   }
 
+  /**
+   * Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
+   */
   public fun useFixedDelay(useFixedDelay: Boolean) {
     it.property("useFixedDelay", useFixedDelay.toString())
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider this parameter will set the profile name.
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume a IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the DynamoDB Streams client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the DynamoDB Streams client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Cloudtrail client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the Cloudtrail client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the DDB Streams client should expect to use Session Credentials. This is useful in
+   * situation in which the user needs to assume a IAM role for doing operations in DDB.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the DDB Streams client should expect to use Session Credentials. This is useful in
+   * situation in which the user needs to assume a IAM role for doing operations in DDB.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2Ec2UriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2Ec2UriDsl.kt
index 30c58e4647f..4d4f9ff4114 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2Ec2UriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2Ec2UriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Manage AWS EC2 instances.
+ */
 public fun UriDsl.`aws2-ec2`(i: Aws2Ec2UriDsl.() -> Unit) {
   Aws2Ec2UriDsl(this).apply(i)
 }
@@ -40,111 +43,215 @@ public class Aws2Ec2UriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * To use an existing configured AmazonEC2Client client
+   */
   public fun amazonEc2Client(amazonEc2Client: String) {
     it.property("amazonEc2Client", amazonEc2Client)
   }
 
+  /**
+   * The operation to perform. It can be createAndRunInstances, startInstances, stopInstances,
+   * terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances,
+   * unmonitorInstances, createTags or deleteTags
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which EC2 client needs to work. When using this parameter, the configuration will
+   * expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To define a proxy host when instantiating the EC2 client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the EC2 client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the EC2 client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the EC2 client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the EC2 client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the EC2 client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the EC2 client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the EC2 client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the EC2 client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in EC2.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the EC2 client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in EC2.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EcsUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EcsUriDsl.kt
index c2d86c63491..91c348ae6d4 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EcsUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EcsUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Manage AWS ECS cluster instances.
+ */
 public fun UriDsl.`aws2-ecs`(i: Aws2EcsUriDsl.() -> Unit) {
   Aws2EcsUriDsl(this).apply(i)
 }
@@ -40,111 +43,213 @@ public class Aws2EcsUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * The operation to perform
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which the ECS client needs to work. When using this parameter, the configuration
+   * will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing configured AWS ECS client
+   */
   public fun ecsClient(ecsClient: String) {
     it.property("ecsClient", ecsClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the ECS client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the ECS client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the ECS client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the ECS client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the ECS client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the ECS client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the ECS client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the ECS client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the ECS client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in ECS.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the ECS client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in ECS.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EksUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EksUriDsl.kt
index 9ce16a1cbf1..d89175bd4a0 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EksUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EksUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Manage AWS EKS cluster instances.
+ */
 public fun UriDsl.`aws2-eks`(i: Aws2EksUriDsl.() -> Unit) {
   Aws2EksUriDsl(this).apply(i)
 }
@@ -40,111 +43,213 @@ public class Aws2EksUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * The operation to perform
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * The region in which EKS client needs to work. When using this parameter, the configuration will
+   * expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Set whether the EKS client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the EKS client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the EKS client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the EKS client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing configured AWS EKS client
+   */
   public fun eksClient(eksClient: String) {
     it.property("eksClient", eksClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the EKS client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the EKS client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the EKS client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the EKS client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the EKS client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in EKS.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the EKS client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in EKS.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EventbridgeUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EventbridgeUriDsl.kt
index e3c9277a30e..20c1fc1d4e8 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EventbridgeUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2EventbridgeUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Send events to AWS Eventbridge cluster instances.
+ */
 public fun UriDsl.`aws2-eventbridge`(i: Aws2EventbridgeUriDsl.() -> Unit) {
   Aws2EventbridgeUriDsl(this).apply(i)
 }
@@ -40,115 +43,220 @@ public class Aws2EventbridgeUriDsl(
 
   private var eventbusNameOrArn: String = ""
 
+  /**
+   * Event bus name or ARN
+   */
   public fun eventbusNameOrArn(eventbusNameOrArn: String) {
     this.eventbusNameOrArn = eventbusNameOrArn
     it.url("//$eventbusNameOrArn")
   }
 
+  /**
+   * EventPattern File
+   */
   public fun eventPatternFile(eventPatternFile: String) {
     it.property("eventPatternFile", eventPatternFile)
   }
 
+  /**
+   * The operation to perform
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which the Eventbridge client needs to work. When using this parameter, the
+   * configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to
+   * use the name Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing configured AWS Eventbridge client
+   */
   public fun eventbridgeClient(eventbridgeClient: String) {
     it.property("eventbridgeClient", eventbridgeClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the Eventbridge client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the Eventbridge client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the Eventbridge client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the Eventbridge client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the Eventbridge client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the Eventbridge client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Eventbridge client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the Eventbridge client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Eventbridge client should expect to use Session Credentials. This is useful in
+   * a situation in which the user needs to assume an IAM role for doing operations in Eventbridge.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the Eventbridge client should expect to use Session Credentials. This is useful in
+   * a situation in which the user needs to assume an IAM role for doing operations in Eventbridge.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2IamUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2IamUriDsl.kt
index b2fb06a4efa..2ae572fdf87 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2IamUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2IamUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Manage AWS IAM instances.
+ */
 public fun UriDsl.`aws2-iam`(i: Aws2IamUriDsl.() -> Unit) {
   Aws2IamUriDsl(this).apply(i)
 }
@@ -40,111 +43,214 @@ public class Aws2IamUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * To use an existing configured AWS IAM client
+   */
   public fun iamClient(iamClient: String) {
     it.property("iamClient", iamClient)
   }
 
+  /**
+   * The operation to perform. You can configure a default operation on the component level, or the
+   * operation as part of the endpoint, or via a message header with the key CamelAwsIAMOperation.
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which IAM client needs to work. When using this parameter, the configuration will
+   * expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To define a proxy host when instantiating the IAM client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the IAM client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the IAM client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the IAM client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the IAM client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the IAM client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the IAM client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the IAM client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the IAM client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume a IAM role for doing operations in IAM.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the IAM client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume a IAM role for doing operations in IAM.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisFirehoseUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisFirehoseUriDsl.kt
index 3fb9390f4e8..29473836a2d 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisFirehoseUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisFirehoseUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Produce data to AWS Kinesis Firehose streams.
+ */
 public fun UriDsl.`aws2-kinesis-firehose`(i: Aws2KinesisFirehoseUriDsl.() -> Unit) {
   Aws2KinesisFirehoseUriDsl(this).apply(i)
 }
@@ -40,111 +43,215 @@ public class Aws2KinesisFirehoseUriDsl(
 
   private var streamName: String = ""
 
+  /**
+   * Name of the stream
+   */
   public fun streamName(streamName: String) {
     this.streamName = streamName
     it.url("$streamName")
   }
 
+  /**
+   * This option will set the CBOR_ENABLED property during the execution
+   */
   public fun cborEnabled(cborEnabled: String) {
     it.property("cborEnabled", cborEnabled)
   }
 
+  /**
+   * This option will set the CBOR_ENABLED property during the execution
+   */
   public fun cborEnabled(cborEnabled: Boolean) {
     it.property("cborEnabled", cborEnabled.toString())
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * The operation to do in case the user don't want to send only a record
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * The region in which Kinesis Firehose client needs to work. When using this parameter, the
+   * configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to
+   * use the name Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set whether the Kinesis Firehose client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the Kinesis Firehose client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * Amazon Kinesis Firehose client to use for all requests for this endpoint
+   */
   public fun amazonKinesisFirehoseClient(amazonKinesisFirehoseClient: String) {
     it.property("amazonKinesisFirehoseClient", amazonKinesisFirehoseClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the Kinesis Firehose client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the Kinesis Firehose client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the Kinesis Firehose client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the Kinesis Firehose client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider this parameter will set the profile name.
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume a IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the Kinesis Firehose client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the Kinesis Firehose client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Kinesis Firehose client should expect to use Session Credentials. This is
+   * useful in situation in which the user needs to assume a IAM role for doing operations in Kinesis
+   * Firehose.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the Kinesis Firehose client should expect to use Session Credentials. This is
+   * useful in situation in which the user needs to assume a IAM role for doing operations in Kinesis
+   * Firehose.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisUriDsl.kt
index 10891125a18..a1cb996ebba 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KinesisUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Consume and produce records from and to AWS Kinesis Streams.
+ */
 public fun UriDsl.`aws2-kinesis`(i: Aws2KinesisUriDsl.() -> Unit) {
   Aws2KinesisUriDsl(this).apply(i)
 }
@@ -40,259 +43,518 @@ public class Aws2KinesisUriDsl(
 
   private var streamName: String = ""
 
+  /**
+   * Name of the stream
+   */
   public fun streamName(streamName: String) {
     this.streamName = streamName
     it.url("$streamName")
   }
 
+  /**
+   * This option will set the CBOR_ENABLED property during the execution
+   */
   public fun cborEnabled(cborEnabled: String) {
     it.property("cborEnabled", cborEnabled)
   }
 
+  /**
+   * This option will set the CBOR_ENABLED property during the execution
+   */
   public fun cborEnabled(cborEnabled: Boolean) {
     it.property("cborEnabled", cborEnabled.toString())
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * The region in which Kinesis Firehose client needs to work. When using this parameter, the
+   * configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to
+   * use the name Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Defines where in the Kinesis stream to start getting records
+   */
   public fun iteratorType(iteratorType: String) {
     it.property("iteratorType", iteratorType)
   }
 
+  /**
+   * Maximum number of records that will be fetched in each poll
+   */
   public fun maxResultsPerRequest(maxResultsPerRequest: String) {
     it.property("maxResultsPerRequest", maxResultsPerRequest)
   }
 
+  /**
+   * Maximum number of records that will be fetched in each poll
+   */
   public fun maxResultsPerRequest(maxResultsPerRequest: Int) {
     it.property("maxResultsPerRequest", maxResultsPerRequest.toString())
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: String) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle)
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: Boolean) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle.toString())
   }
 
+  /**
+   * The sequence number to start polling from. Required if iteratorType is set to
+   * AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER
+   */
   public fun sequenceNumber(sequenceNumber: String) {
     it.property("sequenceNumber", sequenceNumber)
   }
 
+  /**
+   * Define what will be the behavior in case of shard closed. Possible value are ignore, silent and
+   * fail. In case of ignore a message will be logged and the consumer will restart from the
+   * beginning,in case of silent there will be no logging and the consumer will start from the
+   * beginning,in case of fail a ReachedClosedStateException will be raised
+   */
   public fun shardClosed(shardClosed: String) {
     it.property("shardClosed", shardClosed)
   }
 
+  /**
+   * Defines which shardId in the Kinesis stream to get records from
+   */
   public fun shardId(shardId: String) {
     it.property("shardId", shardId)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: String) {
     it.property("bridgeErrorHandler", bridgeErrorHandler)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
     it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom
+   * implementation to control error handling usually occurred during the poll operation before an
+   * Exchange have been created and being routed in Camel.
+   */
   public fun pollStrategy(pollStrategy: String) {
     it.property("pollStrategy", pollStrategy)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * Amazon Kinesis client to use for all requests for this endpoint
+   */
   public fun amazonKinesisClient(amazonKinesisClient: String) {
     it.property("amazonKinesisClient", amazonKinesisClient)
   }
 
+  /**
+   * If we want to a KinesisAsyncClient instance set it to true
+   */
   public fun asyncClient(asyncClient: String) {
     it.property("asyncClient", asyncClient)
   }
 
+  /**
+   * If we want to a KinesisAsyncClient instance set it to true
+   */
   public fun asyncClient(asyncClient: Boolean) {
     it.property("asyncClient", asyncClient.toString())
   }
 
+  /**
+   * To define a proxy host when instantiating the Kinesis client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the Kinesis client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the Kinesis client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the Kinesis client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * The number of subsequent error polls (failed due some error) that should happen before the
+   * backoffMultipler should kick-in.
+   */
   public fun backoffErrorThreshold(backoffErrorThreshold: String) {
     it.property("backoffErrorThreshold", backoffErrorThreshold)
   }
 
+  /**
+   * The number of subsequent error polls (failed due some error) that should happen before the
+   * backoffMultipler should kick-in.
+   */
   public fun backoffErrorThreshold(backoffErrorThreshold: Int) {
     it.property("backoffErrorThreshold", backoffErrorThreshold.toString())
   }
 
+  /**
+   * The number of subsequent idle polls that should happen before the backoffMultipler should
+   * kick-in.
+   */
   public fun backoffIdleThreshold(backoffIdleThreshold: String) {
     it.property("backoffIdleThreshold", backoffIdleThreshold)
   }
 
+  /**
+   * The number of subsequent idle polls that should happen before the backoffMultipler should
+   * kick-in.
+   */
   public fun backoffIdleThreshold(backoffIdleThreshold: Int) {
     it.property("backoffIdleThreshold", backoffIdleThreshold.toString())
   }
 
+  /**
+   * To let the scheduled polling consumer backoff if there has been a number of subsequent
+   * idles/errors in a row. The multiplier is then the number of polls that will be skipped before the
+   * next actual attempt is happening again. When this option is in use then backoffIdleThreshold
+   * and/or backoffErrorThreshold must also be configured.
+   */
   public fun backoffMultiplier(backoffMultiplier: String) {
     it.property("backoffMultiplier", backoffMultiplier)
   }
 
+  /**
+   * To let the scheduled polling consumer backoff if there has been a number of subsequent
+   * idles/errors in a row. The multiplier is then the number of polls that will be skipped before the
+   * next actual attempt is happening again. When this option is in use then backoffIdleThreshold
+   * and/or backoffErrorThreshold must also be configured.
+   */
   public fun backoffMultiplier(backoffMultiplier: Int) {
     it.property("backoffMultiplier", backoffMultiplier.toString())
   }
 
+  /**
+   * Milliseconds before the next poll.
+   */
   public fun delay(delay: String) {
     it.property("delay", delay)
   }
 
+  /**
+   * Milliseconds before the next poll.
+   */
   public fun delay(delay: Int) {
     it.property("delay", delay.toString())
   }
 
+  /**
+   * If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the
+   * previous run polled 1 or more messages.
+   */
   public fun greedy(greedy: String) {
     it.property("greedy", greedy)
   }
 
+  /**
+   * If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the
+   * previous run polled 1 or more messages.
+   */
   public fun greedy(greedy: Boolean) {
     it.property("greedy", greedy.toString())
   }
 
+  /**
+   * Milliseconds before the first poll starts.
+   */
   public fun initialDelay(initialDelay: String) {
     it.property("initialDelay", initialDelay)
   }
 
+  /**
+   * Milliseconds before the first poll starts.
+   */
   public fun initialDelay(initialDelay: Int) {
     it.property("initialDelay", initialDelay.toString())
   }
 
+  /**
+   * Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only
+   * fire once. If you set it to 5, it will only fire five times. A value of zero or negative means
+   * fire forever.
+   */
   public fun repeatCount(repeatCount: String) {
     it.property("repeatCount", repeatCount)
   }
 
+  /**
+   * Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only
+   * fire once. If you set it to 5, it will only fire five times. A value of zero or negative means
+   * fire forever.
+   */
   public fun repeatCount(repeatCount: Int) {
     it.property("repeatCount", repeatCount.toString())
   }
 
+  /**
+   * The consumer logs a start/complete log line when it polls. This option allows you to configure
+   * the logging level for that.
+   */
   public fun runLoggingLevel(runLoggingLevel: String) {
     it.property("runLoggingLevel", runLoggingLevel)
   }
 
+  /**
+   * Allows for configuring a custom/shared thread pool to use for the consumer. By default each
+   * consumer has its own single threaded thread pool.
+   */
   public fun scheduledExecutorService(scheduledExecutorService: String) {
     it.property("scheduledExecutorService", scheduledExecutorService)
   }
 
+  /**
+   * To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or
+   * quartz for built in scheduler
+   */
   public fun scheduler(scheduler: String) {
     it.property("scheduler", scheduler)
   }
 
+  /**
+   * To configure additional properties when using a custom scheduler or any of the Quartz, Spring
+   * based scheduler.
+   */
   public fun schedulerProperties(schedulerProperties: String) {
     it.property("schedulerProperties", schedulerProperties)
   }
 
+  /**
+   * Whether the scheduler should be auto started.
+   */
   public fun startScheduler(startScheduler: String) {
     it.property("startScheduler", startScheduler)
   }
 
+  /**
+   * Whether the scheduler should be auto started.
+   */
   public fun startScheduler(startScheduler: Boolean) {
     it.property("startScheduler", startScheduler.toString())
   }
 
+  /**
+   * Time unit for initialDelay and delay options.
+   */
   public fun timeUnit(timeUnit: String) {
     it.property("timeUnit", timeUnit)
   }
 
+  /**
+   * Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
+   */
   public fun useFixedDelay(useFixedDelay: String) {
     it.property("useFixedDelay", useFixedDelay)
   }
 
+  /**
+   * Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
+   */
   public fun useFixedDelay(useFixedDelay: Boolean) {
     it.property("useFixedDelay", useFixedDelay.toString())
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider this parameter will set the profile name.
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume a IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the Kinesis client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the Kinesis client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Kinesis client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the Kinesis client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Kinesis client should expect to use Session Credentials. This is useful in
+   * situation in which the user needs to assume a IAM role for doing operations in Kinesis.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the Kinesis client should expect to use Session Credentials. This is useful in
+   * situation in which the user needs to assume a IAM role for doing operations in Kinesis.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KmsUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KmsUriDsl.kt
index b8340f07201..faabd166453 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KmsUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2KmsUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Manage keys stored in AWS KMS instances.
+ */
 public fun UriDsl.`aws2-kms`(i: Aws2KmsUriDsl.() -> Unit) {
   Aws2KmsUriDsl(this).apply(i)
 }
@@ -40,111 +43,213 @@ public class Aws2KmsUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * The operation to perform
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which EKS client needs to work. When using this parameter, the configuration will
+   * expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing configured AWS KMS client
+   */
   public fun kmsClient(kmsClient: String) {
     it.property("kmsClient", kmsClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the KMS client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the KMS client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the KMS client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the KMS client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the KMS client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the KMS client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the KMS client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the KMS client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the KMS client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume a IAM role for doing operations in KMS.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the KMS client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume a IAM role for doing operations in KMS.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2LambdaUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2LambdaUriDsl.kt
index 147d18540e1..bceb1f728a2 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2LambdaUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2LambdaUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Manage and invoke AWS Lambda functions.
+ */
 public fun UriDsl.`aws2-lambda`(i: Aws2LambdaUriDsl.() -> Unit) {
   Aws2LambdaUriDsl(this).apply(i)
 }
@@ -40,111 +43,214 @@ public class Aws2LambdaUriDsl(
 
   private var function: String = ""
 
+  /**
+   * Name of the Lambda function.
+   */
   public fun function(function: String) {
     this.function = function
     it.url("$function")
   }
 
+  /**
+   * The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction
+   * or invokeFunction
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which the Lambda client needs to work. When using this parameter, the
+   * configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to
+   * use the name Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing configured AwsLambdaClient client
+   */
   public fun awsLambdaClient(awsLambdaClient: String) {
     it.property("awsLambdaClient", awsLambdaClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the Lambda client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the Lambda client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the Lambda client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the Lambda client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the Lambda client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the Lambda client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Lambda client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the Lambda client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the Lambda client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in Lambda.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the Lambda client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in Lambda.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MqUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MqUriDsl.kt
index da22f6918d6..616689a7452 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MqUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MqUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Send messages to AWS MQ.
+ */
 public fun UriDsl.`aws2-mq`(i: Aws2MqUriDsl.() -> Unit) {
   Aws2MqUriDsl(this).apply(i)
 }
@@ -40,111 +43,213 @@ public class Aws2MqUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * The operation to perform. It can be listBrokers, createBroker, deleteBroker
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which MQ client needs to work. When using this parameter, the configuration will
+   * expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use a existing configured AmazonMQClient client
+   */
   public fun amazonMqClient(amazonMqClient: String) {
     it.property("amazonMqClient", amazonMqClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the MQ client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the MQ client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the MQ client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the MQ client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the MQ client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the MQ client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the MQ client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the MQ client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the MQ client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in MQ.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the MQ client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in MQ.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MskUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MskUriDsl.kt
index ddb2770fd11..ce7d10889a5 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MskUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2MskUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Manage AWS MSK instances.
+ */
 public fun UriDsl.`aws2-msk`(i: Aws2MskUriDsl.() -> Unit) {
   Aws2MskUriDsl(this).apply(i)
 }
@@ -40,111 +43,213 @@ public class Aws2MskUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * The operation to perform
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The region in which the MSK client needs to work. When using this parameter, the configuration
+   * will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing configured AWS MSK client
+   */
   public fun mskClient(mskClient: String) {
     it.property("mskClient", mskClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the MSK client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the MSK client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the MSK client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the MSK client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set whether the Kafka client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the Kafka client should expect to load credentials through a default credentials
+   * provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the MSK client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the MSK client should expect to load credentials through a profile credentials
+   * provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the MSK client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in MSK.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the MSK client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in MSK.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2RedshiftDataUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2RedshiftDataUriDsl.kt
index e5e526f654a..6272b372af3 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2RedshiftDataUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2RedshiftDataUriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Perform operations on AWS Redshift using Redshift Data API.
+ */
 public fun UriDsl.`aws2-redshift-data`(i: Aws2RedshiftDataUriDsl.() -> Unit) {
   Aws2RedshiftDataUriDsl(this).apply(i)
 }
@@ -40,111 +43,215 @@ public class Aws2RedshiftDataUriDsl(
 
   private var label: String = ""
 
+  /**
+   * Logical name
+   */
   public fun label(label: String) {
     this.label = label
     it.url("$label")
   }
 
+  /**
+   * The operation to perform. It can be batchExecuteStatement, cancelStatement, describeStatement,
+   * describeTable, executeStatement, getStatementResult, listDatabases, listSchemas, listStatements or
+   * listTables
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * If using a profile credentials provider, this parameter will set the profile name
+   */
   public fun profileCredentialsName(profileCredentialsName: String) {
     it.property("profileCredentialsName", profileCredentialsName)
   }
 
+  /**
+   * The region in which RedshiftData client needs to work. When using this parameter, the
+   * configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to
+   * use the name Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: String) {
     it.property("trustAllCertificates", trustAllCertificates)
   }
 
+  /**
+   * If we want to trust all certificates in case of overriding the endpoint
+   */
   public fun trustAllCertificates(trustAllCertificates: Boolean) {
     it.property("trustAllCertificates", trustAllCertificates.toString())
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Set whether the RedshiftData client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: String) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider)
   }
 
+  /**
+   * Set whether the RedshiftData client should expect to load credentials through a default
+   * credentials provider or to expect static credentials to be passed in.
+   */
   public fun useDefaultCredentialsProvider(useDefaultCredentialsProvider: Boolean) {
     it.property("useDefaultCredentialsProvider", useDefaultCredentialsProvider.toString())
   }
 
+  /**
+   * Set whether the RedshiftData client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: String) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider)
   }
 
+  /**
+   * Set whether the RedshiftData client should expect to load credentials through a profile
+   * credentials provider.
+   */
   public fun useProfileCredentialsProvider(useProfileCredentialsProvider: Boolean) {
     it.property("useProfileCredentialsProvider", useProfileCredentialsProvider.toString())
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * To use an existing configured AwsRedshiftDataClient client
+   */
   public fun awsRedshiftDataClient(awsRedshiftDataClient: String) {
     it.property("awsRedshiftDataClient", awsRedshiftDataClient)
   }
 
+  /**
+   * To define a proxy host when instantiating the RedshiftData client
+   */
   public fun proxyHost(proxyHost: String) {
     it.property("proxyHost", proxyHost)
   }
 
+  /**
+   * To define a proxy port when instantiating the RedshiftData client
+   */
   public fun proxyPort(proxyPort: String) {
     it.property("proxyPort", proxyPort)
   }
 
+  /**
+   * To define a proxy port when instantiating the RedshiftData client
+   */
   public fun proxyPort(proxyPort: Int) {
     it.property("proxyPort", proxyPort.toString())
   }
 
+  /**
+   * To define a proxy protocol when instantiating the RedshiftData client
+   */
   public fun proxyProtocol(proxyProtocol: String) {
     it.property("proxyProtocol", proxyProtocol)
   }
 
+  /**
+   * Amazon AWS Access Key
+   */
   public fun accessKey(accessKey: String) {
     it.property("accessKey", accessKey)
   }
 
+  /**
+   * Amazon AWS Secret Key
+   */
   public fun secretKey(secretKey: String) {
     it.property("secretKey", secretKey)
   }
 
+  /**
+   * Amazon AWS Session Token used when the user needs to assume an IAM role
+   */
   public fun sessionToken(sessionToken: String) {
     it.property("sessionToken", sessionToken)
   }
 
+  /**
+   * Set whether the Redshift client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in Redshift.
+   */
   public fun useSessionCredentials(useSessionCredentials: String) {
     it.property("useSessionCredentials", useSessionCredentials)
   }
 
+  /**
+   * Set whether the Redshift client should expect to use Session Credentials. This is useful in a
+   * situation in which the user needs to assume an IAM role for doing operations in Redshift.
+   */
   public fun useSessionCredentials(useSessionCredentials: Boolean) {
     it.property("useSessionCredentials", useSessionCredentials.toString())
   }
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2S3UriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2S3UriDsl.kt
index f1f98b559db..97088db15b2 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2S3UriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/Aws2S3UriDsl.kt
@@ -23,6 +23,9 @@ import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
+/**
+ * Store and retrieve objects from AWS S3 Storage Service.
+ */
 public fun UriDsl.`aws2-s3`(i: Aws2S3UriDsl.() -> Unit) {
   Aws2S3UriDsl(this).apply(i)
 }
@@ -40,467 +43,937 @@ public class Aws2S3UriDsl(
 
   private var bucketNameOrArn: String = ""
 
+  /**
+   * Bucket name or ARN
+   */
   public fun bucketNameOrArn(bucketNameOrArn: String) {
     this.bucketNameOrArn = bucketNameOrArn
     it.url("//$bucketNameOrArn")
   }
 
+  /**
+   * Setting the autocreation of the S3 bucket bucketName. This will apply also in case of
+   * moveAfterRead option enabled, and it will create the destinationBucket if it doesn't exist
+   * already.
+   */
   public fun autoCreateBucket(autoCreateBucket: String) {
     it.property("autoCreateBucket", autoCreateBucket)
   }
 
+  /**
+   * Setting the autocreation of the S3 bucket bucketName. This will apply also in case of
+   * moveAfterRead option enabled, and it will create the destinationBucket if it doesn't exist
+   * already.
+   */
   public fun autoCreateBucket(autoCreateBucket: Boolean) {
     it.property("autoCreateBucket", autoCreateBucket.toString())
   }
 
+  /**
+   * The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only
+   * consume objects we are interested in.
+   */
   public fun delimiter(delimiter: String) {
     it.property("delimiter", delimiter)
   }
 
+  /**
+   * Set whether the S3 client should use path-style URL instead of virtual-hosted-style
+   */
   public fun forcePathStyle(forcePathStyle: String) {
     it.property("forcePathStyle", forcePathStyle)
   }
 
+  /**
+   * Set whether the S3 client should use path-style URL instead of virtual-hosted-style
+   */
   public fun forcePathStyle(forcePathStyle: Boolean) {
     it.property("forcePathStyle", forcePathStyle.toString())
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: String) {
     it.property("overrideEndpoint", overrideEndpoint)
   }
 
+  /**
+   * Set the need for overriding the endpoint. This option needs to be used in combination with the
+   * uriEndpointOverride option
+   */
   public fun overrideEndpoint(overrideEndpoint: Boolean) {
     it.property("overrideEndpoint", overrideEndpoint.toString())
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: String) {
     it.property("pojoRequest", pojoRequest)
   }
 
+  /**
+   * If we want to use a POJO request as body or not
+   */
   public fun pojoRequest(pojoRequest: Boolean) {
     it.property("pojoRequest", pojoRequest.toString())
   }
 
+  /**
+   * The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy()
+   * method.
+   */
   public fun policy(policy: String) {
     it.property("policy", policy)
   }
 
+  /**
+   * The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only
+   * consume objects we are interested in.
+   */
   public fun prefix(prefix: String) {
     it.property("prefix", prefix)
   }
 
+  /**
+   * The region in which the S3 client needs to work. When using this parameter, the configuration
+   * will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name
+   * Region.EU_WEST_1.id()
+   */
   public fun region(region: String) {
     it.property("region", region)
   }
 
+  /**
+   * Set the overriding uri endpoint. This option needs to be used in combination with
+   * overrideEndpoint option
+   */
   public fun uriEndpointOverride(uriEndpointOverride: String) {
     it.property("uriEndpointOverride", uriEndpointOverride)
   }
 
+  /**
+   * Define the customer algorithm to use in case CustomerKey is enabled
+   */
   public fun customerAlgorithm(customerAlgorithm: String) {
     it.property("customerAlgorithm", customerAlgorithm)
   }
 
+  /**
+   * Define the id of the Customer key to use in case CustomerKey is enabled
+   */
   public fun customerKeyId(customerKeyId: String) {
     it.property("customerKeyId", customerKeyId)
   }
 
+  /**
+   * Define the MD5 of Customer key to use in case CustomerKey is enabled
+   */
   public fun customerKeyMD5(customerKeyMD5: String) {
     it.property("customerKeyMD5", customerKeyMD5)
   }
 
+  /**
+   * Delete objects from S3 after they have been retrieved. The deleting is only performed if the
+   * Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false,
+   * then the same objects will be retrieved over and over again in the polls. Therefore, you need to
+   * use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the
+   * AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or only the AWS2S3Constants#KEY
+   * header.
+   */
   public fun deleteAfterRead(deleteAfterRead: String) {
     it.property("deleteAfterRead", deleteAfterRead)
   }
 
+  /**
+   * Delete objects from S3 after they have been retrieved. The deleting is only performed if the
+   * Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false,
+   * then the same objects will be retrieved over and over again in the polls. Therefore, you need to
+   * use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the
+   * AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or only the AWS2S3Constants#KEY
+   * header.
+   */
   public fun deleteAfterRead(deleteAfterRead: Boolean) {
     it.property("deleteAfterRead", deleteAfterRead.toString())
   }
 
+  /**
+   * Define the destination bucket where an object must be moved when moveAfterRead is set to true.
+   */
   public fun destinationBucket(destinationBucket: String) {
     it.property("destinationBucket", destinationBucket)
   }
 
+  /**
+   * Define the destination bucket prefix to use when an object must be moved, and moveAfterRead is
+   * set to true.
+   */
   public fun destinationBucketPrefix(destinationBucketPrefix: String) {
     it.property("destinationBucketPrefix", destinationBucketPrefix)
   }
 
+  /**
+   * Define the destination bucket suffix to use when an object must be moved, and moveAfterRead is
+   * set to true.
+   */
   public fun destinationBucketSuffix(destinationBucketSuffix: String) {
     it.property("destinationBucketSuffix", destinationBucketSuffix)
   }
 
+  /**
+   * If provided, Camel will only consume files if a done file exists.
+   */
   public fun doneFileName(doneFileName: String) {
     it.property("doneFileName", doneFileName)
   }
 
+  /**
+   * To get the object from the bucket with the given file name
+   */
   public fun fileName(fileName: String) {
     it.property("fileName", fileName)
   }
 
+  /**
+   * If it is true, the S3 Object Body will be ignored completely if it is set to false, the S3
+   * Object will be put in the body. Setting this to true will override any behavior defined by
+   * includeBody option.
+   */
   public fun ignoreBody(ignoreBody: String) {
     it.property("ignoreBody", ignoreBody)
   }
 
+  /**
+   * If it is true, the S3 Object Body will be ignored completely if it is set to false, the S3
+   * Object will be put in the body. Setting this to true will override any behavior defined by
+   * includeBody option.
+   */
   public fun ignoreBody(ignoreBody: Boolean) {
     it.property("ignoreBody", ignoreBody.toString())
   }
 
+  /**
+   * If it is true, the S3Object exchange will be consumed and put into the body and closed. If
+   * false, the S3Object stream will be put raw into the body and the headers will be set with the S3
+   * object metadata. This option is strongly related to the autocloseBody option. In case of setting
+   * includeBody to true because the S3Object stream will be consumed then it will also be closed,
+   * while in case of includeBody false then it will be up to the caller to close the S3Object stream.
+   * However, setting autocloseBody to true when includeBody is false it will schedule to close the
+   * S3Object stream automatically on exchange completion.
+   */
   public fun includeBody(includeBody: String) {
     it.property("includeBody", includeBody)
   }
 
+  /**
+   * If it is true, the S3Object exchange will be consumed and put into the body and closed. If
+   * false, the S3Object stream will be put raw into the body and the headers will be set with the S3
+   * object metadata. This option is strongly related to the autocloseBody option. In case of setting
+   * includeBody to true because the S3Object stream will be consumed then it will also be closed,
+   * while in case of includeBody false then it will be up to the caller to close the S3Object stream.
+   * However, setting autocloseBody to true when includeBody is false it will schedule to close the
+   * S3Object stream automatically on exchange completion.
+   */
   public fun includeBody(includeBody: Boolean) {
     it.property("includeBody", includeBody.toString())
   }
 
+  /**
+   * If it is true, the folders/directories will be consumed. If it is false, they will be ignored,
+   * and Exchanges will not be created for those
+   */
   public fun includeFolders(includeFolders: String) {
     it.property("includeFolders", includeFolders)
   }
 
+  /**
+   * If it is true, the folders/directories will be consumed. If it is false, they will be ignored,
+   * and Exchanges will not be created for those
+   */
   public fun includeFolders(includeFolders: Boolean) {
     it.property("includeFolders", includeFolders.toString())
   }
 
+  /**
+   * Set the maxConnections parameter in the S3 client configuration
+   */
   public fun maxConnections(maxConnections: String) {
     it.property("maxConnections", maxConnections)
   }
 
+  /**
+   * Set the maxConnections parameter in the S3 client configuration
+   */
   public fun maxConnections(maxConnections: Int) {
     it.property("maxConnections", maxConnections.toString())
   }
 
+  /**
+   * Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number
+   * of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative
+   * number to set it as unlimited.
+   */
   public fun maxMessagesPerPoll(maxMessagesPerPoll: String) {
     it.property("maxMessagesPerPoll", maxMessagesPerPoll)
   }
 
+  /**
+   * Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number
+   * of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative
+   * number to set it as unlimited.
+   */
   public fun maxMessagesPerPoll(maxMessagesPerPoll: Int) {
     it.property("maxMessagesPerPoll", maxMessagesPerPoll.toString())
   }
 
+  /**
+   * Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish
+   * the operation, the destinationBucket option must be set. The copy bucket operation is only
+   * performed if the Exchange is committed. If a rollback occurs, the object is not moved.
+   */
   public fun moveAfterRead(moveAfterRead: String) {
     it.property("moveAfterRead", moveAfterRead)
   }
 
+  /**
+   * Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish
+   * the operation, the destinationBucket option must be set. The copy bucket operation is only
+   * performed if the Exchange is committed. If a rollback occurs, the object is not moved.
+   */
   public fun moveAfterRead(moveAfterRead: Boolean) {
     it.property("moveAfterRead", moveAfterRead.toString())
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: String) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle)
   }
 
+  /**
+   * If the polling consumer did not poll any files, you can enable this option to send an empty
+   * message (no body) instead.
+   */
   public fun sendEmptyMessageWhenIdle(sendEmptyMessageWhenIdle: Boolean) {
     it.property("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle.toString())
   }
 
+  /**
+   * If this option is true and includeBody is false, then the S3Object.close() method will be
+   * called on exchange completion. This option is strongly related to includeBody option. In case of
+   * setting includeBody to false and autocloseBody to false, it will be up to the caller to close the
+   * S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically.
+   */
   public fun autocloseBody(autocloseBody: String) {
     it.property("autocloseBody", autocloseBody)
   }
 
+  /**
+   * If this option is true and includeBody is false, then the S3Object.close() method will be
+   * called on exchange completion. This option is strongly related to includeBody option. In case of
+   * setting includeBody to false and autocloseBody to false, it will be up to the caller to close the
+   * S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically.
+   */
   public fun autocloseBody(autocloseBody: Boolean) {
     it.property("autocloseBody", autocloseBody.toString())
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: String) {
     it.property("bridgeErrorHandler", bridgeErrorHandler)
   }
 
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
   public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
     it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
   }
 
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
   public fun exceptionHandler(exceptionHandler: String) {
     it.property("exceptionHandler", exceptionHandler)
   }
 
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
   public fun exchangePattern(exchangePattern: String) {
     it.property("exchangePattern", exchangePattern)
   }
 
+  /**
+   * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom
+   * implementation to control error handling usually occurred during the poll operation before an
+   * Exchange have been created and being routed in Camel.
+   */
   public fun pollStrategy(pollStrategy: String) {
     it.property("pollStrategy", pollStrategy)
   }
 
+  /**
+   * The number of messages composing a batch in streaming upload mode
+   */
   public fun batchMessageNumber(batchMessageNumber: String) {
     it.property("batchMessageNumber", batchMessageNumber)
   }
 
+  /**
+   * The number of messages composing a batch in streaming upload mode
+   */
   public fun batchMessageNumber(batchMessageNumber: Int) {
     it.property("batchMessageNumber", batchMessageNumber.toString())
   }
 
+  /**
+   * The batch size (in bytes) in streaming upload mode
+   */
   public fun batchSize(batchSize: String) {
     it.property("batchSize", batchSize)
   }
 
+  /**
+   * The batch size (in bytes) in streaming upload mode
+   */
   public fun batchSize(batchSize: Int) {
     it.property("batchSize", batchSize.toString())
   }
 
+  /**
+   * The buffer size (in bytes) in streaming upload mode
+   */
   public fun bufferSize(bufferSize: String) {
     it.property("bufferSize", bufferSize)
   }
 
+  /**
+   * The buffer size (in bytes) in streaming upload mode
+   */
   public fun bufferSize(bufferSize: Int) {
     it.property("bufferSize", bufferSize.toString())
   }
 
+  /**
+   * Delete file object after the S3 file has been uploaded
+   */
   public fun deleteAfterWrite(deleteAfterWrite: String) {
     it.property("deleteAfterWrite", deleteAfterWrite)
   }
 
+  /**
+   * Delete file object after the S3 file has been uploaded
+   */
   public fun deleteAfterWrite(deleteAfterWrite: Boolean) {
     it.property("deleteAfterWrite", deleteAfterWrite.toString())
   }
 
+  /**
+   * Setting the key name for an element in the bucket through endpoint parameter
+   */
   public fun keyName(keyName: String) {
     it.property("keyName", keyName)
   }
 
+  /**
+   * If it is true, camel will upload the file with multipart format. The part size is decided by
+   * the partSize option. Camel will only do multipart uploads for files that are larger than the
+   * part-size thresholds. Files that are smaller will be uploaded in a single operation.
+   */
   public fun multiPartUpload(multiPartUpload: String) {
     it.property("multiPartUpload", multiPartUpload)
   }
 
+  /**
+   * If it is true, camel will upload the file with multipart format. The part size is decided by
+   * the partSize option. Camel will only do multipart uploads for files that are larger than the
+   * part-size thresholds. Files that are smaller will be uploaded in a single operation.
+   */
   public fun multiPartUpload(multiPartUpload: Boolean) {
     it.property("multiPartUpload", multiPartUpload.toString())
   }
 
+  /**
+   * The naming strategy to use in streaming upload mode
+   */
   public fun namingStrategy(namingStrategy: String) {
     it.property("namingStrategy", namingStrategy)
   }
 
+  /**
+   * The operation to do in case the user don't want to do only an upload
+   */
   public fun operation(operation: String) {
     it.property("operation", operation)
   }
 
+  /**
+   * Set up the partSize which is used in multipart upload, the default size is 25M. Camel will only
+   * do multipart uploads for files that are larger than the part-size thresholds. Files that are
+   * smaller will be uploaded in a single operation.
+   */
   public fun partSize(partSize: String) {
     it.property("partSize", partSize)
   }
 
+  /**
+   * Set up the partSize which is used in multipart upload, the default size is 25M. Camel will only
+   * do multipart uploads for files that are larger than the part-size thresholds. Files that are
+   * smaller will be uploaded in a single operation.
+   */
   public fun partSize(partSize: Int) {
     it.property("partSize", partSize.toString())
   }
 
+  /**
+   * The restarting policy to use in streaming upload mode
+   */
   public fun restartingPolicy(restartingPolicy: String) {
     it.property("restartingPolicy", restartingPolicy)
   }
 
+  /**
+   * The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request.
+   */
   public fun storageClass(storageClass: String) {
     it.property("storageClass", storageClass)
   }
 
+  /**
+   * When stream mode is true, the upload to bucket will be done in streaming
+   */
   public fun streamingUploadMode(streamingUploadMode: String) {
     it.property("streamingUploadMode", streamingUploadMode)
   }
 
+  /**
+   * When stream mode is true, the upload to bucket will be done in streaming
+   */
   public fun streamingUploadMode(streamingUploadMode: Boolean) {
     it.property("streamingUploadMode", streamingUploadMode.toString())
   }
 
+  /**
+   * While streaming upload mode is true, this option set the timeout to complete upload
+   */
   public fun streamingUploadTimeout(streamingUploadTimeout: String) {
     it.property("streamingUploadTimeout", streamingUploadTimeout)
   }
 
+  /**
+   * While streaming upload mode is true, this option set the timeout to complete upload
+   */
   public fun streamingUploadTimeout(streamingUploadTimeout: Int) {
     it.property("streamingUploadTimeout", streamingUploadTimeout.toString())
   }
 
+  /**
+   * Define the id of KMS key to use in case KMS is enabled
+   */
   public fun awsKMSKeyId(awsKMSKeyId: String) {
     it.property("awsKMSKeyId", awsKMSKeyId)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: String) {
     it.property("lazyStartProducer", lazyStartProducer)
   }
 
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
   public fun lazyStartProducer(lazyStartProducer: Boolean) {
     it.property("lazyStartProducer", lazyStartProducer.toString())
   }
 
+  /**
+   * Define if KMS must be used or not
... 100870 lines suppressed ...