You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zr...@apache.org on 2021/09/19 20:42:44 UTC

[camel] 03/03: Regenerate

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

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

commit 80c740822d3a6bb6c7c441805490d374d0286fbb
Author: Zoran Regvart <zo...@regvart.com>
AuthorDate: Fri Sep 17 16:33:29 2021 +0200

    Regenerate
---
 .../src/main/docs/activemq-component.adoc          |  270 +-
 .../src/main/docs/ahc-ws-component.adoc            |  101 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |   93 +-
 .../camel-amqp/src/main/docs/amqp-component.adoc   |  266 +-
 .../src/main/docs/any23-dataformat.adoc            |   16 +-
 .../src/main/docs/arangodb-component.adoc          |   93 +-
 .../src/main/docs/as2-component.adoc               |  244 +-
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |   14 +-
 .../src/main/docs/asterisk-component.adoc          |   82 +-
 .../src/main/docs/atlasmap-component.adoc          |   81 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |   91 +-
 .../main/docs/atmosphere-websocket-component.adoc  |  110 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |  102 +-
 .../src/main/docs/atomix-map-component.adoc        |  107 +-
 .../src/main/docs/atomix-messaging-component.adoc  |  109 +-
 .../src/main/docs/atomix-multimap-component.adoc   |  103 +-
 .../src/main/docs/atomix-queue-component.adoc      |  103 +-
 .../src/main/docs/atomix-set-component.adoc        |  105 +-
 .../src/main/docs/atomix-value-component.adoc      |  105 +-
 .../src/main/docs/attachments.adoc                 |    3 +-
 .../src/main/docs/avro-component.adoc              |   94 +-
 .../camel-avro/src/main/docs/avro-dataformat.adoc  |   13 +-
 .../main/docs/aws-secrets-manager-component.adoc   |  103 +-
 .../camel-aws-xray/src/main/docs/aws-xray.adoc     |    3 +-
 .../src/main/docs/aws2-athena-component.adoc       |  131 +-
 .../src/main/docs/aws2-cw-component.adoc           |  105 +-
 .../src/main/docs/aws2-ddb-component.adoc          |  113 +-
 .../src/main/docs/aws2-ddbstream-component.adoc    |  123 +-
 .../src/main/docs/aws2-ec2-component.adoc          |  101 +-
 .../src/main/docs/aws2-ecs-component.adoc          |  101 +-
 .../src/main/docs/aws2-eks-component.adoc          |  101 +-
 .../src/main/docs/aws2-eventbridge-component.adoc  |  103 +-
 .../src/main/docs/aws2-iam-component.adoc          |  101 +-
 .../src/main/docs/aws2-kinesis-component.adoc      |  131 +-
 .../main/docs/aws2-kinesis-firehose-component.adoc |  101 +-
 .../src/main/docs/aws2-kms-component.adoc          |  101 +-
 .../src/main/docs/aws2-lambda-component.adoc       |  101 +-
 .../src/main/docs/aws2-mq-component.adoc           |  101 +-
 .../src/main/docs/aws2-msk-component.adoc          |  101 +-
 .../src/main/docs/aws2-s3-component.adoc           |  191 +-
 .../src/main/docs/aws2-ses-component.adoc          |  105 +-
 .../src/main/docs/aws2-sns-component.adoc          |  120 +-
 .../src/main/docs/aws2-sqs-component.adoc          |  177 +-
 .../src/main/docs/aws2-sts-component.adoc          |  101 +-
 .../src/main/docs/aws2-translate-component.adoc    |  109 +-
 .../src/main/docs/azure-cosmosdb-component.adoc    |  130 +-
 .../src/main/docs/azure-eventhubs-component.adoc   |  112 +-
 .../src/main/docs/azure-servicebus-component.adoc  |  117 +-
 .../main/docs/azure-storage-blob-component.adoc    |  149 +-
 .../docs/azure-storage-datalake-component.adoc     |  155 +-
 .../main/docs/azure-storage-queue-component.adoc   |  118 +-
 .../src/main/docs/barcode-dataformat.adoc          |   16 +-
 .../src/main/docs/base64-dataformat.adoc           |   15 +-
 .../src/main/docs/bean-validator-component.adoc    |   87 +-
 .../camel-bean/src/main/docs/bean-component.adoc   |   80 +-
 .../camel-bean/src/main/docs/bean-language.adoc    |   15 +-
 .../camel-bean/src/main/docs/class-component.adoc  |   80 +-
 .../src/main/docs/beanio-dataformat.adoc           |   20 +-
 .../src/main/docs/beanstalk-component.adoc         |  104 +-
 .../src/main/docs/bindy-dataformat.adoc            |    1 +
 .../src/main/docs/bonita-component.adoc            |   79 +-
 .../src/main/docs/box-component.adoc               |  984 +----
 .../src/main/docs/braintree-component.adoc         | 1059 +-----
 .../src/main/docs/browse-component.adoc            |   78 +-
 .../src/main/docs/caffeine-lrucache.adoc           |    3 +-
 .../src/main/docs/caffeine-cache-component.adoc    |  103 +-
 .../main/docs/caffeine-loadcache-component.adoc    |  103 +-
 .../src/main/docs/cql-component.adoc               |  109 +-
 .../camel-cbor/src/main/docs/cbor-dataformat.adoc  |   22 +-
 components/camel-cdi/src/main/docs/cdi.adoc        |    3 +-
 .../src/main/docs/chatscript-component.adoc        |   78 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |   84 +-
 .../src/main/docs/cm-sms-component.adoc            |   78 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   88 +-
 .../camel-coap/src/main/docs/coap-component.adoc   |   88 +-
 .../src/main/docs/cometd-component.adoc            |  101 +-
 .../src/main/docs/consul-component.adoc            |  128 +-
 .../src/main/docs/controlbus-component.adoc        |   80 +-
 .../camel-corda/src/main/docs/corda-component.adoc |   99 +-
 .../src/main/docs/couchbase-component.adoc         |  123 +-
 .../src/main/docs/couchdb-component.adoc           |   89 +-
 .../camel-cron/src/main/docs/cron-component.adoc   |   78 +-
 .../src/main/docs/crypto-component.adoc            |  114 +-
 .../src/main/docs/crypto-dataformat.adoc           |   21 +-
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc |   26 +-
 .../src/main/docs/csimple-joor.adoc                |    3 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc    |   41 +-
 .../src/main/docs/cxf-transport.adoc               |    3 +-
 .../camel-cxf/src/main/docs/cxf-component.adoc     |  113 +-
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |  108 +-
 .../src/main/docs/dataformat-component.adoc        |   75 +-
 .../src/main/docs/dataset-component.adoc           |   97 +-
 .../src/main/docs/dataset-test-component.adoc      |   91 +-
 .../src/main/docs/datasonnet-language.adoc         |   14 +-
 .../src/main/docs/debezium-mongodb-component.adoc  |  187 +-
 .../src/main/docs/debezium-mysql-component.adoc    |  255 +-
 .../src/main/docs/debezium-postgres-component.adoc |  249 +-
 .../main/docs/debezium-sqlserver-component.adoc    |  217 +-
 .../src/main/docs/digitalocean-component.adoc      |   83 +-
 .../src/main/docs/direct-component.adoc            |   84 +-
 .../src/main/docs/direct-vm-component.adoc         |   87 +-
 .../src/main/docs/disruptor-component.adoc         |   92 +-
 .../camel-djl/src/main/docs/djl-component.adoc     |   77 +-
 .../camel-dns/src/main/docs/dns-component.adoc     |   74 +-
 .../src/main/docs/docker-component.adoc            |  115 +-
 .../camel-dozer/src/main/docs/dozer-component.adoc |   80 +-
 .../camel-drill/src/main/docs/drill-component.adoc |   78 +-
 .../src/main/docs/dropbox-component.adoc           |   86 +-
 .../src/main/docs/ehcache-component.adoc           |  106 +-
 .../main/docs/elasticsearch-rest-component.adoc    |  101 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |  126 +-
 .../camel-elytron/src/main/docs/elytron.adoc       |    3 +-
 .../src/main/docs/etcd-keys-component.adoc         |   92 +-
 .../src/main/docs/etcd-stats-component.adoc        |  116 +-
 .../src/main/docs/etcd-watch-component.adoc        |   96 +-
 components/camel-etcd3/src/main/docs/etcd3.adoc    |    3 +-
 .../camel-exec/src/main/docs/exec-component.adoc   |   82 +-
 .../src/main/docs/facebook-component.adoc          |  206 +-
 .../src/main/docs/json-fastjson-dataformat.adoc    |   14 +-
 .../src/main/docs/fhir-component.adoc              | 1023 +-----
 .../src/main/docs/fhirJson-dataformat.adoc         |   25 +-
 .../src/main/docs/fhirXml-dataformat.adoc          |   25 +-
 .../src/main/docs/file-watch-component.adoc        |   90 +-
 .../camel-file/src/main/docs/file-component.adoc   |  167 +-
 .../src/main/docs/flatpack-component.adoc          |  103 +-
 .../src/main/docs/flatpack-dataformat.adoc         |   20 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   82 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   76 +-
 .../src/main/docs/freemarker-component.adoc        |   84 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |  189 +-
 .../camel-ftp/src/main/docs/ftps-component.adoc    |  196 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |  199 +-
 .../src/main/docs/ganglia-component.adoc           |  100 +-
 .../src/main/docs/geocoder-component.adoc          |   90 +-
 .../camel-git/src/main/docs/git-component.adoc     |   87 +-
 .../src/main/docs/github-component.adoc            |  104 +-
 .../src/main/docs/google-bigquery-component.adoc   |   81 +-
 .../main/docs/google-bigquery-sql-component.adoc   |   78 +-
 .../src/main/docs/google-calendar-component.adoc   |  619 +---
 .../docs/google-calendar-stream-component.adoc     |  124 +-
 .../src/main/docs/google-drive-component.adoc      |  963 +----
 .../src/main/docs/google-functions-component.adoc  |   80 +-
 .../src/main/docs/google-mail-component.adoc       |  637 +---
 .../main/docs/google-mail-stream-component.adoc    |  112 +-
 .../src/main/docs/google-pubsub-component.adoc     |   95 +-
 .../src/main/docs/google-sheets-component.adoc     |  292 +-
 .../main/docs/google-sheets-stream-component.adoc  |  118 +-
 .../src/main/docs/google-storage-component.adoc    |  121 +-
 .../camel-gora/src/main/docs/gora-component.adoc   |   97 +-
 .../camel-grape/src/main/docs/grape-component.adoc |   75 +-
 .../src/main/docs/graphql-component.adoc           |   85 +-
 .../camel-grok/src/main/docs/grok-dataformat.adoc  |   16 +-
 .../src/main/docs/groovy-language.adoc             |   11 +-
 .../camel-grpc/src/main/docs/grpc-component.adoc   |  106 +-
 .../src/main/docs/json-gson-dataformat.adoc        |   15 +-
 .../src/main/docs/guava-eventbus-component.adoc    |   82 +-
 .../main/docs/hazelcast-atomicvalue-component.adoc |   79 +-
 .../main/docs/hazelcast-instance-component.adoc    |   81 +-
 .../src/main/docs/hazelcast-list-component.adoc    |   83 +-
 .../src/main/docs/hazelcast-map-component.adoc     |   83 +-
 .../main/docs/hazelcast-multimap-component.adoc    |   83 +-
 .../src/main/docs/hazelcast-queue-component.adoc   |   86 +-
 .../docs/hazelcast-replicatedmap-component.adoc    |   83 +-
 .../main/docs/hazelcast-ringbuffer-component.adoc  |   79 +-
 .../src/main/docs/hazelcast-seda-component.adoc    |   88 +-
 .../src/main/docs/hazelcast-set-component.adoc     |   83 +-
 .../src/main/docs/hazelcast-topic-component.adoc   |   84 +-
 .../camel-hbase/src/main/docs/hbase-component.adoc |   92 +-
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |  125 +-
 .../camel-headersmap/src/main/docs/headersmap.adoc |    3 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    |   13 +-
 .../src/main/docs/hl7terser-language.adoc          |   11 +-
 .../camel-http/src/main/docs/http-component.adoc   |  161 +-
 .../src/main/docs/hwcloud-dms-component.adoc       |  102 +-
 .../main/docs/hwcloud-functiongraph-component.adoc |   87 +-
 .../src/main/docs/hwcloud-iam-component.adoc       |   85 +-
 .../src/main/docs/hwcloud-obs-component.adoc       |  114 +-
 .../src/main/docs/hwcloud-smn-component.adoc       |   87 +-
 .../camel-hystrix/src/main/docs/hystrix.adoc       |    3 +-
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |   13 +-
 .../src/main/docs/iec60870-client-component.adoc   |   95 +-
 .../src/main/docs/iec60870-server-component.adoc   |   96 +-
 .../src/main/docs/ignite-cache-component.adoc      |   93 +-
 .../src/main/docs/ignite-compute-component.adoc    |   84 +-
 .../src/main/docs/ignite-events-component.adoc     |   83 +-
 .../src/main/docs/ignite-idgen-component.adoc      |   82 +-
 .../src/main/docs/ignite-messaging-component.adoc  |   86 +-
 .../src/main/docs/ignite-queue-component.adoc      |   83 +-
 .../src/main/docs/ignite-set-component.adoc        |   81 +-
 .../main/docs/infinispan-embedded-component.adoc   |  111 +-
 .../src/main/docs/infinispan-component.adoc        |  123 +-
 .../src/main/docs/influxdb-component.adoc          |   82 +-
 .../camel-iota/src/main/docs/iota-component.adoc   |   80 +-
 .../camel-ipfs/src/main/docs/ipfs-component.adoc   |   77 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |  105 +-
 .../src/main/docs/ironmq-component.adoc            |  107 +-
 .../src/main/docs/avro-jackson-dataformat.adoc     |   30 +-
 .../src/main/docs/protobuf-jackson-dataformat.adoc |   30 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |   31 +-
 .../src/main/docs/jacksonxml-dataformat.adoc       |   27 +-
 components/camel-jasypt/src/main/docs/jasypt.adoc  |    3 +-
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |   31 +-
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |  106 +-
 .../src/main/docs/jcache-component.adoc            |  102 +-
 .../src/main/docs/jclouds-component.adoc           |   92 +-
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   89 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |   89 +-
 .../camel-jetty/src/main/docs/jetty-component.adoc |  137 +-
 components/camel-jfr/src/main/docs/jfr.adoc        |    3 +-
 .../src/main/docs/jgroups-raft-component.adoc      |   83 +-
 .../src/main/docs/jgroups-component.adoc           |   83 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |   75 +-
 .../camel-jira/src/main/docs/jira-component.adoc   |   99 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |  267 +-
 .../camel-jmx/src/main/docs/jmx-component.adoc     |  102 +-
 .../src/main/docs/json-johnzon-dataformat.adoc     |   15 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   82 +-
 .../camel-jooq/src/main/docs/jooq-component.adoc   |  103 +-
 .../camel-joor/src/main/docs/joor-language.adoc    |   14 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc     |  124 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |  101 +-
 .../camel-jslt/src/main/docs/jslt-component.adoc   |   83 +-
 .../src/main/docs/json-patch-component.adoc        |   76 +-
 .../src/main/docs/json-validator-component.adoc    |   81 +-
 .../src/main/docs/jsonApi-dataformat.adoc          |   14 +-
 .../src/main/docs/jsonata-component.adoc           |   78 +-
 .../src/main/docs/json-jsonb-dataformat.adoc       |   15 +-
 .../src/main/docs/jsonpath-language.adoc           |   18 +-
 .../camel-jt400/src/main/docs/jt400-component.adoc |  112 +-
 components/camel-jta/src/main/docs/jta.adoc        |    3 +-
 .../camel-kafka/src/main/docs/kafka-component.adoc |  275 +-
 .../src/main/docs/kamelet-reify-component.adoc     |   78 +-
 .../src/main/docs/kamelet-component.adoc           |   89 +-
 .../docs/kubernetes-config-maps-component.adoc     |   95 +-
 .../kubernetes-custom-resources-component.adoc     |  107 +-
 .../docs/kubernetes-deployments-component.adoc     |  109 +-
 .../src/main/docs/kubernetes-hpa-component.adoc    |  109 +-
 .../src/main/docs/kubernetes-job-component.adoc    |  109 +-
 .../main/docs/kubernetes-namespaces-component.adoc |  109 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |  109 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   95 +-
 .../kubernetes-persistent-volumes-component.adoc   |   95 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |  109 +-
 ...bernetes-replication-controllers-component.adoc |  109 +-
 .../docs/kubernetes-resources-quota-component.adoc |   95 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   95 +-
 .../kubernetes-service-accounts-component.adoc     |   95 +-
 .../main/docs/kubernetes-services-component.adoc   |  109 +-
 .../docs/openshift-build-configs-component.adoc    |   95 +-
 .../src/main/docs/openshift-builds-component.adoc  |   95 +-
 .../camel-kudu/src/main/docs/kudu-component.adoc   |   77 +-
 .../src/main/docs/language-component.adoc          |   81 +-
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   78 +-
 .../camel-ldif/src/main/docs/ldif-component.adoc   |   74 +-
 .../src/main/docs/leveldb-legacy.adoc              |    3 +-
 .../camel-leveldb/src/main/docs/leveldb.adoc       |    3 +-
 .../camel-log/src/main/docs/log-component.adoc     |  101 +-
 components/camel-lra/src/main/docs/lra.adoc        |    3 +-
 .../src/main/docs/lucene-component.adoc            |   84 +-
 .../src/main/docs/lumberjack-component.adoc        |   80 +-
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc    |   13 +-
 .../camel-mail/src/main/docs/mail-component.adoc   |  181 +-
 .../src/main/docs/mime-multipart-dataformat.adoc   |   17 +-
 .../src/main/docs/master-component.adoc            |   79 +-
 .../src/main/docs/metrics-component.adoc           |   82 +-
 .../src/main/docs/micrometer-component.adoc        |   81 +-
 .../src/main/docs/microprofile-config.adoc         |    3 +-
 .../main/docs/microprofile-fault-tolerance.adoc    |    3 +-
 .../src/main/docs/microprofile-health.adoc         |    3 +-
 .../main/docs/microprofile-metrics-component.adoc  |   87 +-
 .../src/main/docs/milo-client-component.adoc       |  128 +-
 .../src/main/docs/milo-server-component.adoc       |   95 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |  130 +-
 .../camel-minio/src/main/docs/minio-component.adoc |  183 +-
 .../camel-mllp/src/main/docs/mllp-component.adoc   |  105 +-
 .../camel-mock/src/main/docs/mock-component.adoc   |   87 +-
 .../src/main/docs/mongodb-gridfs-component.adoc    |   90 +-
 .../src/main/docs/mongodb-component.adoc           |  104 +-
 .../camel-msv/src/main/docs/msv-component.adoc     |   85 +-
 .../src/main/docs/mustache-component.adoc          |   83 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |   80 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |   11 +-
 .../src/main/docs/mybatis-bean-component.adoc      |   80 +-
 .../src/main/docs/mybatis-component.adoc           |  108 +-
 .../src/main/docs/nagios-component.adoc            |   85 +-
 .../camel-nats/src/main/docs/nats-component.adoc   |  107 +-
 .../src/main/docs/netty-http-component.adoc        |  232 +-
 .../camel-netty/src/main/docs/netty-component.adoc |  217 +-
 .../src/main/docs/nitrite-component.adoc           |   83 +-
 .../camel-nsq/src/main/docs/nsq-component.adoc     |   93 +-
 .../src/main/docs/oaipmh-component.adoc            |  105 +-
 .../camel-ognl/src/main/docs/ognl-language.adoc    |   11 +-
 .../src/main/docs/olingo2-component.adoc           |  251 +-
 .../src/main/docs/olingo4-component.adoc           |  255 +-
 .../src/main/docs/openapi-java.adoc                |    3 +-
 .../src/main/docs/openstack-cinder-component.adoc  |   82 +-
 .../src/main/docs/openstack-glance-component.adoc  |   81 +-
 .../main/docs/openstack-keystone-component.adoc    |   81 +-
 .../src/main/docs/openstack-neutron-component.adoc |   82 +-
 .../src/main/docs/openstack-nova-component.adoc    |   82 +-
 .../src/main/docs/openstack-swift-component.adoc   |   82 +-
 .../src/main/docs/opentelemetry.adoc               |    3 +-
 .../src/main/docs/opentracing.adoc                 |    3 +-
 .../src/main/docs/optaplanner-component.adoc       |   83 +-
 .../src/main/docs/paho-mqtt5-component.adoc        |  135 +-
 .../camel-paho/src/main/docs/paho-component.adoc   |  133 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   82 +-
 .../main/docs/pg-replication-slot-component.adoc   |  101 +-
 .../src/main/docs/pgevent-component.adoc           |   84 +-
 .../src/main/docs/platform-http-vertx.adoc         |    3 +-
 .../src/main/docs/platform-http-component.adoc     |   84 +-
 .../camel-printer/src/main/docs/lpr-component.adoc |   86 +-
 .../src/main/docs/protobuf-dataformat.adoc         |   15 +-
 .../src/main/docs/pubnub-component.adoc            |   98 +-
 .../src/main/docs/pulsar-component.adoc            |  153 +-
 .../src/main/docs/quartz-component.adoc            |  103 +-
 .../src/main/docs/quickfix-component.adoc          |   84 +-
 .../src/main/docs/rabbitmq-component.adoc          |  193 +-
 .../src/main/docs/reactive-executor-vertx.adoc     |    3 +-
 .../src/main/docs/reactive-streams-component.adoc  |   90 +-
 .../camel-reactor/src/main/docs/reactor.adoc       |    3 +-
 components/camel-redis/src/main/docs/redis.adoc    |    3 +-
 .../camel-ref/src/main/docs/ref-component.adoc     |   78 +-
 .../src/main/docs/resilience4j.adoc                |    3 +-
 .../src/main/docs/resourceresolver-github.adoc     |    3 +-
 .../src/main/docs/rest-openapi-component.adoc      |   88 +-
 .../src/main/docs/rest-swagger-component.adoc      |   89 +-
 .../src/main/docs/rest-api-component.adoc          |   79 +-
 .../camel-rest/src/main/docs/rest-component.adoc   |   97 +-
 .../src/main/docs/resteasy-component.adoc          |  133 +-
 components/camel-ribbon/src/main/docs/ribbon.adoc  |    3 +-
 .../src/main/docs/robotframework-component.adoc    |  190 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |  100 +-
 .../camel-rss/src/main/docs/rss-dataformat.adoc    |    5 +-
 components/camel-rxjava/src/main/docs/rxjava.adoc  |    3 +-
 .../camel-saga/src/main/docs/saga-component.adoc   |   74 +-
 .../src/main/docs/salesforce-component.adoc        |  213 +-
 .../src/main/docs/sap-netweaver-component.adoc     |   79 +-
 .../src/main/docs/xquery-component.adoc            |  111 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |   14 +-
 .../src/main/docs/scheduler-component.adoc         |   95 +-
 .../src/main/docs/schematron-component.adoc        |   77 +-
 .../camel-seda/src/main/docs/seda-component.adoc   |   98 +-
 .../src/main/docs/service-component.adoc           |   78 +-
 .../src/main/docs/servicenow-component.adoc        |  163 +-
 .../src/main/docs/servlet-component.adoc           |  105 +-
 components/camel-shiro/src/main/docs/shiro.adoc    |    3 +-
 .../camel-sip/src/main/docs/sip-component.adoc     |  120 +-
 .../camel-sjms/src/main/docs/sjms-component.adoc   |  127 +-
 .../camel-sjms2/src/main/docs/sjms2-component.adoc |  130 +-
 .../camel-slack/src/main/docs/slack-component.adoc |  107 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |  156 +-
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |   24 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |  113 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |   18 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |   94 +-
 .../src/main/docs/soroush-component.adoc           |   95 +-
 .../camel-spark/src/main/docs/spark-component.adoc |   81 +-
 .../src/main/docs/splunk-hec-component.adoc        |   84 +-
 .../src/main/docs/splunk-component.adoc            |  121 +-
 .../src/main/docs/spring-batch-component.adoc      |   79 +-
 .../main/docs/spring-integration-component.adoc    |   81 +-
 .../src/main/docs/spring-javaconfig.adoc           |    3 +-
 .../src/main/docs/spring-jdbc-component.adoc       |   89 +-
 .../src/main/docs/spring-ldap-component.adoc       |   76 +-
 .../src/main/docs/spring-main.adoc                 |    3 +-
 .../src/main/docs/spring-rabbitmq-component.adoc   |  134 +-
 .../src/main/docs/spring-redis-component.adoc      |   86 +-
 .../src/main/docs/spring-security.adoc             |    3 +-
 .../src/main/docs/spring-ws-component.adoc         |  101 +-
 .../camel-spring-xml/src/main/docs/spring-xml.adoc |    3 +-
 .../camel-spring/src/main/docs/spel-language.adoc  |   11 +-
 .../src/main/docs/spring-event-component.adoc      |   78 +-
 .../camel-sql/src/main/docs/sql-component.adoc     |  121 +-
 .../src/main/docs/sql-stored-component.adoc        |   82 +-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |  124 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |   74 +-
 .../src/main/docs/stitch-component.adoc            |   89 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |   96 +-
 .../src/main/docs/stream-component.adoc            |   93 +-
 .../src/main/docs/string-template-component.adoc   |   81 +-
 .../camel-stub/src/main/docs/stub-component.adoc   |   98 +-
 .../src/main/docs/swagger-java.adoc                |    3 +-
 .../src/main/docs/syslog-dataformat.adoc           |    5 +-
 .../src/main/docs/tidyMarkup-dataformat.adoc       |   14 +-
 .../src/main/docs/tarfile-dataformat.adoc          |   16 +-
 .../src/main/docs/telegram-component.adoc          |  110 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |    3 +-
 .../src/main/docs/test-junit5.adoc                 |    3 +-
 .../src/main/docs/test-spring-junit5.adoc          |    3 +-
 .../src/main/docs/test-spring.adoc                 |    3 +-
 .../camel-test/camel-test/src/main/docs/test.adoc  |    3 +-
 .../src/main/docs/testcontainers-junit5.adoc       |    3 +-
 .../main/docs/testcontainers-spring-junit5.adoc    |    3 +-
 .../src/main/docs/testcontainers-spring.adoc       |    3 +-
 .../src/main/docs/testcontainers.adoc              |    3 +-
 .../src/main/docs/threadpoolfactory-vertx.adoc     |    3 +-
 .../src/main/docs/thrift-component.adoc            |   90 +-
 .../src/main/docs/thrift-dataformat.adoc           |   15 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   78 +-
 .../camel-timer/src/main/docs/timer-component.adoc |   86 +-
 .../camel-tracing/src/main/docs/tracing.adoc       |    3 +-
 .../src/main/docs/twilio-component.adoc            | 3858 +-------------------
 .../main/docs/twitter-directmessage-component.adoc |  124 +-
 .../src/main/docs/twitter-search-component.adoc    |  124 +-
 .../src/main/docs/twitter-timeline-component.adoc  |  126 +-
 .../src/main/docs/undertow-spring-security.adoc    |    3 +-
 .../src/main/docs/undertow-component.adoc          |  111 +-
 .../src/main/docs/univocity-csv-dataformat.adoc    |   29 +-
 .../src/main/docs/univocity-fixed-dataformat.adoc  |   28 +-
 .../src/main/docs/univocity-tsv-dataformat.adoc    |   26 +-
 .../src/main/docs/validator-component.adoc         |   84 +-
 .../src/main/docs/velocity-component.adoc          |   83 +-
 .../src/main/docs/vertx-http-component.adoc        |  112 +-
 .../src/main/docs/vertx-kafka-component.adoc       |  279 +-
 .../src/main/docs/vertx-websocket-component.adoc   |   91 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   85 +-
 .../camel-vm/src/main/docs/vm-component.adoc       |   98 +-
 .../src/main/docs/weather-component.adoc           |  116 +-
 .../camel-web3j/src/main/docs/web3j-component.adoc |  147 +-
 .../src/main/docs/webhook-component.adoc           |   87 +-
 .../src/main/docs/websocket-jsr356-component.adoc  |   80 +-
 .../src/main/docs/websocket-component.adoc         |  108 +-
 .../camel-weka/src/main/docs/weka-component.adoc   |   83 +-
 .../src/main/docs/wordpress-component.adoc         |   96 +-
 .../src/main/docs/workday-component.adoc           |   82 +-
 .../src/main/docs/xchange-component.adoc           |   78 +-
 .../camel-xj/src/main/docs/xj-component.adoc       |   98 +-
 .../src/main/docs/secureXML-dataformat.adoc        |   24 +-
 .../src/main/docs/xmlsecurity-sign-component.adoc  |  127 +-
 .../main/docs/xmlsecurity-verify-component.adoc    |  107 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   97 +-
 .../camel-xpath/src/main/docs/xpath-language.adoc  |   20 +-
 .../src/main/docs/xslt-saxon-component.adoc        |   97 +-
 .../camel-xslt/src/main/docs/xslt-component.adoc   |   91 +-
 .../src/main/docs/json-xstream-dataformat.adoc     |   15 +-
 .../src/main/docs/xstream-dataformat.adoc          |   20 +-
 .../src/main/docs/yammer-component.adoc            |  116 +-
 .../src/main/docs/zendesk-component.adoc           | 1380 +------
 .../src/main/docs/gzipdeflater-dataformat.adoc     |    5 +-
 .../src/main/docs/zipdeflater-dataformat.adoc      |   13 +-
 .../src/main/docs/zipfile-dataformat.adoc          |   16 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |    3 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   83 +-
 .../src/main/docs/zookeeper-component.adoc         |   94 +-
 .../docs/modules/eips/examples/json/aggregate.json |    1 +
 .../modules/eips/examples/json/batch-config.json   |    1 +
 .../main/docs/modules/eips/examples/json/bean.json |    1 +
 .../docs/modules/eips/examples/json/choice.json    |    1 +
 .../modules/eips/examples/json/circuitBreaker.json |    1 +
 .../modules/eips/examples/json/claimCheck.json     |    1 +
 .../modules/eips/examples/json/convertBodyTo.json  |    1 +
 .../eips/examples/json/customLoadBalancer.json     |    1 +
 .../docs/modules/eips/examples/json/delay.json     |    1 +
 .../modules/eips/examples/json/dynamicRouter.json  |    1 +
 .../docs/modules/eips/examples/json/enrich.json    |    1 +
 .../docs/modules/eips/examples/json/failover.json  |    1 +
 .../examples/json/faultToleranceConfiguration.json |    1 +
 .../docs/modules/eips/examples/json/filter.json    |    1 +
 .../main/docs/modules/eips/examples/json/from.json |    1 +
 .../eips/examples/json/hystrixConfiguration.json   |    1 +
 .../eips/examples/json/idempotentConsumer.json     |    1 +
 .../docs/modules/eips/examples/json/inOnly.json    |    1 +
 .../docs/modules/eips/examples/json/inOut.json     |    1 +
 .../docs/modules/eips/examples/json/kamelet.json   |    1 +
 .../modules/eips/examples/json/loadBalance.json    |    1 +
 .../main/docs/modules/eips/examples/json/log.json  |    1 +
 .../main/docs/modules/eips/examples/json/loop.json |    1 +
 .../docs/modules/eips/examples/json/multicast.json |    1 +
 .../modules/eips/examples/json/onFallback.json     |    1 +
 .../docs/modules/eips/examples/json/otherwise.json |    1 +
 .../docs/modules/eips/examples/json/pipeline.json  |    1 +
 .../modules/eips/examples/json/pollEnrich.json     |    1 +
 .../docs/modules/eips/examples/json/process.json   |    1 +
 .../docs/modules/eips/examples/json/random.json    |    1 +
 .../modules/eips/examples/json/recipientList.json  |    1 +
 .../modules/eips/examples/json/removeHeader.json   |    1 +
 .../modules/eips/examples/json/removeHeaders.json  |    1 +
 .../eips/examples/json/removeProperties.json       |    1 +
 .../modules/eips/examples/json/removeProperty.json |    1 +
 .../modules/eips/examples/json/resequence.json     |    1 +
 .../examples/json/resilience4jConfiguration.json   |    1 +
 .../docs/modules/eips/examples/json/rollback.json  |    1 +
 .../modules/eips/examples/json/roundRobin.json     |    1 +
 .../modules/eips/examples/json/routingSlip.json    |    1 +
 .../main/docs/modules/eips/examples/json/saga.json |    1 +
 .../docs/modules/eips/examples/json/sample.json    |    1 +
 .../docs/modules/eips/examples/json/script.json    |    1 +
 .../modules/eips/examples/json/serviceCall.json    |    1 +
 .../docs/modules/eips/examples/json/setBody.json   |    1 +
 .../docs/modules/eips/examples/json/setHeader.json |    1 +
 .../modules/eips/examples/json/setProperty.json    |    1 +
 .../main/docs/modules/eips/examples/json/sort.json |    1 +
 .../docs/modules/eips/examples/json/split.json     |    1 +
 .../main/docs/modules/eips/examples/json/step.json |    1 +
 .../docs/modules/eips/examples/json/sticky.json    |    1 +
 .../main/docs/modules/eips/examples/json/stop.json |    1 +
 .../modules/eips/examples/json/stream-config.json  |    1 +
 .../docs/modules/eips/examples/json/threads.json   |    1 +
 .../docs/modules/eips/examples/json/throttle.json  |    1 +
 .../main/docs/modules/eips/examples/json/to.json   |    1 +
 .../main/docs/modules/eips/examples/json/toD.json  |    1 +
 .../docs/modules/eips/examples/json/topic.json     |    1 +
 .../docs/modules/eips/examples/json/transform.json |    1 +
 .../docs/modules/eips/examples/json/validate.json  |    1 +
 .../docs/modules/eips/examples/json/weighted.json  |    1 +
 .../main/docs/modules/eips/examples/json/when.json |    1 +
 .../docs/modules/eips/examples/json/wireTap.json   |    1 +
 .../modules/languages/pages/constant-language.adoc |   12 +-
 .../modules/languages/pages/csimple-language.adoc  |   12 +-
 .../languages/pages/exchangeProperty-language.adoc |   11 +-
 .../modules/languages/pages/file-language.adoc     |   12 +-
 .../modules/languages/pages/header-language.adoc   |   11 +-
 .../docs/modules/languages/pages/ref-language.adoc |   11 +-
 .../modules/languages/pages/simple-language.adoc   |   12 +-
 .../modules/languages/pages/tokenize-language.adoc |   21 +-
 .../languages/pages/xtokenize-language.adoc        |   14 +-
 .../modules/ROOT/examples/json/activemq.json       |    1 +
 .../modules/ROOT/examples/json/ahc-ws.json         |    1 +
 .../modules/ROOT/examples/json/ahc-wss.json        |    1 +
 .../components/modules/ROOT/examples/json/ahc.json |    1 +
 .../modules/ROOT/examples/json/amqp.json           |    1 +
 .../modules/ROOT/examples/json/arangodb.json       |    1 +
 .../components/modules/ROOT/examples/json/as2.json |    1 +
 .../modules/ROOT/examples/json/asterisk.json       |    1 +
 .../modules/ROOT/examples/json/atlasmap.json       |    1 +
 .../modules/ROOT/examples/json/atmos.json          |    1 +
 .../ROOT/examples/json/atmosphere-websocket.json   |    1 +
 .../modules/ROOT/examples/json/atom.json           |    1 +
 .../modules/ROOT/examples/json/atomix-map.json     |    1 +
 .../ROOT/examples/json/atomix-messaging.json       |    1 +
 .../ROOT/examples/json/atomix-multimap.json        |    1 +
 .../modules/ROOT/examples/json/atomix-queue.json   |    1 +
 .../modules/ROOT/examples/json/atomix-set.json     |    1 +
 .../modules/ROOT/examples/json/atomix-value.json   |    1 +
 .../modules/ROOT/examples/json/avro.json           |    1 +
 .../ROOT/examples/json/aws-secrets-manager.json    |    1 +
 .../modules/ROOT/examples/json/aws2-athena.json    |    1 +
 .../modules/ROOT/examples/json/aws2-cw.json        |    1 +
 .../modules/ROOT/examples/json/aws2-ddb.json       |    1 +
 .../modules/ROOT/examples/json/aws2-ddbstream.json |    1 +
 .../modules/ROOT/examples/json/aws2-ec2.json       |    1 +
 .../modules/ROOT/examples/json/aws2-ecs.json       |    1 +
 .../modules/ROOT/examples/json/aws2-eks.json       |    1 +
 .../ROOT/examples/json/aws2-eventbridge.json       |    1 +
 .../modules/ROOT/examples/json/aws2-iam.json       |    1 +
 .../ROOT/examples/json/aws2-kinesis-firehose.json  |    1 +
 .../modules/ROOT/examples/json/aws2-kinesis.json   |    1 +
 .../modules/ROOT/examples/json/aws2-kms.json       |    1 +
 .../modules/ROOT/examples/json/aws2-lambda.json    |    1 +
 .../modules/ROOT/examples/json/aws2-mq.json        |    1 +
 .../modules/ROOT/examples/json/aws2-msk.json       |    1 +
 .../modules/ROOT/examples/json/aws2-s3.json        |    1 +
 .../modules/ROOT/examples/json/aws2-ses.json       |    1 +
 .../modules/ROOT/examples/json/aws2-sns.json       |    1 +
 .../modules/ROOT/examples/json/aws2-sqs.json       |    1 +
 .../modules/ROOT/examples/json/aws2-sts.json       |    1 +
 .../modules/ROOT/examples/json/aws2-translate.json |    1 +
 .../modules/ROOT/examples/json/azure-cosmosdb.json |    1 +
 .../ROOT/examples/json/azure-eventhubs.json        |    1 +
 .../ROOT/examples/json/azure-servicebus.json       |    1 +
 .../ROOT/examples/json/azure-storage-blob.json     |    1 +
 .../ROOT/examples/json/azure-storage-datalake.json |    1 +
 .../ROOT/examples/json/azure-storage-queue.json    |    1 +
 .../modules/ROOT/examples/json/bean-validator.json |    1 +
 .../modules/ROOT/examples/json/bean.json           |    1 +
 .../modules/ROOT/examples/json/beanstalk.json      |    1 +
 .../modules/ROOT/examples/json/bonita.json         |    1 +
 .../components/modules/ROOT/examples/json/box.json |    1 +
 .../modules/ROOT/examples/json/braintree.json      |    1 +
 .../modules/ROOT/examples/json/browse.json         |    1 +
 .../modules/ROOT/examples/json/caffeine-cache.json |    1 +
 .../ROOT/examples/json/caffeine-loadcache.json     |    1 +
 .../modules/ROOT/examples/json/chatscript.json     |    1 +
 .../modules/ROOT/examples/json/chunk.json          |    1 +
 .../modules/ROOT/examples/json/class.json          |    1 +
 .../modules/ROOT/examples/json/cm-sms.json         |    1 +
 .../modules/ROOT/examples/json/cmis.json           |    1 +
 .../modules/ROOT/examples/json/coap+tcp.json       |    1 +
 .../modules/ROOT/examples/json/coap.json           |    1 +
 .../modules/ROOT/examples/json/coaps+tcp.json      |    1 +
 .../modules/ROOT/examples/json/coaps.json          |    1 +
 .../modules/ROOT/examples/json/cometd.json         |    1 +
 .../modules/ROOT/examples/json/cometds.json        |    1 +
 .../modules/ROOT/examples/json/consul.json         |    1 +
 .../modules/ROOT/examples/json/controlbus.json     |    1 +
 .../modules/ROOT/examples/json/corda.json          |    1 +
 .../modules/ROOT/examples/json/couchbase.json      |    1 +
 .../modules/ROOT/examples/json/couchdb.json        |    1 +
 .../components/modules/ROOT/examples/json/cql.json |    1 +
 .../modules/ROOT/examples/json/cron.json           |    1 +
 .../modules/ROOT/examples/json/crypto.json         |    1 +
 .../components/modules/ROOT/examples/json/cxf.json |    1 +
 .../modules/ROOT/examples/json/cxfrs.json          |    1 +
 .../modules/ROOT/examples/json/dataformat.json     |    1 +
 .../modules/ROOT/examples/json/dataset-test.json   |    1 +
 .../modules/ROOT/examples/json/dataset.json        |    1 +
 .../ROOT/examples/json/debezium-mongodb.json       |    1 +
 .../modules/ROOT/examples/json/debezium-mysql.json |    1 +
 .../ROOT/examples/json/debezium-postgres.json      |    1 +
 .../ROOT/examples/json/debezium-sqlserver.json     |    1 +
 .../modules/ROOT/examples/json/digitalocean.json   |    1 +
 .../modules/ROOT/examples/json/direct-vm.json      |    1 +
 .../modules/ROOT/examples/json/direct.json         |    1 +
 .../modules/ROOT/examples/json/disruptor-vm.json   |    1 +
 .../modules/ROOT/examples/json/disruptor.json      |    1 +
 .../components/modules/ROOT/examples/json/djl.json |    1 +
 .../components/modules/ROOT/examples/json/dns.json |    1 +
 .../modules/ROOT/examples/json/docker.json         |    1 +
 .../modules/ROOT/examples/json/dozer.json          |    1 +
 .../modules/ROOT/examples/json/drill.json          |    1 +
 .../modules/ROOT/examples/json/dropbox.json        |    1 +
 .../modules/ROOT/examples/json/ehcache.json        |    1 +
 .../ROOT/examples/json/elasticsearch-rest.json     |    1 +
 .../modules/ROOT/examples/json/elsql.json          |    1 +
 .../modules/ROOT/examples/json/etcd-keys.json      |    1 +
 .../modules/ROOT/examples/json/etcd-stats.json     |    1 +
 .../modules/ROOT/examples/json/etcd-watch.json     |    1 +
 .../modules/ROOT/examples/json/exec.json           |    1 +
 .../modules/ROOT/examples/json/facebook.json       |    1 +
 .../modules/ROOT/examples/json/fhir.json           |    1 +
 .../modules/ROOT/examples/json/file-watch.json     |    1 +
 .../modules/ROOT/examples/json/file.json           |    1 +
 .../modules/ROOT/examples/json/flatpack.json       |    1 +
 .../modules/ROOT/examples/json/flink.json          |    1 +
 .../components/modules/ROOT/examples/json/fop.json |    1 +
 .../modules/ROOT/examples/json/freemarker.json     |    1 +
 .../components/modules/ROOT/examples/json/ftp.json |    1 +
 .../modules/ROOT/examples/json/ftps.json           |    1 +
 .../modules/ROOT/examples/json/ganglia.json        |    1 +
 .../modules/ROOT/examples/json/geocoder.json       |    1 +
 .../components/modules/ROOT/examples/json/git.json |    1 +
 .../modules/ROOT/examples/json/github.json         |    1 +
 .../ROOT/examples/json/google-bigquery-sql.json    |    1 +
 .../ROOT/examples/json/google-bigquery.json        |    1 +
 .../ROOT/examples/json/google-calendar-stream.json |    1 +
 .../ROOT/examples/json/google-calendar.json        |    1 +
 .../modules/ROOT/examples/json/google-drive.json   |    1 +
 .../ROOT/examples/json/google-functions.json       |    1 +
 .../ROOT/examples/json/google-mail-stream.json     |    1 +
 .../modules/ROOT/examples/json/google-mail.json    |    1 +
 .../modules/ROOT/examples/json/google-pubsub.json  |    1 +
 .../ROOT/examples/json/google-sheets-stream.json   |    1 +
 .../modules/ROOT/examples/json/google-sheets.json  |    1 +
 .../modules/ROOT/examples/json/google-storage.json |    1 +
 .../modules/ROOT/examples/json/gora.json           |    1 +
 .../modules/ROOT/examples/json/grape.json          |    1 +
 .../modules/ROOT/examples/json/graphql.json        |    1 +
 .../modules/ROOT/examples/json/grpc.json           |    1 +
 .../modules/ROOT/examples/json/guava-eventbus.json |    1 +
 .../ROOT/examples/json/hazelcast-atomicvalue.json  |    1 +
 .../ROOT/examples/json/hazelcast-instance.json     |    1 +
 .../modules/ROOT/examples/json/hazelcast-list.json |    1 +
 .../modules/ROOT/examples/json/hazelcast-map.json  |    1 +
 .../ROOT/examples/json/hazelcast-multimap.json     |    1 +
 .../ROOT/examples/json/hazelcast-queue.json        |    1 +
 .../examples/json/hazelcast-replicatedmap.json     |    1 +
 .../ROOT/examples/json/hazelcast-ringbuffer.json   |    1 +
 .../modules/ROOT/examples/json/hazelcast-seda.json |    1 +
 .../modules/ROOT/examples/json/hazelcast-set.json  |    1 +
 .../ROOT/examples/json/hazelcast-topic.json        |    1 +
 .../modules/ROOT/examples/json/hbase.json          |    1 +
 .../modules/ROOT/examples/json/hdfs.json           |    1 +
 .../modules/ROOT/examples/json/http.json           |    1 +
 .../modules/ROOT/examples/json/https.json          |    1 +
 .../modules/ROOT/examples/json/hwcloud-dms.json    |    1 +
 .../ROOT/examples/json/hwcloud-functiongraph.json  |    1 +
 .../modules/ROOT/examples/json/hwcloud-iam.json    |    1 +
 .../modules/ROOT/examples/json/hwcloud-obs.json    |    1 +
 .../modules/ROOT/examples/json/hwcloud-smn.json    |    1 +
 .../ROOT/examples/json/iec60870-client.json        |    1 +
 .../ROOT/examples/json/iec60870-server.json        |    1 +
 .../modules/ROOT/examples/json/ignite-cache.json   |    1 +
 .../modules/ROOT/examples/json/ignite-compute.json |    1 +
 .../modules/ROOT/examples/json/ignite-events.json  |    1 +
 .../modules/ROOT/examples/json/ignite-idgen.json   |    1 +
 .../ROOT/examples/json/ignite-messaging.json       |    1 +
 .../modules/ROOT/examples/json/ignite-queue.json   |    1 +
 .../modules/ROOT/examples/json/ignite-set.json     |    1 +
 .../modules/ROOT/examples/json/imap.json           |    1 +
 .../modules/ROOT/examples/json/imaps.json          |    1 +
 .../ROOT/examples/json/infinispan-embedded.json    |    1 +
 .../modules/ROOT/examples/json/infinispan.json     |    1 +
 .../modules/ROOT/examples/json/influxdb.json       |    1 +
 .../modules/ROOT/examples/json/iota.json           |    1 +
 .../modules/ROOT/examples/json/ipfs.json           |    1 +
 .../components/modules/ROOT/examples/json/irc.json |    1 +
 .../modules/ROOT/examples/json/ironmq.json         |    1 +
 .../modules/ROOT/examples/json/jbpm.json           |    1 +
 .../modules/ROOT/examples/json/jcache.json         |    1 +
 .../modules/ROOT/examples/json/jclouds.json        |    1 +
 .../components/modules/ROOT/examples/json/jcr.json |    1 +
 .../modules/ROOT/examples/json/jdbc.json           |    1 +
 .../modules/ROOT/examples/json/jetty.json          |    1 +
 .../modules/ROOT/examples/json/jgroups-raft.json   |    1 +
 .../modules/ROOT/examples/json/jgroups.json        |    1 +
 .../modules/ROOT/examples/json/jing.json           |    1 +
 .../modules/ROOT/examples/json/jira.json           |    1 +
 .../components/modules/ROOT/examples/json/jms.json |    1 +
 .../components/modules/ROOT/examples/json/jmx.json |    1 +
 .../modules/ROOT/examples/json/jolt.json           |    1 +
 .../modules/ROOT/examples/json/jooq.json           |    1 +
 .../components/modules/ROOT/examples/json/jpa.json |    1 +
 .../modules/ROOT/examples/json/jslt.json           |    1 +
 .../modules/ROOT/examples/json/json-patch.json     |    1 +
 .../modules/ROOT/examples/json/json-validator.json |    1 +
 .../modules/ROOT/examples/json/jsonata.json        |    1 +
 .../modules/ROOT/examples/json/jt400.json          |    1 +
 .../modules/ROOT/examples/json/kafka.json          |    1 +
 .../modules/ROOT/examples/json/kamelet-reify.json  |    1 +
 .../modules/ROOT/examples/json/kamelet.json        |    1 +
 .../ROOT/examples/json/kubernetes-config-maps.json |    1 +
 .../examples/json/kubernetes-custom-resources.json |    1 +
 .../ROOT/examples/json/kubernetes-deployments.json |    1 +
 .../modules/ROOT/examples/json/kubernetes-hpa.json |    1 +
 .../modules/ROOT/examples/json/kubernetes-job.json |    1 +
 .../ROOT/examples/json/kubernetes-namespaces.json  |    1 +
 .../ROOT/examples/json/kubernetes-nodes.json       |    1 +
 .../json/kubernetes-persistent-volumes-claims.json |    1 +
 .../json/kubernetes-persistent-volumes.json        |    1 +
 .../ROOT/examples/json/kubernetes-pods.json        |    1 +
 .../json/kubernetes-replication-controllers.json   |    1 +
 .../examples/json/kubernetes-resources-quota.json  |    1 +
 .../ROOT/examples/json/kubernetes-secrets.json     |    1 +
 .../examples/json/kubernetes-service-accounts.json |    1 +
 .../ROOT/examples/json/kubernetes-services.json    |    1 +
 .../modules/ROOT/examples/json/kudu.json           |    1 +
 .../modules/ROOT/examples/json/language.json       |    1 +
 .../modules/ROOT/examples/json/ldap.json           |    1 +
 .../modules/ROOT/examples/json/ldif.json           |    1 +
 .../components/modules/ROOT/examples/json/log.json |    1 +
 .../components/modules/ROOT/examples/json/lpr.json |    1 +
 .../modules/ROOT/examples/json/lucene.json         |    1 +
 .../modules/ROOT/examples/json/lumberjack.json     |    1 +
 .../modules/ROOT/examples/json/master.json         |    1 +
 .../modules/ROOT/examples/json/metrics.json        |    1 +
 .../modules/ROOT/examples/json/micrometer.json     |    1 +
 .../ROOT/examples/json/microprofile-metrics.json   |    1 +
 .../modules/ROOT/examples/json/milo-client.json    |    1 +
 .../modules/ROOT/examples/json/milo-server.json    |    1 +
 .../modules/ROOT/examples/json/mina.json           |    1 +
 .../modules/ROOT/examples/json/minio.json          |    1 +
 .../modules/ROOT/examples/json/mllp.json           |    1 +
 .../modules/ROOT/examples/json/mock.json           |    1 +
 .../modules/ROOT/examples/json/mongodb-gridfs.json |    1 +
 .../modules/ROOT/examples/json/mongodb.json        |    1 +
 .../components/modules/ROOT/examples/json/msv.json |    1 +
 .../modules/ROOT/examples/json/mustache.json       |    1 +
 .../modules/ROOT/examples/json/mvel.json           |    1 +
 .../modules/ROOT/examples/json/mybatis-bean.json   |    1 +
 .../modules/ROOT/examples/json/mybatis.json        |    1 +
 .../modules/ROOT/examples/json/nagios.json         |    1 +
 .../modules/ROOT/examples/json/nats.json           |    1 +
 .../modules/ROOT/examples/json/netty-http.json     |    1 +
 .../modules/ROOT/examples/json/netty.json          |    1 +
 .../modules/ROOT/examples/json/nitrite.json        |    1 +
 .../components/modules/ROOT/examples/json/nsq.json |    1 +
 .../modules/ROOT/examples/json/oaipmh.json         |    1 +
 .../modules/ROOT/examples/json/olingo2.json        |    1 +
 .../modules/ROOT/examples/json/olingo4.json        |    1 +
 .../examples/json/openshift-build-configs.json     |    1 +
 .../ROOT/examples/json/openshift-builds.json       |    1 +
 .../ROOT/examples/json/openstack-cinder.json       |    1 +
 .../ROOT/examples/json/openstack-glance.json       |    1 +
 .../ROOT/examples/json/openstack-keystone.json     |    1 +
 .../ROOT/examples/json/openstack-neutron.json      |    1 +
 .../modules/ROOT/examples/json/openstack-nova.json |    1 +
 .../ROOT/examples/json/openstack-swift.json        |    1 +
 .../modules/ROOT/examples/json/optaplanner.json    |    1 +
 .../modules/ROOT/examples/json/paho-mqtt5.json     |    1 +
 .../modules/ROOT/examples/json/paho.json           |    1 +
 .../components/modules/ROOT/examples/json/pdf.json |    1 +
 .../ROOT/examples/json/pg-replication-slot.json    |    1 +
 .../modules/ROOT/examples/json/pgevent.json        |    1 +
 .../modules/ROOT/examples/json/platform-http.json  |    1 +
 .../modules/ROOT/examples/json/pop3.json           |    1 +
 .../modules/ROOT/examples/json/pop3s.json          |    1 +
 .../modules/ROOT/examples/json/pubnub.json         |    1 +
 .../modules/ROOT/examples/json/pulsar.json         |    1 +
 .../modules/ROOT/examples/json/quartz.json         |    1 +
 .../modules/ROOT/examples/json/quickfix.json       |    1 +
 .../modules/ROOT/examples/json/rabbitmq.json       |    1 +
 .../ROOT/examples/json/reactive-streams.json       |    1 +
 .../components/modules/ROOT/examples/json/ref.json |    1 +
 .../modules/ROOT/examples/json/rest-api.json       |    1 +
 .../modules/ROOT/examples/json/rest-openapi.json   |    1 +
 .../modules/ROOT/examples/json/rest-swagger.json   |    1 +
 .../modules/ROOT/examples/json/rest.json           |    1 +
 .../modules/ROOT/examples/json/resteasy.json       |    1 +
 .../modules/ROOT/examples/json/robotframework.json |    1 +
 .../components/modules/ROOT/examples/json/rss.json |    1 +
 .../modules/ROOT/examples/json/saga.json           |    1 +
 .../modules/ROOT/examples/json/salesforce.json     |    1 +
 .../modules/ROOT/examples/json/sap-netweaver.json  |    1 +
 .../modules/ROOT/examples/json/scheduler.json      |    1 +
 .../modules/ROOT/examples/json/schematron.json     |    1 +
 .../components/modules/ROOT/examples/json/scp.json |    1 +
 .../modules/ROOT/examples/json/seda.json           |    1 +
 .../modules/ROOT/examples/json/service.json        |    1 +
 .../modules/ROOT/examples/json/servicenow.json     |    1 +
 .../modules/ROOT/examples/json/servlet.json        |    1 +
 .../modules/ROOT/examples/json/sftp.json           |    1 +
 .../components/modules/ROOT/examples/json/sip.json |    1 +
 .../modules/ROOT/examples/json/sips.json           |    1 +
 .../modules/ROOT/examples/json/sjms.json           |    1 +
 .../modules/ROOT/examples/json/sjms2.json          |    1 +
 .../modules/ROOT/examples/json/slack.json          |    1 +
 .../modules/ROOT/examples/json/smpp.json           |    1 +
 .../modules/ROOT/examples/json/smpps.json          |    1 +
 .../modules/ROOT/examples/json/smtp.json           |    1 +
 .../modules/ROOT/examples/json/smtps.json          |    1 +
 .../modules/ROOT/examples/json/snmp.json           |    1 +
 .../modules/ROOT/examples/json/solr.json           |    1 +
 .../modules/ROOT/examples/json/solrCloud.json      |    1 +
 .../modules/ROOT/examples/json/solrs.json          |    1 +
 .../modules/ROOT/examples/json/soroush.json        |    1 +
 .../modules/ROOT/examples/json/spark.json          |    1 +
 .../modules/ROOT/examples/json/splunk-hec.json     |    1 +
 .../modules/ROOT/examples/json/splunk.json         |    1 +
 .../modules/ROOT/examples/json/spring-batch.json   |    1 +
 .../modules/ROOT/examples/json/spring-event.json   |    1 +
 .../ROOT/examples/json/spring-integration.json     |    1 +
 .../modules/ROOT/examples/json/spring-jdbc.json    |    1 +
 .../modules/ROOT/examples/json/spring-ldap.json    |    1 +
 .../ROOT/examples/json/spring-rabbitmq.json        |    1 +
 .../modules/ROOT/examples/json/spring-redis.json   |    1 +
 .../modules/ROOT/examples/json/spring-ws.json      |    1 +
 .../modules/ROOT/examples/json/sql-stored.json     |    1 +
 .../components/modules/ROOT/examples/json/sql.json |    1 +
 .../components/modules/ROOT/examples/json/ssh.json |    1 +
 .../modules/ROOT/examples/json/stax.json           |    1 +
 .../modules/ROOT/examples/json/stitch.json         |    1 +
 .../modules/ROOT/examples/json/stomp.json          |    1 +
 .../modules/ROOT/examples/json/stream.json         |    1 +
 .../ROOT/examples/json/string-template.json        |    1 +
 .../modules/ROOT/examples/json/stub.json           |    1 +
 .../modules/ROOT/examples/json/telegram.json       |    1 +
 .../modules/ROOT/examples/json/thrift.json         |    1 +
 .../modules/ROOT/examples/json/tika.json           |    1 +
 .../modules/ROOT/examples/json/timer.json          |    1 +
 .../modules/ROOT/examples/json/twilio.json         |    1 +
 .../ROOT/examples/json/twitter-directmessage.json  |    1 +
 .../modules/ROOT/examples/json/twitter-search.json |    1 +
 .../ROOT/examples/json/twitter-timeline.json       |    1 +
 .../modules/ROOT/examples/json/undertow.json       |    1 +
 .../modules/ROOT/examples/json/validator.json      |    1 +
 .../modules/ROOT/examples/json/velocity.json       |    1 +
 .../modules/ROOT/examples/json/vertx-http.json     |    1 +
 .../modules/ROOT/examples/json/vertx-kafka.json    |    1 +
 .../ROOT/examples/json/vertx-websocket.json        |    1 +
 .../modules/ROOT/examples/json/vertx.json          |    1 +
 docs/components/modules/ROOT/examples/json/vm.json |    1 +
 .../modules/ROOT/examples/json/weather.json        |    1 +
 .../modules/ROOT/examples/json/web3j.json          |    1 +
 .../modules/ROOT/examples/json/webhook.json        |    1 +
 .../ROOT/examples/json/websocket-jsr356.json       |    1 +
 .../modules/ROOT/examples/json/websocket.json      |    1 +
 .../modules/ROOT/examples/json/weka.json           |    1 +
 .../modules/ROOT/examples/json/wordpress.json      |    1 +
 .../modules/ROOT/examples/json/workday.json        |    1 +
 .../modules/ROOT/examples/json/xchange.json        |    1 +
 docs/components/modules/ROOT/examples/json/xj.json |    1 +
 .../ROOT/examples/json/xmlsecurity-sign.json       |    1 +
 .../ROOT/examples/json/xmlsecurity-verify.json     |    1 +
 .../modules/ROOT/examples/json/xmpp.json           |    1 +
 .../modules/ROOT/examples/json/xquery.json         |    1 +
 .../modules/ROOT/examples/json/xslt-saxon.json     |    1 +
 .../modules/ROOT/examples/json/xslt.json           |    1 +
 .../modules/ROOT/examples/json/yammer.json         |    1 +
 .../modules/ROOT/examples/json/zendesk.json        |    1 +
 .../ROOT/examples/json/zookeeper-master.json       |    1 +
 .../modules/ROOT/examples/json/zookeeper.json      |    1 +
 .../modules/dataformats/examples/json/any23.json   |    1 +
 .../modules/dataformats/examples/json/asn1.json    |    1 +
 .../dataformats/examples/json/avro-jackson.json    |    1 +
 .../modules/dataformats/examples/json/avro.json    |    1 +
 .../modules/dataformats/examples/json/barcode.json |    1 +
 .../modules/dataformats/examples/json/base64.json  |    1 +
 .../modules/dataformats/examples/json/beanio.json  |    1 +
 .../dataformats/examples/json/bindy-csv.json       |    1 +
 .../dataformats/examples/json/bindy-fixed.json     |    1 +
 .../dataformats/examples/json/bindy-kvp.json       |    1 +
 .../modules/dataformats/examples/json/cbor.json    |    1 +
 .../modules/dataformats/examples/json/crypto.json  |    1 +
 .../modules/dataformats/examples/json/csv.json     |    1 +
 .../dataformats/examples/json/fhirJson.json        |    1 +
 .../modules/dataformats/examples/json/fhirXml.json |    1 +
 .../dataformats/examples/json/flatpack.json        |    1 +
 .../modules/dataformats/examples/json/grok.json    |    1 +
 .../dataformats/examples/json/gzipdeflater.json    |    1 +
 .../modules/dataformats/examples/json/hl7.json     |    1 +
 .../modules/dataformats/examples/json/ical.json    |    1 +
 .../dataformats/examples/json/jacksonxml.json      |    1 +
 .../modules/dataformats/examples/json/jaxb.json    |    1 +
 .../dataformats/examples/json/json-fastjson.json   |    1 +
 .../dataformats/examples/json/json-gson.json       |    1 +
 .../dataformats/examples/json/json-jackson.json    |    1 +
 .../dataformats/examples/json/json-johnzon.json    |    1 +
 .../dataformats/examples/json/json-jsonb.json      |    1 +
 .../dataformats/examples/json/json-xstream.json    |    1 +
 .../modules/dataformats/examples/json/jsonApi.json |    1 +
 .../modules/dataformats/examples/json/lzf.json     |    1 +
 .../dataformats/examples/json/mime-multipart.json  |    1 +
 .../modules/dataformats/examples/json/pgp.json     |    1 +
 .../examples/json/protobuf-jackson.json            |    1 +
 .../dataformats/examples/json/protobuf.json        |    1 +
 .../modules/dataformats/examples/json/rss.json     |    1 +
 .../dataformats/examples/json/secureXML.json       |    1 +
 .../dataformats/examples/json/soapjaxb.json        |    1 +
 .../modules/dataformats/examples/json/syslog.json  |    1 +
 .../modules/dataformats/examples/json/tarfile.json |    1 +
 .../modules/dataformats/examples/json/thrift.json  |    1 +
 .../dataformats/examples/json/tidyMarkup.json      |    1 +
 .../dataformats/examples/json/univocity-csv.json   |    1 +
 .../dataformats/examples/json/univocity-fixed.json |    1 +
 .../dataformats/examples/json/univocity-tsv.json   |    1 +
 .../modules/dataformats/examples/json/xstream.json |    1 +
 .../dataformats/examples/json/yaml-snakeyaml.json  |    1 +
 .../dataformats/examples/json/zipdeflater.json     |    1 +
 .../modules/dataformats/examples/json/zipfile.json |    1 +
 .../modules/languages/examples/json/bean.json      |    1 +
 .../modules/languages/examples/json/constant.json  |    1 +
 .../modules/languages/examples/json/csimple.json   |    1 +
 .../languages/examples/json/datasonnet.json        |    1 +
 .../languages/examples/json/exchangeProperty.json  |    1 +
 .../modules/languages/examples/json/file.json      |    1 +
 .../modules/languages/examples/json/groovy.json    |    1 +
 .../modules/languages/examples/json/header.json    |    1 +
 .../modules/languages/examples/json/hl7terser.json |    1 +
 .../modules/languages/examples/json/joor.json      |    1 +
 .../modules/languages/examples/json/jsonpath.json  |    1 +
 .../modules/languages/examples/json/mvel.json      |    1 +
 .../modules/languages/examples/json/ognl.json      |    1 +
 .../modules/languages/examples/json/ref.json       |    1 +
 .../modules/languages/examples/json/simple.json    |    1 +
 .../modules/languages/examples/json/spel.json      |    1 +
 .../modules/languages/examples/json/tokenize.json  |    1 +
 .../modules/languages/examples/json/xpath.json     |    1 +
 .../modules/languages/examples/json/xquery.json    |    1 +
 .../modules/languages/examples/json/xtokenize.json |    1 +
 .../modules/others/examples/json/as2-api.json      |    1 +
 .../modules/others/examples/json/attachments.json  |    1 +
 .../others/examples/json/avro-rpc-jetty.json       |    1 +
 .../modules/others/examples/json/avro-rpc-spi.json |    1 +
 .../modules/others/examples/json/aws-xray.json     |    1 +
 .../modules/others/examples/json/box-api.json      |    1 +
 .../others/examples/json/caffeine-lrucache.json    |    1 +
 .../modules/others/examples/json/cdi.json          |    1 +
 .../modules/others/examples/json/csimple-joor.json |    1 +
 .../others/examples/json/cxf-transport.json        |    1 +
 .../others/examples/json/debezium-common.json      |    1 +
 .../examples/json/debezium-maven-plugin.json       |    1 +
 .../modules/others/examples/json/elytron.json      |    1 +
 .../modules/others/examples/json/etcd3.json        |    1 +
 .../modules/others/examples/json/fhir-api.json     |    1 +
 .../modules/others/examples/json/headersmap.json   |    1 +
 .../modules/others/examples/json/http-base.json    |    1 +
 .../modules/others/examples/json/http-common.json  |    1 +
 .../others/examples/json/huaweicloud-common.json   |    1 +
 .../modules/others/examples/json/hystrix.json      |    1 +
 .../others/examples/json/infinispan-common.json    |    1 +
 .../modules/others/examples/json/jasypt.json       |    1 +
 .../modules/others/examples/json/jetty-common.json |    1 +
 .../modules/others/examples/json/jfr.json          |    1 +
 .../modules/others/examples/json/jta.json          |    1 +
 .../others/examples/json/leveldb-legacy.json       |    1 +
 .../modules/others/examples/json/leveldb.json      |    1 +
 .../modules/others/examples/json/lra.json          |    1 +
 .../others/examples/json/microprofile-config.json  |    1 +
 .../json/microprofile-fault-tolerance.json         |    1 +
 .../others/examples/json/microprofile-health.json  |    1 +
 .../modules/others/examples/json/olingo2-api.json  |    1 +
 .../modules/others/examples/json/olingo4-api.json  |    1 +
 .../modules/others/examples/json/openapi-java.json |    1 +
 .../others/examples/json/opentelemetry.json        |    1 +
 .../modules/others/examples/json/opentracing.json  |    1 +
 .../others/examples/json/platform-http-vertx.json  |    1 +
 .../examples/json/reactive-executor-vertx.json     |    1 +
 .../modules/others/examples/json/reactor.json      |    1 +
 .../modules/others/examples/json/redis.json        |    1 +
 .../modules/others/examples/json/resilience4j.json |    1 +
 .../examples/json/resourceresolver-github.json     |    1 +
 .../modules/others/examples/json/ribbon.json       |    1 +
 .../modules/others/examples/json/rxjava.json       |    1 +
 .../examples/json/salesforce-maven-plugin.json     |    1 +
 .../examples/json/servicenow-maven-plugin.json     |    1 +
 .../modules/others/examples/json/shiro.json        |    1 +
 .../others/examples/json/spring-javaconfig.json    |    1 +
 .../modules/others/examples/json/spring-main.json  |    1 +
 .../others/examples/json/spring-security.json      |    1 +
 .../modules/others/examples/json/spring-xml.json   |    1 +
 .../modules/others/examples/json/swagger-java.json |    1 +
 .../modules/others/examples/json/test-cdi.json     |    1 +
 .../modules/others/examples/json/test-junit5.json  |    1 +
 .../others/examples/json/test-spring-junit5.json   |    1 +
 .../modules/others/examples/json/test-spring.json  |    1 +
 .../modules/others/examples/json/test.json         |    1 +
 .../examples/json/testcontainers-junit5.json       |    1 +
 .../json/testcontainers-spring-junit5.json         |    1 +
 .../examples/json/testcontainers-spring.json       |    1 +
 .../others/examples/json/testcontainers.json       |    1 +
 .../examples/json/threadpoolfactory-vertx.json     |    1 +
 .../modules/others/examples/json/tracing.json      |    1 +
 .../examples/json/undertow-spring-security.json    |    1 +
 .../modules/others/examples/json/vertx-common.json |    1 +
 .../examples/json/vertx-kafka-maven-plugin.json    |    1 +
 .../modules/others/examples/json/zipkin.json       |    1 +
 1007 files changed, 1820 insertions(+), 46097 deletions(-)

diff --git a/components/camel-activemq/src/main/docs/activemq-component.adoc b/components/camel-activemq/src/main/docs/activemq-component.adoc
index 8b2fad3..0797e82 100644
--- a/components/camel-activemq/src/main/docs/activemq-component.adoc
+++ b/components/camel-activemq/src/main/docs/activemq-component.adoc
@@ -1,6 +1,7 @@
 [[activemq-component]]
 = ActiveMQ Component
 :docTitle: ActiveMQ
+:shortName: activemq
 :artifactId: camel-activemq
 :description: Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS component.
 :since: 1.0
@@ -50,281 +51,16 @@ activemq:foo
 -----------
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The ActiveMQ component supports 102 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *brokerURL* (common) | Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables) |  | String
-| *clientId* (common) | 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. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
-| *connectionFactory* (common) | The connection factory to be use. A connection factory must be configured either on the component or endpoint. |  | ConnectionFactory
-| *disableReplyTo* (common) | 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 broker [...]
-| *durableSubscriptionName* (common) | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. |  | String
-| *jmsMessageType* (common) | Allows you to force the use of a specific javax.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. There are 5 enums and the value can be one of: Bytes, Map, Object, Stream, Text |  | JmsMessageType
-| *replyTo* (common) | Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer). |  | String
-| *testConnectionOnStartup* (common) | 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. | false | boolean
-| *usePooledConnection* (common) | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | true | boolean
-| *useSingleConnection* (common) | Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by default. | false | boolean
-| *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. There are 4 enums and the value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
-| *artemisConsumerPriority* (consumer) | 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 av [...]
-| *asyncConsumer* (consumer) | 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 transac [...]
-| *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
-| *cacheLevelName* (consumer) | 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. There are 5 enums and the value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
-| *concurrentConsumers* (consumer) | 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. | 1 | int
-| *maxConcurrentConsumers* (consumer) | 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. |  | int
-| *replyToDeliveryPersistent* (consumer) | Specifies whether to use persistent delivery by default for replies. | true | boolean
-| *selector* (consumer) | Sets the JMS selector to use |  | String
-| *subscriptionDurable* (consumer) | 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 pubSubDomai [...]
-| *subscriptionName* (consumer) | 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). |  | String
-| *subscriptionShared* (consumer) | 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 subscrip [...]
-| *acceptMessagesWhileStopping* (consumer) | 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 th [...]
-| *allowReplyManagerQuickStop* (consumer) | 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. | false | [...]
-| *consumerType* (consumer) | 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. [...]
-| *defaultTaskExecutorType* (consumer) | 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 threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsy [...]
-| *eagerLoadingOfProperties* (consumer) | 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. | false | boolean
-| *eagerPoisonBody* (consumer) | 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. | Poison JMS message due to ${exception.message} | String
-| *exposeListenerSession* (consumer) | Specifies whether the listener session should be exposed when consuming messages. | false | boolean
-| *replyToSameDestinationAllowed* (consumer) | 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. | false | boolean
-| *taskExecutor* (consumer) | Allows you to specify a custom task executor for consuming messages. |  | TaskExecutor
-| *deliveryDelay* (producer) | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1 | long
-| *deliveryMode* (producer) | Specifies the delivery mode to be used. Possible values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. There are 2 enums and the value can be one of: 1, 2 |  | Integer
-| *deliveryPersistent* (producer) | Specifies whether persistent delivery is used by default. | true | boolean
-| *explicitQosEnabled* (producer) | 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. | false | Boolean
-| *formatDateHeadersToIso8601* (producer) | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *preserveMessageQos* (producer) | 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 explicitQosEnable [...]
-| *priority* (producer) | 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. There are 9 enums and the value can be one of: 1, 2, 3, 4, 5, 6, 7, 8, 9 | 4 | int
-| *replyToConcurrentConsumers* (producer) | 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. | 1 | int
-| *replyToMaxConcurrentConsumers* (producer) | 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. |  | int
-| *replyToOnTimeoutMaxConcurrent{zwsp}Consumers* (producer) | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | int
-| *replyToOverride* (producer) | 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. |  | String
-| *replyToType* (producer) | 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  [...]
-| *requestTimeout* (producer) | 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. | 20000 | long
-| *timeToLive* (producer) | When sending messages, specifies the time-to-live of the message (in milliseconds). | -1 | long
-| *allowAdditionalHeaders* (producer) | 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. |  | String
-| *allowNullBody* (producer) | Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown. | true | boolean
-| *alwaysCopyMessage* (producer) | 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) | false | boolean
-| *correlationProperty* (producer) | 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. |  | String
-| *disableTimeToLive* (producer) | 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 w [...]
-| *forceSendOriginalMessage* (producer) | 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. | false | boolean
-| *includeSentJMSMessageID* (producer) | 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. | false | boolean
-| *replyToCacheLevelName* (producer) | 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 [...]
-| *replyToDestinationSelectorName* (producer) | 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). |  | String
-| *streamMessageTypeEnabled* (producer) | 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 [...]
-| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to auto-discover ConnectionFactory from the registry, if no connection factory has been configured. If only one instance of ConnectionFactory is found then it will be used. This is enabled by default. | true | boolean
-| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to auto-discover DestinationResolver from the registry, if no destination resolver has been configured. If only one instance of DestinationResolver is found then it will be used. This is enabled by default. | true | boolean
-| *allowSerializedHeaders* (advanced) | 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. | false | boolean
-| *artemisStreamingEnabled* (advanced) | 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. | false | boolean
-| *asyncStartListener* (advanced) | 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 failover. 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, the [...]
-| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *configuration* (advanced) | To use a shared JMS configuration |  | JmsConfiguration
-| *destinationResolver* (advanced) | 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). |  | DestinationResolver
-| *errorHandler* (advanced) | 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. [...]
-| *exceptionListener* (advanced) | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. |  | ExceptionListener
-| *idleConsumerLimit* (advanced) | Specify the limit for the number of consumers that are allowed to be idle at any given time. | 1 | int
-| *idleTaskExecutionLimit* (advanced) | 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. | 1 | int
-| *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx 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. | false | boolean
-| *jmsKeyFormatStrategy* (advanced) | 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 [...]
-| *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the received JMS message to a suited payload type, such as javax.jms.TextMessage to a String etc. | true | boolean
-| *maxMessagesPerTask* (advanced) | 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. | -1 | int
-| *messageConverter* (advanced) | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message. |  | MessageConverter
-| *messageCreatedStrategy* (advanced) | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message. |  | MessageCreatedStrategy
-| *messageIdEnabled* (advanced) | 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. | true | boolean
-| *messageListenerContainer{zwsp}Factory* (advanced) | 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. |  | MessageListenerContainerFactory
-| *messageTimestampEnabled* (advanced) | 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. | true | boolean
-| *pubSubNoLocal* (advanced) | Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean
-| *queueBrowseStrategy* (advanced) | To use a custom QueueBrowseStrategy when browsing queues |  | QueueBrowseStrategy
-| *receiveTimeout* (advanced) | The timeout for receiving messages (in milliseconds). | 1000 | long
-| *recoveryInterval* (advanced) | 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. | 5000 | long
-| *requestTimeoutCheckerInterval* (advanced) | 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. | 1000 | long
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used | false | boolean
-| *transferException* (advanced) | 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 javax.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 preced [...]
-| *transferExchange* (advanced) | 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 E [...]
-| *trustAllPackages* (advanced) | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | boolean
-| *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | 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. | 50 | int
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
-| *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *transacted* (transaction) | Specifies whether to use transacted mode | false | boolean
-| *transactedInOut* (transaction) | 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 conta [...]
-| *lazyCreateTransactionManager* (transaction) | If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true. | true | boolean
-| *transactionManager* (transaction) | The Spring transaction manager to use. |  | PlatformTransactionManager
-| *transactionName* (transaction) | The name of the transaction to use. |  | String
-| *transactionTimeout* (transaction) | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | int
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The ActiveMQ endpoint is configured using URI syntax:
-
-----
-activemq:destinationType:destinationName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *destinationType* | The kind of destination to use. There are 4 enums and the value can be one of: queue, topic, temp-queue, temp-topic | queue | String
-| *destinationName* | *Required* Name of the queue or topic to use as destination |  | String
-|===
-
-
-=== Query Parameters (96 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *clientId* (common) | 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. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
-| *connectionFactory* (common) | The connection factory to be use. A connection factory must be configured either on the component or endpoint. |  | ConnectionFactory
-| *disableReplyTo* (common) | 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 broker [...]
-| *durableSubscriptionName* (common) | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. |  | String
-| *jmsMessageType* (common) | Allows you to force the use of a specific javax.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. There are 5 enums and the value can be one of: Bytes, Map, Object, Stream, Text |  | JmsMessageType
-| *replyTo* (common) | Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer). |  | String
-| *testConnectionOnStartup* (common) | 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. | false | boolean
-| *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. There are 4 enums and the value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
-| *artemisConsumerPriority* (consumer) | 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 av [...]
-| *asyncConsumer* (consumer) | 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 transac [...]
-| *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
-| *cacheLevelName* (consumer) | 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. There are 5 enums and the value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
-| *concurrentConsumers* (consumer) | 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. | 1 | int
-| *maxConcurrentConsumers* (consumer) | 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. |  | int
-| *replyToDeliveryPersistent* (consumer) | Specifies whether to use persistent delivery by default for replies. | true | boolean
-| *selector* (consumer) | Sets the JMS selector to use |  | String
-| *subscriptionDurable* (consumer) | 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 pubSubDomai [...]
-| *subscriptionName* (consumer) | 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). |  | String
-| *subscriptionShared* (consumer) | 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 subscrip [...]
-| *acceptMessagesWhileStopping* (consumer) | 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 th [...]
-| *allowReplyManagerQuickStop* (consumer) | 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. | false | [...]
-| *consumerType* (consumer) | 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. [...]
-| *defaultTaskExecutorType* (consumer) | 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 threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsy [...]
-| *destinationOptions* (consumer) | 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. |  | Map
-| *eagerLoadingOfProperties* (consumer) | 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. | false | boolean
-| *eagerPoisonBody* (consumer) | 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. | Poison JMS message due to ${exception.message} | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *exposeListenerSession* (consumer) | Specifies whether the listener session should be exposed when consuming messages. | false | boolean
-| *replyToSameDestinationAllowed* (consumer) | 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. | false | boolean
-| *taskExecutor* (consumer) | Allows you to specify a custom task executor for consuming messages. |  | TaskExecutor
-| *deliveryDelay* (producer) | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1 | long
-| *deliveryMode* (producer) | Specifies the delivery mode to be used. Possible values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. There are 2 enums and the value can be one of: 1, 2 |  | Integer
-| *deliveryPersistent* (producer) | Specifies whether persistent delivery is used by default. | true | boolean
-| *explicitQosEnabled* (producer) | 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. | false | Boolean
-| *formatDateHeadersToIso8601* (producer) | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *preserveMessageQos* (producer) | 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 explicitQosEnable [...]
-| *priority* (producer) | 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. There are 9 enums and the value can be one of: 1, 2, 3, 4, 5, 6, 7, 8, 9 | 4 | int
-| *replyToConcurrentConsumers* (producer) | 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. | 1 | int
-| *replyToMaxConcurrentConsumers* (producer) | 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. |  | int
-| *replyToOnTimeoutMaxConcurrent{zwsp}Consumers* (producer) | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | int
-| *replyToOverride* (producer) | 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. |  | String
-| *replyToType* (producer) | 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  [...]
-| *requestTimeout* (producer) | 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. | 20000 | long
-| *timeToLive* (producer) | When sending messages, specifies the time-to-live of the message (in milliseconds). | -1 | long
-| *allowAdditionalHeaders* (producer) | 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. |  | String
-| *allowNullBody* (producer) | Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown. | true | boolean
-| *alwaysCopyMessage* (producer) | 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) | false | boolean
-| *correlationProperty* (producer) | 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. |  | String
-| *disableTimeToLive* (producer) | 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 w [...]
-| *forceSendOriginalMessage* (producer) | 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. | false | boolean
-| *includeSentJMSMessageID* (producer) | 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. | false | boolean
-| *replyToCacheLevelName* (producer) | 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 [...]
-| *replyToDestinationSelectorName* (producer) | 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). |  | String
-| *streamMessageTypeEnabled* (producer) | 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 [...]
-| *allowSerializedHeaders* (advanced) | 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. | false | boolean
-| *artemisStreamingEnabled* (advanced) | 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. | false | boolean
-| *asyncStartListener* (advanced) | 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 failover. 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, the [...]
-| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | boolean
-| *destinationResolver* (advanced) | 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). |  | DestinationResolver
-| *errorHandler* (advanced) | 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. [...]
-| *exceptionListener* (advanced) | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. |  | ExceptionListener
-| *headerFilterStrategy* (advanced) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *idleConsumerLimit* (advanced) | Specify the limit for the number of consumers that are allowed to be idle at any given time. | 1 | int
-| *idleTaskExecutionLimit* (advanced) | 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. | 1 | int
-| *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx 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. | false | boolean
-| *jmsKeyFormatStrategy* (advanced) | 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 [...]
-| *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the received JMS message to a suited payload type, such as javax.jms.TextMessage to a String etc. | true | boolean
-| *maxMessagesPerTask* (advanced) | 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. | -1 | int
-| *messageConverter* (advanced) | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message. |  | MessageConverter
-| *messageCreatedStrategy* (advanced) | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message. |  | MessageCreatedStrategy
-| *messageIdEnabled* (advanced) | 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. | true | boolean
-| *messageListenerContainer{zwsp}Factory* (advanced) | 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. |  | MessageListenerContainerFactory
-| *messageTimestampEnabled* (advanced) | 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. | true | boolean
-| *pubSubNoLocal* (advanced) | Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean
-| *receiveTimeout* (advanced) | The timeout for receiving messages (in milliseconds). | 1000 | long
-| *recoveryInterval* (advanced) | 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. | 5000 | long
-| *requestTimeoutCheckerInterval* (advanced) | 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. | 1000 | long
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used | false | boolean
-| *transferException* (advanced) | 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 javax.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 preced [...]
-| *transferExchange* (advanced) | 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 E [...]
-| *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | 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. | 50 | int
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
-| *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *transacted* (transaction) | Specifies whether to use transacted mode | false | boolean
-| *transactedInOut* (transaction) | 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 conta [...]
-| *lazyCreateTransactionManager* (transaction) | If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true. | true | boolean
-| *transactionManager* (transaction) | The Spring transaction manager to use. |  | PlatformTransactionManager
-| *transactionName* (transaction) | The name of the transaction to use. |  | String
-| *transactionTimeout* (transaction) | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | int
-|===
 // endpoint options: END
 
 == Examples
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 0736262..f86a72f 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -1,6 +1,7 @@
 [[ahc-ws-component]]
 = Async HTTP Client (AHC) Websocket Component
 :docTitle: Async HTTP Client (AHC) Websocket
+:shortName: ahc-ws
 :artifactId: camel-ahc-ws
 :description: Exchange data with external Websocket servers using Async Http Client.
 :since: 2.14
@@ -46,110 +47,16 @@ Will by default use port 80 for ahc-ws and 443 for ahc-wss.
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Async HTTP Client (AHC) Websocket component supports 10 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *allowJavaSerializedObject* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
-| *client* (advanced) | To use a custom AsyncHttpClient |  | AsyncHttpClient
-| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
-| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *sslContextParameters* (security) | Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
-| *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Async HTTP Client (AHC) Websocket endpoint is configured using URI syntax:
-
-----
-ahc-ws:httpUri
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *httpUri* | *Required* The URI to use such as \http://hostname:port/path |  | URI
-|===
-
-
-=== Query Parameters (18 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeEndpoint* (common) | If the option is true, then the Exchange.HTTP_URI header is ignored, and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the AhcProducer send all the fault response back. | false | boolean
-| *bufferSize* (common) | The initial in-memory buffer size used when transferring data between Camel and AHC Client. | 4096 | int
-| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *throwExceptionOnFailure* (common) | Option to disable throwing the AhcOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | true | boolean
-| *transferException* (common) | 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 (for example using Jetty or Servlet Camel components). On the producer side the exception will be deserialized and thrown as is, instead of the AhcOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable [...]
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *sendMessageOnError* (consumer) | Whether to send an message if the web-socket listener received an error. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *connectionClose* (producer) | Define if the Connection Close header has to be added to HTTP Request. This parameter is false by default | false | boolean
-| *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *useStreaming* (producer) | To enable streaming to send data as multiple text fragments. | false | boolean
-| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
-| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
-| *clientConfigOptions* (advanced) | To configure the AsyncHttpClientConfig using the key/values from the Map. |  | Map
-| *clientConfigRealmOptions* (security) | To configure the AsyncHttpClientConfig Realm using the key/values from the Map. |  | Map
-| *sslContextParameters* (security) | Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. This reference overrides any configured SSLContextParameters at the component level. See Using the JSSE Configuration Utility. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index c98713d..7b7dc61 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -1,6 +1,7 @@
 [[ahc-component]]
 = Async HTTP Client (AHC) Component
 :docTitle: Async HTTP Client (AHC)
+:shortName: ahc
 :artifactId: camel-ahc
 :description: Call external HTTP services using Async Http Client.
 :since: 2.8
@@ -45,104 +46,16 @@ You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Async HTTP Client (AHC) component supports 9 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *allowJavaSerializedObject* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
-| *client* (advanced) | To use a custom AsyncHttpClient |  | AsyncHttpClient
-| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
-| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *sslContextParameters* (security) | Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
-| *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Async HTTP Client (AHC) endpoint is configured using URI syntax:
-
-----
-ahc:httpUri
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *httpUri* | *Required* The URI to use such as \http://hostname:port/path |  | URI
-|===
-
-
-=== Query Parameters (13 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeEndpoint* (producer) | If the option is true, then the Exchange.HTTP_URI header is ignored, and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the AhcProducer send all the fault response back. | false | boolean
-| *bufferSize* (producer) | The initial in-memory buffer size used when transferring data between Camel and AHC Client. | 4096 | int
-| *connectionClose* (producer) | Define if the Connection Close header has to be added to HTTP Request. This parameter is false by default | false | boolean
-| *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
-| *headerFilterStrategy* (producer) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *throwExceptionOnFailure* (producer) | Option to disable throwing the AhcOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | true | boolean
-| *transferException* (producer) | 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 (for example using Jetty or Servlet Camel components). On the producer side the exception will be deserialized and thrown as is, instead of the AhcOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enab [...]
-| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
-| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
-| *clientConfigOptions* (advanced) | To configure the AsyncHttpClientConfig using the key/values from the Map. |  | Map
-| *clientConfigRealmOptions* (security) | To configure the AsyncHttpClientConfig Realm using the key/values from the Map. |  | Map
-| *sslContextParameters* (security) | Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. This reference overrides any configured SSLContextParameters at the component level. See Using the JSSE Configuration Utility. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 7cb2fef..8b7f7c2 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -1,6 +1,7 @@
 [[amqp-component]]
 = AMQP Component
 :docTitle: AMQP
+:shortName: amqp
 :artifactId: camel-amqp
 :description: Messaging with AMQP protocol using Apache QPid Client.
 :since: 1.2
@@ -37,277 +38,16 @@ amqp:[queue:|topic:]destinationName[?options]
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AMQP component supports 99 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *clientId* (common) | 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. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
-| *connectionFactory* (common) | The connection factory to be use. A connection factory must be configured either on the component or endpoint. |  | ConnectionFactory
-| *disableReplyTo* (common) | 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 broker [...]
-| *durableSubscriptionName* (common) | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. |  | String
-| *includeAmqpAnnotations* (common) | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | boolean
-| *jmsMessageType* (common) | Allows you to force the use of a specific javax.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. There are 5 enums and the value can be one of: Bytes, Map, Object, Stream, Text |  | JmsMessageType
-| *replyTo* (common) | Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer). |  | String
-| *testConnectionOnStartup* (common) | 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. | false | boolean
-| *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. There are 4 enums and the value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
-| *artemisConsumerPriority* (consumer) | 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 av [...]
-| *asyncConsumer* (consumer) | 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 transac [...]
-| *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
-| *cacheLevelName* (consumer) | 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. There are 5 enums and the value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
-| *concurrentConsumers* (consumer) | 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. | 1 | int
-| *maxConcurrentConsumers* (consumer) | 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. |  | int
-| *replyToDeliveryPersistent* (consumer) | Specifies whether to use persistent delivery by default for replies. | true | boolean
-| *selector* (consumer) | Sets the JMS selector to use |  | String
-| *subscriptionDurable* (consumer) | 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 pubSubDomai [...]
-| *subscriptionName* (consumer) | 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). |  | String
-| *subscriptionShared* (consumer) | 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 subscrip [...]
-| *acceptMessagesWhileStopping* (consumer) | 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 th [...]
-| *allowReplyManagerQuickStop* (consumer) | 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. | false | [...]
-| *consumerType* (consumer) | 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. [...]
-| *defaultTaskExecutorType* (consumer) | 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 threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsy [...]
-| *eagerLoadingOfProperties* (consumer) | 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. | false | boolean
-| *eagerPoisonBody* (consumer) | 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. | Poison JMS message due to ${exception.message} | String
-| *exposeListenerSession* (consumer) | Specifies whether the listener session should be exposed when consuming messages. | false | boolean
-| *replyToSameDestinationAllowed* (consumer) | 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. | false | boolean
-| *taskExecutor* (consumer) | Allows you to specify a custom task executor for consuming messages. |  | TaskExecutor
-| *deliveryDelay* (producer) | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1 | long
-| *deliveryMode* (producer) | Specifies the delivery mode to be used. Possible values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. There are 2 enums and the value can be one of: 1, 2 |  | Integer
-| *deliveryPersistent* (producer) | Specifies whether persistent delivery is used by default. | true | boolean
-| *explicitQosEnabled* (producer) | 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. | false | Boolean
-| *formatDateHeadersToIso8601* (producer) | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *preserveMessageQos* (producer) | 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 explicitQosEnable [...]
-| *priority* (producer) | 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. There are 9 enums and the value can be one of: 1, 2, 3, 4, 5, 6, 7, 8, 9 | 4 | int
-| *replyToConcurrentConsumers* (producer) | 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. | 1 | int
-| *replyToMaxConcurrentConsumers* (producer) | 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. |  | int
-| *replyToOnTimeoutMaxConcurrent{zwsp}Consumers* (producer) | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | int
-| *replyToOverride* (producer) | 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. |  | String
-| *replyToType* (producer) | 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  [...]
-| *requestTimeout* (producer) | 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. | 20000 | long
-| *timeToLive* (producer) | When sending messages, specifies the time-to-live of the message (in milliseconds). | -1 | long
-| *allowAdditionalHeaders* (producer) | 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. |  | String
-| *allowNullBody* (producer) | Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown. | true | boolean
-| *alwaysCopyMessage* (producer) | 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) | false | boolean
-| *correlationProperty* (producer) | 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. |  | String
-| *disableTimeToLive* (producer) | 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 w [...]
-| *forceSendOriginalMessage* (producer) | 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. | false | boolean
-| *includeSentJMSMessageID* (producer) | 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. | false | boolean
-| *replyToCacheLevelName* (producer) | 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 [...]
-| *replyToDestinationSelectorName* (producer) | 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). |  | String
-| *streamMessageTypeEnabled* (producer) | 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 [...]
-| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to auto-discover ConnectionFactory from the registry, if no connection factory has been configured. If only one instance of ConnectionFactory is found then it will be used. This is enabled by default. | true | boolean
-| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to auto-discover DestinationResolver from the registry, if no destination resolver has been configured. If only one instance of DestinationResolver is found then it will be used. This is enabled by default. | true | boolean
-| *allowSerializedHeaders* (advanced) | 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. | false | boolean
-| *artemisStreamingEnabled* (advanced) | 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. | false | boolean
-| *asyncStartListener* (advanced) | 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 failover. 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, the [...]
-| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *configuration* (advanced) | To use a shared JMS configuration |  | JmsConfiguration
-| *destinationResolver* (advanced) | 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). |  | DestinationResolver
-| *errorHandler* (advanced) | 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. [...]
-| *exceptionListener* (advanced) | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. |  | ExceptionListener
-| *idleConsumerLimit* (advanced) | Specify the limit for the number of consumers that are allowed to be idle at any given time. | 1 | int
-| *idleTaskExecutionLimit* (advanced) | 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. | 1 | int
-| *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx 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. | false | boolean
-| *jmsKeyFormatStrategy* (advanced) | 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 [...]
-| *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the received JMS message to a suited payload type, such as javax.jms.TextMessage to a String etc. | true | boolean
-| *maxMessagesPerTask* (advanced) | 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. | -1 | int
-| *messageConverter* (advanced) | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message. |  | MessageConverter
-| *messageCreatedStrategy* (advanced) | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message. |  | MessageCreatedStrategy
-| *messageIdEnabled* (advanced) | 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. | true | boolean
-| *messageListenerContainer{zwsp}Factory* (advanced) | 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. |  | MessageListenerContainerFactory
-| *messageTimestampEnabled* (advanced) | 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. | true | boolean
-| *pubSubNoLocal* (advanced) | Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean
-| *queueBrowseStrategy* (advanced) | To use a custom QueueBrowseStrategy when browsing queues |  | QueueBrowseStrategy
-| *receiveTimeout* (advanced) | The timeout for receiving messages (in milliseconds). | 1000 | long
-| *recoveryInterval* (advanced) | 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. | 5000 | long
-| *requestTimeoutCheckerInterval* (advanced) | 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. | 1000 | long
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used | false | boolean
-| *transferException* (advanced) | 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 javax.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 preced [...]
-| *transferExchange* (advanced) | 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 E [...]
-| *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | 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. | 50 | int
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
-| *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *transacted* (transaction) | Specifies whether to use transacted mode | false | boolean
-| *transactedInOut* (transaction) | 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 conta [...]
-| *lazyCreateTransactionManager* (transaction) | If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true. | true | boolean
-| *transactionManager* (transaction) | The Spring transaction manager to use. |  | PlatformTransactionManager
-| *transactionName* (transaction) | The name of the transaction to use. |  | String
-| *transactionTimeout* (transaction) | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | int
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AMQP endpoint is configured using URI syntax:
-
-----
-amqp:destinationType:destinationName
-----
 
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *destinationType* | The kind of destination to use. There are 4 enums and the value can be one of: queue, topic, temp-queue, temp-topic | queue | String
-| *destinationName* | *Required* Name of the queue or topic to use as destination |  | String
-|===
-
-
-=== Query Parameters (95 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *clientId* (common) | 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. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
-| *connectionFactory* (common) | The connection factory to be use. A connection factory must be configured either on the component or endpoint. |  | ConnectionFactory
-| *disableReplyTo* (common) | 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 broker [...]
-| *durableSubscriptionName* (common) | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. |  | String
-| *jmsMessageType* (common) | Allows you to force the use of a specific javax.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. There are 5 enums and the value can be one of: Bytes, Map, Object, Stream, Text |  | JmsMessageType
-| *replyTo* (common) | Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer). |  | String
-| *testConnectionOnStartup* (common) | 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. | false | boolean
-| *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. There are 4 enums and the value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
-| *artemisConsumerPriority* (consumer) | 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 av [...]
-| *asyncConsumer* (consumer) | 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 transac [...]
-| *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
-| *cacheLevelName* (consumer) | 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. There are 5 enums and the value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
-| *concurrentConsumers* (consumer) | 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. | 1 | int
-| *maxConcurrentConsumers* (consumer) | 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. |  | int
-| *replyToDeliveryPersistent* (consumer) | Specifies whether to use persistent delivery by default for replies. | true | boolean
-| *selector* (consumer) | Sets the JMS selector to use |  | String
-| *subscriptionDurable* (consumer) | 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 pubSubDomai [...]
-| *subscriptionName* (consumer) | 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). |  | String
-| *subscriptionShared* (consumer) | 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 subscrip [...]
-| *acceptMessagesWhileStopping* (consumer) | 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 th [...]
-| *allowReplyManagerQuickStop* (consumer) | 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. | false | [...]
-| *consumerType* (consumer) | 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. [...]
-| *defaultTaskExecutorType* (consumer) | 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 threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsy [...]
-| *eagerLoadingOfProperties* (consumer) | 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. | false | boolean
-| *eagerPoisonBody* (consumer) | 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. | Poison JMS message due to ${exception.message} | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *exposeListenerSession* (consumer) | Specifies whether the listener session should be exposed when consuming messages. | false | boolean
-| *replyToSameDestinationAllowed* (consumer) | 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. | false | boolean
-| *taskExecutor* (consumer) | Allows you to specify a custom task executor for consuming messages. |  | TaskExecutor
-| *deliveryDelay* (producer) | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1 | long
-| *deliveryMode* (producer) | Specifies the delivery mode to be used. Possible values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. There are 2 enums and the value can be one of: 1, 2 |  | Integer
-| *deliveryPersistent* (producer) | Specifies whether persistent delivery is used by default. | true | boolean
-| *explicitQosEnabled* (producer) | 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. | false | Boolean
-| *formatDateHeadersToIso8601* (producer) | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *preserveMessageQos* (producer) | 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 explicitQosEnable [...]
-| *priority* (producer) | 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. There are 9 enums and the value can be one of: 1, 2, 3, 4, 5, 6, 7, 8, 9 | 4 | int
-| *replyToConcurrentConsumers* (producer) | 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. | 1 | int
-| *replyToMaxConcurrentConsumers* (producer) | 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. |  | int
-| *replyToOnTimeoutMaxConcurrent{zwsp}Consumers* (producer) | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | int
-| *replyToOverride* (producer) | 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. |  | String
-| *replyToType* (producer) | 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  [...]
-| *requestTimeout* (producer) | 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. | 20000 | long
-| *timeToLive* (producer) | When sending messages, specifies the time-to-live of the message (in milliseconds). | -1 | long
-| *allowAdditionalHeaders* (producer) | 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. |  | String
-| *allowNullBody* (producer) | Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown. | true | boolean
-| *alwaysCopyMessage* (producer) | 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) | false | boolean
-| *correlationProperty* (producer) | 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. |  | String
-| *disableTimeToLive* (producer) | 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 w [...]
-| *forceSendOriginalMessage* (producer) | 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. | false | boolean
-| *includeSentJMSMessageID* (producer) | 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. | false | boolean
-| *replyToCacheLevelName* (producer) | 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 [...]
-| *replyToDestinationSelectorName* (producer) | 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). |  | String
-| *streamMessageTypeEnabled* (producer) | 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 [...]
-| *allowSerializedHeaders* (advanced) | 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. | false | boolean
-| *artemisStreamingEnabled* (advanced) | 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. | false | boolean
-| *asyncStartListener* (advanced) | 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 failover. 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, the [...]
-| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | boolean
-| *destinationResolver* (advanced) | 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). |  | DestinationResolver
-| *errorHandler* (advanced) | 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. [...]
-| *exceptionListener* (advanced) | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. |  | ExceptionListener
-| *headerFilterStrategy* (advanced) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *idleConsumerLimit* (advanced) | Specify the limit for the number of consumers that are allowed to be idle at any given time. | 1 | int
-| *idleTaskExecutionLimit* (advanced) | 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. | 1 | int
-| *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx 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. | false | boolean
-| *jmsKeyFormatStrategy* (advanced) | 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 [...]
-| *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the received JMS message to a suited payload type, such as javax.jms.TextMessage to a String etc. | true | boolean
-| *maxMessagesPerTask* (advanced) | 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. | -1 | int
-| *messageConverter* (advanced) | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message. |  | MessageConverter
-| *messageCreatedStrategy* (advanced) | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message. |  | MessageCreatedStrategy
-| *messageIdEnabled* (advanced) | 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. | true | boolean
-| *messageListenerContainer{zwsp}Factory* (advanced) | 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. |  | MessageListenerContainerFactory
-| *messageTimestampEnabled* (advanced) | 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. | true | boolean
-| *pubSubNoLocal* (advanced) | Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean
-| *receiveTimeout* (advanced) | The timeout for receiving messages (in milliseconds). | 1000 | long
-| *recoveryInterval* (advanced) | 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. | 5000 | long
-| *requestTimeoutCheckerInterval* (advanced) | 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. | 1000 | long
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used | false | boolean
-| *transferException* (advanced) | 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 javax.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 preced [...]
-| *transferExchange* (advanced) | 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 E [...]
-| *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | 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. | 50 | int
-| *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
-| *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
-| *transacted* (transaction) | Specifies whether to use transacted mode | false | boolean
-| *transactedInOut* (transaction) | 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 conta [...]
-| *lazyCreateTransactionManager* (transaction) | If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true. | true | boolean
-| *transactionManager* (transaction) | The Spring transaction manager to use. |  | PlatformTransactionManager
-| *transactionName* (transaction) | The name of the transaction to use. |  | String
-| *transactionTimeout* (transaction) | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | int
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-any23/src/main/docs/any23-dataformat.adoc b/components/camel-any23/src/main/docs/any23-dataformat.adoc
index 5e98728..58285af 100644
--- a/components/camel-any23/src/main/docs/any23-dataformat.adoc
+++ b/components/camel-any23/src/main/docs/any23-dataformat.adoc
@@ -1,8 +1,7 @@
 [[any23-dataformat]]
 = Any23 DataFormat
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-any23/src/main/docs/any23-dataformat.adoc
 :docTitle: Any23
+:shortName: any23
 :artifactId: camel-any23
 :description: Extract RDF data from HTML documents.
 :since: 3.0
@@ -20,18 +19,7 @@ Any23 is a Data Format that is intended to convert HTML from a site (or file) in
 == Any23 Options
 
 // dataformat options: START
-The Any23 dataformat supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| outputFormat | RDF4JMODEL | Any23OutputFormat | What RDF syntax to unmarshal as, can be: NTRIPLES, TURTLE, NQUADS, RDFXML, JSONLD, RDFJSON, RDF4JMODEL. It is by default: RDF4JMODEL. There are 7 enums and the value can be one of: JSONLD, NQUADS, NTRIPLES, RDF4JMODEL, RDFJSON, RDFXML, TURTLE
-| configuration |  | List | Configurations for Apache Any23 as key-value pairs in order to customize the extraction process. The list of supported parameters can be found here. If not provided, a default configuration is used.
-| extractors |  | List | List of Any23 extractors to be used in the unmarshal operation. A list of the available extractors can be found here here. If not provided, all the available extractors are used.
-| baseURI |  | String | The URI to use as base for building RDF entities if only relative paths are provided.
-|===
+include::partial$dataformat-options.adoc[]
 // dataformat options: END
 
 
diff --git a/components/camel-arangodb/src/main/docs/arangodb-component.adoc b/components/camel-arangodb/src/main/docs/arangodb-component.adoc
index 35ac63b..c29e868 100644
--- a/components/camel-arangodb/src/main/docs/arangodb-component.adoc
+++ b/components/camel-arangodb/src/main/docs/arangodb-component.adoc
@@ -1,6 +1,7 @@
 [[arangodb-component]]
 = ArangoDb Component
 :docTitle: ArangoDb
+:shortName: arangodb
 :artifactId: camel-arangodb
 :description: Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
 :since: 3.5
@@ -36,104 +37,16 @@ arangodb:database[?options]
 ---------------------------
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The ArangoDb component supports 12 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | ArangoDbConfiguration
-| *documentCollection* (producer) | 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). |  | String
-| *edgeCollection* (producer) | 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. |  | String
-| *graph* (producer) | Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection. |  | String
-| *host* (producer) | ArangoDB host. If host and port are default, this field is Optional. |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph. There are 13 enums and the value can be one of: SAVE_DOCUMENT, FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT, AQL_QUERY, SAVE_VERTEX, FIND_VERTEX_BY_KEY, UPDATE_VERTEX, DELETE_VERTEX, SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE |  | ArangoDbOperation
-| *port* (producer) | ArangoDB exposed port. If host and port are default, this field is Optional. |  | int
-| *vertexCollection* (producer) | 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. |  | String
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *password* (security) | ArangoDB password. If user and password are default, this field is Optional. |  | String
-| *user* (security) | ArangoDB user. If user and password are default, this field is Optional. |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The ArangoDb endpoint is configured using URI syntax:
-
-----
-arangodb:database
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *database* | *Required* database name |  | String
-|===
-
-
-=== Query Parameters (10 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *documentCollection* (producer) | 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). |  | String
-| *edgeCollection* (producer) | 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. |  | String
-| *graph* (producer) | Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection. |  | String
-| *host* (producer) | ArangoDB host. If host and port are default, this field is Optional. |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph. There are 13 enums and the value can be one of: SAVE_DOCUMENT, FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT, AQL_QUERY, SAVE_VERTEX, FIND_VERTEX_BY_KEY, UPDATE_VERTEX, DELETE_VERTEX, SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE |  | ArangoDbOperation
-| *port* (producer) | ArangoDB exposed port. If host and port are default, this field is Optional. |  | int
-| *vertexCollection* (producer) | 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. |  | String
-| *password* (security) | ArangoDB password. If user and password are default, this field is Optional. |  | String
-| *user* (security) | ArangoDB user. If user and password are default, this field is Optional. |  | String
-|===
 // endpoint options: END
 
 == Examples
diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
index 0c2b86b..30db294 100644
--- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
+++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
@@ -1,6 +1,7 @@
 [[as2-component]]
 = AS2 Component
 :docTitle: AS2
+:shortName: as2
 :artifactId: camel-as2
 :description: Transfer data securely and reliably using the AS2 protocol (RFC4130).
 :since: 2.22
@@ -42,255 +43,16 @@ apiName can be one of:
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AS2 component supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *configuration* (advanced) | Component configuration |  | AS2Configuration
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AS2 endpoint is configured using URI syntax:
-
-----
-as2:apiName/methodName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *apiName* | *Required* What kind of operation to perform. There are 2 enums and the value can be one of: CLIENT, SERVER |  | AS2ApiName
-| *methodName* | *Required* What sub operation to use for the selected operation |  | String
-|===
-
-
-=== Query Parameters (31 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *as2From* (common) | The value of the AS2From header of AS2 message. |  | String
-| *as2MessageStructure* (common) | The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature. There are 8 enums and the value can be one of: PLAIN, SIGNED, ENCRYPTED, SIGNED_ENCRYPTED, PLAIN_COMPRESSED, SIGNED_COMPRESSED, ENCRYPTED_COMPRESSED, ENCRYPTED_COMPRESSED_SIGNED |  | AS2MessageStructure
-| *as2To* (common) | The value of the AS2To header of AS2 message. |  | String
-| *as2Version* (common) | The version of the AS2 protocol. There are 2 enums and the value can be one of: 1.0, 1.1 | 1.1 | String
-| *attachedFileName* (common) | The name of the attached file |  | String
-| *clientFqdn* (common) | The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
-| *compressionAlgorithm* (common) | The algorithm used to compress EDI message. There are 1 enums and the value can be one of: ZLIB |  | AS2CompressionAlgorithm
-| *decryptingPrivateKey* (common) | The key used to encrypt the EDI message. |  | PrivateKey
-| *dispositionNotificationTo* (common) | The value of the Disposition-Notification-To header. Assigning a value to this parameter requests a message disposition notification (MDN) for the AS2 message. |  | String
-| *ediMessageTransferEncoding* (common) | The transfer encoding of EDI message. |  | String
-| *ediMessageType* (common) | The content type of EDI message. One of application/edifact, application/edi-x12, application/edi-consent |  | ContentType
-| *encryptingAlgorithm* (common) | The algorithm used to encrypt EDI message. There are 20 enums and the value can be one of: AES128_CBC, AES192_CBC, AES256_CBC, AES128_CCM, AES192_CCM, AES256_CCM, AES128_GCM, AES192_GCM, AES256_GCM, CAMELLIA128_CBC, CAMELLIA192_CBC, CAMELLIA256_CBC, CAST5_CBC, DES_CBC, DES_EDE3_CBC, GOST28147_GCFB, IDEA_CBC, RC2_CBC, RC4, SEED_CBC |  | AS2EncryptionAlgorithm
-| *encryptingCertificateChain* (common) | The chain of certificates used to encrypt EDI message. |  | Certificate[]
-| *from* (common) | The value of the From header of AS2 message. |  | String
-| *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
-| *mdnMessageTemplate* (common) | The template used to format MDN message |  | String
-| *requestUri* (common) | The request URI of EDI message. | / | String
-| *server* (common) | The value included in the Server message header identifying the AS2 Server. | Camel AS2 Server Endpoint | String
-| *serverFqdn* (common) | The Server Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
-| *serverPortNumber* (common) | The port number of server. |  | Integer
-| *signedReceiptMicAlgorithms* (common) | The list of algorithms, in order of preference, requested to generate a message integrity check (MIC) returned in message dispostion notification (MDN) |  | String[]
-| *signingAlgorithm* (common) | The algorithm used to sign EDI message. There are 47 enums and the value can be one of: SHA3_224WITHRSA, SHA3_256WITHRSA, SHA3_384withRSA, SHA3_512WITHRSA, MD5WITHRSA, SHA1WITHRSA, MD2WITHRSA, SHA224WITHRSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA, RIPEMD128WITHRSA, RIPEMD160WITHRSA, RIPEMD256WITHRSA, SHA224WITHDSA, SHA256WITHDSA, SHA384WITHDSA, SHA512WITHDSA, SHA3_224WITHDSA, SHA3_256WITHDSA, SHA3_384WITHDSA, SHA3_512WITHDSA, SHA1WITHDSA, SHA3_224WITH [...]
-| *signingCertificateChain* (common) | The chain of certificates used to sign EDI message. |  | Certificate[]
-| *signingPrivateKey* (common) | The key used to sign the EDI message. |  | PrivateKey
-| *subject* (common) | The value of Subject header of AS2 message. |  | String
-| *targetHostname* (common) | The host name (IP or DNS name) of target host. |  | String
-| *targetPortNumber* (common) | The port number of target host. -1 indicates the scheme default port. |  | Integer
-| *userAgent* (common) | The value included in the User-Agent message header identifying the AS2 user agent. | Camel AS2 Client Endpoint | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-|===
-
-
-
-
-=== API Parameters (2 APIs):
-
-The AS2 endpoint is an API based component and has additional parameters based on which API name and API method is used.
-The API name and API method is located in the endpoint URI as the apiName/methodName path parameters:
-
-----
-as2:apiName/methodName
-----
-
-There are 2 API names as listed in the table below:
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| API Name | Type | Description
-| *client* | Producer | Sends EDI Messages over HTTP
-| *server* | Consumer | Receives EDI Messages over HTTP
-|===
-
-Each API is documented in the following sections to come.
-
-
-==== API: client
-
-*Only producer is supported*
-
-
-
-
-The client API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm, java.security.cert.Certificate[] signingCertificateChain, java.security.PrivateKey signingPrivateKey, org [...]
-
-----
-
-The client API is defined in the syntax as follows:
-
-----
-as2:client/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *send* |  | Send ediMessage to trading partner
-|===
-
-The client API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| send | *as2From* |  AS2 name of sender | String
-| send | *as2MessageStructure* |  The structure of AS2 to send; see AS2MessageStructure | AS2MessageStructure
-| send | *as2To* |  AS2 name of recipient | String
-| send | *attachedFileName* | *Optional*  The name of the attached file or null if user doesn't want to specify it | String
-| send | *compressionAlgorithm* | *Optional*  The algorithm used to compress the message or null if sending EDI message uncompressed | AS2CompressionAlgorithm
-| send | *dispositionNotificationTo* | *Optional*  An RFC2822 address to request a receipt or null if no receipt requested | String
-| send | *ediMessage* |  EDI message to transport | String
-| send | *ediMessageContentType* |  The content type of EDI message | ContentType
-| send | *ediMessageTransferEncoding* | *Optional*  The transfer encoding used to transport EDI message | String
-| send | *encryptingAlgorithm* | *Optional*  The algorithm used to encrypt the message or null if sending EDI message unencrypted | AS2EncryptionAlgorithm
-| send | *encryptingCertificateChain* | *Optional*  The chain of certificates used to encrypt the message or null if sending EDI message unencrypted | Certificate[]
-| send | *from* |  RFC2822 address of sender | String
-| send | *requestUri* |  Resource location to deliver message | String
-| send | *signedReceiptMicAlgorithms* | *Optional*  The senders list of signing algorithms for signing receipt, in preferred order, or null if requesting an unsigned receipt. | String[]
-| send | *signingAlgorithm* | *Optional*  The algorithm used to sign the message or null if sending EDI message unsigned | AS2SignatureAlgorithm
-| send | *signingCertificateChain* | *Optional*  The chain of certificates used to sign the message or null if sending EDI message unsigned | Certificate[]
-| send | *signingPrivateKey* | *Optional*  The private key used to sign EDI message | PrivateKey
-| send | *subject* |  Message subject | String
-|===
-
-In addition to the parameters above, the client API can also use from the 31 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelAs2.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelAs2.myParameterNameHere` header.
-
-
-
-==== API: server
-
-*Only consumer is supported*
-
-
-
-
-The server API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-void listen(String requestUriPattern, org.apache.http.protocol.HttpRequestHandler handler);
-
-----
-
-The server API is defined in the syntax as follows:
-
-----
-as2:server/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *listen* |  | 
-|===
-
-The server API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| listen | *requestUriPattern* |   | String
-|===
-
-In addition to the parameters above, the server API can also use from the 31 endpoint query option
-which is listed in the _Query Parameters_ section.
 
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelAs2.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelAs2.myParameterNameHere` header.
 // endpoint options: END
 
 include::{page-component-version}@camel-spring-boot::page$as2-starter.adoc[]
diff --git a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
index 5c26e2c..f606be7 100644
--- a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
+++ b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
@@ -1,8 +1,7 @@
 [[asn1-dataformat]]
 = ASN.1 File DataFormat
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-asn1/src/main/docs/asn1-dataformat.adoc
 :docTitle: ASN.1 File
+:shortName: asn1
 :artifactId: camel-asn1
 :description: Encode and decode data structures using Abstract Syntax Notation One (ASN.1).
 :since: 2.20
@@ -16,16 +15,7 @@ The ASN.1 Data Format Data Format [Intoduction to ASN.1](https://www.itu.int/en/
 == ASN.1 Data Format Options
 
 // dataformat options: START
-The ASN.1 File dataformat supports 2 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| usingIterator | false | Boolean | If the asn1 file has more then one entry, the setting this option to true, allows to work with the splitter EIP, to split the data using an iterator in a streaming mode.
-| unmarshalType |  | String | Class to use when unmarshalling.
-|===
+include::partial$dataformat-options.adoc[]
 // dataformat options: END
 
 == Unmarshal
diff --git a/components/camel-asterisk/src/main/docs/asterisk-component.adoc b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
index df5eac9..beaad20 100644
--- a/components/camel-asterisk/src/main/docs/asterisk-component.adoc
+++ b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
@@ -1,6 +1,7 @@
 [[asterisk-component]]
 = Asterisk Component
 :docTitle: Asterisk
+:shortName: asterisk
 :artifactId: camel-asterisk
 :description: Interact with Asterisk PBX Server.
 :since: 2.18
@@ -36,93 +37,16 @@ asterisk:name[?options]
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Asterisk component supports 3 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Asterisk endpoint is configured using URI syntax:
-
-----
-asterisk:name
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *name* | *Required* Name of component |  | String
-|===
-
-
-=== Query Parameters (8 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *hostname* (common) | *Required* The hostname of the asterisk server |  | String
-| *password* (common) | *Required* Login password |  | String
-| *username* (common) | *Required* Login username |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *action* (producer) | What action to perform such as getting queue status, sip peers or extension state. There are 3 enums and the value can be one of: QUEUE_STATUS, SIP_PEERS, EXTENSION_STATE |  | AsteriskAction
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-atlasmap/src/main/docs/atlasmap-component.adoc b/components/camel-atlasmap/src/main/docs/atlasmap-component.adoc
index 820cbab..96845bf 100644
--- a/components/camel-atlasmap/src/main/docs/atlasmap-component.adoc
+++ b/components/camel-atlasmap/src/main/docs/atlasmap-component.adoc
@@ -1,6 +1,7 @@
 [[atlasmap-component]]
 = AtlasMap Component
 :docTitle: AtlasMap
+:shortName: atlasmap
 :artifactId: camel-atlasmap
 :description: Transforms the message using an AtlasMap transformation.
 :since: 3.7
@@ -41,92 +42,16 @@ mapping definition, either ADM archive file or mapping definition JSON file
  to process.
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AtlasMap component supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *atlasContextFactory* (advanced) | To use the AtlasContextFactory otherwise a new engine is created. |  | AtlasContextFactory
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *propertiesFile* (advanced) | The URI of the properties file which is used for AtlasContextFactory initialization. |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AtlasMap endpoint is configured using URI syntax:
-
-----
-atlasmap:resourceUri
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *resourceUri* | *Required* Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. |  | String
-|===
-
-
-=== Query Parameters (6 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *allowContextMapAll* (producer) | Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API. | false | boolean
-| *contentCache* (producer) | Sets whether to use resource content cache or not | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *sourceMapName* (producer) | The Exchange property name for a source message map which hold java.util.Map&lt;String, Message&gt; where the key is AtlasMap Document ID. AtlasMap consumes Message bodies as source documents, as well as message headers as source properties where the scope equals to Document ID. |  | String
-| *targetMapMode* (producer) | TargetMapMode enum value to specify how multiple target documents are delivered if exist. 'MAP': Stores them into a java.util.Map, and the java.util.Map is set to an exchange property if 'targetMapName' is specified, otherwise message body. 'MESSAGE_HEADER': Stores them into message headers. 'EXCHANGE_PROPERTY': Stores them into exchange properties. ). There are 3 enums and the value can be one of: MAP, MESSAGE_HEADER, EXCHANGE_PROPERTY | MAP | TargetMapMode
-| *targetMapName* (producer) | The Exchange property name for a target document map which hold java.util.Map&lt;String, Object&gt; where the key is AtlasMap Document ID. AtlasMap populates multiple target documents into this map. |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index a0c70e7..3136712 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -1,6 +1,7 @@
 [[atmos-component]]
 = Atmos Component
 :docTitle: Atmos
+:shortName: atmos
 :artifactId: camel-atmos
 :description: Integrate with EMC's ViPR object data services using the Atmos Client.
 :since: 2.15
@@ -18,102 +19,16 @@ https://github.com/emcvipr/dataservices-sdk-java[Atmos Client].
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atmos component supports 7 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *uri* (advanced) | The URI of the server for the Atmos client to connect to |  | String
-| *fullTokenId* (security) | The token id to pass to the Atmos client |  | String
-| *secretKey* (security) | The secret key to pass to the Atmos client (should be base64 encoded) |  | String
-| *sslValidation* (security) | Whether the Atmos client should perform SSL validation | false | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atmos endpoint is configured using URI syntax:
-
-----
-atmos:name/operation
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *name* | Atmos name |  | String
-| *operation* | *Required* Operation to perform. There are 5 enums and the value can be one of: put, del, search, get, move |  | AtmosOperation
-|===
-
-
-=== Query Parameters (12 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *localPath* (common) | Local path to put files |  | String
-| *newRemotePath* (common) | New path on Atmos when moving files |  | String
-| *query* (common) | Search query on Atmos |  | String
-| *remotePath* (common) | Where to put files on Atmos |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *uri* (advanced) | Atomos server uri |  | String
-| *fullTokenId* (security) | Atmos client fullTokenId |  | String
-| *secretKey* (security) | The secret key to pass to the Atmos client (should be base64 encoded) |  | String
-| *sslValidation* (security) | Atmos SSL validation | false | boolean
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index 7b2917e..1ad36aa 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -1,6 +1,7 @@
 [[atmosphere-websocket-component]]
 = Atmosphere Websocket Component
 :docTitle: Atmosphere Websocket
+:shortName: atmosphere-websocket
 :artifactId: camel-atmosphere-websocket
 :description: Expose WebSocket endpoints using the Atmosphere framework.
 :since: 2.14
@@ -41,119 +42,16 @@ their `pom.xml` for this component:
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atmosphere Websocket component supports 11 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *servletName* (consumer) | Default name of servlet to use. The default name is CamelServlet. | CamelServlet | String
-| *attachmentMultipartBinding* (consumer) | 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. | false | boolean
-| *fileNameExtWhitelist* (consumer) | Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml. |  | String
-| *httpRegistry* (consumer) | To use a custom org.apache.camel.component.servlet.HttpRegistry. |  | HttpRegistry
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *allowJavaSerializedObject* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *httpBinding* (advanced) | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. |  | HttpBinding
-| *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
-| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atmosphere Websocket endpoint is configured using URI syntax:
-
-----
-atmosphere-websocket:servicePath
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *servicePath* | *Required* Name of websocket endpoint |  | String
-|===
-
-
-=== Query Parameters (26 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *chunked* (common) | If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response | true | boolean
-| *disableStreamCache* (common) | 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 persis [...]
-| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *sendToAll* (common) | Whether to send to all (broadcast) or send to a single receiver. | false | boolean
-| *transferException* (common) | 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 in [...]
-| *useStreaming* (common) | To enable streaming to send data as multiple text fragments. | false | boolean
-| *httpBinding* (common) | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. |  | HttpBinding
-| *async* (consumer) | Configure the consumer to work in async mode | false | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *httpMethodRestrict* (consumer) | Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma. |  | String
-| *matchOnUriPrefix* (consumer) | Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found. | false | boolean
-| *muteException* (consumer) | If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace. | false | boolean
-| *responseBufferSize* (consumer) | To use a custom buffer size on the javax.servlet.ServletResponse. |  | Integer
-| *servletName* (consumer) | Name of the servlet to use | CamelServlet | String
-| *attachmentMultipartBinding* (consumer) | 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. | false | boolean
-| *eagerCheckContentAvailable* (consumer) | 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. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *fileNameExtWhitelist* (consumer) | Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml. |  | String
-| *mapHttpMessageBody* (consumer) | 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. | true | boolean
-| *mapHttpMessageFormUrlEncoded{zwsp}Body* (consumer) | 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. | true | boolean
-| *mapHttpMessageHeaders* (consumer) | 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. | true | boolean
-| *optionsEnabled* (consumer) | Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off. | false | boolean
-| *traceEnabled* (consumer) | Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off. | false | boolean
-| *bridgeEndpoint* (producer) | 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. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index d74ef6b..c34392d 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -1,6 +1,7 @@
 [[atom-component]]
 = Atom Component
 :docTitle: Atom
+:shortName: atom
 :artifactId: camel-atom
 :description: Poll Atom RSS feeds.
 :since: 1.2
@@ -42,111 +43,16 @@ Where *atomUri* is the URI to the Atom feed to poll.
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atom component supports 2 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atom endpoint is configured using URI syntax:
-
-----
-atom:feedUri
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *feedUri* | *Required* The URI to the feed to poll. |  | String
-|===
-
-
-=== Query Parameters (27 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *feedHeader* (consumer) | Sets whether to add the feed object as a header. | true | boolean
-| *filter* (consumer) | Sets whether to use filtering or not of the entries. | true | boolean
-| *lastUpdate* (consumer) | Sets the timestamp to be used for filtering entries from the atom feeds. This options is only in conjunction with the splitEntries. |  | Date
-| *password* (consumer) | Sets the password to be used for basic authentication when polling from a HTTP feed. |  | String
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *sortEntries* (consumer) | Sets whether to sort entries by published date. Only works when splitEntries = true. | false | boolean
-| *splitEntries* (consumer) | Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message | true | boolean
-| *throttleEntries* (consumer) | 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. | true | boolean
-| *username* (consumer) | Sets the username to be used for basic authentication when polling from a HTTP feed. |  | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-atomix/src/main/docs/atomix-map-component.adoc b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
index 4c78177..2c75681 100644
--- a/components/camel-atomix/src/main/docs/atomix-map-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
@@ -1,6 +1,7 @@
 [[atomix-map-component]]
 = Atomix Map Component
 :docTitle: Atomix Map
+:shortName: atomix-map
 :artifactId: camel-atomix
 :description: Access Atomix's distributed map.
 :since: 2.20
@@ -32,118 +33,16 @@ atomix-map:mapName
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atomix Map component supports 18 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configuration* (common) | The shared component configuration |  | AtomixMapConfiguration
-| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *defaultAction* (common) | The default action. There are 12 enums and the value can be one of: PUT, PUT_IF_ABSENT, GET, CLEAR, SIZE, CONTAINS_KEY, CONTAINS_VALUE, IS_EMPTY, ENTRY_SET, REMOVE, REPLACE, VALUES | PUT | Action
-| *key* (common) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
-| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (common) | The resource ttl. |  | long
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atomix Map endpoint is configured using URI syntax:
-
-----
-atomix-map:resourceName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *resourceName* | *Required* The distributed resource name |  | String
-|===
-
-
-=== Query Parameters (18 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configurationUri* (common) | The Atomix configuration uri. |  | String
-| *defaultAction* (common) | The default action. There are 12 enums and the value can be one of: PUT, PUT_IF_ABSENT, GET, CLEAR, SIZE, CONTAINS_KEY, CONTAINS_VALUE, IS_EMPTY, ENTRY_SET, REMOVE, REPLACE, VALUES | PUT | Action
-| *key* (common) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
-| *nodes* (common) | The address of the nodes composing the cluster. |  | String
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (common) | The resource ttl. |  | long
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
index 55d4ffd..cb76176 100644
--- a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
@@ -1,6 +1,7 @@
 [[atomix-messaging-component]]
 = Atomix Messaging Component
 :docTitle: Atomix Messaging
+:shortName: atomix-messaging
 :artifactId: camel-atomix
 :description: Access Atomix's group messaging.
 :since: 2.20
@@ -33,120 +34,16 @@ atomix-messaging:group
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atomix Messaging component supports 19 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *broadcastType* (common) | The broadcast type. There are 2 enums and the value can be one of: ALL, RANDOM | ALL | BroadcastType
-| *channelName* (common) | The messaging channel name |  | String
-| *configuration* (common) | The shared component configuration |  | AtomixMessagingConfiguration
-| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *defaultAction* (common) | The default action. There are 2 enums and the value can be one of: DIRECT, BROADCAST | DIRECT | Action
-| *memberName* (common) | The Atomix Group member name |  | String
-| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atomix Messaging endpoint is configured using URI syntax:
-
-----
-atomix-messaging:resourceName
-----
 
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *resourceName* | *Required* The distributed resource name |  | String
-|===
-
-
-=== Query Parameters (19 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *broadcastType* (common) | The broadcast type. There are 2 enums and the value can be one of: ALL, RANDOM | ALL | BroadcastType
-| *channelName* (common) | The messaging channel name |  | String
-| *configurationUri* (common) | The Atomix configuration uri. |  | String
-| *defaultAction* (common) | The default action. There are 2 enums and the value can be one of: DIRECT, BROADCAST | DIRECT | Action
-| *memberName* (common) | The Atomix Group member name |  | String
-| *nodes* (common) | The address of the nodes composing the cluster. |  | String
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
 // endpoint options: END
 
 == Examples
diff --git a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
index 617eb09..b2284fa 100644
--- a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
@@ -1,6 +1,7 @@
 [[atomix-multimap-component]]
 = Atomix MultiMap Component
 :docTitle: Atomix MultiMap
+:shortName: atomix-multimap
 :artifactId: camel-atomix
 :description: Access Atomix's distributed multi map.
 :since: 2.20
@@ -33,114 +34,16 @@ atomix-multimap:multiMapName
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atomix MultiMap component supports 17 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (producer) | The Atomix instance to use |  | Atomix
-| *configuration* (producer) | The shared component configuration |  | AtomixMultiMapConfiguration
-| *configurationUri* (producer) | The path to the AtomixClient configuration |  | String
-| *defaultAction* (producer) | The default action. There are 8 enums and the value can be one of: PUT, GET, CLEAR, SIZE, CONTAINS_KEY, IS_EMPTY, REMOVE, REMOVE_VALUE | PUT | Action
-| *key* (producer) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *nodes* (producer) | The nodes the AtomixClient should connect to |  | List
-| *resultHeader* (producer) | The header that wil carry the result. |  | String
-| *transportClassName* (producer) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (producer) | The resource ttl. |  | long
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atomix MultiMap endpoint is configured using URI syntax:
-
-----
-atomix-multimap:resourceName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *resourceName* | *Required* The distributed resource name |  | String
-|===
-
-
-=== Query Parameters (15 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (producer) | The Atomix instance to use |  | Atomix
-| *configurationUri* (producer) | The Atomix configuration uri. |  | String
-| *defaultAction* (producer) | The default action. There are 8 enums and the value can be one of: PUT, GET, CLEAR, SIZE, CONTAINS_KEY, IS_EMPTY, REMOVE, REMOVE_VALUE | PUT | Action
-| *key* (producer) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *nodes* (producer) | The address of the nodes composing the cluster. |  | String
-| *resultHeader* (producer) | The header that wil carry the result. |  | String
-| *transportClassName* (producer) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (producer) | The resource ttl. |  | long
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
 // endpoint options: END
 
 == Examples
diff --git a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
index feffc23..df1d911 100644
--- a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
@@ -1,6 +1,7 @@
 [[atomix-queue-component]]
 = Atomix Queue Component
 :docTitle: Atomix Queue
+:shortName: atomix-queue
 :artifactId: camel-atomix
 :description: Access Atomix's distributed queue.
 :since: 2.20
@@ -33,114 +34,16 @@ atomix-queue:queueName
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atomix Queue component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configuration* (common) | The shared component configuration |  | AtomixQueueConfiguration
-| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *defaultAction* (common) | The default action. There are 9 enums and the value can be one of: ADD, OFFER, PEEK, POLL, CLEAR, CONTAINS, IS_EMPTY, REMOVE, SIZE | ADD | Action
-| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atomix Queue endpoint is configured using URI syntax:
-
-----
-atomix-queue:resourceName
-----
 
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *resourceName* | *Required* The distributed resource name |  | String
-|===
-
-
-=== Query Parameters (16 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configurationUri* (common) | The Atomix configuration uri. |  | String
-| *defaultAction* (common) | The default action. There are 9 enums and the value can be one of: ADD, OFFER, PEEK, POLL, CLEAR, CONTAINS, IS_EMPTY, REMOVE, SIZE | ADD | Action
-| *nodes* (common) | The address of the nodes composing the cluster. |  | String
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
 // endpoint options: END
 
 == Examples
diff --git a/components/camel-atomix/src/main/docs/atomix-set-component.adoc b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
index d563d3e..76670d4 100644
--- a/components/camel-atomix/src/main/docs/atomix-set-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
@@ -1,6 +1,7 @@
 [[atomix-set-component]]
 = Atomix Set Component
 :docTitle: Atomix Set
+:shortName: atomix-set
 :artifactId: camel-atomix
 :description: Access Atomix's distributed set.
 :since: 2.20
@@ -33,116 +34,16 @@ atomix-set:setName
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atomix Set component supports 17 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configuration* (common) | The shared component configuration |  | AtomixSetConfiguration
-| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *defaultAction* (common) | The default action. There are 6 enums and the value can be one of: ADD, CLEAR, CONTAINS, IS_EMPTY, REMOVE, SIZE | ADD | Action
-| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (common) | The resource ttl. |  | long
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atomix Set endpoint is configured using URI syntax:
-
-----
-atomix-set:resourceName
-----
 
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *resourceName* | *Required* The distributed resource name |  | String
-|===
-
-
-=== Query Parameters (17 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configurationUri* (common) | The Atomix configuration uri. |  | String
-| *defaultAction* (common) | The default action. There are 6 enums and the value can be one of: ADD, CLEAR, CONTAINS, IS_EMPTY, REMOVE, SIZE | ADD | Action
-| *nodes* (common) | The address of the nodes composing the cluster. |  | String
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (common) | The resource ttl. |  | long
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
 // endpoint options: END
 
 == Examples
diff --git a/components/camel-atomix/src/main/docs/atomix-value-component.adoc b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
index d991389..7cbbc56 100644
--- a/components/camel-atomix/src/main/docs/atomix-value-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
@@ -1,6 +1,7 @@
 [[atomix-value-component]]
 = Atomix Value Component
 :docTitle: Atomix Value
+:shortName: atomix-value
 :artifactId: camel-atomix
 :description: Access Atomix's distributed value.
 :since: 2.20
@@ -33,116 +34,16 @@ atomix-value:valueName
 ----
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Atomix Value component supports 17 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configuration* (common) | The shared component configuration |  | AtomixValueConfiguration
-| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *defaultAction* (common) | The default action. There are 4 enums and the value can be one of: SET, GET, GET_AND_SET, COMPARE_AND_SET | SET | Action
-| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (common) | The resource ttl. |  | long
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Atomix Value endpoint is configured using URI syntax:
-
-----
-atomix-value:resourceName
-----
 
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *resourceName* | *Required* The distributed resource name |  | String
-|===
-
-
-=== Query Parameters (17 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *atomix* (common) | The Atomix instance to use |  | Atomix
-| *configurationUri* (common) | The Atomix configuration uri. |  | String
-| *defaultAction* (common) | The default action. There are 4 enums and the value can be one of: SET, GET, GET_AND_SET, COMPARE_AND_SET | SET | Action
-| *nodes* (common) | The address of the nodes composing the cluster. |  | String
-| *resultHeader* (common) | The header that wil carry the result. |  | String
-| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
-| *ttl* (common) | The resource ttl. |  | long
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
-| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
-| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
-| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
-| *resourceOptions* (advanced) | Local resources configurations |  | Map
-|===
 // endpoint options: END
 
 == Examples
diff --git a/components/camel-attachments/src/main/docs/attachments.adoc b/components/camel-attachments/src/main/docs/attachments.adoc
index 0b43324..cab04c6 100644
--- a/components/camel-attachments/src/main/docs/attachments.adoc
+++ b/components/camel-attachments/src/main/docs/attachments.adoc
@@ -1,8 +1,7 @@
 [[attachments-other]]
 = Attachments Component
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-attachments/src/main/docs/attachments.adoc
 :docTitle: Attachments
+:shortName: attachments
 :artifactId: camel-attachments
 :description: Support for attachments on Camel messages
 :since: 3.0
diff --git a/components/camel-avro-rpc/camel-avro-rpc-component/src/main/docs/avro-component.adoc b/components/camel-avro-rpc/camel-avro-rpc-component/src/main/docs/avro-component.adoc
index 9cc3b07..3d80485 100644
--- a/components/camel-avro-rpc/camel-avro-rpc-component/src/main/docs/avro-component.adoc
+++ b/components/camel-avro-rpc/camel-avro-rpc-component/src/main/docs/avro-component.adoc
@@ -1,6 +1,7 @@
 [[avro-component]]
 = Avro RPC Component
 :docTitle: Avro RPC
+:shortName: avro
 :artifactId: camel-avro-rpc
 :description: Produce or consume Apache Avro RPC services.
 :since: 2.10
@@ -30,105 +31,16 @@ for this component:
 ------------------------------------------------------------
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Avro RPC component supports 10 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *protocol* (common) | Avro protocol to use |  | Protocol
-| *protocolClassName* (common) | Avro protocol to use defined by the FQN class name |  | String
-| *protocolLocation* (common) | Avro protocol location |  | String
-| *reflectionProtocol* (common) | If protocol object provided is reflection protocol. Should be used only with protocol parameter because for protocolClassName protocol type will be auto detected | false | boolean
-| *singleParameter* (common) | If true, consumer parameter won't be wrapped into array. Will fail if protocol specifies more then 1 parameter for the message | false | boolean
-| *uriAuthority* (common) | Authority to use (username and password) |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *configuration* (advanced) | To use a shared AvroConfiguration to configure options once |  | AvroConfiguration
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Avro RPC endpoint is configured using URI syntax:
-
-----
-avro:transport:host:port/messageName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (4 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *transport* | *Required* Transport to use, can be either http or netty. There are 2 enums and the value can be one of: http, netty |  | AvroTransport
-| *port* | *Required* Port number to use |  | int
-| *host* | *Required* Hostname to use |  | String
-| *messageName* | The name of the message to send. |  | String
-|===
-
-
-=== Query Parameters (10 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *protocol* (common) | Avro protocol to use |  | Protocol
-| *protocolClassName* (common) | Avro protocol to use defined by the FQN class name |  | String
-| *protocolLocation* (common) | Avro protocol location |  | String
-| *reflectionProtocol* (common) | If protocol object provided is reflection protocol. Should be used only with protocol parameter because for protocolClassName protocol type will be auto detected | false | boolean
-| *singleParameter* (common) | If true, consumer parameter won't be wrapped into array. Will fail if protocol specifies more then 1 parameter for the message | false | boolean
-| *uriAuthority* (common) | Authority to use (username and password) |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-|===
 // endpoint options: END
 
 == Apache Avro Overview
diff --git a/components/camel-avro/src/main/docs/avro-dataformat.adoc b/components/camel-avro/src/main/docs/avro-dataformat.adoc
index ea12266..594adaa 100644
--- a/components/camel-avro/src/main/docs/avro-dataformat.adoc
+++ b/components/camel-avro/src/main/docs/avro-dataformat.adoc
@@ -1,8 +1,7 @@
 [[avro-dataformat]]
 = Avro DataFormat
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-avro/src/main/docs/avro-dataformat.adoc
 :docTitle: Avro
+:shortName: avro
 :artifactId: camel-avro
 :description: Serialize and deserialize messages using Apache Avro binary data format.
 :since: 2.14
@@ -37,15 +36,7 @@ http://avro.apache.org/docs/current/[Apache Avro documentation].
 == Avro Dataformat Options
 
 // dataformat options: START
-The Avro dataformat supports 1 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| instanceClassName |  | String | Class name to use for marshal and unmarshalling
-|===
+include::partial$dataformat-options.adoc[]
 // dataformat options: END
 
 == Examples
diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc b/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc
index 61b2b8f..5d934a6 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc
+++ b/components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc
@@ -1,6 +1,7 @@
 [[aws-secrets-manager-component]]
 = AWS Secrets Manager Component
 :docTitle: AWS Secrets Manager
+:shortName: aws-secrets-manager
 :artifactId: camel-aws-secrets-manager
 :description: Manage AWS Secrets Manager services using AWS SDK version 2.x.
 :since: 3.9
@@ -35,114 +36,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Secrets Manager component supports 17 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *binaryPayload* (producer) | Set if the secret is binary or not | false | boolean
-| *configuration* (producer) | Component configuration |  | SecretsManagerConfiguration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 9 enums and the value can be one of: listSecrets, createSecret, getSecret, describeSecret, deleteSecret, rotateSecret, updateSecret, restoreSecret, replicateSecretToRegions |  | SecretsManagerOperations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the Secrets Manager client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Secrets Manager client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Secrets Manager client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretsManagerClient* (producer) | *Autowired* To use a existing configured AWS Secrets Manager as client |  | SecretsManagerClient
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Secrets Manager endpoint is configured using URI syntax:
-
-----
-aws-secrets-manager://label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (15 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *binaryPayload* (producer) | Set if the secret is binary or not | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 9 enums and the value can be one of: listSecrets, createSecret, getSecret, describeSecret, deleteSecret, rotateSecret, updateSecret, restoreSecret, replicateSecretToRegions |  | SecretsManagerOperations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the Secrets Manager client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Secrets Manager client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Secrets Manager client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretsManagerClient* (producer) | *Autowired* To use a existing configured AWS Secrets Manager as client |  | SecretsManagerClient
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 === Secrets Manager Producer operations
diff --git a/components/camel-aws/camel-aws-xray/src/main/docs/aws-xray.adoc b/components/camel-aws/camel-aws-xray/src/main/docs/aws-xray.adoc
index b7b5e6b..b1b76fa 100644
--- a/components/camel-aws/camel-aws-xray/src/main/docs/aws-xray.adoc
+++ b/components/camel-aws/camel-aws-xray/src/main/docs/aws-xray.adoc
@@ -1,8 +1,7 @@
 [[aws-xray-other]]
 = AWS XRay Component
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-aws/camel-aws-xray/src/main/docs/aws-xray.adoc
 :docTitle: AWS XRay
+:shortName: aws-xray
 :artifactId: camel-aws-xray
 :description: Distributed tracing using AWS XRay
 :since: 2.21
diff --git a/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc b/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc
index 78a3558..c19d9be 100644
--- a/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc
+++ b/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-athena-component]]
 = AWS Athena Component
 :docTitle: AWS Athena
+:shortName: aws2-athena
 :artifactId: camel-aws2-athena
 :description: Access AWS Athena service using AWS SDK version 2.x.
 :since: 3.4
@@ -33,140 +34,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Athena component supports 30 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accessKey* (producer) | Amazon AWS Access Key. |  | String
-| *amazonAthenaClient* (producer) | *Autowired* The AmazonAthena instance to use as the client. |  | AthenaClient
-| *configuration* (producer) | The component configuration. |  | Athena2Configuration
-| *database* (producer) | The Athena database to use. |  | String
-| *delay* (producer) | Milliseconds before the next poll for query execution status. See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | 2000 | long
-| *encryptionOption* (producer) | The encryption type to use when storing query results in S3. One of SSE_S3, SSE_KMS, or CSE_KMS. There are 4 enums and the value can be one of: SSE_S3, SSE_KMS, CSE_KMS, null |  | EncryptionOption
-| *includeTrace* (producer) | Include useful trace information at the beginning of queries as an SQL comment (prefixed with --). | false | boolean
-| *initialDelay* (producer) | Milliseconds before the first poll for query execution status. See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | 1000 | long
-| *kmsKey* (producer) | For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *maxAttempts* (producer) | 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. | 1 | int
-| *maxResults* (producer) | 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. |  | Integer
-| *nextToken* (producer) | Pagination token to use in the case where the response from the previous request was truncated. |  | String
-| *operation* (producer) | The Athena API function to call. There are 4 enums and the value can be one of: getQueryExecution, getQueryResults, listQueryExecutions, startQueryExecution | startQueryExecution | Athena2Operations
-| *outputLocation* (producer) | 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 ('/'). |  | String
-| *outputType* (producer) | How query results should be returned. One of StreamList (default - return a GetQueryResultsIterable that can page through all results), SelectList (returns at most 1,000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results), S3Pointer (return an S3 path pointing to the results). There are 3 enums and the value can be one of: StreamList, SelectList, S3Pointer | StreamList | Athena2OutputType
-| *proxyHost* (producer) | To define a proxy host when instantiating the Athena client. |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Athena client. |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Athena client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queryExecutionId* (producer) | The unique ID identifying the query execution. |  | String
-| *queryString* (producer) | 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. |  | String
-| *region* (producer) | The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1). You'll need to use the name Region.EU_WEST_1.id(). |  | String
-| *resetWaitTimeoutOnRetry* (producer) | 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. | true | boolean
-| *retry* (producer) | 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 Querie [...]
-| *secretKey* (producer) | Amazon AWS Secret Key. |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Athena client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in | false | boolean
-| *waitTimeout* (producer) | 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. | 0 | long
-| *workGroup* (producer) | The workgroup to use for running the query. |  | String
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *clientRequestToken* (advanced) | A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this. |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Athena endpoint is configured using URI syntax:
-
-----
-aws2-athena:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (28 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accessKey* (producer) | Amazon AWS Access Key. |  | String
-| *amazonAthenaClient* (producer) | *Autowired* The AmazonAthena instance to use as the client. |  | AthenaClient
-| *database* (producer) | The Athena database to use. |  | String
-| *delay* (producer) | Milliseconds before the next poll for query execution status. See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | 2000 | long
-| *encryptionOption* (producer) | The encryption type to use when storing query results in S3. One of SSE_S3, SSE_KMS, or CSE_KMS. There are 4 enums and the value can be one of: SSE_S3, SSE_KMS, CSE_KMS, null |  | EncryptionOption
-| *includeTrace* (producer) | Include useful trace information at the beginning of queries as an SQL comment (prefixed with --). | false | boolean
-| *initialDelay* (producer) | Milliseconds before the first poll for query execution status. See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | 1000 | long
-| *kmsKey* (producer) | For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *maxAttempts* (producer) | 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. | 1 | int
-| *maxResults* (producer) | 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. |  | Integer
-| *nextToken* (producer) | Pagination token to use in the case where the response from the previous request was truncated. |  | String
-| *operation* (producer) | The Athena API function to call. There are 4 enums and the value can be one of: getQueryExecution, getQueryResults, listQueryExecutions, startQueryExecution | startQueryExecution | Athena2Operations
-| *outputLocation* (producer) | 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 ('/'). |  | String
-| *outputType* (producer) | How query results should be returned. One of StreamList (default - return a GetQueryResultsIterable that can page through all results), SelectList (returns at most 1,000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results), S3Pointer (return an S3 path pointing to the results). There are 3 enums and the value can be one of: StreamList, SelectList, S3Pointer | StreamList | Athena2OutputType
-| *proxyHost* (producer) | To define a proxy host when instantiating the Athena client. |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Athena client. |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Athena client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queryExecutionId* (producer) | The unique ID identifying the query execution. |  | String
-| *queryString* (producer) | 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. |  | String
-| *region* (producer) | The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1). You'll need to use the name Region.EU_WEST_1.id(). |  | String
-| *resetWaitTimeoutOnRetry* (producer) | 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. | true | boolean
-| *retry* (producer) | 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 Querie [...]
-| *secretKey* (producer) | Amazon AWS Secret Key. |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Athena client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in | false | boolean
-| *waitTimeout* (producer) | 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. | 0 | long
-| *workGroup* (producer) | The workgroup to use for running the query. |  | String
-| *clientRequestToken* (advanced) | A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this. |  | String
-|===
+
 // endpoint options: END
 
 Required Athena component options
diff --git a/components/camel-aws/camel-aws2-cw/src/main/docs/aws2-cw-component.adoc b/components/camel-aws/camel-aws2-cw/src/main/docs/aws2-cw-component.adoc
index a2df3a9..6b89177 100644
--- a/components/camel-aws/camel-aws2-cw/src/main/docs/aws2-cw-component.adoc
+++ b/components/camel-aws/camel-aws2-cw/src/main/docs/aws2-cw-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-cw-component]]
 = AWS CloudWatch Component
 :docTitle: AWS CloudWatch
+:shortName: aws2-cw
 :artifactId: camel-aws2-cw
 :description: Sending metrics to AWS CloudWatch using AWS SDK version 2.x.
 :since: 3.1
@@ -37,116 +38,16 @@ The metrics will be created if they don't already exists. +
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS CloudWatch component supports 18 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonCwClient* (producer) | *Autowired* To use the AmazonCloudWatch as the client |  | CloudWatchClient
-| *configuration* (producer) | The component configuration |  | Cw2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *name* (producer) | The metric name |  | String
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the CW client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the CW client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the CW client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *timestamp* (producer) | The metric timestamp |  | Instant
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *unit* (producer) | The metric unit |  | String
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *value* (producer) | The metric value |  | Double
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS CloudWatch endpoint is configured using URI syntax:
-
-----
-aws2-cw:namespace
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *namespace* | *Required* The metric namespace |  | String
-|===
-
-
-=== Query Parameters (16 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonCwClient* (producer) | *Autowired* To use the AmazonCloudWatch as the client |  | CloudWatchClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *name* (producer) | The metric name |  | String
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the CW client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the CW client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the CW client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *timestamp* (producer) | The metric timestamp |  | Instant
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *unit* (producer) | The metric unit |  | String
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *value* (producer) | The metric value |  | Double
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 Required CW component options
diff --git a/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddb-component.adoc b/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddb-component.adoc
index 52901d0..ca3ee33 100644
--- a/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddb-component.adoc
+++ b/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddb-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-ddb-component]]
 = AWS DynamoDB Component
 :docTitle: AWS DynamoDB
+:shortName: aws2-ddb
 :artifactId: camel-aws2-ddb
 :description: Store and retrieve data from AWS DynamoDB service using AWS SDK version 2.x.
 :since: 3.1
@@ -35,122 +36,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS DynamoDB component supports 21 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonDDBClient* (producer) | *Autowired* To use the AmazonDynamoDB as the client |  | DynamoDbClient
-| *configuration* (producer) | The component configuration |  | Ddb2Configuration
-| *consistentRead* (producer) | Determines whether or not strong consistency should be enforced when data is read. | false | boolean
-| *keyAttributeName* (producer) | Attribute name when creating table |  | String
-| *keyAttributeType* (producer) | Attribute type when creating table |  | String
-| *keyScalarType* (producer) | The key scalar type, it can be S (String), N (Number) and B (Bytes) |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | What operation to perform. There are 10 enums and the value can be one of: BatchGetItems, DeleteItem, DeleteTable, DescribeTable, GetItem, PutItem, Query, Scan, UpdateItem, UpdateTable | PutItem | Ddb2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the DDB client |  | String
-| *proxyPort* (producer) | 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() |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the DDB client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *readCapacity* (producer) | The provisioned throughput to reserve for reading resources from your table |  | Long
-| *region* (producer) | The region in which DDB client needs to work |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *writeCapacity* (producer) | The provisioned throughput to reserved for writing resources to your table |  | Long
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS DynamoDB endpoint is configured using URI syntax:
-
-----
-aws2-ddb:tableName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *tableName* | *Required* The name of the table currently worked with. |  | String
-|===
-
-
-=== Query Parameters (19 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonDDBClient* (producer) | *Autowired* To use the AmazonDynamoDB as the client |  | DynamoDbClient
-| *consistentRead* (producer) | Determines whether or not strong consistency should be enforced when data is read. | false | boolean
-| *keyAttributeName* (producer) | Attribute name when creating table |  | String
-| *keyAttributeType* (producer) | Attribute type when creating table |  | String
-| *keyScalarType* (producer) | The key scalar type, it can be S (String), N (Number) and B (Bytes) |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | What operation to perform. There are 10 enums and the value can be one of: BatchGetItems, DeleteItem, DeleteTable, DescribeTable, GetItem, PutItem, Query, Scan, UpdateItem, UpdateTable | PutItem | Ddb2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the DDB client |  | String
-| *proxyPort* (producer) | 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() |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the DDB client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *readCapacity* (producer) | The provisioned throughput to reserve for reading resources from your table |  | Long
-| *region* (producer) | The region in which DDB client needs to work |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *writeCapacity* (producer) | The provisioned throughput to reserved for writing resources to your table |  | Long
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+
 // endpoint options: END
 
 Required DDB component options
diff --git a/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddbstream-component.adoc b/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddbstream-component.adoc
index dcea850..5eea931 100644
--- a/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddbstream-component.adoc
+++ b/components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddbstream-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-ddbstream-component]]
 = AWS DynamoDB Streams Component
 :docTitle: AWS DynamoDB Streams
+:shortName: aws2-ddbstream
 :artifactId: camel-aws2-ddb
 :description: Receive messages from AWS DynamoDB Stream service using AWS SDK version 2.x.
 :since: 3.1
@@ -35,132 +36,16 @@ The stream needs to be created prior to it being used. +
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS DynamoDB Streams component supports 17 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonDynamoDbStreamsClient* (consumer) | *Autowired* Amazon DynamoDB client to use for all requests for this endpoint |  | DynamoDbStreamsClient
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *configuration* (consumer) | The component configuration |  | Ddb2StreamConfiguration
-| *iteratorType* (consumer) | Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if {AT,AFTER}_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. There are 5 enums and the value can be one of: TRIM_HORIZON, LATEST, AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER, null | LATEST | ShardIteratorType
-| *maxResultsPerRequest* (consumer) | Maximum number of records that will be fetched in each poll |  | int
-| *overrideEndpoint* (consumer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (consumer) | To define a proxy host when instantiating the DDBStreams client |  | String
-| *proxyPort* (consumer) | To define a proxy port when instantiating the DDBStreams client |  | Integer
-| *proxyProtocol* (consumer) | To define a proxy protocol when instantiating the DDBStreams client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (consumer) | The region in which DDBStreams client needs to work |  | String
-| *sequenceNumberProvider* (consumer) | Provider for the sequence number when using one of the two ShardIteratorType.{AT,AFTER}_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number. |  | SequenceNumberProvider
-| *trustAllCertificates* (consumer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (consumer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (consumer) | 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. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS DynamoDB Streams endpoint is configured using URI syntax:
-
-----
-aws2-ddbstream:tableName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *tableName* | *Required* Name of the dynamodb table |  | String
-|===
-
-
-=== Query Parameters (33 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonDynamoDbStreamsClient* (consumer) | *Autowired* Amazon DynamoDB client to use for all requests for this endpoint |  | DynamoDbStreamsClient
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *iteratorType* (consumer) | Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if {AT,AFTER}_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. There are 5 enums and the value can be one of: TRIM_HORIZON, LATEST, AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER, null | LATEST | ShardIteratorType
-| *maxResultsPerRequest* (consumer) | Maximum number of records that will be fetched in each poll |  | int
-| *overrideEndpoint* (consumer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (consumer) | To define a proxy host when instantiating the DDBStreams client |  | String
-| *proxyPort* (consumer) | To define a proxy port when instantiating the DDBStreams client |  | Integer
-| *proxyProtocol* (consumer) | To define a proxy protocol when instantiating the DDBStreams client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (consumer) | The region in which DDBStreams client needs to work |  | String
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *sequenceNumberProvider* (consumer) | Provider for the sequence number when using one of the two ShardIteratorType.{AT,AFTER}_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number. |  | SequenceNumberProvider
-| *trustAllCertificates* (consumer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (consumer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (consumer) | 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. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-ec2/src/main/docs/aws2-ec2-component.adoc b/components/camel-aws/camel-aws2-ec2/src/main/docs/aws2-ec2-component.adoc
index 8b45c9f..46b8742 100644
--- a/components/camel-aws/camel-aws2-ec2/src/main/docs/aws2-ec2-component.adoc
+++ b/components/camel-aws/camel-aws2-ec2/src/main/docs/aws2-ec2-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-ec2-component]]
 = AWS Elastic Compute Cloud (EC2) Component
 :docTitle: AWS Elastic Compute Cloud (EC2)
+:shortName: aws2-ec2
 :artifactId: camel-aws2-ec2
 :description: Manage AWS EC2 instances using AWS SDK version 2.x.
 :since: 3.1
@@ -35,112 +36,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Elastic Compute Cloud (EC2) component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | *Autowired* To use a existing configured AmazonEC2Client as client |  | Ec2Client
-| *configuration* (producer) | The component configuration |  | AWS2EC2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the EC2 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Elastic Compute Cloud (EC2) endpoint is configured using URI syntax:
-
-----
-aws2-ec2:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | *Autowired* To use a existing configured AmazonEC2Client as client |  | Ec2Client
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the EC2 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-ecs/src/main/docs/aws2-ecs-component.adoc b/components/camel-aws/camel-aws2-ecs/src/main/docs/aws2-ecs-component.adoc
index ffa203d..9a67206 100644
--- a/components/camel-aws/camel-aws2-ecs/src/main/docs/aws2-ecs-component.adoc
+++ b/components/camel-aws/camel-aws2-ecs/src/main/docs/aws2-ecs-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-ecs-component]]
 = AWS Elastic Container Service (ECS) Component
 :docTitle: AWS Elastic Container Service (ECS)
+:shortName: aws2-ecs
 :artifactId: camel-aws2-ecs
 :description: Manage AWS ECS cluster instances using AWS SDK version 2.x.
 :since: 3.1
@@ -34,112 +35,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Elastic Container Service (ECS) component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | ECS2Configuration
-| *ecsClient* (producer) | *Autowired* To use a existing configured AWS ECS as client |  | EcsClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster |  | ECS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the ECS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the ECS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the ECS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the ECS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Elastic Container Service (ECS) endpoint is configured using URI syntax:
-
-----
-aws2-ecs:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *ecsClient* (producer) | *Autowired* To use a existing configured AWS ECS as client |  | EcsClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster |  | ECS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the ECS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the ECS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the ECS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the ECS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 Required ECS component options
diff --git a/components/camel-aws/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc b/components/camel-aws/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc
index 841307a..ef99371 100644
--- a/components/camel-aws/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc
+++ b/components/camel-aws/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-eks-component]]
 = AWS Elastic Kubernetes Service (EKS) Component
 :docTitle: AWS Elastic Kubernetes Service (EKS)
+:shortName: aws2-eks
 :artifactId: camel-aws2-eks
 :description: Manage AWS EKS cluster instances using AWS SDK version 2.x.
 :since: 3.1
@@ -35,112 +36,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Elastic Kubernetes Service (EKS) component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | EKS2Configuration
-| *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client |  | EksClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster |  | EKS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the EKS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EKS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the EKS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Elastic Kubernetes Service (EKS) endpoint is configured using URI syntax:
-
-----
-aws2-eks:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client |  | EksClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster |  | EKS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the EKS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EKS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the EKS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/main/docs/aws2-eventbridge-component.adoc b/components/camel-aws/camel-aws2-eventbridge/src/main/docs/aws2-eventbridge-component.adoc
index ae50701..d676b55 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/main/docs/aws2-eventbridge-component.adoc
+++ b/components/camel-aws/camel-aws2-eventbridge/src/main/docs/aws2-eventbridge-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-eventbridge-component]]
 = AWS Eventbridge Component
 :docTitle: AWS Eventbridge
+:shortName: aws2-eventbridge
 :artifactId: camel-aws2-eventbridge
 :description: Manage AWS Eventbridge cluster instances using AWS SDK version 2.x.
 :since: 3.6
@@ -39,114 +40,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Eventbridge component supports 17 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | EventbridgeConfiguration
-| *eventbridgeClient* (producer) | *Autowired* To use a existing configured AWS Eventbridge as client |  | EventBridgeClient
-| *eventPatternFile* (producer) | EventPattern File |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 10 enums and the value can be one of: putRule, putTargets, removeTargets, deleteRule, enableRule, disableRule, describeRule, listRules, listTargetsByRule, listRuleNamesByTarget | putRule | EventbridgeOperations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the Eventbridge client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Eventbridge client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Eventbridge client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Eventbridge client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Eventbridge endpoint is configured using URI syntax:
-
-----
-aws2-eventbridge://eventbusNameOrArn
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *eventbusNameOrArn* | *Required* Event bus name or ARN |  | String
-|===
-
-
-=== Query Parameters (15 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *eventbridgeClient* (producer) | *Autowired* To use a existing configured AWS Eventbridge as client |  | EventBridgeClient
-| *eventPatternFile* (producer) | EventPattern File |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 10 enums and the value can be one of: putRule, putTargets, removeTargets, deleteRule, enableRule, disableRule, describeRule, listRules, listTargetsByRule, listRuleNamesByTarget | putRule | EventbridgeOperations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the Eventbridge client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Eventbridge client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Eventbridge client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Eventbridge client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-iam/src/main/docs/aws2-iam-component.adoc b/components/camel-aws/camel-aws2-iam/src/main/docs/aws2-iam-component.adoc
index 27480ae..ca5baee 100644
--- a/components/camel-aws/camel-aws2-iam/src/main/docs/aws2-iam-component.adoc
+++ b/components/camel-aws/camel-aws2-iam/src/main/docs/aws2-iam-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-iam-component]]
 = AWS Identity and Access Management (IAM) Component
 :docTitle: AWS Identity and Access Management (IAM)
+:shortName: aws2-iam
 :artifactId: camel-aws2-iam
 :description: Manage AWS IAM instances using AWS SDK version 2.x.
 :since: 3.1
@@ -40,112 +41,16 @@ The AWS2 IAM component works on the aws-global region and it has aws-global as d
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Identity and Access Management (IAM) component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | IAM2Configuration
-| *iamClient* (producer) | *Autowired* To use a existing configured AWS IAM as client |  | IamClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | 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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAM2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() | aws-global | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the IAM client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Identity and Access Management (IAM) endpoint is configured using URI syntax:
-
-----
-aws2-iam:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *iamClient* (producer) | *Autowired* To use a existing configured AWS IAM as client |  | IamClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | 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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAM2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() | aws-global | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the IAM client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-component.adoc b/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-component.adoc
index ac47838..90d7210 100644
--- a/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-component.adoc
+++ b/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-kinesis-component]]
 = AWS Kinesis Component
 :docTitle: AWS Kinesis
+:shortName: aws2-kinesis
 :artifactId: camel-aws2-kinesis
 :description: Consume and produce records from and to AWS Kinesis Streams using AWS SDK version 2.x.
 :since: 3.2
@@ -36,140 +37,16 @@ The stream needs to be created prior to it being used. +
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Kinesis component supports 21 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonKinesisClient* (common) | *Autowired* Amazon Kinesis client to use for all requests for this endpoint |  | KinesisClient
-| *cborEnabled* (common) | This option will set the CBOR_ENABLED property during the execution | true | boolean
-| *configuration* (common) | Component configuration |  | Kinesis2Configuration
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (common) | To define a proxy host when instantiating the Kinesis client |  | String
-| *proxyPort* (common) | To define a proxy port when instantiating the Kinesis client |  | Integer
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the Kinesis client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (common) | 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() |  | String
-| *trustAllCertificates* (common) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *iteratorType* (consumer) | Defines where in the Kinesis stream to start getting records. There are 6 enums and the value can be one of: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER, TRIM_HORIZON, LATEST, AT_TIMESTAMP, null | TRIM_HORIZON | ShardIteratorType
-| *maxResultsPerRequest* (consumer) | Maximum number of records that will be fetched in each poll | 1 | int
-| *sequenceNumber* (consumer) | The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER |  | String
-| *shardClosed* (consumer) | 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. There are 3 enums and the value can be one of: ignore, fail, silent | ignore | Kinesis2ShardClosedStrategyEnum
-| *shardId* (consumer) | Defines which shardId in the Kinesis stream to get records from |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Kinesis endpoint is configured using URI syntax:
-
-----
-aws2-kinesis:streamName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *streamName* | *Required* Name of the stream |  | String
-|===
-
-
-=== Query Parameters (37 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonKinesisClient* (common) | *Autowired* Amazon Kinesis client to use for all requests for this endpoint |  | KinesisClient
-| *cborEnabled* (common) | This option will set the CBOR_ENABLED property during the execution | true | boolean
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (common) | To define a proxy host when instantiating the Kinesis client |  | String
-| *proxyPort* (common) | To define a proxy port when instantiating the Kinesis client |  | Integer
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the Kinesis client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (common) | 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() |  | String
-| *trustAllCertificates* (common) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | Set whether the Kinesis client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *iteratorType* (consumer) | Defines where in the Kinesis stream to start getting records. There are 6 enums and the value can be one of: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER, TRIM_HORIZON, LATEST, AT_TIMESTAMP, null | TRIM_HORIZON | ShardIteratorType
-| *maxResultsPerRequest* (consumer) | Maximum number of records that will be fetched in each poll | 1 | int
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *sequenceNumber* (consumer) | The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER |  | String
-| *shardClosed* (consumer) | 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. There are 3 enums and the value can be one of: ignore, fail, silent | ignore | Kinesis2ShardClosedStrategyEnum
-| *shardId* (consumer) | Defines which shardId in the Kinesis stream to get records from |  | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc b/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc
index 56d85be..12c8dcc 100644
--- a/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc
+++ b/components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-firehose-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-kinesis-firehose-component]]
 = AWS Kinesis Firehose Component
 :docTitle: AWS Kinesis Firehose
+:shortName: aws2-kinesis-firehose
 :artifactId: camel-aws2-kinesis
 :description: Produce data to AWS Kinesis Firehose streams using AWS SDK version 2.x.
 :since: 3.2
@@ -42,68 +43,12 @@ The stream needs to be created prior to it being used. +
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Kinesis Firehose component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonKinesisFirehoseClient* (producer) | *Autowired* Amazon Kinesis Firehose client to use for all requests for this endpoint |  | FirehoseClient
-| *cborEnabled* (common) | This option will set the CBOR_ENABLED property during the execution | true | boolean
-| *configuration* (producer) | Component configuration |  | KinesisFirehose2Configuration
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The operation to do in case the user don't want to send only a record. There are 5 enums and the value can be one of: sendBatchRecord, createDeliveryStream, deleteDeliveryStream, describeDeliveryStream, updateDestination |  | KinesisFirehose2Operations
-| *proxyHost* (producer) | To define a proxy host when instantiating the Kinesis Firehose client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Kinesis Firehose client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Kinesis Firehose client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | 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. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 
@@ -114,47 +59,7 @@ The AWS Kinesis Firehose component supports 16 options, which are listed below.
 
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Kinesis Firehose endpoint is configured using URI syntax:
-
-----
-aws2-kinesis-firehose:streamName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *streamName* | *Required* Name of the stream |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonKinesisFirehoseClient* (producer) | *Autowired* Amazon Kinesis Firehose client to use for all requests for this endpoint |  | FirehoseClient
-| *cborEnabled* (common) | This option will set the CBOR_ENABLED property during the execution | true | boolean
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The operation to do in case the user don't want to send only a record. There are 5 enums and the value can be one of: sendBatchRecord, createDeliveryStream, deleteDeliveryStream, describeDeliveryStream, updateDestination |  | KinesisFirehose2Operations
-| *proxyHost* (producer) | To define a proxy host when instantiating the Kinesis Firehose client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Kinesis Firehose client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Kinesis Firehose client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | 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. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-kms/src/main/docs/aws2-kms-component.adoc b/components/camel-aws/camel-aws2-kms/src/main/docs/aws2-kms-component.adoc
index 9c3ce5a..f64cd8a 100644
--- a/components/camel-aws/camel-aws2-kms/src/main/docs/aws2-kms-component.adoc
+++ b/components/camel-aws/camel-aws2-kms/src/main/docs/aws2-kms-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-kms-component]]
 = AWS Key Management Service (KMS) Component
 :docTitle: AWS Key Management Service (KMS)
+:shortName: aws2-kms
 :artifactId: camel-aws2-kms
 :description: Manage keys stored in AWS KMS instances using AWS SDK version 2.x.
 :since: 3.1
@@ -33,112 +34,16 @@ You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Key Management Service (KMS) component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | KMS2Configuration
-| *kmsClient* (producer) | *Autowired* To use a existing configured AWS KMS as client |  | KmsClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 6 enums and the value can be one of: listKeys, createKey, disableKey, scheduleKeyDeletion, describeKey, enableKey |  | KMS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the KMS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the KMS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the KMS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the KMS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Key Management Service (KMS) endpoint is configured using URI syntax:
-
-----
-aws2-kms:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *kmsClient* (producer) | *Autowired* To use a existing configured AWS KMS as client |  | KmsClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 6 enums and the value can be one of: listKeys, createKey, disableKey, scheduleKeyDeletion, describeKey, enableKey |  | KMS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the KMS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the KMS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the KMS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the KMS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 Required KMS component options
diff --git a/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc b/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc
index 090a47d..9a90103 100644
--- a/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc
+++ b/components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-lambda-component]]
 = AWS Lambda Component
 :docTitle: AWS Lambda
+:shortName: aws2-lambda
 :artifactId: camel-aws2-lambda
 :description: Manage and invoke AWS Lambda functions using AWS SDK version 2.x.
 :since: 3.2
@@ -36,112 +37,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Lambda component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | Lambda2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Lambda client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *awsLambdaClient* (advanced) | *Autowired* To use a existing configured AwsLambdaClient as client |  | LambdaClient
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Lambda endpoint is configured using URI syntax:
-
-----
-aws2-lambda:function
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *function* | *Required* Name of the Lambda function. |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Lambda client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *awsLambdaClient* (advanced) | *Autowired* To use a existing configured AwsLambdaClient as client |  | LambdaClient
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-mq/src/main/docs/aws2-mq-component.adoc b/components/camel-aws/camel-aws2-mq/src/main/docs/aws2-mq-component.adoc
index 6b7cb6e..1864f8b 100644
--- a/components/camel-aws/camel-aws2-mq/src/main/docs/aws2-mq-component.adoc
+++ b/components/camel-aws/camel-aws2-mq/src/main/docs/aws2-mq-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-mq-component]]
 = AWS MQ Component
 :docTitle: AWS MQ
+:shortName: aws2-mq
 :artifactId: camel-aws2-mq
 :description: Manage AWS MQ instances using AWS SDK version 2.x.
 :since: 3.1
@@ -33,112 +34,16 @@ You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS MQ component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonMqClient* (producer) | *Autowired* To use a existing configured AmazonMQClient as client |  | MqClient
-| *configuration* (producer) | Component configuration |  | MQ2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be listBrokers,createBroker,deleteBroker. There are 6 enums and the value can be one of: listBrokers, createBroker, deleteBroker, rebootBroker, updateBroker, describeBroker |  | MQ2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the MQ client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the MQ client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the MQ client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the MQ client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS MQ endpoint is configured using URI syntax:
-
-----
-aws2-mq:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonMqClient* (producer) | *Autowired* To use a existing configured AmazonMQClient as client |  | MqClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be listBrokers,createBroker,deleteBroker. There are 6 enums and the value can be one of: listBrokers, createBroker, deleteBroker, rebootBroker, updateBroker, describeBroker |  | MQ2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the MQ client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the MQ client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the MQ client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the MQ client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-msk/src/main/docs/aws2-msk-component.adoc b/components/camel-aws/camel-aws2-msk/src/main/docs/aws2-msk-component.adoc
index a110bed..15657bb 100644
--- a/components/camel-aws/camel-aws2-msk/src/main/docs/aws2-msk-component.adoc
+++ b/components/camel-aws/camel-aws2-msk/src/main/docs/aws2-msk-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-msk-component]]
 = AWS Managed Streaming for Apache Kafka (MSK) Component
 :docTitle: AWS Managed Streaming for Apache Kafka (MSK)
+:shortName: aws2-msk
 :artifactId: camel-aws2-msk
 :description: Manage AWS MSK instances using AWS SDK version 2.x.
 :since: 3.1
@@ -33,112 +34,16 @@ You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Managed Streaming for Apache Kafka (MSK) component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | MSK2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *mskClient* (producer) | *Autowired* To use a existing configured AWS MSK as client |  | KafkaClient
-| *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, createCluster, deleteCluster, describeCluster |  | MSK2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the MSK client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the MSK client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the MSK client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Kafka client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Managed Streaming for Apache Kafka (MSK) endpoint is configured using URI syntax:
-
-----
-aws2-msk:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *mskClient* (producer) | *Autowired* To use a existing configured AWS MSK as client |  | KafkaClient
-| *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, createCluster, deleteCluster, describeCluster |  | MSK2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the MSK client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the MSK client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the MSK client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which 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() |  | String
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Kafka client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-s3/src/main/docs/aws2-s3-component.adoc b/components/camel-aws/camel-aws2-s3/src/main/docs/aws2-s3-component.adoc
index 2124ba2..f497d6b 100644
--- a/components/camel-aws/camel-aws2-s3/src/main/docs/aws2-s3-component.adoc
+++ b/components/camel-aws/camel-aws2-s3/src/main/docs/aws2-s3-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-s3-component]]
 = AWS S3 Storage Service Component
 :docTitle: AWS S3 Storage Service
+:shortName: aws2-s3
 :artifactId: camel-aws2-s3
 :description: Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
 :since: 3.2
@@ -35,200 +36,16 @@ The bucket will be created if it don't already exists. +
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS S3 Storage Service component supports 50 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonS3Client* (common) | *Autowired* Reference to a com.amazonaws.services.s3.AmazonS3 in the registry. |  | S3Client
-| *amazonS3Presigner* (common) | *Autowired* An S3 Presigner for Request, used mainly in createDownloadLink operation |  | S3Presigner
-| *autoCreateBucket* (common) | 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. | false | boolean
-| *configuration* (common) | The component configuration |  | AWS2S3Configuration
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (common) | If we want to use a POJO request as body or not | false | boolean
-| *policy* (common) | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. |  | String
-| *proxyHost* (common) | To define a proxy host when instantiating the SQS client |  | String
-| *proxyPort* (common) | Specify a proxy port to be used inside the client definition. |  | Integer
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the S3 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (common) | The region in which 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() |  | String
-| *trustAllCertificates* (common) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *customerAlgorithm* (common) | Define the customer algorithm to use in case CustomerKey is enabled |  | String
-| *customerKeyId* (common) | Define the id of Customer key to use in case CustomerKey is enabled |  | String
-| *customerKeyMD5* (common) | Define the MD5 of Customer key to use in case CustomerKey is enabled |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *deleteAfterRead* (consumer) | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. 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 AWS2S3C [...]
-| *delimiter* (consumer) | The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. |  | String
-| *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. |  | String
-| *destinationBucketPrefix* (consumer) | Define the destination bucket prefix to use when an object must be moved and moveAfterRead is set to true. |  | String
-| *destinationBucketSuffix* (consumer) | Define the destination bucket suffix to use when an object must be moved and moveAfterRead is set to true. |  | String
-| *doneFileName* (consumer) | If provided, Camel will only consume files if a done file exists. |  | String
-| *fileName* (consumer) | To get the object from the bucket with the given file name |  | String
-| *ignoreBody* (consumer) | 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. | false | boolean
-| *includeBody* (consumer) | 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 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 [...]
-| *includeFolders* (consumer) | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | boolean
-| *moveAfterRead* (consumer) | 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. | false | boolean
-| *prefix* (consumer) | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. |  | String
-| *autocloseBody* (consumer) | 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. | true | boolean
-| *batchMessageNumber* (producer) | The number of messages composing a batch in streaming upload mode | 10 | int
-| *batchSize* (producer) | The batch size (in bytes) in streaming upload mode | 1000000 | int
-| *deleteAfterWrite* (producer) | Delete file object after the S3 file has been uploaded | false | boolean
-| *keyName* (producer) | Setting the key name for an element in the bucket through endpoint parameter |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *multiPartUpload* (producer) | If it is true, camel will upload the file with multi part format, the part size is decided by the option of partSize | false | boolean
-| *namingStrategy* (producer) | The naming strategy to use in streaming upload mode. There are 2 enums and the value can be one of: progressive, random | progressive | AWSS3NamingStrategyEnum
-| *operation* (producer) | The operation to do in case the user don't want to do only an upload. There are 8 enums and the value can be one of: copyObject, listObjects, deleteObject, deleteBucket, listBuckets, getObject, getObjectRange, createDownloadLink |  | AWS2S3Operations
-| *partSize* (producer) | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400 | long
-| *restartingPolicy* (producer) | The restarting policy to use in streaming upload mode. There are 2 enums and the value can be one of: override, lastPart | override | AWSS3RestartingPolicyEnum
-| *storageClass* (producer) | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. |  | String
-| *streamingUploadMode* (producer) | When stream mode is true the upload to bucket will be done in streaming | false | boolean
-| *streamingUploadTimeout* (producer) | While streaming upload mode is true, this option set the timeout to complete upload |  | long
-| *awsKMSKeyId* (producer) | Define the id of KMS key to use in case KMS is enabled |  | String
-| *useAwsKMS* (producer) | Define if KMS must be used or not | false | boolean
-| *useCustomerKey* (producer) | Define if Customer Key must be used or not | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS S3 Storage Service endpoint is configured using URI syntax:
-
-----
-aws2-s3://bucketNameOrArn
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bucketNameOrArn* | *Required* Bucket name or ARN |  | String
-|===
-
-
-=== Query Parameters (68 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonS3Client* (common) | *Autowired* Reference to a com.amazonaws.services.s3.AmazonS3 in the registry. |  | S3Client
-| *amazonS3Presigner* (common) | *Autowired* An S3 Presigner for Request, used mainly in createDownloadLink operation |  | S3Presigner
-| *autoCreateBucket* (common) | 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. | false | boolean
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (common) | If we want to use a POJO request as body or not | false | boolean
-| *policy* (common) | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. |  | String
-| *proxyHost* (common) | To define a proxy host when instantiating the SQS client |  | String
-| *proxyPort* (common) | Specify a proxy port to be used inside the client definition. |  | Integer
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the S3 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (common) | The region in which 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() |  | String
-| *trustAllCertificates* (common) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *customerAlgorithm* (common) | Define the customer algorithm to use in case CustomerKey is enabled |  | String
-| *customerKeyId* (common) | Define the id of Customer key to use in case CustomerKey is enabled |  | String
-| *customerKeyMD5* (common) | Define the MD5 of Customer key to use in case CustomerKey is enabled |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *deleteAfterRead* (consumer) | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. 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 AWS2S3C [...]
-| *delimiter* (consumer) | The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. |  | String
-| *destinationBucket* (consumer) | Define the destination bucket where an object must be moved when moveAfterRead is set to true. |  | String
-| *destinationBucketPrefix* (consumer) | Define the destination bucket prefix to use when an object must be moved and moveAfterRead is set to true. |  | String
-| *destinationBucketSuffix* (consumer) | Define the destination bucket suffix to use when an object must be moved and moveAfterRead is set to true. |  | String
-| *doneFileName* (consumer) | If provided, Camel will only consume files if a done file exists. |  | String
-| *fileName* (consumer) | To get the object from the bucket with the given file name |  | String
-| *ignoreBody* (consumer) | 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. | false | boolean
-| *includeBody* (consumer) | 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 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 [...]
-| *includeFolders* (consumer) | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | boolean
-| *maxConnections* (consumer) | Set the maxConnections parameter in the S3 client configuration | 60 | int
-| *maxMessagesPerPoll* (consumer) | 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. | 10 | int
-| *moveAfterRead* (consumer) | 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. | false | boolean
-| *prefix* (consumer) | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. |  | String
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *autocloseBody* (consumer) | 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. | true | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *batchMessageNumber* (producer) | The number of messages composing a batch in streaming upload mode | 10 | int
-| *batchSize* (producer) | The batch size (in bytes) in streaming upload mode | 1000000 | int
-| *deleteAfterWrite* (producer) | Delete file object after the S3 file has been uploaded | false | boolean
-| *keyName* (producer) | Setting the key name for an element in the bucket through endpoint parameter |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *multiPartUpload* (producer) | If it is true, camel will upload the file with multi part format, the part size is decided by the option of partSize | false | boolean
-| *namingStrategy* (producer) | The naming strategy to use in streaming upload mode. There are 2 enums and the value can be one of: progressive, random | progressive | AWSS3NamingStrategyEnum
-| *operation* (producer) | The operation to do in case the user don't want to do only an upload. There are 8 enums and the value can be one of: copyObject, listObjects, deleteObject, deleteBucket, listBuckets, getObject, getObjectRange, createDownloadLink |  | AWS2S3Operations
-| *partSize* (producer) | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400 | long
-| *restartingPolicy* (producer) | The restarting policy to use in streaming upload mode. There are 2 enums and the value can be one of: override, lastPart | override | AWSS3RestartingPolicyEnum
-| *storageClass* (producer) | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. |  | String
-| *streamingUploadMode* (producer) | When stream mode is true the upload to bucket will be done in streaming | false | boolean
-| *streamingUploadTimeout* (producer) | While streaming upload mode is true, this option set the timeout to complete upload |  | long
-| *awsKMSKeyId* (producer) | Define the id of KMS key to use in case KMS is enabled |  | String
-| *useAwsKMS* (producer) | Define if KMS must be used or not | false | boolean
-| *useCustomerKey* (producer) | Define if Customer Key must be used or not | false | boolean
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc b/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
index 7c22291..e927719 100644
--- a/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
+++ b/components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-ses-component]]
 = AWS Simple Email Service (SES) Component
 :docTitle: AWS Simple Email Service (SES)
+:shortName: aws2-ses
 :artifactId: camel-aws2-ses
 :description: Send e-mails through AWS SES service using AWS SDK version 2.x.
 :since: 3.1
@@ -33,116 +34,16 @@ You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Simple Email Service (SES) component supports 18 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonSESClient* (producer) | *Autowired* To use the AmazonSimpleEmailService as the client |  | SesClient
-| *configuration* (producer) | component configuration |  | Ses2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the SES client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the SES client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which SES 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() |  | String
-| *replyToAddresses* (producer) | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header. |  | List
-| *returnPath* (producer) | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |  | String
-| *subject* (producer) | The subject which is used if the message header 'CamelAwsSesSubject' is not present. |  | String
-| *to* (producer) | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |  | List
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Ses client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Simple Email Service (SES) endpoint is configured using URI syntax:
-
-----
-aws2-ses:from
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *from* | *Required* The sender's email address. |  | String
-|===
-
-
-=== Query Parameters (16 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonSESClient* (producer) | *Autowired* To use the AmazonSimpleEmailService as the client |  | SesClient
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the SES client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the SES client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which SES 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() |  | String
-| *replyToAddresses* (producer) | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header. |  | List
-| *returnPath* (producer) | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |  | String
-| *subject* (producer) | The subject which is used if the message header 'CamelAwsSesSubject' is not present. |  | String
-| *to* (producer) | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |  | List
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Ses client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 Required SES component options
diff --git a/components/camel-aws/camel-aws2-sns/src/main/docs/aws2-sns-component.adoc b/components/camel-aws/camel-aws2-sns/src/main/docs/aws2-sns-component.adoc
index f7f1193..c786dcc 100644
--- a/components/camel-aws/camel-aws2-sns/src/main/docs/aws2-sns-component.adoc
+++ b/components/camel-aws/camel-aws2-sns/src/main/docs/aws2-sns-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-sns-component]]
 = AWS Simple Notification System (SNS) Component
 :docTitle: AWS Simple Notification System (SNS)
+:shortName: aws2-sns
 :artifactId: camel-aws2-sns
 :description: Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x.
 :since: 3.1
@@ -38,129 +39,16 @@ The topic will be created if they don't already exists. +
 == URI Options
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Simple Notification System (SNS) component supports 24 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonSNSClient* (producer) | *Autowired* To use the AmazonSNS as the client |  | SnsClient
-| *autoCreateTopic* (producer) | Setting the autocreation of the topic | false | boolean
-| *configuration* (producer) | Component configuration |  | Sns2Configuration
-| *kmsMasterKeyId* (producer) | The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *messageDeduplicationIdStrategy* (producer) | Only for FIFO Topic. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
-| *messageGroupIdStrategy* (producer) | Only for FIFO Topic. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. There are 3 enums and the value can be one of: useConstant, useExchangeId, usePropertyValue |  | String
-| *messageStructure* (producer) | The message structure to use such as json |  | String
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *policy* (producer) | The policy for this topic. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
-| *proxyHost* (producer) | To define a proxy host when instantiating the SNS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the SNS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the SNS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queueUrl* (producer) | The queueUrl to subscribe to |  | String
-| *region* (producer) | The region in which SNS 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() |  | String
-| *serverSideEncryptionEnabled* (producer) | Define if Server Side Encryption is enabled or not on the topic | false | boolean
-| *subject* (producer) | The subject which is used if the message header 'CamelAwsSnsSubject' is not present. |  | String
-| *subscribeSNStoSQS* (producer) | Define if the subscription between SNS Topic and SQS must be done or not | false | boolean
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the SNS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Simple Notification System (SNS) endpoint is configured using URI syntax:
-
-----
-aws2-sns:topicNameOrArn
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *topicNameOrArn* | *Required* Topic name or ARN |  | String
-|===
-
-
-=== Query Parameters (23 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonSNSClient* (producer) | *Autowired* To use the AmazonSNS as the client |  | SnsClient
-| *autoCreateTopic* (producer) | Setting the autocreation of the topic | false | boolean
-| *headerFilterStrategy* (producer) | To use a custom HeaderFilterStrategy to map headers to/from Camel. |  | HeaderFilterStrategy
-| *kmsMasterKeyId* (producer) | The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *messageDeduplicationIdStrategy* (producer) | Only for FIFO Topic. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
-| *messageGroupIdStrategy* (producer) | Only for FIFO Topic. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. There are 3 enums and the value can be one of: useConstant, useExchangeId, usePropertyValue |  | String
-| *messageStructure* (producer) | The message structure to use such as json |  | String
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *policy* (producer) | The policy for this topic. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
-| *proxyHost* (producer) | To define a proxy host when instantiating the SNS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the SNS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the SNS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queueUrl* (producer) | The queueUrl to subscribe to |  | String
-| *region* (producer) | The region in which SNS 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() |  | String
-| *serverSideEncryptionEnabled* (producer) | Define if Server Side Encryption is enabled or not on the topic | false | boolean
-| *subject* (producer) | The subject which is used if the message header 'CamelAwsSnsSubject' is not present. |  | String
-| *subscribeSNStoSQS* (producer) | Define if the subscription between SNS Topic and SQS must be done or not | false | boolean
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the SNS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc b/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
index e20a587..e5bd102 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
+++ b/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-sqs-component]]
 = AWS Simple Queue Service (SQS) Component
 :docTitle: AWS Simple Queue Service (SQS)
+:shortName: aws2-sqs
 :artifactId: camel-aws2-sqs
 :description: Send and receive messages to/from AWS SQS service using AWS SDK version 2.x.
 :since: 3.1
@@ -35,186 +36,16 @@ The queue will be created if they don't already exists. +
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Simple Queue Service (SQS) component supports 43 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonAWSHost* (common) | The hostname of the Amazon AWS cloud. | amazonaws.com | String
-| *amazonSQSClient* (common) | *Autowired* To use the AmazonSQS as client |  | SqsClient
-| *autoCreateQueue* (common) | Setting the autocreation of the queue | false | boolean
-| *configuration* (common) | The AWS SQS default configuration |  | Sqs2Configuration
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *protocol* (common) | The underlying protocol used to communicate with SQS | https | String
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the SQS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queueOwnerAWSAccountId* (common) | Specify the queue owner aws account id when you need to connect the queue with different account owner. |  | String
-| *region* (common) | The region in which SQS 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() |  | String
-| *trustAllCertificates* (common) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in. | false | boolean
-| *attributeNames* (consumer) | A list of attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *concurrentConsumers* (consumer) | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | int
-| *defaultVisibilityTimeout* (consumer) | The default visibility timeout (in seconds) |  | Integer
-| *deleteAfterRead* (consumer) | Delete message from SQS after it has been read | true | boolean
-| *deleteIfFiltered* (consumer) | Whether or not to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true. | true | boolean
-| *extendMessageVisibility* (consumer) | If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs. | false | boolean
-| *kmsDataKeyReusePeriodSeconds* (consumer) | The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). |  | Integer
-| *kmsMasterKeyId* (consumer) | The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. |  | String
-| *messageAttributeNames* (consumer) | A list of message attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
-| *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
-| *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
-| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
-| *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
-| *messageGroupIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. There are 3 enums and the value can be one of: useConstant, useExchangeId, usePropertyValue |  | String
-| *operation* (producer) | The operation to do in case the user don't want to send only a message. There are 5 enums and the value can be one of: sendBatchMessage, deleteMessage, listQueues, purgeQueue, deleteQueue |  | Sqs2Operations
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *delayQueue* (advanced) | Define if you want to apply delaySeconds option to the queue or on single messages | false | boolean
-| *queueUrl* (advanced) | To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes. |  | String
-| *proxyHost* (proxy) | To define a proxy host when instantiating the SQS client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the SQS client |  | Integer
-| *maximumMessageSize* (queue) | The maximumMessageSize (in bytes) an SQS message can contain for this queue. |  | Integer
-| *messageRetentionPeriod* (queue) | The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue. |  | Integer
-| *policy* (queue) | The policy for this queue. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
-| *receiveMessageWaitTimeSeconds* (queue) | If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. |  | Integer
-| *redrivePolicy* (queue) | Specify the policy that send message to DeadLetter queue. See detail at Amazon docs. |  | String
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Simple Queue Service (SQS) endpoint is configured using URI syntax:
-
-----
-aws2-sqs:queueNameOrArn
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *queueNameOrArn* | *Required* Queue name or ARN |  | String
-|===
-
-
-=== Query Parameters (61 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonAWSHost* (common) | The hostname of the Amazon AWS cloud. | amazonaws.com | String
-| *amazonSQSClient* (common) | *Autowired* To use the AmazonSQS as client |  | SqsClient
-| *autoCreateQueue* (common) | Setting the autocreation of the queue | false | boolean
-| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to map headers to/from Camel. |  | HeaderFilterStrategy
-| *overrideEndpoint* (common) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *protocol* (common) | The underlying protocol used to communicate with SQS | https | String
-| *proxyProtocol* (common) | To define a proxy protocol when instantiating the SQS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *queueOwnerAWSAccountId* (common) | Specify the queue owner aws account id when you need to connect the queue with different account owner. |  | String
-| *region* (common) | The region in which SQS 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() |  | String
-| *trustAllCertificates* (common) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (common) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (common) | Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in. | false | boolean
-| *attributeNames* (consumer) | A list of attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *concurrentConsumers* (consumer) | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | int
-| *defaultVisibilityTimeout* (consumer) | The default visibility timeout (in seconds) |  | Integer
-| *deleteAfterRead* (consumer) | Delete message from SQS after it has been read | true | boolean
-| *deleteIfFiltered* (consumer) | Whether or not to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true. | true | boolean
-| *extendMessageVisibility* (consumer) | If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs. | false | boolean
-| *kmsDataKeyReusePeriodSeconds* (consumer) | The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). |  | Integer
-| *kmsMasterKeyId* (consumer) | The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. |  | String
-| *maxMessagesPerPoll* (consumer) | Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited. |  | int
-| *messageAttributeNames* (consumer) | A list of message attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
-| *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
-| *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
-| *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
-| *messageGroupIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. There are 3 enums and the value can be one of: useConstant, useExchangeId, usePropertyValue |  | String
-| *operation* (producer) | The operation to do in case the user don't want to send only a message. There are 5 enums and the value can be one of: sendBatchMessage, deleteMessage, listQueues, purgeQueue, deleteQueue |  | Sqs2Operations
-| *delayQueue* (advanced) | Define if you want to apply delaySeconds option to the queue or on single messages | false | boolean
-| *queueUrl* (advanced) | To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes. |  | String
-| *proxyHost* (proxy) | To define a proxy host when instantiating the SQS client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the SQS client |  | Integer
-| *maximumMessageSize* (queue) | The maximumMessageSize (in bytes) an SQS message can contain for this queue. |  | Integer
-| *messageRetentionPeriod* (queue) | The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue. |  | Integer
-| *policy* (queue) | The policy for this queue. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
-| *receiveMessageWaitTimeSeconds* (queue) | If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. |  | Integer
-| *redrivePolicy* (queue) | Specify the policy that send message to DeadLetter queue. See detail at Amazon docs. |  | String
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-sts/src/main/docs/aws2-sts-component.adoc b/components/camel-aws/camel-aws2-sts/src/main/docs/aws2-sts-component.adoc
index 1bf0cad..2716106 100644
--- a/components/camel-aws/camel-aws2-sts/src/main/docs/aws2-sts-component.adoc
+++ b/components/camel-aws/camel-aws2-sts/src/main/docs/aws2-sts-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-sts-component]]
 = AWS Security Token Service (STS) Component
 :docTitle: AWS Security Token Service (STS)
+:shortName: aws2-sts
 :artifactId: camel-aws2-sts
 :description: Manage AWS STS cluster instances using AWS SDK version 2.x.
 :since: 3.5
@@ -39,112 +40,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Security Token Service (STS) component supports 16 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (producer) | Component configuration |  | STS2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 3 enums and the value can be one of: assumeRole, getSessionToken, getFederationToken | assumeRole | STS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the STS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the STS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the STS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which STS 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() | aws-global | String
-| *stsClient* (producer) | *Autowired* To use a existing configured AWS STS as client |  | StsClient
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the STS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Security Token Service (STS) endpoint is configured using URI syntax:
-
-----
-aws2-sts:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (14 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 3 enums and the value can be one of: assumeRole, getSessionToken, getFederationToken | assumeRole | STS2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the STS client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the STS client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the STS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which STS 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() | aws-global | String
-| *stsClient* (producer) | *Autowired* To use a existing configured AWS STS as client |  | StsClient
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the STS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-aws/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc b/components/camel-aws/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
index 36b2a89..b80cde3 100644
--- a/components/camel-aws/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
+++ b/components/camel-aws/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
@@ -1,6 +1,7 @@
 [[aws2-translate-component]]
 = AWS Translate Component
 :docTitle: AWS Translate
+:shortName: aws2-translate
 :artifactId: camel-aws2-translate
 :description: Translate texts using AWS Translate and AWS SDK version 2.x.
 :since: 3.1
@@ -34,118 +35,16 @@ You can append query options to the URI in the following format,
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The AWS Translate component supports 19 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autodetectSourceLanguage* (producer) | Being able to autodetect the source language | false | boolean
-| *configuration* (producer) | Component configuration |  | Translate2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 1 enums and the value can be one of: translateText | translateText | Translate2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the Translate client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Translate client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Translate client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *sourceLanguage* (producer) | Source language to use |  | String
-| *targetLanguage* (producer) | Target language to use |  | String
-| *translateClient* (producer) | *Autowired* To use a existing configured AWS Translate as client |  | TranslateClient
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The AWS Translate endpoint is configured using URI syntax:
-
-----
-aws2-translate:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (17 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autodetectSourceLanguage* (producer) | Being able to autodetect the source language | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. There are 1 enums and the value can be one of: translateText | translateText | Translate2Operations
-| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean
-| *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean
-| *proxyHost* (producer) | To define a proxy host when instantiating the Translate client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the Translate client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Translate client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *sourceLanguage* (producer) | Source language to use |  | String
-| *targetLanguage* (producer) | Target language to use |  | String
-| *translateClient* (producer) | *Autowired* To use a existing configured AWS Translate as client |  | TranslateClient
-| *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean
-| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option |  | String
-| *useDefaultCredentialsProvider* (producer) | Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. | false | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/docs/azure-cosmosdb-component.adoc b/components/camel-azure/camel-azure-cosmosdb/src/main/docs/azure-cosmosdb-component.adoc
index 9822d9b..b80be7f 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/docs/azure-cosmosdb-component.adoc
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/docs/azure-cosmosdb-component.adoc
@@ -1,6 +1,7 @@
 [[azure-cosmosdb-component]]
 = Azure CosmosDB Component
 :docTitle: Azure CosmosDB
+:shortName: azure-cosmosdb
 :artifactId: camel-azure-cosmosdb
 :description: To read and write records to the CosmosDB database on Azure cloud platform.
 :since: 3.10
@@ -51,141 +52,16 @@ You can append query options to the URI in the following format, `?options=value
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Azure CosmosDB component supports 29 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *clientTelemetryEnabled* (common) | Sets the flag to enable client telemetry which will periodically collect database operations aggregation statistics, system information like cpu/memory and send it to cosmos monitoring service, which will be helpful during debugging. DEFAULT value is false indicating this is opt in feature, by default no telemetry collection. | false | boolean
-| *configuration* (common) | The component configurations |  | CosmosDbConfiguration
-| *connectionSharingAcrossClients{zwsp}Enabled* (common) | Enables connections sharing across multiple Cosmos Clients. The default is false. When you have multiple instances of Cosmos Client in the same JVM interacting to multiple Cosmos accounts, enabling this allows connection sharing in Direct mode if possible between instances of Cosmos Client. Please note, when setting this option, the connection configuration (e.g., socket timeout config, idle timeout config) of the first instantia [...]
-| *consistencyLevel* (common) | Sets the consistency levels supported for Azure Cosmos DB client operations in the Azure Cosmos DB service. The requested ConsistencyLevel must match or be weaker than that provisioned for the database account. Consistency levels by order of strength are STRONG, BOUNDED_STALENESS, SESSION and EVENTUAL. Refer to consistency level documentation for additional details: \https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels. There are 5 enums and [...]
-| *containerPartitionKeyPath* (common) | Sets the container partition key path. |  | String
-| *contentResponseOnWriteEnabled* (common) | Sets the boolean to only return the headers and status code in Cosmos DB response in case of Create, Update and Delete operations on CosmosItem. In Consumer, it is enabled by default because of the ChangeFeed in the consumer that needs this flag to be enabled and thus is shouldn't be overridden. In Producer, it advised to disable it since it reduces the network overhead | true | boolean
-| *cosmosAsyncClient* (common) | *Autowired* Inject an external CosmosAsyncClient into the component which provides a client-side logical representation of the Azure Cosmos DB service. This asynchronous client is used to configure and execute requests against the service. |  | CosmosAsyncClient
-| *createContainerIfNotExists* (common) | Sets if the component should create Cosmos container automatically in case it doesn't exist in Cosmos database | false | boolean
-| *createDatabaseIfNotExists* (common) | Sets if the component should create Cosmos database automatically in case it doesn't exist in Cosmos account | false | boolean
-| *databaseEndpoint* (common) | *Required* Sets the Azure Cosmos database endpoint the component will connect to. |  | String
-| *multipleWriteRegionsEnabled* (common) | Sets the flag to enable writes on any regions for geo-replicated database accounts in the Azure Cosmos DB service. When the value of this property is true, the SDK will direct write operations to available writable regions of geo-replicated database account. Writable regions are ordered by PreferredRegions property. Setting the property value to true has no effect until EnableMultipleWriteRegions in DatabaseAccount is also set to true. DEFAULT v [...]
-| *preferredRegions* (common) | Sets the preferred regions for geo-replicated database accounts. For example, East US as the preferred region. When EnableEndpointDiscovery is true and PreferredRegions is non-empty, the SDK will prefer to use the regions in the container in the order they are specified to perform operations. |  | List
-| *readRequestsFallbackEnabled* (common) | Sets whether to allow for reads to go to multiple regions configured on an account of Azure Cosmos DB service. DEFAULT value is true. If this property is not set, the default is true for all Consistency Levels other than Bounded Staleness, The default is false for Bounded Staleness. 1. endpointDiscoveryEnabled is true 2. the Azure Cosmos DB account has more than one region | true | boolean
-| *throughputProperties* (common) | Sets throughput of the resources in the Azure Cosmos DB service. |  | ThroughputProperties
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *changeFeedProcessorOptions* (consumer) | Sets the ChangeFeedProcessorOptions to be used. Unless specifically set the default values that will be used are: maximum items per page or FeedResponse: 100 lease renew interval: 17 seconds lease acquire interval: 13 seconds lease expiration interval: 60 seconds feed poll delay: 5 seconds maximum scale count: unlimited |  | ChangeFeedProcessorOptions
-| *createLeaseContainerIfNot{zwsp}Exists* (consumer) | Sets if the component should create Cosmos lease container for the consumer automatically in case it doesn't exist in Cosmos database | false | boolean
-| *createLeaseDatabaseIfNotExists* (consumer) | Sets if the component should create Cosmos lease database for the consumer automatically in case it doesn't exist in Cosmos account | false | boolean
-| *hostName* (consumer) | Sets the hostname. The host: a host is an application instance that uses the change feed processor to listen for changes. Multiple instances with the same lease configuration can run in parallel, but each instance should have a different instance name. If not specified, this will be a generated random hostname. |  | String
-| *leaseContainerName* (consumer) | Sets the lease container which acts as a state storage and coordinates processing the change feed across multiple workers. The lease container can be stored in the same account as the monitored container or in a separate account. It will be auto created if createLeaseContainerIfNotExists is set to true. | camel-lease | String
-| *leaseDatabaseName* (consumer) | Sets the lease database where the leaseContainerName will be stored. If it is not specified, this component will store the lease container in the same database that is specified in databaseName. It will be auto created if createLeaseDatabaseIfNotExists is set to true. |  | String
-| *itemId* (producer) | Sets the itemId in case needed for operation on item like delete, replace |  | String
-| *itemPartitionKey* (producer) | Sets partition key. Represents a partition key value in the Azure Cosmos DB database service. A partition key identifies the partition where the item is stored in. |  | PartitionKey
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The CosmosDB operation that can be used with this component on the producer. There are 17 enums and the value can be one of: listDatabases, createDatabase, queryDatabases, deleteDatabase, createContainer, replaceDatabaseThroughput, listContainers, queryContainers, deleteContainer, replaceContainerThroughput, createItem, upsertItem, deleteItem, replaceItem, readItem, readAllItems, queryItems | listDatabases | CosmosDbOperationsDefinition
-| *query* (producer) | An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link \https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-getting-started} |  | String
-| *queryRequestOptions* (producer) | Set additional QueryRequestOptions that can be used with queryItems, queryContainers, queryDatabases, listDatabases, listItems, listContainers operations |  | CosmosQueryRequestOptions
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accountKey* (security) | *Required* Sets either a master or readonly key used to perform authentication for accessing resource. |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Azure CosmosDB endpoint is configured using URI syntax:
-
-----
-azure-cosmosdb:databaseName/containerName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *databaseName* | The name of the Cosmos database that component should connect to. In case you are producing data and have createDatabaseIfNotExists=true, the component will automatically auto create a Cosmos database. |  | String
-| *containerName* | The name of the Cosmos container that component should connect to. In case you are producing data and have createContainerIfNotExists=true, the component will automatically auto create a Cosmos container. |  | String
-|===
-
-
-=== Query Parameters (29 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *clientTelemetryEnabled* (common) | Sets the flag to enable client telemetry which will periodically collect database operations aggregation statistics, system information like cpu/memory and send it to cosmos monitoring service, which will be helpful during debugging. DEFAULT value is false indicating this is opt in feature, by default no telemetry collection. | false | boolean
-| *connectionSharingAcrossClients{zwsp}Enabled* (common) | Enables connections sharing across multiple Cosmos Clients. The default is false. When you have multiple instances of Cosmos Client in the same JVM interacting to multiple Cosmos accounts, enabling this allows connection sharing in Direct mode if possible between instances of Cosmos Client. Please note, when setting this option, the connection configuration (e.g., socket timeout config, idle timeout config) of the first instantia [...]
-| *consistencyLevel* (common) | Sets the consistency levels supported for Azure Cosmos DB client operations in the Azure Cosmos DB service. The requested ConsistencyLevel must match or be weaker than that provisioned for the database account. Consistency levels by order of strength are STRONG, BOUNDED_STALENESS, SESSION and EVENTUAL. Refer to consistency level documentation for additional details: \https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels. There are 5 enums and [...]
-| *containerPartitionKeyPath* (common) | Sets the container partition key path. |  | String
-| *contentResponseOnWriteEnabled* (common) | Sets the boolean to only return the headers and status code in Cosmos DB response in case of Create, Update and Delete operations on CosmosItem. In Consumer, it is enabled by default because of the ChangeFeed in the consumer that needs this flag to be enabled and thus is shouldn't be overridden. In Producer, it advised to disable it since it reduces the network overhead | true | boolean
-| *cosmosAsyncClient* (common) | *Autowired* Inject an external CosmosAsyncClient into the component which provides a client-side logical representation of the Azure Cosmos DB service. This asynchronous client is used to configure and execute requests against the service. |  | CosmosAsyncClient
-| *createContainerIfNotExists* (common) | Sets if the component should create Cosmos container automatically in case it doesn't exist in Cosmos database | false | boolean
-| *createDatabaseIfNotExists* (common) | Sets if the component should create Cosmos database automatically in case it doesn't exist in Cosmos account | false | boolean
-| *databaseEndpoint* (common) | *Required* Sets the Azure Cosmos database endpoint the component will connect to. |  | String
-| *multipleWriteRegionsEnabled* (common) | Sets the flag to enable writes on any regions for geo-replicated database accounts in the Azure Cosmos DB service. When the value of this property is true, the SDK will direct write operations to available writable regions of geo-replicated database account. Writable regions are ordered by PreferredRegions property. Setting the property value to true has no effect until EnableMultipleWriteRegions in DatabaseAccount is also set to true. DEFAULT v [...]
-| *preferredRegions* (common) | Sets the preferred regions for geo-replicated database accounts. For example, East US as the preferred region. When EnableEndpointDiscovery is true and PreferredRegions is non-empty, the SDK will prefer to use the regions in the container in the order they are specified to perform operations. |  | List
-| *readRequestsFallbackEnabled* (common) | Sets whether to allow for reads to go to multiple regions configured on an account of Azure Cosmos DB service. DEFAULT value is true. If this property is not set, the default is true for all Consistency Levels other than Bounded Staleness, The default is false for Bounded Staleness. 1. endpointDiscoveryEnabled is true 2. the Azure Cosmos DB account has more than one region | true | boolean
-| *throughputProperties* (common) | Sets throughput of the resources in the Azure Cosmos DB service. |  | ThroughputProperties
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *changeFeedProcessorOptions* (consumer) | Sets the ChangeFeedProcessorOptions to be used. Unless specifically set the default values that will be used are: maximum items per page or FeedResponse: 100 lease renew interval: 17 seconds lease acquire interval: 13 seconds lease expiration interval: 60 seconds feed poll delay: 5 seconds maximum scale count: unlimited |  | ChangeFeedProcessorOptions
-| *createLeaseContainerIfNot{zwsp}Exists* (consumer) | Sets if the component should create Cosmos lease container for the consumer automatically in case it doesn't exist in Cosmos database | false | boolean
-| *createLeaseDatabaseIfNotExists* (consumer) | Sets if the component should create Cosmos lease database for the consumer automatically in case it doesn't exist in Cosmos account | false | boolean
-| *hostName* (consumer) | Sets the hostname. The host: a host is an application instance that uses the change feed processor to listen for changes. Multiple instances with the same lease configuration can run in parallel, but each instance should have a different instance name. If not specified, this will be a generated random hostname. |  | String
-| *leaseContainerName* (consumer) | Sets the lease container which acts as a state storage and coordinates processing the change feed across multiple workers. The lease container can be stored in the same account as the monitored container or in a separate account. It will be auto created if createLeaseContainerIfNotExists is set to true. | camel-lease | String
-| *leaseDatabaseName* (consumer) | Sets the lease database where the leaseContainerName will be stored. If it is not specified, this component will store the lease container in the same database that is specified in databaseName. It will be auto created if createLeaseDatabaseIfNotExists is set to true. |  | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *itemId* (producer) | Sets the itemId in case needed for operation on item like delete, replace |  | String
-| *itemPartitionKey* (producer) | Sets partition key. Represents a partition key value in the Azure Cosmos DB database service. A partition key identifies the partition where the item is stored in. |  | PartitionKey
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The CosmosDB operation that can be used with this component on the producer. There are 17 enums and the value can be one of: listDatabases, createDatabase, queryDatabases, deleteDatabase, createContainer, replaceDatabaseThroughput, listContainers, queryContainers, deleteContainer, replaceContainerThroughput, createItem, upsertItem, deleteItem, replaceItem, readItem, readAllItems, queryItems | listDatabases | CosmosDbOperationsDefinition
-| *query* (producer) | An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link \https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-getting-started} |  | String
-| *queryRequestOptions* (producer) | Set additional QueryRequestOptions that can be used with queryItems, queryContainers, queryDatabases, listDatabases, listItems, listContainers operations |  | CosmosQueryRequestOptions
-| *accountKey* (security) | *Required* Sets either a master or readonly key used to perform authentication for accessing resource. |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc b/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
index 0dde7ff..bddc97d 100644
--- a/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
+++ b/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
@@ -1,6 +1,7 @@
 [[azure-eventhubs-component]]
 = Azure Event Hubs Component
 :docTitle: Azure Event Hubs
+:shortName: azure-eventhubs
 :artifactId: camel-azure-eventhubs
 :description: The azure-eventhubs component that integrates Azure Event Hubs using AMQP protocol. Azure EventHubs is a highly scalable publish-subscribe service that can ingest millions of events per second and stream them to multiple consumers.
 :since: 3.5
@@ -50,123 +51,16 @@ in the `connectionString`
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Azure Event Hubs component supports 20 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amqpRetryOptions* (common) | Sets the retry policy for EventHubAsyncClient. If not specified, the default retry options are used. |  | AmqpRetryOptions
-| *amqpTransportType* (common) | Sets the transport type by which all the communication with Azure Event Hubs occurs. Default value is AmqpTransportType#AMQP. There are 2 enums and the value can be one of: Amqp, AmqpWebSockets | AMQP | AmqpTransportType
-| *configuration* (common) | The component configurations |  | EventHubsConfiguration
-| *blobAccessKey* (consumer) | In case you chose the default BlobCheckpointStore, this sets access key for the associated azure account name to be used for authentication with azure blob services |  | String
-| *blobAccountName* (consumer) | In case you chose the default BlobCheckpointStore, this sets Azure account name to be used for authentication with azure blob services. |  | String
-| *blobContainerName* (consumer) | In case you chose the default BlobCheckpointStore, this sets the blob container that shall be used by the BlobCheckpointStore to store the checkpoint offsets |  | String
-| *blobStorageSharedKeyCredential* (consumer) | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information |  | StorageSharedKeyCredential
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *checkpointStore* (consumer) | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | BlobCheckpointStore | CheckpointStore
-| *consumerGroupName* (consumer) | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | $Default | String
-| *eventPosition* (consumer) | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. |  | Map
-| *prefetchCount* (consumer) | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | int
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
-| *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | *Autowired* Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
-| *sharedAccessKey* (security) | The generated value for the SharedAccessName |  | String
-| *sharedAccessName* (security) | The name you chose for your EventHubs SAS keys |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Azure Event Hubs endpoint is configured using URI syntax:
-
-----
-azure-eventhubs:namespace/eventHubName
-----
 
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *namespace* | EventHubs namespace created in Azure Portal |  | String
-| *eventHubName* | EventHubs name under a specific namcespace |  | String
-|===
-
-
-=== Query Parameters (20 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amqpRetryOptions* (common) | Sets the retry policy for EventHubAsyncClient. If not specified, the default retry options are used. |  | AmqpRetryOptions
-| *amqpTransportType* (common) | Sets the transport type by which all the communication with Azure Event Hubs occurs. Default value is AmqpTransportType#AMQP. There are 2 enums and the value can be one of: Amqp, AmqpWebSockets | AMQP | AmqpTransportType
-| *blobAccessKey* (consumer) | In case you chose the default BlobCheckpointStore, this sets access key for the associated azure account name to be used for authentication with azure blob services |  | String
-| *blobAccountName* (consumer) | In case you chose the default BlobCheckpointStore, this sets Azure account name to be used for authentication with azure blob services. |  | String
-| *blobContainerName* (consumer) | In case you chose the default BlobCheckpointStore, this sets the blob container that shall be used by the BlobCheckpointStore to store the checkpoint offsets |  | String
-| *blobStorageSharedKeyCredential* (consumer) | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information |  | StorageSharedKeyCredential
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *checkpointStore* (consumer) | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | BlobCheckpointStore | CheckpointStore
-| *consumerGroupName* (consumer) | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | $Default | String
-| *eventPosition* (consumer) | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. |  | Map
-| *prefetchCount* (consumer) | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | int
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
-| *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | *Autowired* Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
-| *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
-| *sharedAccessKey* (security) | The generated value for the SharedAccessName |  | String
-| *sharedAccessName* (security) | The name you chose for your EventHubs SAS keys |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-azure/camel-azure-servicebus/src/main/docs/azure-servicebus-component.adoc b/components/camel-azure/camel-azure-servicebus/src/main/docs/azure-servicebus-component.adoc
index 1c31448..20f9896 100644
--- a/components/camel-azure/camel-azure-servicebus/src/main/docs/azure-servicebus-component.adoc
+++ b/components/camel-azure/camel-azure-servicebus/src/main/docs/azure-servicebus-component.adoc
@@ -1,6 +1,7 @@
 [[azure-servicebus-component]]
 = Azure ServiceBus Component
 :docTitle: Azure ServiceBus
+:shortName: azure-servicebus
 :artifactId: camel-azure-servicebus
 :description: The azure-servicebus component that integrates Azure ServiceBus. Azure ServiceBus is a fully managed enterprise integration message broker. Service Bus can decouple applications and services. Service Bus offers a reliable and secure platform for asynchronous transfer of data and state. Data is transferred between different applications and services using messages.
 :since: 3.12
@@ -35,128 +36,16 @@ https://docs.microsoft.com/azure/[Azure Documentation Portal].
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Azure ServiceBus component supports 23 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amqpRetryOptions* (common) | Sets the retry options for Service Bus clients. If not specified, the default retry options are used. |  | AmqpRetryOptions
-| *amqpTransportType* (common) | Sets the transport type by which all the communication with Azure Service Bus occurs. Default value is AmqpTransportType#AMQP. There are 2 enums and the value can be one of: Amqp, AmqpWebSockets | AMQP | AmqpTransportType
-| *clientOptions* (common) | Sets the ClientOptions to be sent from the client built from this builder, enabling customization of certain properties, as well as support the addition of custom header information. Refer to the ClientOptions documentation for more information. |  | ClientOptions
-| *configuration* (common) | The component configurations |  | ServiceBusConfiguration
-| *proxyOptions* (common) | Sets the proxy configuration to use for ServiceBusSenderAsyncClient. When a proxy is configured, AmqpTransportType#AMQP_WEB_SOCKETS must be used for the transport type. |  | ProxyOptions
-| *serviceBusType* (common) | *Required* The service bus type of connection to execute. Queue is for typical queue option and topic for subscription based model. There are 2 enums and the value can be one of: queue, topic | queue | ServiceBusType
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *consumerOperation* (consumer) | Sets the desired operation to be used in the consumer. There are 2 enums and the value can be one of: receiveMessages, peekMessages | receiveMessages | ServiceBusConsumerOperationDefinition
-| *disableAutoComplete* (consumer) | Disables auto-complete and auto-abandon of received messages. By default, a successfully processed message is {link ServiceBusReceiverAsyncClient#complete(ServiceBusReceivedMessage) completed}. If an error happens when the message is processed, it is {link ServiceBusReceiverAsyncClient#abandon(ServiceBusReceivedMessage) abandoned}. | false | boolean
-| *maxAutoLockRenewDuration* (consumer) | Sets the amount of time to continue auto-renewing the lock. Setting Duration#ZERO or null disables auto-renewal. For {link ServiceBusReceiveMode#RECEIVE_AND_DELETE RECEIVE_AND_DELETE} mode, auto-renewal is disabled. | 5min | Duration
-| *peekNumMaxMessages* (consumer) | Set the max number of messages to be peeked during the peek operation. |  | Integer
-| *prefetchCount* (consumer) | Sets the prefetch count of the receiver. For both {link ServiceBusReceiveMode#PEEK_LOCK PEEK_LOCK} and {link ServiceBusReceiveMode#RECEIVE_AND_DELETE RECEIVE_AND_DELETE} modes the default value is 1. Prefetch speeds up the message flow by aiming to have a message readily available for local retrieval when and before the application asks for one using ServiceBusReceiverAsyncClient#receiveMessages(). Setting a non-zero value will prefetch that number of messa [...]
-| *receiverAsyncClient* (consumer) | *Autowired* Sets the receiverAsyncClient in order to consume messages in the Consumer |  | ServiceBusReceiverAsyncClient
-| *serviceBusReceiveMode* (consumer) | Sets the receive mode for the receiver. There are 2 enums and the value can be one of: PEEK_LOCK, RECEIVE_AND_DELETE | PEEK_LOCK | ServiceBusReceiveMode
-| *subQueue* (consumer) | Sets the type of the SubQueue to connect to. There are 3 enums and the value can be one of: NONE, DEAD_LETTER_QUEUE, TRANSFER_DEAD_LETTER_QUEUE |  | SubQueue
-| *subscriptionName* (consumer) | Sets the name of the subscription in the topic to listen to. topicOrQueueName and serviceBusType=topic must also be set. |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *producerOperation* (producer) | Sets the desired operation to be used in the producer. There are 2 enums and the value can be one of: sendMessages, scheduleMessages | sendMessages | ServiceBusProducerOperationDefinition
-| *scheduledEnqueueTime* (producer) | Sets OffsetDateTime at which the message should appear in the Service Bus queue or topic. |  | OffsetDateTime
-| *senderAsyncClient* (producer) | *Autowired* Sets SenderAsyncClient to be used in the producer. |  | ServiceBusSenderAsyncClient
-| *serviceBusTransactionContext* (producer) | Represents transaction in service. This object just contains transaction id. |  | ServiceBusTransactionContext
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *connectionString* (security) | *Required* Sets the connection string for a Service Bus namespace or a specific Service Bus resource. |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Azure ServiceBus endpoint is configured using URI syntax:
-
-----
-azure-servicebus:queueNameOrTopicName
-----
 
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *topicOrQueueName* | Selected topic name or the queue name, that is depending on serviceBusType config. For example if serviceBusType=queue, then this will be the queue name and if serviceBusType=topic, this will be the topic name. |  | String
-|===
-
-
-=== Query Parameters (23 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amqpRetryOptions* (common) | Sets the retry options for Service Bus clients. If not specified, the default retry options are used. |  | AmqpRetryOptions
-| *amqpTransportType* (common) | Sets the transport type by which all the communication with Azure Service Bus occurs. Default value is AmqpTransportType#AMQP. There are 2 enums and the value can be one of: Amqp, AmqpWebSockets | AMQP | AmqpTransportType
-| *clientOptions* (common) | Sets the ClientOptions to be sent from the client built from this builder, enabling customization of certain properties, as well as support the addition of custom header information. Refer to the ClientOptions documentation for more information. |  | ClientOptions
-| *proxyOptions* (common) | Sets the proxy configuration to use for ServiceBusSenderAsyncClient. When a proxy is configured, AmqpTransportType#AMQP_WEB_SOCKETS must be used for the transport type. |  | ProxyOptions
-| *serviceBusType* (common) | *Required* The service bus type of connection to execute. Queue is for typical queue option and topic for subscription based model. There are 2 enums and the value can be one of: queue, topic | queue | ServiceBusType
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *consumerOperation* (consumer) | Sets the desired operation to be used in the consumer. There are 2 enums and the value can be one of: receiveMessages, peekMessages | receiveMessages | ServiceBusConsumerOperationDefinition
-| *disableAutoComplete* (consumer) | Disables auto-complete and auto-abandon of received messages. By default, a successfully processed message is {link ServiceBusReceiverAsyncClient#complete(ServiceBusReceivedMessage) completed}. If an error happens when the message is processed, it is {link ServiceBusReceiverAsyncClient#abandon(ServiceBusReceivedMessage) abandoned}. | false | boolean
-| *maxAutoLockRenewDuration* (consumer) | Sets the amount of time to continue auto-renewing the lock. Setting Duration#ZERO or null disables auto-renewal. For {link ServiceBusReceiveMode#RECEIVE_AND_DELETE RECEIVE_AND_DELETE} mode, auto-renewal is disabled. | 5min | Duration
-| *peekNumMaxMessages* (consumer) | Set the max number of messages to be peeked during the peek operation. |  | Integer
-| *prefetchCount* (consumer) | Sets the prefetch count of the receiver. For both {link ServiceBusReceiveMode#PEEK_LOCK PEEK_LOCK} and {link ServiceBusReceiveMode#RECEIVE_AND_DELETE RECEIVE_AND_DELETE} modes the default value is 1. Prefetch speeds up the message flow by aiming to have a message readily available for local retrieval when and before the application asks for one using ServiceBusReceiverAsyncClient#receiveMessages(). Setting a non-zero value will prefetch that number of messa [...]
-| *receiverAsyncClient* (consumer) | *Autowired* Sets the receiverAsyncClient in order to consume messages in the Consumer |  | ServiceBusReceiverAsyncClient
-| *serviceBusReceiveMode* (consumer) | Sets the receive mode for the receiver. There are 2 enums and the value can be one of: PEEK_LOCK, RECEIVE_AND_DELETE | PEEK_LOCK | ServiceBusReceiveMode
-| *subQueue* (consumer) | Sets the type of the SubQueue to connect to. There are 3 enums and the value can be one of: NONE, DEAD_LETTER_QUEUE, TRANSFER_DEAD_LETTER_QUEUE |  | SubQueue
-| *subscriptionName* (consumer) | Sets the name of the subscription in the topic to listen to. topicOrQueueName and serviceBusType=topic must also be set. |  | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *producerOperation* (producer) | Sets the desired operation to be used in the producer. There are 2 enums and the value can be one of: sendMessages, scheduleMessages | sendMessages | ServiceBusProducerOperationDefinition
-| *scheduledEnqueueTime* (producer) | Sets OffsetDateTime at which the message should appear in the Service Bus queue or topic. |  | OffsetDateTime
-| *senderAsyncClient* (producer) | *Autowired* Sets SenderAsyncClient to be used in the producer. |  | ServiceBusSenderAsyncClient
-| *serviceBusTransactionContext* (producer) | Represents transaction in service. This object just contains transaction id. |  | ServiceBusTransactionContext
-| *connectionString* (security) | *Required* Sets the connection string for a Service Bus namespace or a specific Service Bus resource. |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-azure/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc b/components/camel-azure/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc
index bb54c98..945cc15 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc
+++ b/components/camel-azure/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc
@@ -1,6 +1,7 @@
 [[azure-storage-blob-component]]
 = Azure Storage Blob Service Component
 :docTitle: Azure Storage Blob Service
+:shortName: azure-storage-blob
 :artifactId: camel-azure-storage-blob
 :description: Store and retrieve blobs from Azure Storage Blob Service using SDK v12.
 :since: 3.3
@@ -52,160 +53,16 @@ You can append query options to the URI in the following format, ?options=value&
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Azure Storage Blob Service component supports 30 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *blobName* (common) | The blob name, to consume specific blob from a container. However on producer, is only required for the operations on the blob level |  | String
-| *blobOffset* (common) | Set the blob offset for the upload or download operations, default is 0 | 0 | long
-| *blobType* (common) | The blob type in order to initiate the appropriate settings for each blob type. There are 3 enums and the value can be one of: blockblob, appendblob, pageblob | blockblob | BlobType
-| *closeStreamAfterRead* (common) | Close the stream after read or keep it open, default is true | true | boolean
-| *configuration* (common) | The component configurations |  | BlobConfiguration
-| *credentials* (common) | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information |  | StorageSharedKeyCredential
-| *dataCount* (common) | How many bytes to include in the range. Must be greater than or equal to 0 if specified. |  | Long
-| *fileDir* (common) | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer |  | String
-| *maxResultsPerPage* (common) | Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items. |  | Integer
-| *maxRetryRequests* (common) | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | int
-| *prefix* (common) | Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs. |  | String
-| *regex* (common) | Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored. |  | String
-| *serviceClient* (common) | *Autowired* Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operation [...]
-| *timeout* (common) | An optional timeout value beyond which a RuntimeException will be raised. |  | Duration
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *blobSequenceNumber* (producer) | A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1.The default value is 0. | 0 | Long
-| *blockListType* (producer) | Specifies which type of blocks to return. There are 3 enums and the value can be one of: committed, uncommitted, all | COMMITTED | BlockListType
-| *changeFeedContext* (producer) | When using getChangeFeed producer operation, this gives additional context that is passed through the Http pipeline during the service call. |  | Context
-| *changeFeedEndTime* (producer) | When using getChangeFeed producer operation, this filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the end time up by an hour. |  | OffsetDateTime
-| *changeFeedStartTime* (producer) | When using getChangeFeed producer operation, this filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the start time down by an hour. |  | OffsetDateTime
-| *closeStreamAfterWrite* (producer) | Close the stream after write or keep it open, default is true | true | boolean
-| *commitBlockListLater* (producer) | When is set to true, the staged blocks will not be committed directly. | true | boolean
-| *createAppendBlob* (producer) | When is set to true, the append blocks will be created when committing append blocks. | true | boolean
-| *createPageBlob* (producer) | When is set to true, the page blob will be created when uploading page blob. | true | boolean
-| *downloadLinkExpiration* (producer) | Override the default expiration (millis) of URL download link. |  | Long
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The blob operation that can be used with this component on the producer. There are 19 enums and the value can be one of: listBlobContainers, createBlobContainer, deleteBlobContainer, listBlobs, getBlob, deleteBlob, downloadBlobToFile, downloadLink, uploadBlockBlob, stageBlockBlobList, commitBlobBlockList, getBlobBlockList, createAppendBlob, commitAppendBlob, createPageBlob, uploadPageBlob, resizePageBlob, clearPageBlob, getPageBlobRanges | listBlobContainers |  [...]
-| *pageBlobSize* (producer) | Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary. | 512 | Long
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Access key for the associated azure account name to be used for authentication with azure blob services |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Azure Storage Blob Service endpoint is configured using URI syntax:
-
-----
-azure-storage-blob:accountName/containerName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accountName* | Azure account name to be used for authentication with azure blob services |  | String
-| *containerName* | The blob container name |  | String
-|===
-
-
-=== Query Parameters (47 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *blobName* (common) | The blob name, to consume specific blob from a container. However on producer, is only required for the operations on the blob level |  | String
-| *blobOffset* (common) | Set the blob offset for the upload or download operations, default is 0 | 0 | long
-| *blobServiceClient* (common) | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are available  [...]
-| *blobType* (common) | The blob type in order to initiate the appropriate settings for each blob type. There are 3 enums and the value can be one of: blockblob, appendblob, pageblob | blockblob | BlobType
-| *closeStreamAfterRead* (common) | Close the stream after read or keep it open, default is true | true | boolean
-| *credentials* (common) | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information |  | StorageSharedKeyCredential
-| *dataCount* (common) | How many bytes to include in the range. Must be greater than or equal to 0 if specified. |  | Long
-| *fileDir* (common) | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer |  | String
-| *maxResultsPerPage* (common) | Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items. |  | Integer
-| *maxRetryRequests* (common) | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | int
-| *prefix* (common) | Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs. |  | String
-| *regex* (common) | Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored. |  | String
-| *serviceClient* (common) | *Autowired* Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operation [...]
-| *timeout* (common) | An optional timeout value beyond which a RuntimeException will be raised. |  | Duration
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *blobSequenceNumber* (producer) | A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1.The default value is 0. | 0 | Long
-| *blockListType* (producer) | Specifies which type of blocks to return. There are 3 enums and the value can be one of: committed, uncommitted, all | COMMITTED | BlockListType
-| *changeFeedContext* (producer) | When using getChangeFeed producer operation, this gives additional context that is passed through the Http pipeline during the service call. |  | Context
-| *changeFeedEndTime* (producer) | When using getChangeFeed producer operation, this filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the end time up by an hour. |  | OffsetDateTime
-| *changeFeedStartTime* (producer) | When using getChangeFeed producer operation, this filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the start time down by an hour. |  | OffsetDateTime
-| *closeStreamAfterWrite* (producer) | Close the stream after write or keep it open, default is true | true | boolean
-| *commitBlockListLater* (producer) | When is set to true, the staged blocks will not be committed directly. | true | boolean
-| *createAppendBlob* (producer) | When is set to true, the append blocks will be created when committing append blocks. | true | boolean
-| *createPageBlob* (producer) | When is set to true, the page blob will be created when uploading page blob. | true | boolean
-| *downloadLinkExpiration* (producer) | Override the default expiration (millis) of URL download link. |  | Long
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | The blob operation that can be used with this component on the producer. There are 19 enums and the value can be one of: listBlobContainers, createBlobContainer, deleteBlobContainer, listBlobs, getBlob, deleteBlob, downloadBlobToFile, downloadLink, uploadBlockBlob, stageBlockBlobList, commitBlobBlockList, getBlobBlockList, createAppendBlob, commitAppendBlob, createPageBlob, uploadPageBlob, resizePageBlob, clearPageBlob, getPageBlobRanges | listBlobContainers |  [...]
-| *pageBlobSize* (producer) | Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary. | 512 | Long
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *accessKey* (security) | Access key for the associated azure account name to be used for authentication with azure blob services |  | String
-|===
 // endpoint options: END
 
 *Required information options:*
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/main/docs/azure-storage-datalake-component.adoc b/components/camel-azure/camel-azure-storage-datalake/src/main/docs/azure-storage-datalake-component.adoc
index 6d9147c..2296883 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/main/docs/azure-storage-datalake-component.adoc
+++ b/components/camel-azure/camel-azure-storage-datalake/src/main/docs/azure-storage-datalake-component.adoc
@@ -1,6 +1,7 @@
 [[azure-storage-datalake-component]]
 = Azure storage datalake service Component
 :docTitle: Azure storage datalake service
+:shortName: azure-storage-datalake
 :artifactId: camel-azure-storage-datalake
 :description: Camel Azure Datalake Gen2 Component
 :since: 3.8
@@ -46,166 +47,16 @@ You can append query options to the URI in the following format, ?option1=value&
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Azure storage datalake service component supports 33 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accountKey* (common) | account key for authentication |  | String
-| *clientId* (common) | client id for azure account |  | String
-| *clientSecret* (common) | client secret for azure account |  | String
-| *clientSecretCredential* (common) | client secret credential for authentication |  | ClientSecretCredential
-| *close* (common) | Whether or not a file changed event raised indicates completion (true) or modification (false) |  | Boolean
-| *closeStreamAfterRead* (common) | check for closing stream after read |  | Boolean
-| *configuration* (common) | configuration object for datalake |  | DataLakeConfiguration
-| *dataCount* (common) | count number of bytes to download |  | Long
-| *directoryName* (common) | directory of the file to be handled in component |  | String
-| *downloadLinkExpiration* (common) | download link expiration time |  | Long
-| *expression* (common) | expression for queryInputStream |  | String
-| *fileDir* (common) | directory of file to do operations in the local system |  | String
-| *fileName* (common) | name of file to be handled in component |  | String
-| *fileOffset* (common) | offset position in file for different operations |  | Long
-| *maxResults* (common) | maximum number of results to show at a time |  | Integer
-| *maxRetryRequests* (common) | no of retries to a given request |  | int
-| *openOptions* (common) | set open options for creating file |  | Set
-| *path* (common) | path in azure datalake for operations |  | String
-| *permission* (common) | permission string for the file |  | String
-| *position* (common) | This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. |  | Long
-| *recursive* (common) | recursively include all paths |  | Boolean
-| *regex* (common) | regular expression for matching file names |  | String
-| *retainUncommitedData* (common) | Whether or not uncommitted data is to be retained after the operation |  | Boolean
-| *serviceClient* (common) | *Autowired* datalake service client for azure storage datalake |  | DataLakeServiceClient
-| *sharedKeyCredential* (common) | shared key credential for azure datalake gen2 |  | StorageSharedKeyCredential
-| *tenantId* (common) | tenant id for azure account |  | String
-| *timeout* (common) | Timeout for operation |  | Duration
-| *umask* (common) | umask permission for file |  | String
-| *userPrincipalNameReturned* (common) | whether or not to use upn |  | Boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | operation to be performed. There are 2 enums and the value can be one of: listFileSystem, listFiles | listFileSystem | DataLakeOperationsDefinition
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Azure storage datalake service endpoint is configured using URI syntax:
-
-----
-azure-storage-datalake:accountName/fileSystemName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accountName* | name of the azure account |  | String
-| *fileSystemName* | name of filesystem to be used |  | String
-|===
-
-
-=== Query Parameters (50 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accountKey* (common) | account key for authentication |  | String
-| *clientId* (common) | client id for azure account |  | String
-| *clientSecret* (common) | client secret for azure account |  | String
-| *clientSecretCredential* (common) | client secret credential for authentication |  | ClientSecretCredential
-| *close* (common) | Whether or not a file changed event raised indicates completion (true) or modification (false) |  | Boolean
-| *closeStreamAfterRead* (common) | check for closing stream after read |  | Boolean
-| *dataCount* (common) | count number of bytes to download |  | Long
-| *dataLakeServiceClient* (common) | service client of datalake |  | DataLakeServiceClient
-| *directoryName* (common) | directory of the file to be handled in component |  | String
-| *downloadLinkExpiration* (common) | download link expiration time |  | Long
-| *expression* (common) | expression for queryInputStream |  | String
-| *fileDir* (common) | directory of file to do operations in the local system |  | String
-| *fileName* (common) | name of file to be handled in component |  | String
-| *fileOffset* (common) | offset position in file for different operations |  | Long
-| *maxResults* (common) | maximum number of results to show at a time |  | Integer
-| *maxRetryRequests* (common) | no of retries to a given request |  | int
-| *openOptions* (common) | set open options for creating file |  | Set
-| *path* (common) | path in azure datalake for operations |  | String
-| *permission* (common) | permission string for the file |  | String
-| *position* (common) | This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. |  | Long
-| *recursive* (common) | recursively include all paths |  | Boolean
-| *regex* (common) | regular expression for matching file names |  | String
-| *retainUncommitedData* (common) | Whether or not uncommitted data is to be retained after the operation |  | Boolean
-| *serviceClient* (common) | *Autowired* datalake service client for azure storage datalake |  | DataLakeServiceClient
-| *sharedKeyCredential* (common) | shared key credential for azure datalake gen2 |  | StorageSharedKeyCredential
-| *tenantId* (common) | tenant id for azure account |  | String
-| *timeout* (common) | Timeout for operation |  | Duration
-| *umask* (common) | umask permission for file |  | String
-| *userPrincipalNameReturned* (common) | whether or not to use upn |  | Boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | operation to be performed. There are 2 enums and the value can be one of: listFileSystem, listFiles | listFileSystem | DataLakeOperationsDefinition
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-azure/camel-azure-storage-queue/src/main/docs/azure-storage-queue-component.adoc b/components/camel-azure/camel-azure-storage-queue/src/main/docs/azure-storage-queue-component.adoc
index 25f0a9e..2357569 100644
--- a/components/camel-azure/camel-azure-storage-queue/src/main/docs/azure-storage-queue-component.adoc
+++ b/components/camel-azure/camel-azure-storage-queue/src/main/docs/azure-storage-queue-component.adoc
@@ -1,6 +1,7 @@
 [[azure-storage-queue-component]]
 = Azure Storage Queue Service Component
 :docTitle: Azure Storage Queue Service
+:shortName: azure-storage-queue
 :artifactId: camel-azure-storage-queue
 :description: The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12.
 :since: 3.3
@@ -52,129 +53,16 @@ You can append query options to the URI in the following format, ?options=value&
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Azure Storage Queue Service component supports 15 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *configuration* (common) | The component configurations |  | QueueConfiguration
-| *serviceClient* (common) | *Autowired* Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties o [...]
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *createQueue* (producer) | When is set to true, the queue will be automatically created when sending messages to the queue. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | Queue service operation hint to the producer. There are 9 enums and the value can be one of: listQueues, createQueue, deleteQueue, clearQueue, sendMessage, deleteMessage, receiveMessages, peekMessages, updateMessage |  | QueueOperationDefinition
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *maxMessages* (queue) | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | 1 | Integer
-| *messageId* (queue) | The ID of the message to be deleted or updated. |  | String
-| *popReceipt* (queue) | Unique identifier that must match for the message to be deleted or updated. |  | String
-| *timeout* (queue) | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. |  | Duration
-| *timeToLive* (queue) | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. |  | Duration
-| *visibilityTimeout* (queue) | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. |  | Duration
-| *accessKey* (security) | Access key for the associated azure account name to be used for authentication with azure queue services |  | String
-| *credentials* (security) | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information |  | StorageSharedKeyCredential
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Azure Storage Queue Service endpoint is configured using URI syntax:
-
-----
-azure-storage-queue:accountName/queueName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accountName* | Azure account name to be used for authentication with azure queue services |  | String
-| *queueName* | The queue resource name |  | String
-|===
-
-
-=== Query Parameters (31 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *serviceClient* (common) | *Autowired* Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties o [...]
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *createQueue* (producer) | When is set to true, the queue will be automatically created when sending messages to the queue. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | Queue service operation hint to the producer. There are 9 enums and the value can be one of: listQueues, createQueue, deleteQueue, clearQueue, sendMessage, deleteMessage, receiveMessages, peekMessages, updateMessage |  | QueueOperationDefinition
-| *maxMessages* (queue) | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | 1 | Integer
-| *messageId* (queue) | The ID of the message to be deleted or updated. |  | String
-| *popReceipt* (queue) | Unique identifier that must match for the message to be deleted or updated. |  | String
-| *timeout* (queue) | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. |  | Duration
-| *timeToLive* (queue) | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. |  | Duration
-| *visibilityTimeout* (queue) | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. |  | Duration
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *accessKey* (security) | Access key for the associated azure account name to be used for authentication with azure queue services |  | String
-| *credentials* (security) | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information |  | StorageSharedKeyCredential
-|===
 // endpoint options: END
 
 *Required information options:*
diff --git a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
index c5c69c8..c3548a6 100644
--- a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
+++ b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
@@ -1,8 +1,7 @@
 [[barcode-dataformat]]
 = Barcode DataFormat
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-barcode/src/main/docs/barcode-dataformat.adoc
 :docTitle: Barcode
+:shortName: barcode
 :artifactId: camel-barcode
 :description: Transform strings to various 1D/2D barcode bitmap formats and back.
 :since: 2.14
@@ -38,18 +37,7 @@ the download page for the latest versions).
 == Barcode Options
 
 // dataformat options: START
-The Barcode dataformat supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| width |  | Integer | Width of the barcode
-| height |  | Integer | Height of the barcode
-| imageType |  | String | Image type of the barcode such as png
-| barcodeFormat |  | String | Barcode format such as QR-Code
-|===
+include::partial$dataformat-options.adoc[]
 // dataformat options: END
 
 == Using the Java DSL
diff --git a/components/camel-base64/src/main/docs/base64-dataformat.adoc b/components/camel-base64/src/main/docs/base64-dataformat.adoc
index 5349032..2329d9a 100644
--- a/components/camel-base64/src/main/docs/base64-dataformat.adoc
+++ b/components/camel-base64/src/main/docs/base64-dataformat.adoc
@@ -1,8 +1,7 @@
 [[base64-dataformat]]
 = Base64 DataFormat
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-base64/src/main/docs/base64-dataformat.adoc
 :docTitle: Base64
+:shortName: base64
 :artifactId: camel-base64
 :description: Encode and decode data using Base64.
 :since: 2.11
@@ -16,17 +15,7 @@ The Base64 data format is used for base64 encoding and decoding.
 == Options
 
 // dataformat options: START
-The Base64 dataformat supports 3 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| lineLength | 76 | Integer | To specific a maximum line length for the encoded data. By default 76 is used.
-| lineSeparator |  | String | The line separators to use. Uses new line characters (CRLF) by default.
-| urlSafe | false | Boolean | Instead of emitting '' and '/' we emit '-' and '_' respectively. urlSafe is only applied to encode operations. Decoding seamlessly handles both modes. Is by default false.
-|===
+include::partial$dataformat-options.adoc[]
 // dataformat options: END
 
 In Spring DSL, you configure the data format using this tag:
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index 401904d..7f7bc5e 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -1,6 +1,7 @@
 [[bean-validator-component]]
 = Bean Validator Component
 :docTitle: Bean Validator
+:shortName: bean-validator
 :artifactId: camel-bean-validator
 :description: Validate the message body using the Java Bean Validation API.
 :since: 2.3
@@ -44,98 +45,16 @@ Where *label* is an arbitrary text value describing the endpoint. +
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Bean Validator component supports 8 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *ignoreXmlConfiguration* (producer) | Whether to ignore data from the META-INF/validation.xml file. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *constraintValidatorFactory* (advanced) | To use a custom ConstraintValidatorFactory |  | ConstraintValidatorFactory
-| *messageInterpolator* (advanced) | To use a custom MessageInterpolator |  | MessageInterpolator
-| *traversableResolver* (advanced) | To use a custom TraversableResolver |  | TraversableResolver
-| *validationProviderResolver* (advanced) | To use a a custom ValidationProviderResolver |  | ValidationProviderResolver
-| *validatorFactory* (advanced) | *Autowired* To use a custom ValidatorFactory |  | ValidatorFactory
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Bean Validator endpoint is configured using URI syntax:
-
-----
-bean-validator:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Where label is an arbitrary text value describing the endpoint |  | String
-|===
-
-
-=== Query Parameters (8 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *group* (producer) | To use a custom validation group | javax.validation.groups.Default | String
-| *ignoreXmlConfiguration* (producer) | Whether to ignore data from the META-INF/validation.xml file. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *constraintValidatorFactory* (advanced) | To use a custom ConstraintValidatorFactory |  | ConstraintValidatorFactory
-| *messageInterpolator* (advanced) | To use a custom MessageInterpolator |  | MessageInterpolator
-| *traversableResolver* (advanced) | To use a custom TraversableResolver |  | TraversableResolver
-| *validationProviderResolver* (advanced) | To use a a custom ValidationProviderResolver |  | ValidationProviderResolver
-| *validatorFactory* (advanced) | To use a custom ValidatorFactory |  | ValidatorFactory
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-bean/src/main/docs/bean-component.adoc b/components/camel-bean/src/main/docs/bean-component.adoc
index 4b3f6ff..8202a5f 100644
--- a/components/camel-bean/src/main/docs/bean-component.adoc
+++ b/components/camel-bean/src/main/docs/bean-component.adoc
@@ -1,6 +1,7 @@
 [[bean-component]]
 = Bean Component
 :docTitle: Bean
+:shortName: bean
 :artifactId: camel-bean
 :description: Invoke methods of Java beans stored in Camel registry.
 :since: 1.0
@@ -25,91 +26,16 @@ Where *beanID* can be any string which is used to look up the bean in
 the Registry
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Bean component supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *cache* (producer) | *Deprecated* Use singleton option instead. | true | Boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *scope* (producer) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while  [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Bean endpoint is configured using URI syntax:
-
-----
-bean:beanName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *beanName* | *Required* Sets the name of the bean to invoke |  | String
-|===
-
-
-=== Query Parameters (5 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *cache* (common) | *Deprecated* Use scope option instead. |  | Boolean
-| *method* (common) | Sets the name of the method to invoke on the bean |  | String
-| *scope* (common) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while pr [...]
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *parameters* (advanced) | Used for configuring additional properties on the bean |  | Map
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-bean/src/main/docs/bean-language.adoc b/components/camel-bean/src/main/docs/bean-language.adoc
index 8d9ccab..81095fa 100644
--- a/components/camel-bean/src/main/docs/bean-language.adoc
+++ b/components/camel-bean/src/main/docs/bean-language.adoc
@@ -1,6 +1,7 @@
 [[bean-language]]
 = Bean Method Language
 :docTitle: Bean Method
+:shortName: bean
 :artifactId: camel-bean
 :description: Calls a Java bean method.
 :since: 1.3
@@ -19,19 +20,7 @@ it is recommended to read the xref:manual::bean-binding.adoc[Bean Binding] docum
 == Bean Method options
 
 // language options: START
-The Bean Method language supports 5 options, which are listed below.
-
-
-
-[width="100%",cols="2,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| ref |  | String | Reference to an existing bean (bean id) to lookup in the registry
-| method |  | String | Name of method to call
-| beanType |  | String | Class name (fully qualified) of the bean to use Will lookup in registry and if there is a single instance of the same type, then the existing bean is used, otherwise a new bean is created (requires a default no-arg constructor).
-| scope | Singleton | String | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple time [...]
-| trim | true | Boolean | Whether to trim the value to remove leading and trailing whitespaces and line breaks
-|===
+include::partial$language-options.adoc[]
 // language options: END
 
 == Examples
diff --git a/components/camel-bean/src/main/docs/class-component.adoc b/components/camel-bean/src/main/docs/class-component.adoc
index e5b9808..1517e0b 100644
--- a/components/camel-bean/src/main/docs/class-component.adoc
+++ b/components/camel-bean/src/main/docs/class-component.adoc
@@ -1,6 +1,7 @@
 [[class-component]]
 = Class Component
 :docTitle: Class
+:shortName: class
 :artifactId: camel-bean
 :description: Invoke methods of Java beans specified by class name.
 :since: 2.4
@@ -29,91 +30,16 @@ bean.
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Class component supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *cache* (producer) | *Deprecated* Use singleton option instead. | true | Boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *scope* (producer) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while  [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Class endpoint is configured using URI syntax:
-
-----
-class:beanName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *beanName* | *Required* Sets the name of the bean to invoke |  | String
-|===
-
-
-=== Query Parameters (5 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *cache* (common) | *Deprecated* Use scope option instead. |  | Boolean
-| *method* (common) | Sets the name of the method to invoke on the bean |  | String
-| *scope* (common) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while pr [...]
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *parameters* (advanced) | Used for configuring additional properties on the bean |  | Map
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
index ca4795e..6dd8b7f 100644
--- a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
+++ b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
@@ -1,8 +1,7 @@
 [[beanio-dataformat]]
 = BeanIO DataFormat
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-beanio/src/main/docs/beanio-dataformat.adoc
 :docTitle: BeanIO
+:shortName: beanio
 :artifactId: camel-beanio
 :description: Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats).
 :since: 2.10
@@ -23,22 +22,7 @@ XML] file where you define the mapping from the flat format to Objects
 == Options
 
 // dataformat options: START
-The BeanIO dataformat supports 8 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| mapping |  | String | The BeanIO mapping file. Is by default loaded from the classpath. You can prefix with file:, http:, or classpath: to denote from where to load the mapping file.
-| streamName |  | String | The name of the stream to use.
-| ignoreUnidentifiedRecords | false | Boolean | Whether to ignore unidentified records.
-| ignoreUnexpectedRecords | false | Boolean | Whether to ignore unexpected records.
-| ignoreInvalidRecords | false | Boolean | Whether to ignore invalid records.
-| encoding |  | String | The charset to use. Is by default the JVM platform default charset.
-| beanReaderErrorHandlerType |  | String | To use a custom org.apache.camel.dataformat.beanio.BeanIOErrorHandler as error handler while parsing. Configure the fully qualified class name of the error handler. Notice the options ignoreUnidentifiedRecords, ignoreUnexpectedRecords, and ignoreInvalidRecords may not be in use when you use a custom error handler.
-| unmarshalSingleObject | false | Boolean | This options controls whether to unmarshal as a list of objects or as a single object only. The former is the default mode, and the latter is only intended in special use-cases where beanio maps the Camel message to a single POJO bean.
-|===
+include::partial$dataformat-options.adoc[]
 // dataformat options: END
 
 == Usage
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index 5a03564..24460db 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -1,6 +1,7 @@
 [[beanstalk-component]]
 = Beanstalk Component
 :docTitle: Beanstalk
+:shortName: beanstalk
 :artifactId: camel-beanstalk
 :description: Retrieve and post-process Beanstalk jobs.
 :since: 2.15
@@ -60,113 +61,16 @@ By the way, you cannot specify several tubes when you are writing jobs
 into Beanstalk.
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Beanstalk component supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *connectionSettingsFactory* (advanced) | Custom ConnectionSettingsFactory. Specify which ConnectionSettingsFactory to use to make connections to Beanstalkd. Especially useful for unit testing without beanstalkd daemon (you can mock ConnectionSettings) |  | ConnectionSettingsFactory
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Beanstalk endpoint is configured using URI syntax:
-
-----
-beanstalk:connectionSettings
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *connectionSettings* | Connection settings host:port/tube |  | String
-|===
-
-
-=== Query Parameters (27 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *command* (common) | put means to put the job into Beanstalk. Job body is specified in the Camel message body. Job ID will be returned in beanstalk.jobId message header. delete, release, touch or bury expect Job ID in the message header beanstalk.jobId. Result of the operation is returned in beanstalk.result message header kick expects the number of jobs to kick in the message body and returns the number of jobs actually kicked out in the message header beanstalk.result. There are 6 en [...]
-| *jobDelay* (common) | Job delay in seconds. | 0 | int
-| *jobPriority* (common) | Job priority. (0 is the highest, see Beanstalk protocol) | 1000 | long
-| *jobTimeToRun* (common) | Job time to run in seconds. (when 0, the beanstalkd daemon raises it to 1 automatically, see Beanstalk protocol) | 60 | int
-| *awaitJob* (consumer) | Whether to wait for job to complete before ack the job from beanstalk | true | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *onFailure* (consumer) | Command to use when processing failed. There are 6 enums and the value can be one of: bury, release, put, touch, delete, kick |  | BeanstalkCommand
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *useBlockIO* (consumer) | Whether to use blockIO. | true | boolean
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-|===
+
 // endpoint options: END
 
 
diff --git a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
index 3d7c918..b0c0883 100644
--- a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
+++ b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
@@ -1,6 +1,7 @@
 [[bindy-dataformat]]
 = Bindy DataFormat
 :docTitle: Bindy
+:shortName: bindy
 :artifactId: camel-bindy
 :description: Marshal and unmarshal between POJOs and key-value pair (KVP) format using Camel Bindy
 :since: 2.0
diff --git a/components/camel-bonita/src/main/docs/bonita-component.adoc b/components/camel-bonita/src/main/docs/bonita-component.adoc
index 6da7f6a..09536d4 100644
--- a/components/camel-bonita/src/main/docs/bonita-component.adoc
+++ b/components/camel-bonita/src/main/docs/bonita-component.adoc
@@ -1,6 +1,7 @@
 [[bonita-component]]
 = Bonita Component
 :docTitle: Bonita
+:shortName: bonita
 :artifactId: camel-bonita
 :description: Communicate with a remote Bonita BPM process engine.
 :since: 2.19
@@ -23,90 +24,16 @@ bonita://[operation]?[options]
 Where *operation* is the specific action to perform on Bonita.
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Bonita component supports 2 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Bonita endpoint is configured using URI syntax:
-
-----
-bonita:operation
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *operation* | *Required* Operation to use. There are 1 enums and the value can be one of: startCase |  | BonitaOperation
-|===
-
-
-=== Query Parameters (6 parameters):
-
 
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *hostname* (producer) | Hostname where Bonita engine runs | localhost | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *port* (producer) | Port of the server hosting Bonita engine | 8080 | String
-| *processName* (producer) | Name of the process involved in the operation |  | String
-| *password* (security) | Password to authenticate to Bonita engine. |  | String
-| *username* (security) | Username to authenticate to Bonita engine. |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
index e2ccc34..cd7bd53 100644
--- a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
+++ b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
@@ -1,6 +1,7 @@
 [[box-component]]
 = Box Component
 :docTitle: Box
+:shortName: box
 :artifactId: camel-box
 :description: Upload, download and manage files, folders, groups, collaborations, etc. on box.com.
 :since: 2.14
@@ -55,995 +56,16 @@ The Box component supports three different types of authenticated connections.
 *App User Authentication* uses the *OAuth 2.0 with JSON Web Tokens (JWT)* to authenticate its connections as an *App User* for a *Box Application*. This type of authentication enables app users to access, edit, and save their Box content in its *Box Application* through the Box component.
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Box component supports 19 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *clientId* (common) | Box application client ID |  | String
-| *configuration* (common) | To use the shared configuration |  | BoxConfiguration
-| *enterpriseId* (common) | The enterprise ID to use for an App Enterprise. |  | String
-| *userId* (common) | The user ID to use for an App User. |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *httpParams* (advanced) | Custom HTTP params for settings like proxy host |  | Map
-| *authenticationType* (authentication) | The type of authentication for connection. Types of Authentication: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens | APP_USER_AUTHENTICATION | String
-| *accessTokenCache* (security) | Custom Access Token Cache for storing and retrieving access tokens. |  | IAccessTokenCache
-| *clientSecret* (security) | Box application client secret |  | String
-| *encryptionAlgorithm* (security) | The type of encryption algorithm for JWT. Supported Algorithms: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512. There are 3 enums and the value can be one of: RSA_SHA_256, RSA_SHA_384, RSA_SHA_512 | RSA_SHA_256 | EncryptionAlgorithm
-| *maxCacheEntries* (security) | The maximum number of access tokens in cache. | 100 | int
-| *privateKeyFile* (security) | The private key for generating the JWT signature. |  | String
-| *privateKeyPassword* (security) | The password for the private key. |  | String
-| *publicKeyId* (security) | The ID for public key for validating the JWT signature. |  | String
-| *sslContextParameters* (security) | To configure security using SSLContextParameters. |  | SSLContextParameters
-| *userName* (security) | Box user name, MUST be provided |  | String
-| *userPassword* (security) | Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call |  | String
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Box endpoint is configured using URI syntax:
-
-----
-box:apiName/methodName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *apiName* | *Required* What kind of operation to perform. There are 10 enums and the value can be one of: COLLABORATIONS, COMMENTS, EVENT_LOGS, FILES, FOLDERS, GROUPS, EVENTS, SEARCH, TASKS, USERS |  | BoxApiName
-| *methodName* | *Required* What sub operation to use for the selected operation |  | String
-|===
-
-
-=== Query Parameters (19 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *clientId* (common) | Box application client ID |  | String
-| *enterpriseId* (common) | The enterprise ID to use for an App Enterprise. |  | String
-| *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
-| *userId* (common) | The user ID to use for an App User. |  | String
-| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *httpParams* (advanced) | Custom HTTP params for settings like proxy host |  | Map
-| *authenticationType* (authentication) | The type of authentication for connection. Types of Authentication: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens | APP_USER_AUTHENTICATION | String
-| *accessTokenCache* (security) | Custom Access Token Cache for storing and retrieving access tokens. |  | IAccessTokenCache
-| *clientSecret* (security) | Box application client secret |  | String
-| *encryptionAlgorithm* (security) | The type of encryption algorithm for JWT. Supported Algorithms: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512. There are 3 enums and the value can be one of: RSA_SHA_256, RSA_SHA_384, RSA_SHA_512 | RSA_SHA_256 | EncryptionAlgorithm
-| *maxCacheEntries* (security) | The maximum number of access tokens in cache. | 100 | int
-| *privateKeyFile* (security) | The private key for generating the JWT signature. |  | String
-| *privateKeyPassword* (security) | The password for the private key. |  | String
-| *publicKeyId* (security) | The ID for public key for validating the JWT signature. |  | String
-| *sslContextParameters* (security) | To configure security using SSLContextParameters. |  | SSLContextParameters
-| *userName* (security) | Box user name, MUST be provided |  | String
-| *userPassword* (security) | Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call |  | String
-|===
-
-
-
-
-=== API Parameters (10 APIs):
-
-The Box endpoint is an API based component and has additional parameters based on which API name and API method is used.
-The API name and API method is located in the endpoint URI as the apiName/methodName path parameters:
-
-----
-box:apiName/methodName
-----
-
-There are 10 API names as listed in the table below:
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| API Name | Type | Description
-| *collaborations* | Producer | Provides operations to manage Box collaborations
-| *comments* | Producer | Provides operations to manage Box comments
-| *event-logs* | Producer | Provides operations to read Box enterprise (admin) event logs
-| *events* | Consumer | Provides operations to manage Box events
-| *files* | Producer | Provides operations to manage Box files
-| *folders* | Producer | Provides operations to manage Box folders
-| *groups* | Producer | Provides operations to manage Box groups
-| *search* | Producer | Provides operations to manage Box searches
-| *tasks* | Producer | Provides operations to manage Box tasks
-| *users* | Producer | Provides operations to manage Box users
-|===
-
-Each API is documented in the following sections to come.
-
-
-==== API: collaborations
-
-*Only producer is supported*
-
-
-
-
-The collaborations API has 6 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.box.sdk.BoxCollaboration addFolderCollaboration(String folderId, com.box.sdk.BoxCollaborator collaborator, com.box.sdk.BoxCollaboration.Role role);
-
-com.box.sdk.BoxCollaboration addFolderCollaborationByEmail(String folderId, String email, com.box.sdk.BoxCollaboration.Role role);
-
-void deleteCollaboration(String collaborationId);
-
-com.box.sdk.BoxCollaboration.Info getCollaborationInfo(String collaborationId);
-
-java.util.Collection<com.box.sdk.BoxCollaboration.Info> getFolderCollaborations(String folderId);
-
-com.box.sdk.BoxCollaboration updateCollaborationInfo(String collaborationId, com.box.sdk.BoxCollaboration.Info info);
-
-----
-
-The collaborations API is defined in the syntax as follows:
-
-----
-box:collaborations/methodName?[parameters]
-----
-
-The 6 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *addFolderCollaboration* | add | Add a collaboration to this folder
-| *addFolderCollaborationByEmail* | addByEmail | Add a collaboration to this folder
-| *deleteCollaboration* | delete | Delete collaboration
-| *getCollaborationInfo* | info | Get collaboration information
-| *getFolderCollaborations* | collaborations | Get information about all of the collaborations for folder
-| *updateCollaborationInfo* | updateInfo | Update collaboration information
-|===
-
-The collaborations API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| addFolderCollaboration | *collaborator* |  The collaborator to add | BoxCollaborator
-| addFolderCollaboration | *folderId* |  The id of folder to add collaboration to | String
-| addFolderCollaboration | *role* |  The role of the collaborator | Role
-| addFolderCollaborationByEmail | *email* |  The email address of the collaborator to add | String
-| addFolderCollaborationByEmail | *folderId* |  The id of folder to add collaboration to | String
-| addFolderCollaborationByEmail | *role* |  The role of the collaborator | Role
-| deleteCollaboration | *collaborationId* |  The id of comment to change | String
-| getCollaborationInfo | *collaborationId* |  The id of collaboration | String
-| getFolderCollaborations | *folderId* |  The id of folder to get collaborations information on | String
-| updateCollaborationInfo | *collaborationId* |  The id of collaboration | String
-| updateCollaborationInfo | *info* |  Collaboration information to update | Info
-|===
-
-In addition to the parameters above, the collaborations API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: comments
-
-*Only producer is supported*
-
-
-
-
-The comments API has 6 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.box.sdk.BoxFile addFileComment(String fileId, String message);
-
-com.box.sdk.BoxComment changeCommentMessage(String commentId, String message);
-
-void deleteComment(String commentId);
-
-com.box.sdk.BoxComment.Info getCommentInfo(String commentId);
-
-java.util.List<com.box.sdk.BoxComment.Info> getFileComments(String fileId);
-
-com.box.sdk.BoxComment replyToComment(String commentId, String message);
-
-----
-
-The comments API is defined in the syntax as follows:
-
-----
-box:comments/methodName?[parameters]
-----
-
-The 6 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *addFileComment* | add | Add comment to file
-| *changeCommentMessage* | updateMessage | Change comment message
-| *deleteComment* | delete | Delete comment
-| *getCommentInfo* | info | Get comment information
-| *getFileComments* | comments | Get a list of any comments on this file
-| *replyToComment* | reply | Reply to a comment
-|===
-
-The comments API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| addFileComment | *fileId* |  The id of file | String
-| addFileComment | *message* |  The comment's message | String
-| changeCommentMessage | *commentId* |  The id of comment to change | String
-| changeCommentMessage | *message* |  The new message for the comment | String
-| deleteComment | *commentId* |  The id of comment to delete | String
-| getCommentInfo | *commentId* |  The id of comment | String
-| getFileComments | *fileId* |  The id of file | String
-| replyToComment | *commentId* |  The id of comment to reply to | String
-| replyToComment | *message* |  The message for the reply | String
-|===
-
-In addition to the parameters above, the comments API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: event-logs
-
-*Only producer is supported*
-
-
-
-
-The event-logs API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java.util.Date before, com.box.sdk.BoxEvent.Type[] types);
-
-----
-
-The event-logs API is defined in the syntax as follows:
-
-----
-box:event-logs/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *getEnterpriseEvents* | events | Create an event stream with optional starting initial position and add listener that will be notified when an event is received
-|===
-
-The event-logs API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| getEnterpriseEvents | *after* |  The lower bound on the timestamp of the events returned | Date
-| getEnterpriseEvents | *before* |  The upper bound on the timestamp of the events returned | Date
-| getEnterpriseEvents | *position* | *Optional*  The starting position of the event stream. May be null in which case all events within bounds returned. | String
-| getEnterpriseEvents | *types* | *Optional*  An optional list of event types to filter by | Type[]
-|===
-
-In addition to the parameters above, the event-logs API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: events
-
-*Only consumer is supported*
-
-
-
-
-The events API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-void listen(com.box.sdk.EventListener listener, Long startingPosition);
-
-----
-
-The events API is defined in the syntax as follows:
-
-----
-box:events/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *listen* |  | Create an event stream with optional starting initial position and add listener that will be notified when an event is received
-|===
-
-The events API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| listen | *startingPosition* | *Optional*  The starting position of the event stream | Long
-|===
-
-In addition to the parameters above, the events API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: files
-
-*Only producer is supported*
-
-
-
-
-The files API has 22 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-void checkUpload(String fileName, String parentFolderId, Long size);
-
-com.box.sdk.BoxFile copyFile(String fileId, String destinationFolderId, String newName);
-
-com.box.sdk.Metadata createFileMetadata(String fileId, com.box.sdk.Metadata metadata, String typeName);
-
-com.box.sdk.BoxSharedLink createFileSharedLink(String fileId, com.box.sdk.BoxSharedLink.Access access, java.util.Date unshareDate, com.box.sdk.BoxSharedLink.Permissions permissions);
-
-void deleteFile(String fileId);
-
-void deleteFileMetadata(String fileId);
-
-void deleteFileVersion(String fileId, Integer version);
-
-java.io.OutputStream downloadFile(String fileId, java.io.OutputStream output, Long rangeStart, Long rangeEnd, com.box.sdk.ProgressListener listener);
-
-java.io.OutputStream downloadPreviousFileVersion(String fileId, Integer version, java.io.OutputStream output, com.box.sdk.ProgressListener listener);
-
-java.net.URL getDownloadURL(String fileId);
-
-com.box.sdk.BoxFile.Info getFileInfo(String fileId, String[] fields);
-
-com.box.sdk.Metadata getFileMetadata(String fileId, String typeName);
-
-java.net.URL getFilePreviewLink(String fileId);
-
-byte[] getFileThumbnail(String fileId, com.box.sdk.BoxFile.ThumbnailFileType fileType, Integer minWidth, Integer minHeight, Integer maxWidth, Integer maxHeight);
-
-java.util.Collection<com.box.sdk.BoxFileVersion> getFileVersions(String fileId);
-
-com.box.sdk.BoxFile moveFile(String fileId, String destinationFolderId, String newName);
-
-com.box.sdk.BoxFileVersion promoteFileVersion(String fileId, Integer version);
-
-com.box.sdk.BoxFile renameFile(String fileId, String newFileName);
-
-com.box.sdk.BoxFile updateFileInfo(String fileId, com.box.sdk.BoxFile.Info info);
-
-com.box.sdk.Metadata updateFileMetadata(String fileId, com.box.sdk.Metadata metadata);
-
-com.box.sdk.BoxFile uploadFile(String parentFolderId, java.io.InputStream content, String fileName, java.util.Date created, java.util.Date modified, Long size, Boolean check, com.box.sdk.ProgressListener listener);
-
-com.box.sdk.BoxFile uploadNewFileVersion(String fileId, java.io.InputStream fileContent, java.util.Date modified, Long fileSize, com.box.sdk.ProgressListener listener);
-
-----
-
-The files API is defined in the syntax as follows:
-
-----
-box:files/methodName?[parameters]
-----
-
-The 22 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *checkUpload* | canUpload | Does a pre-verification before upload, to check if the filename already exists or if there is permission to upload
-| *copyFile* | copy | Copy file to destination folder while optionally giving it a new name
-| *createFileMetadata* | createMetadata | Create metadata for file in either the global properties template or the specified template type
-| *createFileSharedLink* | link | Create a shared link to file
-| *deleteFile* | delete | Delete the file
-| *deleteFileMetadata* | deleteMetadata | Delete the file properties metadata
-| *deleteFileVersion* | deleteVersion | Delete a file version
-| *downloadFile* | download | Download a file
-| *downloadPreviousFileVersion* | downloadVersion | Download a previous version of file
-| *getDownloadURL* | url | Get an expiring URL for downloading a file directly from Box
-| *getFileInfo* | info | Get file information
-| *getFileMetadata* | metadata | Gets the file properties metadata
-| *getFilePreviewLink* |  | Get an expiring URL for creating an embedded preview session
-| *getFileThumbnail* | thumbnail | Retrieves a thumbnail, or smaller image representation, of this file
-| *getFileVersions* | versions | Get any previous versions of file
-| *moveFile* | move | Move file to destination folder while optionally giving it a new name
-| *promoteFileVersion* | promoteVersion | Promote a previous version of file
-| *renameFile* | rename | Rename file giving it the name newName
-| *updateFileInfo* | updateInfo | Update file information
-| *updateFileMetadata* | updateMetadata | Update the file properties metadata
-| *uploadFile* | upload | Upload a new file to parent folder
-| *uploadNewFileVersion* | uploadVersion | Upload a new version of file
-|===
-
-The files API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| checkUpload | *fileName* |  The name to give the uploaded file | String
-| checkUpload | *parentFolderId* |  The id of parent folder | String
-| checkUpload | *size* | *Optional*  The size of the file's content used for monitoring the upload's progress | Long
-| copyFile | *destinationFolderId* |  The id of the destination folder | String
-| copyFile | *fileId* |  The id of file to copy | String
-| copyFile | *newName* | *Optional*  The new name for copied file; if newName is null, the copied file has same name as the original. | String
-| createFileMetadata | *fileId* |  The id of the file to create metadata for | String
-| createFileMetadata | *metadata* |  The new metadata values | Metadata
-| createFileMetadata | *typeName* | *Optional*  The metadata template type name; if null the global properties template type is used. | String
-| createFileSharedLink | *access* |  The access level of the shared link | Access
-| createFileSharedLink | *fileId* |  The id of the file to create shared link on | String
-| createFileSharedLink | *permissions* | *Optional*  The permissions of the created link; if permissions is null then the created shared link is create with default permissions. | Permissions
-| createFileSharedLink | *unshareDate* | *Optional*  The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created. | Date
-| deleteFile | *fileId* |  The id of file to delete | String
-| deleteFileMetadata | *fileId* |  The id of file to delete | String
-| deleteFileVersion | *fileId* |  The id of file with version to delete | String
-| deleteFileVersion | *version* |  The version of file to delete; initial version of file has value of 0, second version of file is 1 and so on. | Integer
-| downloadFile | *fileId* |  The id of file | String
-| downloadFile | *listener* | *Optional*  A listener for monitoring the download's progress; if null the download's progress will not be monitored. | ProgressListener
-| downloadFile | *output* |  The stream to which the file contents will be written | OutputStream
-| downloadFile | *rangeEnd* | *Optional*  The byte offset in file at which to stop the download; if null the entire contents of file will be downloaded. | Long
-| downloadFile | *rangeStart* | *Optional*  The byte offset in file at which to start the download; if null the entire contents of file will be downloaded. | Long
-| downloadPreviousFileVersion | *fileId* |  The id of file | String
-| downloadPreviousFileVersion | *listener* | *Optional*  A listener for monitoring the download's progress; if null the download's progress will not be monitored. | ProgressListener
-| downloadPreviousFileVersion | *output* |  The stream to which the version contents will be written | OutputStream
-| downloadPreviousFileVersion | *version* |  The version of file to download; initial version of file has value of 0, second version of file is 1 and so on. | Integer
-| getDownloadURL | *fileId* |  The id of file | String
-| getFileInfo | *fields* | *Optional*  The information fields to retrieve; if null all information fields are retrieved. | String[]
-| getFileInfo | *fileId* |  The id of file | String
-| getFileMetadata | *fileId* |  The id of the file to retrieve metadata for | String
-| getFileMetadata | *typeName* | *Optional*  The metadata template type name; if null the global properties template type is used. | String
-| getFilePreviewLink | *fileId* |  The id of the file to get preview link on | String
-| getFileThumbnail | *fileId* |  The id of the file to get thumbnail | String
-| getFileThumbnail | *fileType* |  Either PNG of JPG | ThumbnailFileType
-| getFileThumbnail | *maxHeight* |  Maximum height | Integer
-| getFileThumbnail | *maxWidth* |  Maximum width | Integer
-| getFileThumbnail | *minHeight* |  Minimum height | Integer
-| getFileThumbnail | *minWidth* |  Minimum width | Integer
-| getFileVersions | *fileId* |  The id of file | String
-| moveFile | *destinationFolderId* |  The id of the destination folder | String
-| moveFile | *fileId* |  The id of file to move | String
-| moveFile | *newName* | *Optional*  The new name of moved file; if newName is null, the moved file has same name as the original. | String
-| promoteFileVersion | *fileId* |  The id of file | String
-| promoteFileVersion | *version* |  The version of file to promote; initial version of file has value of 0, second version of file is 1 and so on. | Integer
-| renameFile | *fileId* |  The id of file to rename | String
-| renameFile | *newFileName* |  The new name of file | String
-| updateFileInfo | *fileId* |  The id of file to update | String
-| updateFileInfo | *info* |  The updated information | Info
-| updateFileMetadata | *fileId* |  The id of file to delete | String
-| updateFileMetadata | *metadata* |  The new metadata values | Metadata
-| uploadFile | *check* | *Optional*  If the file name is already used, call the uploadNewVersion instead. | Boolean
-| uploadFile | *content* |  A stream containing contents of the file to upload | InputStream
-| uploadFile | *created* | *Optional*  The content created date that will be given to the uploaded file | Date
-| uploadFile | *fileName* |  The name to give the uploaded file | String
-| uploadFile | *listener* | *Optional*  A listener for monitoring the upload's progress | ProgressListener
-| uploadFile | *modified* | *Optional*  The content modified date that will be given to the uploaded file | Date
-| uploadFile | *parentFolderId* |  The id of parent folder | String
-| uploadFile | *size* | *Optional*  The size of the file's content used for monitoring the upload's progress | Long
-| uploadNewFileVersion | *fileContent* |  A stream containing contents of the file to upload | InputStream
-| uploadNewFileVersion | *fileId* |  The id of file | String
-| uploadNewFileVersion | *fileSize* | *Optional*  The size of the file's content used for monitoring the upload's progress | Long
-| uploadNewFileVersion | *listener* | *Optional*  A listener for monitoring the upload's progress | ProgressListener
-| uploadNewFileVersion | *modified* | *Optional*  The content modified date that will be given to the uploaded file | Date
-|===
-
-In addition to the parameters above, the files API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: folders
-
-*Only producer is supported*
-
-
-
-
-The folders API has 10 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.box.sdk.BoxFolder copyFolder(String folderId, String destinationFolderId, String newName);
-
-com.box.sdk.BoxFolder createFolder(String parentFolderId, String folderName);
-
-com.box.sdk.BoxFolder createFolder(String parentFolderId, String[] path);
-
-com.box.sdk.BoxSharedLink createFolderSharedLink(String folderId, com.box.sdk.BoxSharedLink.Access access, java.util.Date unshareDate, com.box.sdk.BoxSharedLink.Permissions permissions);
-
-void deleteFolder(String folderId);
-
-com.box.sdk.BoxFolder getFolder(String[] path);
-
-com.box.sdk.BoxFolder.Info getFolderInfo(String folderId, String[] fields);
-
-java.util.Collection<com.box.sdk.BoxItem.Info> getFolderItems(String folderId, Long offset, Long limit, String[] fields);
-
-com.box.sdk.BoxFolder moveFolder(String folderId, String destinationFolderId, String newName);
-
-com.box.sdk.BoxFolder renameFolder(String folderId, String newFolderName);
-
-com.box.sdk.BoxFolder updateFolderInfo(String folderId, com.box.sdk.BoxFolder.Info info);
-
-----
-
-The folders API is defined in the syntax as follows:
-
-----
-box:folders/methodName?[parameters]
-----
-
-The 10 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *copyFolder* | copy | Copy folder to destination folder while optionally giving it a new name
-| *createFolder* | create | Create a folder specified by path from parent folder with given parentFolderId, creating intermediate directories as required
-| *createFolderSharedLink* | link | Create a shared link to folder
-| *deleteFolder* | delete | Delete folder
-| *getFolder* | folder | Return the Box folder referenced by path
-| *getFolderInfo* | info | Get folder information
-| *getFolderItems* | items | Returns a specific range of child items in folder and specifies which fields of each item to retrieve
-| *moveFolder* | move | Move folder to destination folder while optionally giving it a new name
-| *renameFolder* | rename | Rename folder giving it the name newName
-| *updateFolderInfo* | updateInfo | Update folder information
-|===
-
-The folders API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| copyFolder | *destinationFolderId* |  The id of the destination folder | String
-| copyFolder | *folderId* |  The id of folder to copy | String
-| copyFolder | *newName* | *Optional*  The new name for copied folder; if newName is null, the copied folder has same name as the original. | String
-| createFolder | *folderName* |  The name of created folder | String
-| createFolder | *parentFolderId* |  The id of parent folder | String
-| createFolder | *path* |  Sequence of Box folder names from parent folder to returned folder | String[]
-| createFolderSharedLink | *access* |  The access level of the shared link | Access
-| createFolderSharedLink | *folderId* |  The id of folder to create shared link on | String
-| createFolderSharedLink | *permissions* |  The permissions of the created link; if permissions is null then the created shared link is create with default permissions. | Permissions
-| createFolderSharedLink | *unshareDate* |  The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created. | Date
-| deleteFolder | *folderId* |  The id of folder to delete | String
-| getFolder | *path* |  Sequence of Box folder names from root folder to returned folder | String[]
-| getFolderInfo | *fields* | *Optional*  The information fields to retrieve; if null all information fields are retrieved. | String[]
-| getFolderInfo | *folderId* |  The id of folder | String
-| getFolderItems | *fields* | *Optional*  The item fields to retrieve for each child item; if null all item fields are retrieved. | String[]
-| getFolderItems | *folderId* |  The id of folder | String
-| getFolderItems | *limit* | *Optional*  The maximum number of children to retrieve after the offset; if null all child items are retrieved. | Long
-| getFolderItems | *offset* | *Optional*  The index of first child item to retrieve; if null all child items are retrieved. | Long
-| moveFolder | *destinationFolderId* |  The id of the destination folder | String
-| moveFolder | *folderId* |  The id of folder to move | String
-| moveFolder | *newName* | *Optional*  The new name of moved folder; if newName is null, the moved folder has same name as the original. | String
-| renameFolder | *folderId* |  The id of folder to rename | String
-| renameFolder | *newFolderName* |  The new name of folder | String
-| updateFolderInfo | *folderId* |  The id of folder to update | String
-| updateFolderInfo | *info* |  The updated information | Info
-|===
-
-In addition to the parameters above, the folders API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: groups
-
-*Only producer is supported*
-
-
-
-
-The groups API has 9 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.box.sdk.BoxGroupMembership addGroupMembership(String groupId, String userId, com.box.sdk.BoxGroupMembership.Role role);
-
-com.box.sdk.BoxGroup createGroup(String name, String provenance, String externalSyncIdentifier, String description, String invitabilityLevel, String memberViewabilityLevel);
-
-void deleteGroup(String groupId);
-
-void deleteGroupMembership(String groupMembershipId);
-
-com.box.sdk.BoxGroup.Info getGroupInfo(String groupId);
-
-com.box.sdk.BoxGroupMembership.Info getGroupMembershipInfo(String groupMembershipId);
-
-java.util.Collection<com.box.sdk.BoxGroupMembership.Info> getGroupMemberships(String groupId);
-
-com.box.sdk.BoxGroup updateGroupInfo(String groupId, com.box.sdk.BoxGroup.Info groupInfo);
-
-com.box.sdk.BoxGroupMembership updateGroupMembershipInfo(String groupMembershipId, com.box.sdk.BoxGroupMembership.Info info);
-
-----
-
-The groups API is defined in the syntax as follows:
-
-----
-box:groups/methodName?[parameters]
-----
-
-The 9 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *addGroupMembership* | addMembership | Add a member to group with the specified role
-| *createGroup* | create | Create a new group with a specified name and optional additional parameters
-| *deleteGroup* | delete | Delete group
-| *deleteGroupMembership* | deleteMembership | Delete group membership
-| *getGroupInfo* | info | Get group information
-| *getGroupMembershipInfo* | membershipInfo | Get group membership information
-| *getGroupMemberships* | memberships | Get information about all of the group memberships for this group
-| *updateGroupInfo* |  | Update group information
-| *updateGroupMembershipInfo* | updateMembershipInfo | Update group membership information
-|===
-
-The groups API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| addGroupMembership | *groupId* |  The id of group | String
-| addGroupMembership | *role* | *Optional*  The role of the user in this group. Can be null to assign the default role. | Role
-| addGroupMembership | *userId* |  The id of user to be added to group | String
-| createGroup | *description* | *Optional*  The description of the new group | String
-| createGroup | *externalSyncIdentifier* | *Optional*  The external_sync_identifier of the new group | String
-| createGroup | *invitabilityLevel* | *Optional*  The invitibility_level of the new group | String
-| createGroup | *memberViewabilityLevel* | *Optional*  The member_viewability_level of the new group | String
-| createGroup | *name* |  The name of the new group | String
-| createGroup | *provenance* | *Optional*  The provenance of the new group | String
-| deleteGroup | *groupId* |  The id of group to delete | String
-| deleteGroupMembership | *groupMembershipId* |  The id of group membership to delete | String
-| getGroupInfo | *groupId* |  The id of group | String
-| getGroupMembershipInfo | *groupMembershipId* |  The id of group membership | String
-| getGroupMemberships | *groupId* |  The id of group | String
-| updateGroupInfo | *groupId* |  The id of group to update | String
-| updateGroupInfo | *groupInfo* |  The updated information | Info
-| updateGroupMembershipInfo | *groupMembershipId* |  The id of group membership to update | String
-| updateGroupMembershipInfo | *info* |  The updated information | Info
-|===
-
-In addition to the parameters above, the groups API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: search
-
-*Only producer is supported*
-
-
-
-
-The search API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-java.util.Collection<com.box.sdk.BoxItem> searchFolder(String folderId, String query);
-
-----
-
-The search API is defined in the syntax as follows:
-
-----
-box:search/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *searchFolder* | search | Search folder and all descendant folders using the given query
-|===
-
-The search API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| searchFolder | *folderId* |  The id of folder searched | String
-| searchFolder | *query* |  The search query | String
-|===
-
-In addition to the parameters above, the search API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: tasks
-
-*Only producer is supported*
-
-
-
-
-The tasks API has 9 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.box.sdk.BoxTask addAssignmentToTask(String taskId, com.box.sdk.BoxUser assignTo);
-
-com.box.sdk.BoxTask addFileTask(String fileId, com.box.sdk.BoxTask.Action action, java.util.Date dueAt, String message);
-
-void deleteTask(String taskId);
-
-void deleteTaskAssignment(String taskAssignmentId);
-
-java.util.List<com.box.sdk.BoxTask.Info> getFileTasks(String fileId);
-
-com.box.sdk.BoxTaskAssignment.Info getTaskAssignmentInfo(String taskAssignmentId);
-
-java.util.List<com.box.sdk.BoxTaskAssignment.Info> getTaskAssignments(String taskId);
-
-com.box.sdk.BoxTask.Info getTaskInfo(String taskId);
-
-com.box.sdk.BoxTask updateTaskInfo(String taskId, com.box.sdk.BoxTask.Info info);
-
-----
-
-The tasks API is defined in the syntax as follows:
-
-----
-box:tasks/methodName?[parameters]
-----
-
-The 9 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *addAssignmentToTask* | addAssignment | Add assignment for task
-| *addFileTask* | add | Add task to file
-| *deleteTask* | delete | Delete task
-| *deleteTaskAssignment* | deleteAssignment | Delete task assignment
-| *getFileTasks* | tasks | Get a list of any tasks on file
-| *getTaskAssignmentInfo* | assignmentInfo | Get task assignment information
-| *getTaskAssignments* | assignments | Get a list of any assignments for task
-| *getTaskInfo* | info | Get task information
-| *updateTaskInfo* | updateInfo | Update task information
-|===
-
-The tasks API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| addAssignmentToTask | *assignTo* |  The user to assign to task | BoxUser
-| addAssignmentToTask | *taskId* |  The id of task to add assignment for | String
-| addFileTask | *action* |  The action the task assignee will be prompted to do | Action
-| addFileTask | *dueAt* |  The day at which this task is due | Date
-| addFileTask | *fileId* |  The id of file to add task to | String
-| addFileTask | *message* | *Optional*  An optional message to include with the task | String
-| deleteTask | *taskId* |  The id of task to delete | String
-| deleteTaskAssignment | *taskAssignmentId* |  The id of task assignment to delete | String
-| getFileTasks | *fileId* |  The id of file | String
-| getTaskAssignmentInfo | *taskAssignmentId* |  The id of task assignment | String
-| getTaskAssignments | *taskId* |  The id of task | String
-| getTaskInfo | *taskId* |  The id of task | String
-| updateTaskInfo | *info* |  The updated information | Info
-| updateTaskInfo | *taskId* |  The id of task | String
-|===
-
-In addition to the parameters above, the tasks API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
-
-
-
-==== API: users
-
-*Only producer is supported*
-
-
-
-
-The users API has 10 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.box.sdk.EmailAlias addUserEmailAlias(String userId, String email);
-
-com.box.sdk.BoxUser createAppUser(String name, com.box.sdk.CreateUserParams params);
-
-com.box.sdk.BoxUser createEnterpriseUser(String login, String name, com.box.sdk.CreateUserParams params);
-
-void deleteUser(String userId, boolean notifyUser, boolean force);
-
-void deleteUserEmailAlias(String userId, String emailAliasId);
-
-java.util.List<com.box.sdk.BoxUser.Info> getAllEnterpriseOrExternalUsers(String filterTerm, String[] fields);
-
-java.util.Collection<com.box.sdk.EmailAlias> getUserEmailAlias(String userId);
-
-com.box.sdk.BoxUser.Info getUserInfo(String userId);
-
-com.box.sdk.BoxFolder.Info moveFolderToUser(String userId, String sourceUserId);
-
-com.box.sdk.BoxUser updateUserInfo(String userId, com.box.sdk.BoxUser.Info info);
-
-----
-
-The users API is defined in the syntax as follows:
-
-----
-box:users/methodName?[parameters]
-----
-
-The 10 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *addUserEmailAlias* | addEmailAlias | Add a new email alias to user's account
-| *createAppUser* | create | Provision a new app user in an enterprise with additional user information using Box Developer Edition
-| *createEnterpriseUser* | create | Provision a new user in an enterprise with additional user information
-| *deleteUser* | delete | Delete user from an enterprise account
-| *deleteUserEmailAlias* | deleteEmailAlias | Delete an email alias from user's account
-| *getAllEnterpriseOrExternalUsers* | users | Get any managed users that match the filter term as well as any external users that match the filter term
-| *getUserEmailAlias* | emailAlias | Get a collection of all the email aliases for user
-| *getUserInfo* | info | Get user information
-| *moveFolderToUser* |  | Move root folder for specified user to current user
-| *updateUserInfo* | updateInfo | Update user information
-|===
-
-The users API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| addUserEmailAlias | *email* |  The email address to add as an alias | String
-| addUserEmailAlias | *userId* |  The id of user | String
-| createAppUser | *name* |  The name of the user | String
-| createAppUser | *params* | *Optional*  Additional user information | CreateUserParams
-| createEnterpriseUser | *login* |  The email address the user will use to login | String
-| createEnterpriseUser | *name* |  The name of the user | String
-| createEnterpriseUser | *params* | *Optional*  Additional user information | CreateUserParams
-| deleteUser | *force* |  Whether or not this user should be deleted even if they still own files | Boolean
-| deleteUser | *notifyUser* |  Whether or not to send an email notification to the user that their account has been deleted | Boolean
-| deleteUser | *userId* |  The id of user to delete | String
-| deleteUserEmailAlias | *emailAliasId* |  The id of the email alias to delete | String
-| deleteUserEmailAlias | *userId* |  The id of user | String
-| getAllEnterpriseOrExternalUsers | *fields* | *Optional*  The fields to retrieve. Leave this out for the standard fields. | String[]
-| getAllEnterpriseOrExternalUsers | *filterTerm* | *Optional*  The filter term to lookup users by (login for external, login or name for managed); if null all managed users are returned. | String
-| getUserEmailAlias | *userId* |  The id of user | String
-| getUserInfo | *userId* |  The id of user | String
-| moveFolderToUser | *sourceUserId* |  The user id of the user whose files will be the source for this operation | String
-| moveFolderToUser | *userId* |  The id of user | String
-| updateUserInfo | *info* |  The updated information | Info
-| updateUserInfo | *userId* |  The id of user to update | String
-|===
-
-In addition to the parameters above, the users API can also use from the 19 endpoint query option
-which is listed in the _Query Parameters_ section.
 
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBox.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBox.myParameterNameHere` header.
 // endpoint options: END
 
 == Samples
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 1df249b..ec42fb9 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -1,6 +1,7 @@
 [[braintree-component]]
 = Braintree Component
 :docTitle: Braintree
+:shortName: braintree
 :artifactId: camel-braintree
 :description: Process payments using Braintree Payments.
 :since: 2.17
@@ -38,1070 +39,16 @@ for this component:
 
 
 // component-configure options: START
-== Configuring Options
 
-Camel components are configured on two separate levels:
-
-- component level
-- endpoint level
-
-=== Configuring Component Options
-
-The component level is the highest level which holds general and common configurations that are inherited by the endpoints.
-For example a component may have security settings, credentials for authentication, urls for network connection and so forth.
-
-Some components only have a few options, and others may have many. Because components typically have pre configured defaults
-that are commonly used, then you may often only need to configure a few options on a component; or none at all.
-
-Configuring components can be done with the xref:latest@manual::component-dsl.adoc[Component DSL],
-in a configuration file (application.properties|yaml), or directly with Java code.
-
-=== Configuring Endpoint Options
-
-Where you find yourself configuring the most is on endpoints, as endpoints often have many options, which allows you to
-configure what you need the endpoint to do. The options are also categorized into whether the endpoint is used as consumer (from)
-or as a producer (to), or used for both.
-
-Configuring endpoints is most often done directly in the endpoint URI as path and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of configuring endpoints.
-
-A good practice when configuring options is to use xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
-which allows to not hardcode urls, port numbers, sensitive information, and other settings.
-In other words placeholders allows to externalize the configuration from your code, and gives more flexibility and reuse.
-
-The following two sections lists all the options, firstly for the component followed by the endpoint.
 // component-configure options: END
 
 // component options: START
-== Component Options
-
-
-The Braintree component supports 3 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *configuration* (advanced) | Component configuration |  | BraintreeConfiguration
-|===
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
 // component options: END
 
 // endpoint options: START
-== Endpoint Options
-
-The Braintree endpoint is configured using URI syntax:
-
-----
-braintree:apiName/methodName
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (2 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *apiName* | *Required* What kind of operation to perform. There are 17 enums and the value can be one of: ADD_ON, ADDRESS, CLIENT_TOKEN, CREDIT_CARD_VERIFICATION, CUSTOMER, DISCOUNT, DISPUTE, DOCUMENT_UPLOAD, MERCHANT_ACCOUNT, PAYMENT_METHOD, PAYMENT_METHOD_NONCE, PLAN, REPORT, SETTLEMENT_BATCH_SUMMARY, SUBSCRIPTION, TRANSACTION, WEBHOOK_NOTIFICATION |  | BraintreeApiName
-| *methodName* | *Required* What sub operation to use for the selected operation. There are 31 enums and the value can be one of: accept, addFileEvidence, addTextEvidence, cancel, cancelRelease, cloneTransaction, create, createForCurrency, credit, delete, fetchMerchantAccounts, finalize, find, generate, grant, holdInEscrow, parse, refund, releaseFromEscrow, removeEvidence, retryCharge, revoke, sale, search, submitForPartialSettlement, submitForSettlement, transactionLevelFees, update, up [...]
-|===
-
-
-=== Query Parameters (13 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *environment* (producer) | The environment Either SANDBOX or PRODUCTION |  | String
-| *inBody* (producer) | Sets the name of a parameter to be passed in the exchange In Body |  | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *merchantId* (producer) | The merchant id provided by Braintree. |  | String
-| *httpReadTimeout* (advanced) | Set read timeout for http calls. |  | Integer
-| *httpLogLevel* (logging) | Set logging level for http calls, see java.util.logging.Level. There are 9 enums and the value can be one of: OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL |  | String
-| *httpLogName* (logging) | Set log category to use to log http calls. | Braintree | String
-| *logHandlerEnabled* (logging) | Sets whether to enable the BraintreeLogHandler. It may be desirable to set this to 'false' where an existing JUL - SLF4J logger bridge is on the classpath. This option can also be configured globally on the BraintreeComponent. | true | boolean
-| *proxyHost* (proxy) | The proxy host |  | String
-| *proxyPort* (proxy) | The proxy port |  | Integer
-| *accessToken* (security) | The access token granted by a merchant to another in order to process transactions on their behalf. Used in place of environment, merchant id, public key and private key fields. |  | String
-| *privateKey* (security) | The private key provided by Braintree. |  | String
-| *publicKey* (security) | The public key provided by Braintree. |  | String
-|===
-
-
-
-
-=== API Parameters (14 APIs):
-
-The Braintree endpoint is an API based component and has additional parameters based on which API name and API method is used.
-The API name and API method is located in the endpoint URI as the apiName/methodName path parameters:
-
-----
-braintree:apiName/methodName
-----
-
-There are 14 API names as listed in the table below:
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| API Name | Type | Description
-| *address* | Producer | Provides methods to create, delete, find, and update Address objects
-| *clientToken* | Producer | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
-| *creditCardVerification* | Producer | To verify credit card information
-| *customer* | Producer | Provides methods to create, delete, find, and update Customer objects
-| *dispute* | Producer | Provides methods to interact with Dispute objects
-| *documentUpload* | Producer | API to upload evidence documents
-| *merchantAccount* | Producer | Provides methods to create, find, and update MerchantAccount objects
-| *paymentMethod* | Producer | Provides methods to interact with payments
-| *paymentMethodNonce* | Producer | Provides methods to interact with nonce payments
-| *report* | Producer | Provides methods to interact with reports
-| *settlementBatchSummary* | Producer | Provides methods to interact wit settlement summaries
-| *subscription* | Producer | Provides methods to interact with Subscriptions
-| *transaction* | Producer | Provides methods to interact with Transactions
-| *webhookNotification* | Producer | To retrieve notifications via webhooks
-|===
-
-Each API is documented in the following sections to come.
-
-
-==== API: address
-
-*Only producer is supported*
-
-
-
-
-The address API has 4 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id);
-
-com.braintreegateway.Address find(String customerId, String id);
-
-com.braintreegateway.Result<com.braintreegateway.Address> update(String customerId, String id, com.braintreegateway.AddressRequest request);
-
-----
-
-The address API is defined in the syntax as follows:
-
-----
-braintree:address/methodName?[parameters]
-----
-
-The 4 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *create* |  | Creates an Address for a Customer
-| *delete* |  | Deletes a Customer's Address
-| *find* |  | Finds a Customer's Address
-| *update* |  | Updates a Customer's Address
-|===
-
-The address API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| create | *customerId* |  The id of the Customer | String
-| create | *request* |  The request object | AddressRequest
-| delete | *customerId* |  The id of the Customer | String
-| delete | *id* |  The id of the Address to delete | String
-| find | *customerId* |  The id of the Customer | String
-| find | *id* |  The id of the Address | String
-| update | *customerId* |  The id of the Customer | String
-| update | *id* |  The id of the Address | String
-| update | *request* |  The request object containing the AddressRequest parameters | AddressRequest
-|===
-
-In addition to the parameters above, the address API can also use from the 13 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
-
-
-
-==== API: clientToken
-
-*Only producer is supported*
-
-
-
-
-The clientToken API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-String generate();
-
-String generate(com.braintreegateway.ClientTokenRequest request);
-
-----
-
-The clientToken API is defined in the syntax as follows:
-
-----
-braintree:clientToken/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *generate* |  | 
-|===
-
-The clientToken API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| generate | *request* |   | ClientTokenRequest
-|===
-
-In addition to the parameters above, the clientToken API can also use from the 13 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
-
-
-
-==== API: creditCardVerification
-
-*Only producer is supported*
-
-
-
-
-The creditCardVerification API has 3 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request);
-
-com.braintreegateway.CreditCardVerification find(String id);
-
-com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditCardVerificationSearchRequest query);
-
-----
-
-The creditCardVerification API is defined in the syntax as follows:
-
-----
-braintree:creditCardVerification/methodName?[parameters]
-----
-
-The 3 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *create* |  | 
-| *find* |  | 
-| *search* |  | 
-|===
-
-The creditCardVerification API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| create | *request* |   | CreditCardVerificationRequest
-| find | *id* |   | String
-| search | *query* |   | CreditCardVerificationSearchRequest
-|===
-
-In addition to the parameters above, the creditCardVerification API can also use from the 13 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
-
-
-
-==== API: customer
-
-*Only producer is supported*
-
-
-
-
-The customer API has 5 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Customer> delete(String id);
-
-com.braintreegateway.Customer find(String id);
-
-com.braintreegateway.Customer find(String id, String associationFilterId);
-
-com.braintreegateway.ResourceCollection<com.braintreegateway.Customer> search(com.braintreegateway.CustomerSearchRequest query);
-
-com.braintreegateway.Result<com.braintreegateway.Customer> update(String id, com.braintreegateway.CustomerRequest request);
-
-----
-
-The customer API is defined in the syntax as follows:
-
-----
-braintree:customer/methodName?[parameters]
-----
-
-The 5 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *create* |  | Creates a Customer
-| *delete* |  | Deletes a Customer by id
-| *find* |  | Finds a Customer by id
-| *search* |  | Finds all Transactions that match the query and returns a ResourceCollection
-| *update* |  | Updates a Customer
-|===
-
-The customer API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| create | *request* |  The request | CustomerRequest
-| delete | *id* |  The id of the Customer | String
-| find | *associationFilterId* |  The id of the association filter to use | String
-| find | *id* |  The id of the Customer | String
-| search | *query* |  The request query to use for search | CustomerSearchRequest
-| update | *id* |  The id of the Customer | String
-| update | *request* |  The request | CustomerRequest
-|===
-
-In addition to the parameters above, the customer API can also use from the 13 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
-
-
-
... 53262 lines suppressed ...