You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/10/31 14:35:18 UTC

[camel] 03/03: CAMEL-14119: Regen to include all the missing options in the Endpoint DSL (there were a lot)

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

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

commit 137888fb2e0ae8476c5757aabb9086773c9b419c
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Oct 31 15:34:54 2019 +0100

    CAMEL-14119: Regen to include all the missing options in the Endpoint DSL (there were a lot)
---
 .../endpoint/dsl/AhcEndpointBuilderFactory.java    |   86 ++
 .../endpoint/dsl/AtomEndpointBuilderFactory.java   |  507 +++++++
 .../dsl/AtomixMultiMapEndpointBuilderFactory.java  |   95 ++
 .../endpoint/dsl/BeanEndpointBuilderFactory.java   |   38 +
 .../dsl/BeanValidatorEndpointBuilderFactory.java   |   40 +
 .../endpoint/dsl/BonitaEndpointBuilderFactory.java |   95 ++
 .../endpoint/dsl/CMEndpointBuilderFactory.java     |   38 +
 .../dsl/ChatScriptEndpointBuilderFactory.java      |   40 +
 .../endpoint/dsl/ChunkEndpointBuilderFactory.java  |   38 +
 .../endpoint/dsl/CinderEndpointBuilderFactory.java |   39 +
 .../endpoint/dsl/ClassEndpointBuilderFactory.java  |   38 +
 .../dsl/ControlBusEndpointBuilderFactory.java      |   40 +
 .../dsl/CryptoCmsEndpointBuilderFactory.java       |   40 +
 .../endpoint/dsl/CwEndpointBuilderFactory.java     |   38 +
 .../dsl/DataFormatEndpointBuilderFactory.java      |   40 +
 .../dsl/DataSetTestEndpointBuilderFactory.java     |  372 +++++
 .../endpoint/dsl/DdbEndpointBuilderFactory.java    |   38 +
 .../dsl/DdbStreamEndpointBuilderFactory.java       |  624 +++++++++
 .../dsl/DebeziumMySqlEndpointBuilderFactory.java   | 1439 ++++++++++++++++++++
 .../DebeziumPostgresEndpointBuilderFactory.java    | 1111 +++++++++++++++
 .../dsl/DigitalOceanEndpointBuilderFactory.java    |   40 +
 .../DigitalSignatureEndpointBuilderFactory.java    |   40 +
 .../endpoint/dsl/DnsEndpointBuilderFactory.java    |   38 +
 .../endpoint/dsl/DozerEndpointBuilderFactory.java  |   38 +
 .../endpoint/dsl/DrillEndpointBuilderFactory.java  |   38 +
 .../endpoint/dsl/EC2EndpointBuilderFactory.java    |  150 ++
 .../endpoint/dsl/ECSEndpointBuilderFactory.java    |  144 ++
 .../endpoint/dsl/EKSEndpointBuilderFactory.java    |  144 ++
 .../dsl/ElasticsearchEndpointBuilderFactory.java   |   40 +
 .../endpoint/dsl/ExecEndpointBuilderFactory.java   |   38 +
 .../dsl/FileWatchEndpointBuilderFactory.java       |  313 +++++
 .../endpoint/dsl/FlinkEndpointBuilderFactory.java  |   38 +
 .../endpoint/dsl/FopEndpointBuilderFactory.java    |   38 +
 .../dsl/FreemarkerEndpointBuilderFactory.java      |   40 +
 .../dsl/GangliaEndpointBuilderFactory.java         |   40 +
 .../dsl/GeoCoderEndpointBuilderFactory.java        |   40 +
 .../endpoint/dsl/GlanceEndpointBuilderFactory.java |   39 +
 .../dsl/GoogleBigQueryEndpointBuilderFactory.java  |   40 +
 .../GoogleBigQuerySQLEndpointBuilderFactory.java   |   40 +
 ...GoogleCalendarStreamEndpointBuilderFactory.java |  520 +++++++
 .../GoogleMailStreamEndpointBuilderFactory.java    |  517 +++++++
 .../GoogleSheetsStreamEndpointBuilderFactory.java  |  518 +++++++
 .../endpoint/dsl/GrapeEndpointBuilderFactory.java  |   38 +
 .../dsl/GraphqlEndpointBuilderFactory.java         |   40 +
 ...azelcastAtomicnumberEndpointBuilderFactory.java |   40 +
 .../HazelcastInstanceEndpointBuilderFactory.java   |   95 ++
 .../HazelcastRingbufferEndpointBuilderFactory.java |   40 +
 .../endpoint/dsl/HttpEndpointBuilderFactory.java   |  601 ++++++++
 .../endpoint/dsl/IAMEndpointBuilderFactory.java    |  144 ++
 .../endpoint/dsl/IPFSEndpointBuilderFactory.java   |   38 +
 .../dsl/IgniteComputeEndpointBuilderFactory.java   |  149 ++
 .../dsl/IgniteEventsEndpointBuilderFactory.java    |  136 ++
 .../dsl/IgniteIdGenEndpointBuilderFactory.java     |  116 ++
 .../dsl/IgniteQueueEndpointBuilderFactory.java     |  145 ++
 .../dsl/IgniteSetEndpointBuilderFactory.java       |  102 ++
 .../dsl/InfluxDbEndpointBuilderFactory.java        |   40 +
 .../endpoint/dsl/JMXEndpointBuilderFactory.java    |  162 +++
 .../endpoint/dsl/JdbcEndpointBuilderFactory.java   |   38 +
 .../dsl/JettyHttpEndpointBuilder9Factory.java      |  593 ++++++++
 .../endpoint/dsl/JingEndpointBuilderFactory.java   |   38 +
 .../endpoint/dsl/JoltEndpointBuilderFactory.java   |   38 +
 .../dsl/JsonValidatorEndpointBuilderFactory.java   |   40 +
 .../endpoint/dsl/KMSEndpointBuilderFactory.java    |  143 ++
 .../dsl/KeystoneEndpointBuilderFactory.java        |   40 +
 .../dsl/KinesisFirehoseEndpointBuilderFactory.java |   40 +
 ...KubernetesConfigMapsEndpointBuilderFactory.java |   51 +
 ...sistentVolumesClaimsEndpointBuilderFactory.java |   52 +
 ...tesPersistentVolumesEndpointBuilderFactory.java |   52 +
 ...rnetesResourcesQuotaEndpointBuilderFactory.java |   52 +
 .../KubernetesSecretsEndpointBuilderFactory.java   |   51 +
 ...netesServiceAccountsEndpointBuilderFactory.java |   52 +
 .../endpoint/dsl/LambdaEndpointBuilderFactory.java |   52 +
 .../dsl/LanguageEndpointBuilderFactory.java        |   40 +
 .../endpoint/dsl/LdapEndpointBuilderFactory.java   |   38 +
 .../endpoint/dsl/LdifEndpointBuilderFactory.java   |   38 +
 .../endpoint/dsl/LogEndpointBuilderFactory.java    |   38 +
 .../endpoint/dsl/LuceneEndpointBuilderFactory.java |   39 +
 .../dsl/LumberjackEndpointBuilderFactory.java      |   95 ++
 .../endpoint/dsl/MQEndpointBuilderFactory.java     |  146 ++
 .../endpoint/dsl/MSKEndpointBuilderFactory.java    |  144 ++
 .../endpoint/dsl/MasterEndpointBuilderFactory.java |   95 ++
 .../dsl/MetricsEndpointBuilderFactory.java         |   40 +
 .../MicroProfileMetricsEndpointBuilderFactory.java |   40 +
 .../dsl/MicrometerEndpointBuilderFactory.java      |   40 +
 .../endpoint/dsl/MockEndpointBuilderFactory.java   |  367 +++++
 .../endpoint/dsl/MsvEndpointBuilderFactory.java    |   38 +
 .../dsl/MustacheEndpointBuilderFactory.java        |   40 +
 .../endpoint/dsl/MvelEndpointBuilderFactory.java   |   38 +
 .../dsl/MyBatisBeanEndpointBuilderFactory.java     |  102 ++
 .../endpoint/dsl/NagiosEndpointBuilderFactory.java |   39 +
 .../dsl/NetWeaverEndpointBuilderFactory.java       |   40 +
 .../dsl/NeutronEndpointBuilderFactory.java         |   40 +
 .../endpoint/dsl/NovaEndpointBuilderFactory.java   |   38 +
 ...penshiftBuildConfigsEndpointBuilderFactory.java |   51 +
 .../dsl/OpenshiftBuildsEndpointBuilderFactory.java |   51 +
 .../dsl/PaxLoggingEndpointBuilderFactory.java      |   95 ++
 .../endpoint/dsl/PdfEndpointBuilderFactory.java    |   38 +
 .../PgReplicationSlotEndpointBuilderFactory.java   |  517 +++++++
 .../dsl/PrinterEndpointBuilderFactory.java         |   40 +
 .../endpoint/dsl/QuartzEndpointBuilderFactory.java |   95 ++
 .../dsl/RestApiEndpointBuilderFactory.java         |   95 ++
 .../dsl/RestSwaggerEndpointBuilderFactory.java     |  114 ++
 .../endpoint/dsl/RssEndpointBuilderFactory.java    |  505 +++++++
 .../endpoint/dsl/SagaEndpointBuilderFactory.java   |   38 +
 .../dsl/SchedulerEndpointBuilderFactory.java       |  511 +++++++
 .../dsl/SchematronEndpointBuilderFactory.java      |   40 +
 .../endpoint/dsl/ScpEndpointBuilderFactory.java    |  196 +++
 .../endpoint/dsl/SdbEndpointBuilderFactory.java    |   38 +
 .../dsl/ServiceEndpointBuilderFactory.java         |   95 ++
 .../dsl/ServiceNowEndpointBuilderFactory.java      |   40 +
 .../dsl/ServletEndpointBuilderFactory.java         |  341 +++++
 .../endpoint/dsl/SesEndpointBuilderFactory.java    |   38 +
 .../dsl/SjmsBatchEndpointBuilderFactory.java       |   95 ++
 .../endpoint/dsl/SnsEndpointBuilderFactory.java    |   38 +
 .../endpoint/dsl/SolrEndpointBuilderFactory.java   |   38 +
 .../endpoint/dsl/SparkEndpointBuilderFactory.java  |   95 ++
 .../dsl/SpringBatchEndpointBuilderFactory.java     |   40 +
 .../dsl/SpringLdapEndpointBuilderFactory.java      |   40 +
 .../dsl/SqlStoredEndpointBuilderFactory.java       |   40 +
 .../endpoint/dsl/StAXEndpointBuilderFactory.java   |   38 +
 .../dsl/StringTemplateEndpointBuilderFactory.java  |   40 +
 .../endpoint/dsl/SwiftEndpointBuilderFactory.java  |   38 +
 .../endpoint/dsl/TikaEndpointBuilderFactory.java   |   38 +
 .../endpoint/dsl/TimerEndpointBuilderFactory.java  |   95 ++
 .../dsl/TranslateEndpointBuilderFactory.java       |  170 +++
 .../dsl/ValidatorEndpointBuilderFactory.java       |   40 +
 .../dsl/VelocityEndpointBuilderFactory.java        |   40 +
 .../dsl/WebhookEndpointBuilderFactory.java         |   95 ++
 .../dsl/XChangeEndpointBuilderFactory.java         |   40 +
 .../endpoint/dsl/XJEndpointBuilderFactory.java     |   38 +
 .../dsl/XmlSignatureEndpointBuilderFactory.java    |   40 +
 .../endpoint/dsl/XsltEndpointBuilderFactory.java   |   38 +
 .../dsl/ZooKeeperMasterEndpointBuilderFactory.java |   95 ++
 133 files changed, 16611 insertions(+)

diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AhcEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AhcEndpointBuilderFactory.java
index 1a588aa..c0fe840 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AhcEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AhcEndpointBuilderFactory.java
@@ -92,6 +92,54 @@ public interface AhcEndpointBuilderFactory {
             return this;
         }
         /**
+         * Define if the Connection Close header has to be added to HTTP
+         * Request. This parameter is false by default.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default AhcEndpointBuilder connectionClose(boolean connectionClose) {
+            doSetProperty("connectionClose", connectionClose);
+            return this;
+        }
+        /**
+         * Define if the Connection Close header has to be added to HTTP
+         * Request. This parameter is false by default.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default AhcEndpointBuilder connectionClose(String connectionClose) {
+            doSetProperty("connectionClose", connectionClose);
+            return this;
+        }
+        /**
+         * Configure a cookie handler to maintain a HTTP session.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.http.common.cookie.CookieHandler</code> type.
+         * 
+         * Group: producer
+         */
+        default AhcEndpointBuilder cookieHandler(Object cookieHandler) {
+            doSetProperty("cookieHandler", cookieHandler);
+            return this;
+        }
+        /**
+         * Configure a cookie handler to maintain a HTTP session.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.http.common.cookie.CookieHandler</code> type.
+         * 
+         * Group: producer
+         */
+        default AhcEndpointBuilder cookieHandler(String cookieHandler) {
+            doSetProperty("cookieHandler", cookieHandler);
+            return this;
+        }
+        /**
          * To use a custom HeaderFilterStrategy to filter header to and from
          * Camel message.
          * 
@@ -120,6 +168,44 @@ public interface AhcEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default AhcEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default AhcEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * 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.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomEndpointBuilderFactory.java
index 96d4d59..652374c 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomEndpointBuilderFactory.java
@@ -17,10 +17,17 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import java.util.Date;
+import java.util.Map;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.PollingConsumerPollStrategy;
 
 /**
  * The atom component is used for consuming Atom RSS feeds.
@@ -39,6 +46,41 @@ public interface AtomEndpointBuilderFactory {
             return (AdvancedAtomEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default AtomEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default AtomEndpointBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
          * Sets whether to add the feed object as a header.
          * 
          * The option is a: <code>boolean</code> type.
@@ -119,6 +161,32 @@ public interface AtomEndpointBuilderFactory {
             return this;
         }
         /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default AtomEndpointBuilder sendEmptyMessageWhenIdle(
+                boolean sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default AtomEndpointBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
          * Sets whether to sort entries by published date. Only works when
          * splitEntries = true.
          * 
@@ -204,6 +272,357 @@ public interface AtomEndpointBuilderFactory {
             doSetProperty("username", username);
             return this;
         }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder backoffErrorThreshold(
+                int backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder backoffIdleThreshold(
+                int backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder backoffMultiplier(int backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder backoffMultiplier(String backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder delay(long delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder delay(String delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder greedy(boolean greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder greedy(String greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder initialDelay(long initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder initialDelay(String initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder repeatCount(long repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder repeatCount(String repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder runLoggingLevel(LoggingLevel runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder runLoggingLevel(String runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option is a:
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder scheduledExecutorService(
+                ScheduledExecutorService scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * To use a cron scheduler from either camel-spring or camel-quartz
+         * component.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder scheduler(String scheduler) {
+            doSetProperty("scheduler", scheduler);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder schedulerProperties(
+                Map<String, Object> schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.Object&gt;</code>
+         * type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder schedulerProperties(
+                String schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder startScheduler(boolean startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder startScheduler(String startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder timeUnit(TimeUnit timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder timeUnit(String timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder useFixedDelay(boolean useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default AtomEndpointBuilder useFixedDelay(String useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
     }
 
     /**
@@ -216,6 +635,94 @@ public interface AtomEndpointBuilderFactory {
             return (AtomEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomEndpointBuilder pollStrategy(
+                PollingConsumerPollStrategy pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomEndpointBuilder pollStrategy(String pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomixMultiMapEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomixMultiMapEndpointBuilderFactory.java
index 20b0f5b..83cfb67 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomixMultiMapEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AtomixMultiMapEndpointBuilderFactory.java
@@ -20,9 +20,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
 
 /**
  * The atomix-multimap component is used to access Atomix's distributed multi
@@ -67,6 +69,42 @@ public interface AtomixMultiMapEndpointBuilderFactory {
             return this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default AtomixMultiMapEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default AtomixMultiMapEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
          * The Atomix configuration uri.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -207,6 +245,63 @@ public interface AtomixMultiMapEndpointBuilderFactory {
             return (AtomixMultiMapEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomixMultiMapEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomixMultiMapEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomixMultiMapEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedAtomixMultiMapEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanEndpointBuilderFactory.java
index 290b902..1376de9 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanEndpointBuilderFactory.java
@@ -101,6 +101,44 @@ public interface BeanEndpointBuilderFactory {
             doSetProperty("parameters", parameters);
             return this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default BeanEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default BeanEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanValidatorEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanValidatorEndpointBuilderFactory.java
index 0680c54..96daba7 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanValidatorEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BeanValidatorEndpointBuilderFactory.java
@@ -78,6 +78,46 @@ public interface BeanValidatorEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default BeanValidatorEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default BeanValidatorEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * To use a custom MessageInterpolator.
          * 
          * The option is a: <code>javax.validation.MessageInterpolator</code>
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BonitaEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BonitaEndpointBuilderFactory.java
index f7b81e9..62a6762 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BonitaEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/BonitaEndpointBuilderFactory.java
@@ -17,9 +17,11 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
 
 /**
  * Used for communicating with a remote Bonita BPM process engine.
@@ -38,6 +40,42 @@ public interface BonitaEndpointBuilderFactory {
             return (AdvancedBonitaEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default BonitaEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default BonitaEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
          * Hostname where Bonita engine runs.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -104,6 +142,63 @@ public interface BonitaEndpointBuilderFactory {
             return (BonitaEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedBonitaEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedBonitaEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedBonitaEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedBonitaEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CMEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CMEndpointBuilderFactory.java
index 9cbaa39..b730076 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CMEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CMEndpointBuilderFactory.java
@@ -80,6 +80,44 @@ public interface CMEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CMEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CMEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The unique token to use.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChatScriptEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChatScriptEndpointBuilderFactory.java
index 1bc7e16..a5b08d2 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChatScriptEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChatScriptEndpointBuilderFactory.java
@@ -52,6 +52,46 @@ public interface ChatScriptEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ChatScriptEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ChatScriptEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Issues :reset command to start a new conversation everytime.
          * 
          * The option is a: <code>boolean</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChunkEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChunkEndpointBuilderFactory.java
index a7f0c4a..82618ed 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChunkEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ChunkEndpointBuilderFactory.java
@@ -82,6 +82,44 @@ public interface ChunkEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ChunkEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ChunkEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Define the themes folder to scan.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CinderEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CinderEndpointBuilderFactory.java
index b4217f6..dacf051 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CinderEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CinderEndpointBuilderFactory.java
@@ -85,6 +85,45 @@ public interface CinderEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CinderEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CinderEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The operation to do.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ClassEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ClassEndpointBuilderFactory.java
index 05be816..73d12a4 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ClassEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ClassEndpointBuilderFactory.java
@@ -101,6 +101,44 @@ public interface ClassEndpointBuilderFactory {
             doSetProperty("parameters", parameters);
             return this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ClassEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ClassEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java
index 3647d63..12942e7 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java
@@ -87,6 +87,46 @@ public interface ControlBusEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ControlBusEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ControlBusEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Logging level used for logging when task is done, or if any
          * exceptions occurred during processing the task.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CryptoCmsEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CryptoCmsEndpointBuilderFactory.java
index 47b370d..0401f13 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CryptoCmsEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CryptoCmsEndpointBuilderFactory.java
@@ -101,6 +101,46 @@ public interface CryptoCmsEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CryptoCmsEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CryptoCmsEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Sets the password of the private keys. It is assumed that all private
          * keys in the keystore have the same password. If not set then it is
          * assumed that the password of the private keys is given by the
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CwEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CwEndpointBuilderFactory.java
index 761822b..35324d9 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CwEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/CwEndpointBuilderFactory.java
@@ -63,6 +63,44 @@ public interface CwEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CwEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default CwEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The metric name.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataFormatEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataFormatEndpointBuilderFactory.java
index cc5791c..e96e1d8 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataFormatEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataFormatEndpointBuilderFactory.java
@@ -40,6 +40,46 @@ public interface DataFormatEndpointBuilderFactory {
         default AdvancedDataFormatEndpointBuilder advanced() {
             return (AdvancedDataFormatEndpointBuilder) this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DataFormatEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DataFormatEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataSetTestEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataSetTestEndpointBuilderFactory.java
index 69f57c4..1ab9684 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataSetTestEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DataSetTestEndpointBuilderFactory.java
@@ -127,6 +127,352 @@ public interface DataSetTestEndpointBuilderFactory {
             doSetProperty("timeout", timeout);
             return this;
         }
+        /**
+         * Sets a grace period after which the mock endpoint will re-assert to
+         * ensure the preliminary assertion is still valid. This is used for
+         * example to assert that exactly a number of messages arrives. For
+         * example if expectedMessageCount(int) was set to 5, then the assertion
+         * is satisfied when 5 or more message arrives. To ensure that exactly 5
+         * messages arrives, then you would need to wait a little period to
+         * ensure no further message arrives. This is what you can use this
+         * method for. By default this period is disabled.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder assertPeriod(long assertPeriod) {
+            doSetProperty("assertPeriod", assertPeriod);
+            return this;
+        }
+        /**
+         * Sets a grace period after which the mock endpoint will re-assert to
+         * ensure the preliminary assertion is still valid. This is used for
+         * example to assert that exactly a number of messages arrives. For
+         * example if expectedMessageCount(int) was set to 5, then the assertion
+         * is satisfied when 5 or more message arrives. To ensure that exactly 5
+         * messages arrives, then you would need to wait a little period to
+         * ensure no further message arrives. This is what you can use this
+         * method for. By default this period is disabled.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder assertPeriod(String assertPeriod) {
+            doSetProperty("assertPeriod", assertPeriod);
+            return this;
+        }
+        /**
+         * Specifies the expected number of message exchanges that should be
+         * received by this endpoint. Beware: If you want to expect that 0
+         * messages, then take extra care, as 0 matches when the tests starts,
+         * so you need to set a assert period time to let the test run for a
+         * while to make sure there are still no messages arrived; for that use
+         * setAssertPeriod(long). An alternative is to use NotifyBuilder, and
+         * use the notifier to know when Camel is done routing some messages,
+         * before you call the assertIsSatisfied() method on the mocks. This
+         * allows you to not use a fixed assert period, to speedup testing
+         * times. If you want to assert that exactly n'th message arrives to
+         * this mock endpoint, then see also the setAssertPeriod(long) method
+         * for further details.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder expectedCount(int expectedCount) {
+            doSetProperty("expectedCount", expectedCount);
+            return this;
+        }
+        /**
+         * Specifies the expected number of message exchanges that should be
+         * received by this endpoint. Beware: If you want to expect that 0
+         * messages, then take extra care, as 0 matches when the tests starts,
+         * so you need to set a assert period time to let the test run for a
+         * while to make sure there are still no messages arrived; for that use
+         * setAssertPeriod(long). An alternative is to use NotifyBuilder, and
+         * use the notifier to know when Camel is done routing some messages,
+         * before you call the assertIsSatisfied() method on the mocks. This
+         * allows you to not use a fixed assert period, to speedup testing
+         * times. If you want to assert that exactly n'th message arrives to
+         * this mock endpoint, then see also the setAssertPeriod(long) method
+         * for further details.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder expectedCount(String expectedCount) {
+            doSetProperty("expectedCount", expectedCount);
+            return this;
+        }
+        /**
+         * Sets whether assertIsSatisfied() should fail fast at the first
+         * detected failed expectation while it may otherwise wait for all
+         * expected messages to arrive before performing expectations
+         * verifications. Is by default true. Set to false to use behavior as in
+         * Camel 2.x.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder failFast(boolean failFast) {
+            doSetProperty("failFast", failFast);
+            return this;
+        }
+        /**
+         * Sets whether assertIsSatisfied() should fail fast at the first
+         * detected failed expectation while it may otherwise wait for all
+         * expected messages to arrive before performing expectations
+         * verifications. Is by default true. Set to false to use behavior as in
+         * Camel 2.x.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder failFast(String failFast) {
+            doSetProperty("failFast", failFast);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * A number that is used to turn on throughput logging based on groups
+         * of the size.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder reportGroup(int reportGroup) {
+            doSetProperty("reportGroup", reportGroup);
+            return this;
+        }
+        /**
+         * A number that is used to turn on throughput logging based on groups
+         * of the size.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder reportGroup(String reportGroup) {
+            doSetProperty("reportGroup", reportGroup);
+            return this;
+        }
+        /**
+         * Sets the minimum expected amount of time (in millis) the
+         * assertIsSatisfied() will wait on a latch until it is satisfied.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder resultMinimumWaitTime(
+                long resultMinimumWaitTime) {
+            doSetProperty("resultMinimumWaitTime", resultMinimumWaitTime);
+            return this;
+        }
+        /**
+         * Sets the minimum expected amount of time (in millis) the
+         * assertIsSatisfied() will wait on a latch until it is satisfied.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder resultMinimumWaitTime(
+                String resultMinimumWaitTime) {
+            doSetProperty("resultMinimumWaitTime", resultMinimumWaitTime);
+            return this;
+        }
+        /**
+         * Sets the maximum amount of time (in millis) the assertIsSatisfied()
+         * will wait on a latch until it is satisfied.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder resultWaitTime(long resultWaitTime) {
+            doSetProperty("resultWaitTime", resultWaitTime);
+            return this;
+        }
+        /**
+         * Sets the maximum amount of time (in millis) the assertIsSatisfied()
+         * will wait on a latch until it is satisfied.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder resultWaitTime(String resultWaitTime) {
+            doSetProperty("resultWaitTime", resultWaitTime);
+            return this;
+        }
+        /**
+         * Specifies to only retain the first n'th number of received Exchanges.
+         * This is used when testing with big data, to reduce memory consumption
+         * by not storing copies of every Exchange this mock endpoint receives.
+         * Important: When using this limitation, then the getReceivedCounter()
+         * will still return the actual number of received Exchanges. For
+         * example if we have received 5000 Exchanges, and have configured to
+         * only retain the first 10 Exchanges, then the getReceivedCounter()
+         * will still return 5000 but there is only the first 10 Exchanges in
+         * the getExchanges() and getReceivedExchanges() methods. When using
+         * this method, then some of the other expectation methods is not
+         * supported, for example the expectedBodiesReceived(Object...) sets a
+         * expectation on the first number of bodies received. You can configure
+         * both setRetainFirst(int) and setRetainLast(int) methods, to limit
+         * both the first and last received.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder retainFirst(int retainFirst) {
+            doSetProperty("retainFirst", retainFirst);
+            return this;
+        }
+        /**
+         * Specifies to only retain the first n'th number of received Exchanges.
+         * This is used when testing with big data, to reduce memory consumption
+         * by not storing copies of every Exchange this mock endpoint receives.
+         * Important: When using this limitation, then the getReceivedCounter()
+         * will still return the actual number of received Exchanges. For
+         * example if we have received 5000 Exchanges, and have configured to
+         * only retain the first 10 Exchanges, then the getReceivedCounter()
+         * will still return 5000 but there is only the first 10 Exchanges in
+         * the getExchanges() and getReceivedExchanges() methods. When using
+         * this method, then some of the other expectation methods is not
+         * supported, for example the expectedBodiesReceived(Object...) sets a
+         * expectation on the first number of bodies received. You can configure
+         * both setRetainFirst(int) and setRetainLast(int) methods, to limit
+         * both the first and last received.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder retainFirst(String retainFirst) {
+            doSetProperty("retainFirst", retainFirst);
+            return this;
+        }
+        /**
+         * Specifies to only retain the last n'th number of received Exchanges.
+         * This is used when testing with big data, to reduce memory consumption
+         * by not storing copies of every Exchange this mock endpoint receives.
+         * Important: When using this limitation, then the getReceivedCounter()
+         * will still return the actual number of received Exchanges. For
+         * example if we have received 5000 Exchanges, and have configured to
+         * only retain the last 20 Exchanges, then the getReceivedCounter() will
+         * still return 5000 but there is only the last 20 Exchanges in the
+         * getExchanges() and getReceivedExchanges() methods. When using this
+         * method, then some of the other expectation methods is not supported,
+         * for example the expectedBodiesReceived(Object...) sets a expectation
+         * on the first number of bodies received. You can configure both
+         * setRetainFirst(int) and setRetainLast(int) methods, to limit both the
+         * first and last received.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder retainLast(int retainLast) {
+            doSetProperty("retainLast", retainLast);
+            return this;
+        }
+        /**
+         * Specifies to only retain the last n'th number of received Exchanges.
+         * This is used when testing with big data, to reduce memory consumption
+         * by not storing copies of every Exchange this mock endpoint receives.
+         * Important: When using this limitation, then the getReceivedCounter()
+         * will still return the actual number of received Exchanges. For
+         * example if we have received 5000 Exchanges, and have configured to
+         * only retain the last 20 Exchanges, then the getReceivedCounter() will
+         * still return 5000 but there is only the last 20 Exchanges in the
+         * getExchanges() and getReceivedExchanges() methods. When using this
+         * method, then some of the other expectation methods is not supported,
+         * for example the expectedBodiesReceived(Object...) sets a expectation
+         * on the first number of bodies received. You can configure both
+         * setRetainFirst(int) and setRetainLast(int) methods, to limit both the
+         * first and last received.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder retainLast(String retainLast) {
+            doSetProperty("retainLast", retainLast);
+            return this;
+        }
+        /**
+         * Allows a sleep to be specified to wait to check that this endpoint
+         * really is empty when expectedMessageCount(int) is called with zero.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder sleepForEmptyTest(
+                long sleepForEmptyTest) {
+            doSetProperty("sleepForEmptyTest", sleepForEmptyTest);
+            return this;
+        }
+        /**
+         * Allows a sleep to be specified to wait to check that this endpoint
+         * really is empty when expectedMessageCount(int) is called with zero.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: producer
+         */
+        default DataSetTestEndpointBuilder sleepForEmptyTest(
+                String sleepForEmptyTest) {
+            doSetProperty("sleepForEmptyTest", sleepForEmptyTest);
+            return this;
+        }
     }
 
     /**
@@ -139,6 +485,32 @@ public interface DataSetTestEndpointBuilderFactory {
             return (DataSetTestEndpointBuilder) this;
         }
         /**
+         * Sets whether to make a deep copy of the incoming Exchange when
+         * received at this mock endpoint. Is by default true.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedDataSetTestEndpointBuilder copyOnExchange(
+                boolean copyOnExchange) {
+            doSetProperty("copyOnExchange", copyOnExchange);
+            return this;
+        }
+        /**
+         * Sets whether to make a deep copy of the incoming Exchange when
+         * received at this mock endpoint. Is by default true.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedDataSetTestEndpointBuilder copyOnExchange(
+                String copyOnExchange) {
+            doSetProperty("copyOnExchange", copyOnExchange);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbEndpointBuilderFactory.java
index 902ee0e..45e21f9 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbEndpointBuilderFactory.java
@@ -109,6 +109,44 @@ public interface DdbEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DdbEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DdbEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * What operation to perform.
          * 
          * The option is a:
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbStreamEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbStreamEndpointBuilderFactory.java
index 20cb484..78b4e4a 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbStreamEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DdbStreamEndpointBuilderFactory.java
@@ -16,10 +16,17 @@
  */
 package org.apache.camel.builder.endpoint.dsl;
 
+import java.util.Map;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.PollingConsumerPollStrategy;
 
 /**
  * The aws-ddbstream component is used for working with Amazon DynamoDB Streams.
@@ -38,6 +45,125 @@ public interface DdbStreamEndpointBuilderFactory {
             return (AdvancedDdbStreamEndpointBuilder) this;
         }
         /**
+         * Amazon DynamoDB client to use for all requests for this endpoint.
+         * 
+         * The option is a:
+         * <code>com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams</code>
+         * type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder amazonDynamoDbStreamsClient(
+                Object amazonDynamoDbStreamsClient) {
+            doSetProperty("amazonDynamoDbStreamsClient", amazonDynamoDbStreamsClient);
+            return this;
+        }
+        /**
+         * Amazon DynamoDB client to use for all requests for this endpoint.
+         * 
+         * The option will be converted to a
+         * <code>com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams</code>
+         * type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder amazonDynamoDbStreamsClient(
+                String amazonDynamoDbStreamsClient) {
+            doSetProperty("amazonDynamoDbStreamsClient", amazonDynamoDbStreamsClient);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a:
+         * <code>com.amazonaws.services.dynamodbv2.model.ShardIteratorType</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder iteratorType(
+                ShardIteratorType iteratorType) {
+            doSetProperty("iteratorType", iteratorType);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>com.amazonaws.services.dynamodbv2.model.ShardIteratorType</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder iteratorType(String iteratorType) {
+            doSetProperty("iteratorType", iteratorType);
+            return this;
+        }
+        /**
+         * Maximum number of records that will be fetched in each poll.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder maxResultsPerRequest(
+                int maxResultsPerRequest) {
+            doSetProperty("maxResultsPerRequest", maxResultsPerRequest);
+            return this;
+        }
+        /**
+         * Maximum number of records that will be fetched in each poll.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder maxResultsPerRequest(
+                String maxResultsPerRequest) {
+            doSetProperty("maxResultsPerRequest", maxResultsPerRequest);
+            return this;
+        }
+        /**
          * To define a proxy host when instantiating the DDBStreams client.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -83,6 +209,415 @@ public interface DdbStreamEndpointBuilderFactory {
             return this;
         }
         /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                boolean sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.aws.ddbstream.SequenceNumberProvider</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder sequenceNumberProvider(
+                Object sequenceNumberProvider) {
+            doSetProperty("sequenceNumberProvider", sequenceNumberProvider);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.aws.ddbstream.SequenceNumberProvider</code> type.
+         * 
+         * Group: consumer
+         */
+        default DdbStreamEndpointBuilder sequenceNumberProvider(
+                String sequenceNumberProvider) {
+            doSetProperty("sequenceNumberProvider", sequenceNumberProvider);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder backoffErrorThreshold(
+                int backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder backoffIdleThreshold(
+                int backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder backoffMultiplier(int backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder backoffMultiplier(
+                String backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder delay(long delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder delay(String delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder greedy(boolean greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder greedy(String greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder initialDelay(long initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder initialDelay(String initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder repeatCount(long repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder repeatCount(String repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder runLoggingLevel(
+                LoggingLevel runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder runLoggingLevel(String runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option is a:
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder scheduledExecutorService(
+                ScheduledExecutorService scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * To use a cron scheduler from either camel-spring or camel-quartz
+         * component.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder scheduler(String scheduler) {
+            doSetProperty("scheduler", scheduler);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder schedulerProperties(
+                Map<String, Object> schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.Object&gt;</code>
+         * type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder schedulerProperties(
+                String schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder startScheduler(boolean startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder startScheduler(String startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder timeUnit(TimeUnit timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder timeUnit(String timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder useFixedDelay(boolean useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default DdbStreamEndpointBuilder useFixedDelay(String useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
+        /**
          * Amazon AWS Access Key.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -116,6 +651,95 @@ public interface DdbStreamEndpointBuilderFactory {
             return (DdbStreamEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDdbStreamEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDdbStreamEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDdbStreamEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDdbStreamEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDdbStreamEndpointBuilder pollStrategy(
+                PollingConsumerPollStrategy pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDdbStreamEndpointBuilder pollStrategy(
+                String pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumMySqlEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumMySqlEndpointBuilderFactory.java
index af1da2e..361e775 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumMySqlEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumMySqlEndpointBuilderFactory.java
@@ -17,9 +17,11 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
 
 /**
  * Represents a Debezium MySQL endpoint which is used to capture changes in
@@ -41,6 +43,1386 @@ public interface DebeziumMySqlEndpointBuilderFactory {
         default AdvancedDebeziumMySqlEndpointBuilder advanced() {
             return (AdvancedDebeziumMySqlEndpointBuilder) this;
         }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * The Converter class that should be used to serialize and deserialize
+         * key data for offsets. The default is JSON converter.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder internalKeyConverter(
+                String internalKeyConverter) {
+            doSetProperty("internalKeyConverter", internalKeyConverter);
+            return this;
+        }
+        /**
+         * The Converter class that should be used to serialize and deserialize
+         * value data for offsets. The default is JSON converter.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder internalValueConverter(
+                String internalValueConverter) {
+            doSetProperty("internalValueConverter", internalValueConverter);
+            return this;
+        }
+        /**
+         * The name of the Java class of the commit policy. It defines when
+         * offsets commit has to be triggered based on the number of events
+         * processed and the time elapsed since the last commit. This class must
+         * implement the interface 'OffsetCommitPolicy'. The default is a
+         * periodic commit policy based upon time intervals.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetCommitPolicy(
+                String offsetCommitPolicy) {
+            doSetProperty("offsetCommitPolicy", offsetCommitPolicy);
+            return this;
+        }
+        /**
+         * Maximum number of milliseconds to wait for records to flush and
+         * partition offset data to be committed to offset storage before
+         * cancelling the process and restoring the offset data to be committed
+         * in a future attempt. The default is 5 seconds.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetCommitTimeoutMs(
+                long offsetCommitTimeoutMs) {
+            doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs);
+            return this;
+        }
+        /**
+         * Maximum number of milliseconds to wait for records to flush and
+         * partition offset data to be committed to offset storage before
+         * cancelling the process and restoring the offset data to be committed
+         * in a future attempt. The default is 5 seconds.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetCommitTimeoutMs(
+                String offsetCommitTimeoutMs) {
+            doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs);
+            return this;
+        }
+        /**
+         * Interval at which to try committing offsets. The default is 1 minute.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetFlushIntervalMs(
+                long offsetFlushIntervalMs) {
+            doSetProperty("offsetFlushIntervalMs", offsetFlushIntervalMs);
+            return this;
+        }
+        /**
+         * Interval at which to try committing offsets. The default is 1 minute.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetFlushIntervalMs(
+                String offsetFlushIntervalMs) {
+            doSetProperty("offsetFlushIntervalMs", offsetFlushIntervalMs);
+            return this;
+        }
+        /**
+         * The name of the Java class that is responsible for persistence of
+         * connector offsets.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetStorage(String offsetStorage) {
+            doSetProperty("offsetStorage", offsetStorage);
+            return this;
+        }
+        /**
+         * Path to file where offsets are to be stored. Required when
+         * offset.storage is set to the FileOffsetBackingStore.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetStorageFileName(
+                String offsetStorageFileName) {
+            doSetProperty("offsetStorageFileName", offsetStorageFileName);
+            return this;
+        }
+        /**
+         * The number of partitions used when creating the offset storage topic.
+         * Required when offset.storage is set to the 'KafkaOffsetBackingStore'.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetStoragePartitions(
+                int offsetStoragePartitions) {
+            doSetProperty("offsetStoragePartitions", offsetStoragePartitions);
+            return this;
+        }
+        /**
+         * The number of partitions used when creating the offset storage topic.
+         * Required when offset.storage is set to the 'KafkaOffsetBackingStore'.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetStoragePartitions(
+                String offsetStoragePartitions) {
+            doSetProperty("offsetStoragePartitions", offsetStoragePartitions);
+            return this;
+        }
+        /**
+         * Replication factor used when creating the offset storage topic.
+         * Required when offset.storage is set to the KafkaOffsetBackingStore.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetStorageReplicationFactor(
+                int offsetStorageReplicationFactor) {
+            doSetProperty("offsetStorageReplicationFactor", offsetStorageReplicationFactor);
+            return this;
+        }
+        /**
+         * Replication factor used when creating the offset storage topic.
+         * Required when offset.storage is set to the KafkaOffsetBackingStore.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetStorageReplicationFactor(
+                String offsetStorageReplicationFactor) {
+            doSetProperty("offsetStorageReplicationFactor", offsetStorageReplicationFactor);
+            return this;
+        }
+        /**
+         * The name of the Kafka topic where offsets are to be stored. Required
+         * when offset.storage is set to the KafkaOffsetBackingStore.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumMySqlEndpointBuilder offsetStorageTopic(
+                String offsetStorageTopic) {
+            doSetProperty("offsetStorageTopic", offsetStorageTopic);
+            return this;
+        }
+        /**
+         * Specify how BIGINT UNSIGNED columns should be represented in change
+         * events, including:'precise' uses java.math.BigDecimal to represent
+         * values, which are encoded in the change events using a binary
+         * representation and Kafka Connect's
+         * 'org.apache.kafka.connect.data.Decimal' type; 'long' (the default)
+         * represents values using Java's 'long', which may not offer the
+         * precision but will be far easier to use in consumers.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder bigintUnsignedHandlingMode(
+                String bigintUnsignedHandlingMode) {
+            doSetProperty("bigintUnsignedHandlingMode", bigintUnsignedHandlingMode);
+            return this;
+        }
+        /**
+         * The size of a look-ahead buffer used by the binlog reader to decide
+         * whether the transaction in progress is going to be committed or
+         * rolled back. Use 0 to disable look-ahead buffering. Defaults to 0
+         * (i.e. buffering is disabled).
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder binlogBufferSize(
+                int binlogBufferSize) {
+            doSetProperty("binlogBufferSize", binlogBufferSize);
+            return this;
+        }
+        /**
+         * The size of a look-ahead buffer used by the binlog reader to decide
+         * whether the transaction in progress is going to be committed or
+         * rolled back. Use 0 to disable look-ahead buffering. Defaults to 0
+         * (i.e. buffering is disabled).
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder binlogBufferSize(
+                String binlogBufferSize) {
+            doSetProperty("binlogBufferSize", binlogBufferSize);
+            return this;
+        }
+        /**
+         * Description is not available here, please check Debezium website for
+         * corresponding key 'column.blacklist' description.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder columnBlacklist(
+                String columnBlacklist) {
+            doSetProperty("columnBlacklist", columnBlacklist);
+            return this;
+        }
+        /**
+         * Whether a separate thread should be used to ensure the connection is
+         * kept alive.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder connectKeepAlive(
+                boolean connectKeepAlive) {
+            doSetProperty("connectKeepAlive", connectKeepAlive);
+            return this;
+        }
+        /**
+         * Whether a separate thread should be used to ensure the connection is
+         * kept alive.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder connectKeepAlive(
+                String connectKeepAlive) {
+            doSetProperty("connectKeepAlive", connectKeepAlive);
+            return this;
+        }
+        /**
+         * Interval in milliseconds to wait for connection checking if keep
+         * alive thread is used.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder connectKeepAliveIntervalMs(
+                long connectKeepAliveIntervalMs) {
+            doSetProperty("connectKeepAliveIntervalMs", connectKeepAliveIntervalMs);
+            return this;
+        }
+        /**
+         * Interval in milliseconds to wait for connection checking if keep
+         * alive thread is used.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder connectKeepAliveIntervalMs(
+                String connectKeepAliveIntervalMs) {
+            doSetProperty("connectKeepAliveIntervalMs", connectKeepAliveIntervalMs);
+            return this;
+        }
+        /**
+         * Maximum time in milliseconds to wait after trying to connect to the
+         * database before timing out.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder connectTimeoutMs(
+                int connectTimeoutMs) {
+            doSetProperty("connectTimeoutMs", connectTimeoutMs);
+            return this;
+        }
+        /**
+         * Maximum time in milliseconds to wait after trying to connect to the
+         * database before timing out.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder connectTimeoutMs(
+                String connectTimeoutMs) {
+            doSetProperty("connectTimeoutMs", connectTimeoutMs);
+            return this;
+        }
+        /**
+         * Description is not available here, please check Debezium website for
+         * corresponding key 'database.blacklist' description.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseBlacklist(
+                String databaseBlacklist) {
+            doSetProperty("databaseBlacklist", databaseBlacklist);
+            return this;
+        }
+        /**
+         * The name of the DatabaseHistory class that should be used to store
+         * and recover database schema changes. The configuration properties for
+         * the history are prefixed with the 'database.history.' string.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistory(
+                String databaseHistory) {
+            doSetProperty("databaseHistory", databaseHistory);
+            return this;
+        }
+        /**
+         * The path to the file that will be used to record the database
+         * history.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryFileFilename(
+                String databaseHistoryFileFilename) {
+            doSetProperty("databaseHistoryFileFilename", databaseHistoryFileFilename);
+            return this;
+        }
+        /**
+         * A list of host/port pairs that the connector will use for
+         * establishing the initial connection to the Kafka cluster for
+         * retrieving database schema history previously stored by the
+         * connector. This should point to the same Kafka cluster used by the
+         * Kafka Connect process.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryKafkaBootstrapServers(
+                String databaseHistoryKafkaBootstrapServers) {
+            doSetProperty("databaseHistoryKafkaBootstrapServers", databaseHistoryKafkaBootstrapServers);
+            return this;
+        }
+        /**
+         * The number of attempts in a row that no data are returned from Kafka
+         * before recover completes. The maximum amount of time to wait after
+         * receiving no data is (recovery.attempts) x
+         * (recovery.poll.interval.ms).
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryAttempts(
+                int databaseHistoryKafkaRecoveryAttempts) {
+            doSetProperty("databaseHistoryKafkaRecoveryAttempts", databaseHistoryKafkaRecoveryAttempts);
+            return this;
+        }
+        /**
+         * The number of attempts in a row that no data are returned from Kafka
+         * before recover completes. The maximum amount of time to wait after
+         * receiving no data is (recovery.attempts) x
+         * (recovery.poll.interval.ms).
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryAttempts(
+                String databaseHistoryKafkaRecoveryAttempts) {
+            doSetProperty("databaseHistoryKafkaRecoveryAttempts", databaseHistoryKafkaRecoveryAttempts);
+            return this;
+        }
+        /**
+         * The number of milliseconds to wait while polling for persisted data
+         * during recovery.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryPollIntervalMs(
+                int databaseHistoryKafkaRecoveryPollIntervalMs) {
+            doSetProperty("databaseHistoryKafkaRecoveryPollIntervalMs", databaseHistoryKafkaRecoveryPollIntervalMs);
+            return this;
+        }
+        /**
+         * The number of milliseconds to wait while polling for persisted data
+         * during recovery.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryPollIntervalMs(
+                String databaseHistoryKafkaRecoveryPollIntervalMs) {
+            doSetProperty("databaseHistoryKafkaRecoveryPollIntervalMs", databaseHistoryKafkaRecoveryPollIntervalMs);
+            return this;
+        }
+        /**
+         * The name of the topic for the database schema history.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryKafkaTopic(
+                String databaseHistoryKafkaTopic) {
+            doSetProperty("databaseHistoryKafkaTopic", databaseHistoryKafkaTopic);
+            return this;
+        }
+        /**
+         * Controls the action Debezium will take when it meets a DDL statement
+         * in binlog, that it cannot parse.By default the connector will stop
+         * operating but by changing the setting it can ignore the statements
+         * which it cannot parse. If skipping is enabled then Debezium can miss
+         * metadata changes.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistorySkipUnparseableDdl(
+                boolean databaseHistorySkipUnparseableDdl) {
+            doSetProperty("databaseHistorySkipUnparseableDdl", databaseHistorySkipUnparseableDdl);
+            return this;
+        }
+        /**
+         * Controls the action Debezium will take when it meets a DDL statement
+         * in binlog, that it cannot parse.By default the connector will stop
+         * operating but by changing the setting it can ignore the statements
+         * which it cannot parse. If skipping is enabled then Debezium can miss
+         * metadata changes.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistorySkipUnparseableDdl(
+                String databaseHistorySkipUnparseableDdl) {
+            doSetProperty("databaseHistorySkipUnparseableDdl", databaseHistorySkipUnparseableDdl);
+            return this;
+        }
+        /**
+         * Controls what DDL will Debezium store in database history.By default
+         * (false) Debezium will store all incoming DDL statements. If set to
+         * truethen only DDL that manipulates a monitored table will be stored.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryStoreOnlyMonitoredTablesDdl(
+                boolean databaseHistoryStoreOnlyMonitoredTablesDdl) {
+            doSetProperty("databaseHistoryStoreOnlyMonitoredTablesDdl", databaseHistoryStoreOnlyMonitoredTablesDdl);
+            return this;
+        }
+        /**
+         * Controls what DDL will Debezium store in database history.By default
+         * (false) Debezium will store all incoming DDL statements. If set to
+         * truethen only DDL that manipulates a monitored table will be stored.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHistoryStoreOnlyMonitoredTablesDdl(
+                String databaseHistoryStoreOnlyMonitoredTablesDdl) {
+            doSetProperty("databaseHistoryStoreOnlyMonitoredTablesDdl", databaseHistoryStoreOnlyMonitoredTablesDdl);
+            return this;
+        }
+        /**
+         * Resolvable hostname or IP address of the MySQL database server.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseHostname(
+                String databaseHostname) {
+            doSetProperty("databaseHostname", databaseHostname);
+            return this;
+        }
+        /**
+         * A semicolon separated list of SQL statements to be executed when a
+         * JDBC connection (not binlog reading connection) to the database is
+         * established. Note that the connector may establish JDBC connections
+         * at its own discretion, so this should typically be used for
+         * configuration of session parameters only,but not for executing DML
+         * statements. Use doubled semicolon (';;') to use a semicolon as a
+         * character and not as a delimiter.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseInitialStatements(
+                String databaseInitialStatements) {
+            doSetProperty("databaseInitialStatements", databaseInitialStatements);
+            return this;
+        }
+        /**
+         * JDBC Driver class name used to connect to the MySQL database server.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseJdbcDriver(
+                String databaseJdbcDriver) {
+            doSetProperty("databaseJdbcDriver", databaseJdbcDriver);
+            return this;
+        }
+        /**
+         * Password of the MySQL database user to be used when connecting to the
+         * database.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Required: true
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databasePassword(
+                String databasePassword) {
+            doSetProperty("databasePassword", databasePassword);
+            return this;
+        }
+        /**
+         * Port of the MySQL database server.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databasePort(int databasePort) {
+            doSetProperty("databasePort", databasePort);
+            return this;
+        }
+        /**
+         * Port of the MySQL database server.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databasePort(String databasePort) {
+            doSetProperty("databasePort", databasePort);
+            return this;
+        }
+        /**
+         * A numeric ID of this database client, which must be unique across all
+         * currently-running database processes in the cluster. This connector
+         * joins the MySQL database cluster as another server (with this unique
+         * ID) so it can read the binlog. By default, a random number is
+         * generated between 5400 and 6400.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseServerId(
+                long databaseServerId) {
+            doSetProperty("databaseServerId", databaseServerId);
+            return this;
+        }
+        /**
+         * A numeric ID of this database client, which must be unique across all
+         * currently-running database processes in the cluster. This connector
+         * joins the MySQL database cluster as another server (with this unique
+         * ID) so it can read the binlog. By default, a random number is
+         * generated between 5400 and 6400.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseServerId(
+                String databaseServerId) {
+            doSetProperty("databaseServerId", databaseServerId);
+            return this;
+        }
+        /**
+         * Only relevant if parallel snapshotting is configured. During parallel
+         * snapshotting, multiple (4) connections open to the database client,
+         * and they each need their own unique connection ID. This offset is
+         * used to generate those IDs from the base configured cluster ID.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseServerIdOffset(
+                long databaseServerIdOffset) {
+            doSetProperty("databaseServerIdOffset", databaseServerIdOffset);
+            return this;
+        }
+        /**
+         * Only relevant if parallel snapshotting is configured. During parallel
+         * snapshotting, multiple (4) connections open to the database client,
+         * and they each need their own unique connection ID. This offset is
+         * used to generate those IDs from the base configured cluster ID.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseServerIdOffset(
+                String databaseServerIdOffset) {
+            doSetProperty("databaseServerIdOffset", databaseServerIdOffset);
+            return this;
+        }
+        /**
+         * Unique name that identifies the database server and all recorded
+         * offsets, and that is used as a prefix for all schemas and topics.
+         * Each distinct installation should have a separate namespace and be
+         * monitored by at most one Debezium connector.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Required: true
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseServerName(
+                String databaseServerName) {
+            doSetProperty("databaseServerName", databaseServerName);
+            return this;
+        }
+        /**
+         * Location of the Java keystore file containing an application
+         * process's own certificate and private key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseSslKeystore(
+                String databaseSslKeystore) {
+            doSetProperty("databaseSslKeystore", databaseSslKeystore);
+            return this;
+        }
+        /**
+         * Password to access the private key from the keystore file specified
+         * by 'ssl.keystore' configuration property or the
+         * 'javax.net.ssl.keyStore' system or JVM property. This password is
+         * used to unlock the keystore file (store password), and to decrypt the
+         * private key stored in the keystore (key password).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseSslKeystorePassword(
+                String databaseSslKeystorePassword) {
+            doSetProperty("databaseSslKeystorePassword", databaseSslKeystorePassword);
+            return this;
+        }
+        /**
+         * Whether to use an encrypted connection to MySQL. Options
+         * include'disabled' (the default) to use an unencrypted connection;
+         * 'preferred' to establish a secure (encrypted) connection if the
+         * server supports secure connections, but fall back to an unencrypted
+         * connection otherwise; 'required' to use a secure (encrypted)
+         * connection, and fail if one cannot be established; 'verify_ca' like
+         * 'required' but additionally verify the server TLS certificate against
+         * the configured Certificate Authority (CA) certificates, or fail if no
+         * valid matching CA certificates are found; or'verify_identity' like
+         * 'verify_ca' but additionally verify that the server certificate
+         * matches the host to which the connection is attempted.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseSslMode(
+                String databaseSslMode) {
+            doSetProperty("databaseSslMode", databaseSslMode);
+            return this;
+        }
+        /**
+         * Location of the Java truststore file containing the collection of CA
+         * certificates trusted by this application process (trust store).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseSslTruststore(
+                String databaseSslTruststore) {
+            doSetProperty("databaseSslTruststore", databaseSslTruststore);
+            return this;
+        }
+        /**
+         * Password to unlock the keystore file (store password) specified by
+         * 'ssl.trustore' configuration property or the
+         * 'javax.net.ssl.trustStore' system or JVM property.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseSslTruststorePassword(
+                String databaseSslTruststorePassword) {
+            doSetProperty("databaseSslTruststorePassword", databaseSslTruststorePassword);
+            return this;
+        }
+        /**
+         * Name of the MySQL database user to be used when connecting to the
+         * database.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseUser(String databaseUser) {
+            doSetProperty("databaseUser", databaseUser);
+            return this;
+        }
+        /**
+         * The databases for which changes are to be captured.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder databaseWhitelist(
+                String databaseWhitelist) {
+            doSetProperty("databaseWhitelist", databaseWhitelist);
+            return this;
+        }
+        /**
+         * MySQL DDL statements can be parsed in different ways:'legacy' parsing
+         * is creating a TokenStream and comparing token by token with an
+         * expected values.The decisions are made by matched token
+         * values.'antlr' (the default) uses generated parser from MySQL grammar
+         * using ANTLR v4 tool which use ALL() algorithm for parsing.This parser
+         * creates a parsing tree for DDL statement, then walks trough it and
+         * apply changes by node types in parsed tree.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder ddlParserMode(String ddlParserMode) {
+            doSetProperty("ddlParserMode", ddlParserMode);
+            return this;
+        }
+        /**
+         * Specify how DECIMAL and NUMERIC columns should be represented in
+         * change events, including:'precise' (the default) uses
+         * java.math.BigDecimal to represent values, which are encoded in the
+         * change events using a binary representation and Kafka Connect's
+         * 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to
+         * represent values; 'double' represents values using Java's 'double',
+         * which may not offer the precision but will be far easier to use in
+         * consumers.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder decimalHandlingMode(
+                String decimalHandlingMode) {
+            doSetProperty("decimalHandlingMode", decimalHandlingMode);
+            return this;
+        }
+        /**
+         * MySQL allows user to insert year value as either 2-digit or 4-digit.
+         * In case of two digit the value is automatically mapped into 1970 -
+         * 2069.false - delegates the implicit conversion to the databasetrue -
+         * (the default) Debezium makes the conversion.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder enableTimeAdjuster(
+                boolean enableTimeAdjuster) {
+            doSetProperty("enableTimeAdjuster", enableTimeAdjuster);
+            return this;
+        }
+        /**
+         * MySQL allows user to insert year value as either 2-digit or 4-digit.
+         * In case of two digit the value is automatically mapped into 1970 -
+         * 2069.false - delegates the implicit conversion to the databasetrue -
+         * (the default) Debezium makes the conversion.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder enableTimeAdjuster(
+                String enableTimeAdjuster) {
+            doSetProperty("enableTimeAdjuster", enableTimeAdjuster);
+            return this;
+        }
+        /**
+         * Specify how failures during deserialization of binlog events (i.e.
+         * when encountering a corrupted event) should be handled,
+         * including:'fail' (the default) an exception indicating the
+         * problematic event and its binlog position is raised, causing the
+         * connector to be stopped; 'warn' the problematic event and its binlog
+         * position will be logged and the event will be skipped;'ignore' the
+         * problematic event will be skipped.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder eventDeserializationFailureHandlingMode(
+                String eventDeserializationFailureHandlingMode) {
+            doSetProperty("eventDeserializationFailureHandlingMode", eventDeserializationFailureHandlingMode);
+            return this;
+        }
+        /**
+         * If set to 'latest', when connector sees new GTID, it will start
+         * consuming gtid channel from the server latest executed gtid position.
+         * If 'earliest' connector starts reading channel from first available
+         * (not purged) gtid position on the server.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder gtidNewChannelPosition(
+                String gtidNewChannelPosition) {
+            doSetProperty("gtidNewChannelPosition", gtidNewChannelPosition);
+            return this;
+        }
+        /**
+         * The source UUIDs used to exclude GTID ranges when determine the
+         * starting position in the MySQL server's binlog.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder gtidSourceExcludes(
+                String gtidSourceExcludes) {
+            doSetProperty("gtidSourceExcludes", gtidSourceExcludes);
+            return this;
+        }
+        /**
+         * If set to true, we will only produce DML events into Kafka for
+         * transactions that were written on mysql servers with UUIDs matching
+         * the filters defined by the gtid.source.includes or
+         * gtid.source.excludes configuration options, if they are specified.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder gtidSourceFilterDmlEvents(
+                boolean gtidSourceFilterDmlEvents) {
+            doSetProperty("gtidSourceFilterDmlEvents", gtidSourceFilterDmlEvents);
+            return this;
+        }
+        /**
+         * If set to true, we will only produce DML events into Kafka for
+         * transactions that were written on mysql servers with UUIDs matching
+         * the filters defined by the gtid.source.includes or
+         * gtid.source.excludes configuration options, if they are specified.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder gtidSourceFilterDmlEvents(
+                String gtidSourceFilterDmlEvents) {
+            doSetProperty("gtidSourceFilterDmlEvents", gtidSourceFilterDmlEvents);
+            return this;
+        }
+        /**
+         * The source UUIDs used to include GTID ranges when determine the
+         * starting position in the MySQL server's binlog.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder gtidSourceIncludes(
+                String gtidSourceIncludes) {
+            doSetProperty("gtidSourceIncludes", gtidSourceIncludes);
+            return this;
+        }
+        /**
+         * Length of an interval in milli-seconds in in which the connector
+         * periodically sends heartbeat messages to a heartbeat topic. Use 0 to
+         * disable heartbeat messages. Disabled by default.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder heartbeatIntervalMs(
+                int heartbeatIntervalMs) {
+            doSetProperty("heartbeatIntervalMs", heartbeatIntervalMs);
+            return this;
+        }
+        /**
+         * Length of an interval in milli-seconds in in which the connector
+         * periodically sends heartbeat messages to a heartbeat topic. Use 0 to
+         * disable heartbeat messages. Disabled by default.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder heartbeatIntervalMs(
+                String heartbeatIntervalMs) {
+            doSetProperty("heartbeatIntervalMs", heartbeatIntervalMs);
+            return this;
+        }
+        /**
+         * The prefix that is used to name heartbeat topics.Defaults to
+         * __debezium-heartbeat.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder heartbeatTopicsPrefix(
+                String heartbeatTopicsPrefix) {
+            doSetProperty("heartbeatTopicsPrefix", heartbeatTopicsPrefix);
+            return this;
+        }
+        /**
+         * Whether the connector should include the original SQL query that
+         * generated the change event. Note: This option requires MySQL be
+         * configured with the binlog_rows_query_log_events option set to ON.
+         * Query will not be present for events generated from snapshot.
+         * WARNING: Enabling this option may expose tables or fields explicitly
+         * blacklisted or masked by including the original SQL statement in the
+         * change event. For this reason the default value is 'false'.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder includeQuery(boolean includeQuery) {
+            doSetProperty("includeQuery", includeQuery);
+            return this;
+        }
+        /**
+         * Whether the connector should include the original SQL query that
+         * generated the change event. Note: This option requires MySQL be
+         * configured with the binlog_rows_query_log_events option set to ON.
+         * Query will not be present for events generated from snapshot.
+         * WARNING: Enabling this option may expose tables or fields explicitly
+         * blacklisted or masked by including the original SQL statement in the
+         * change event. For this reason the default value is 'false'.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder includeQuery(String includeQuery) {
+            doSetProperty("includeQuery", includeQuery);
+            return this;
+        }
+        /**
+         * Whether the connector should publish changes in the database schema
+         * to a Kafka topic with the same name as the database server ID. Each
+         * schema change will be recorded using a key that contains the database
+         * name and whose value includes the DDL statement(s).The default is
+         * 'true'. This is independent of how the connector internally records
+         * database history.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder includeSchemaChanges(
+                boolean includeSchemaChanges) {
+            doSetProperty("includeSchemaChanges", includeSchemaChanges);
+            return this;
+        }
+        /**
+         * Whether the connector should publish changes in the database schema
+         * to a Kafka topic with the same name as the database server ID. Each
+         * schema change will be recorded using a key that contains the database
+         * name and whose value includes the DDL statement(s).The default is
+         * 'true'. This is independent of how the connector internally records
+         * database history.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder includeSchemaChanges(
+                String includeSchemaChanges) {
+            doSetProperty("includeSchemaChanges", includeSchemaChanges);
+            return this;
+        }
+        /**
+         * Specify how binlog events that belong to a table missing from
+         * internal schema representation (i.e. internal representation is not
+         * consistent with database) should be handled, including:'fail' (the
+         * default) an exception indicating the problematic event and its binlog
+         * position is raised, causing the connector to be stopped; 'warn' the
+         * problematic event and its binlog position will be logged and the
+         * event will be skipped;'ignore' the problematic event will be skipped.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder inconsistentSchemaHandlingMode(
+                String inconsistentSchemaHandlingMode) {
+            doSetProperty("inconsistentSchemaHandlingMode", inconsistentSchemaHandlingMode);
+            return this;
+        }
+        /**
+         * Maximum size of each batch of source records. Defaults to 2048.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder maxBatchSize(int maxBatchSize) {
+            doSetProperty("maxBatchSize", maxBatchSize);
+            return this;
+        }
+        /**
+         * Maximum size of each batch of source records. Defaults to 2048.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder maxBatchSize(String maxBatchSize) {
+            doSetProperty("maxBatchSize", maxBatchSize);
+            return this;
+        }
+        /**
+         * Maximum size of the queue for change events read from the database
+         * log but not yet recorded or forwarded. Defaults to 8192, and should
+         * always be larger than the maximum batch size.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder maxQueueSize(int maxQueueSize) {
+            doSetProperty("maxQueueSize", maxQueueSize);
+            return this;
+        }
+        /**
+         * Maximum size of the queue for change events read from the database
+         * log but not yet recorded or forwarded. Defaults to 8192, and should
+         * always be larger than the maximum batch size.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder maxQueueSize(String maxQueueSize) {
+            doSetProperty("maxQueueSize", maxQueueSize);
+            return this;
+        }
+        /**
+         * Frequency in milliseconds to wait for new change events to appear
+         * after receiving no events. Defaults to 500ms.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder pollIntervalMs(long pollIntervalMs) {
+            doSetProperty("pollIntervalMs", pollIntervalMs);
+            return this;
+        }
+        /**
+         * Frequency in milliseconds to wait for new change events to appear
+         * after receiving no events. Defaults to 500ms.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder pollIntervalMs(
+                String pollIntervalMs) {
+            doSetProperty("pollIntervalMs", pollIntervalMs);
+            return this;
+        }
+        /**
+         * The number of milliseconds to delay before a snapshot will begin.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder snapshotDelayMs(
+                long snapshotDelayMs) {
+            doSetProperty("snapshotDelayMs", snapshotDelayMs);
+            return this;
+        }
+        /**
+         * The number of milliseconds to delay before a snapshot will begin.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder snapshotDelayMs(
+                String snapshotDelayMs) {
+            doSetProperty("snapshotDelayMs", snapshotDelayMs);
+            return this;
+        }
+        /**
+         * The maximum number of records that should be loaded into memory while
+         * performing a snapshot.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder snapshotFetchSize(
+                int snapshotFetchSize) {
+            doSetProperty("snapshotFetchSize", snapshotFetchSize);
+            return this;
+        }
+        /**
+         * The maximum number of records that should be loaded into memory while
+         * performing a snapshot.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder snapshotFetchSize(
+                String snapshotFetchSize) {
+            doSetProperty("snapshotFetchSize", snapshotFetchSize);
+            return this;
+        }
+        /**
+         * Controls how long the connector holds onto the global read lock while
+         * it is performing a snapshot. The default is 'minimal', which means
+         * the connector holds the global read lock (and thus prevents any
+         * updates) for just the initial portion of the snapshot while the
+         * database schemas and other metadata are being read. The remaining
+         * work in a snapshot involves selecting all rows from each table, and
+         * this can be done using the snapshot process' REPEATABLE READ
+         * transaction even when the lock is no longer held and other operations
+         * are updating the database. However, in some cases it may be desirable
+         * to block all writes for the entire duration of the snapshot; in such
+         * cases set this property to 'extended'. Using a value of 'none' will
+         * prevent the connector from acquiring any table locks during the
+         * snapshot process. This mode can only be used in combination with
+         * snapshot.mode values of 'schema_only' or 'schema_only_recovery' and
+         * is only safe to use if no schema changes are happening while the
+         * snapshot is taken.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder snapshotLockingMode(
+                String snapshotLockingMode) {
+            doSetProperty("snapshotLockingMode", snapshotLockingMode);
+            return this;
+        }
+        /**
+         * The criteria for running a snapshot upon startup of the connector.
+         * Options include: 'when_needed' to specify that the connector run a
+         * snapshot upon startup whenever it deems it necessary; 'initial' (the
+         * default) to specify the connector can run a snapshot only when no
+         * offsets are available for the logical server name; 'initial_only'
+         * same as 'initial' except the connector should stop after completing
+         * the snapshot and before it would normally read the binlog; and'never'
+         * to specify the connector should never run a snapshot and that upon
+         * first startup the connector should read from the beginning of the
+         * binlog. The 'never' mode should be used with care, and only when the
+         * binlog is known to contain all history.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder snapshotMode(String snapshotMode) {
+            doSetProperty("snapshotMode", snapshotMode);
+            return this;
+        }
+        /**
+         * BETA FEATURE: On connector restart, the connector will check if there
+         * have been any new tables added to the configuration, and snapshot
+         * them. There is presently only two options:'off': Default behavior. Do
+         * not snapshot new tables.'parallel': The snapshot of the new tables
+         * will occur in parallel to the continued binlog reading of the old
+         * tables. When the snapshot completes, an independent binlog reader
+         * will begin reading the events for the new tables until it catches up
+         * to present time. At this point, both old and new binlog readers will
+         * be momentarily halted and new binlog reader will start that will read
+         * the binlog for all configured tables. The parallel binlog reader will
+         * have a configured server id of 10000 the primary binlog reader's
+         * server id.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder snapshotNewTables(
+                String snapshotNewTables) {
+            doSetProperty("snapshotNewTables", snapshotNewTables);
+            return this;
+        }
+        /**
+         * Description is not available here, please check Debezium website for
+         * corresponding key 'table.blacklist' description.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder tableBlacklist(
+                String tableBlacklist) {
+            doSetProperty("tableBlacklist", tableBlacklist);
+            return this;
+        }
+        /**
+         * Flag specifying whether built-in tables should be ignored.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder tableIgnoreBuiltin(
+                boolean tableIgnoreBuiltin) {
+            doSetProperty("tableIgnoreBuiltin", tableIgnoreBuiltin);
+            return this;
+        }
+        /**
+         * Flag specifying whether built-in tables should be ignored.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder tableIgnoreBuiltin(
+                String tableIgnoreBuiltin) {
+            doSetProperty("tableIgnoreBuiltin", tableIgnoreBuiltin);
+            return this;
+        }
+        /**
+         * The tables for which changes are to be captured.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder tableWhitelist(
+                String tableWhitelist) {
+            doSetProperty("tableWhitelist", tableWhitelist);
+            return this;
+        }
+        /**
+         * Time, date, and timestamps can be represented with different kinds of
+         * precisions, including:'adaptive_time_microseconds' (the default) like
+         * 'adaptive' mode, but TIME fields always use microseconds
+         * precision;'adaptive' (deprecated) bases the precision of time, date,
+         * and timestamp values on the database column's precision; 'connect'
+         * always represents time, date, and timestamp values using Kafka
+         * Connect's built-in representations for Time, Date, and Timestamp,
+         * which uses millisecond precision regardless of the database columns'
+         * precision.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder timePrecisionMode(
+                String timePrecisionMode) {
+            doSetProperty("timePrecisionMode", timePrecisionMode);
+            return this;
+        }
+        /**
+         * Whether delete operations should be represented by a delete event and
+         * a subsquenttombstone event (true) or only by a delete event (false).
+         * Emitting the tombstone event (the default behavior) allows Kafka to
+         * completely delete all events pertaining to the given key once the
+         * source record got deleted.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder tombstonesOnDelete(
+                boolean tombstonesOnDelete) {
+            doSetProperty("tombstonesOnDelete", tombstonesOnDelete);
+            return this;
+        }
+        /**
+         * Whether delete operations should be represented by a delete event and
+         * a subsquenttombstone event (true) or only by a delete event (false).
+         * Emitting the tombstone event (the default behavior) allows Kafka to
+         * completely delete all events pertaining to the given key once the
+         * source record got deleted.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: mysql
+         */
+        default DebeziumMySqlEndpointBuilder tombstonesOnDelete(
+                String tombstonesOnDelete) {
+            doSetProperty("tombstonesOnDelete", tombstonesOnDelete);
+            return this;
+        }
     }
 
     /**
@@ -53,6 +1435,63 @@ public interface DebeziumMySqlEndpointBuilderFactory {
             return (DebeziumMySqlEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumMySqlEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumMySqlEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumMySqlEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumMySqlEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumPostgresEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumPostgresEndpointBuilderFactory.java
index 6606d50..b71c4cd 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumPostgresEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DebeziumPostgresEndpointBuilderFactory.java
@@ -17,9 +17,11 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
 
 /**
  * Represents a Debezium PostgresSQL endpoint which is used to capture changes
@@ -41,6 +43,1058 @@ public interface DebeziumPostgresEndpointBuilderFactory {
         default AdvancedDebeziumPostgresEndpointBuilder advanced() {
             return (AdvancedDebeziumPostgresEndpointBuilder) this;
         }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * The Converter class that should be used to serialize and deserialize
+         * key data for offsets. The default is JSON converter.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder internalKeyConverter(
+                String internalKeyConverter) {
+            doSetProperty("internalKeyConverter", internalKeyConverter);
+            return this;
+        }
+        /**
+         * The Converter class that should be used to serialize and deserialize
+         * value data for offsets. The default is JSON converter.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder internalValueConverter(
+                String internalValueConverter) {
+            doSetProperty("internalValueConverter", internalValueConverter);
+            return this;
+        }
+        /**
+         * The name of the Java class of the commit policy. It defines when
+         * offsets commit has to be triggered based on the number of events
+         * processed and the time elapsed since the last commit. This class must
+         * implement the interface 'OffsetCommitPolicy'. The default is a
+         * periodic commit policy based upon time intervals.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetCommitPolicy(
+                String offsetCommitPolicy) {
+            doSetProperty("offsetCommitPolicy", offsetCommitPolicy);
+            return this;
+        }
+        /**
+         * Maximum number of milliseconds to wait for records to flush and
+         * partition offset data to be committed to offset storage before
+         * cancelling the process and restoring the offset data to be committed
+         * in a future attempt. The default is 5 seconds.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetCommitTimeoutMs(
+                long offsetCommitTimeoutMs) {
+            doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs);
+            return this;
+        }
+        /**
+         * Maximum number of milliseconds to wait for records to flush and
+         * partition offset data to be committed to offset storage before
+         * cancelling the process and restoring the offset data to be committed
+         * in a future attempt. The default is 5 seconds.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetCommitTimeoutMs(
+                String offsetCommitTimeoutMs) {
+            doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs);
+            return this;
+        }
+        /**
+         * Interval at which to try committing offsets. The default is 1 minute.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetFlushIntervalMs(
+                long offsetFlushIntervalMs) {
+            doSetProperty("offsetFlushIntervalMs", offsetFlushIntervalMs);
+            return this;
+        }
+        /**
+         * Interval at which to try committing offsets. The default is 1 minute.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetFlushIntervalMs(
+                String offsetFlushIntervalMs) {
+            doSetProperty("offsetFlushIntervalMs", offsetFlushIntervalMs);
+            return this;
+        }
+        /**
+         * The name of the Java class that is responsible for persistence of
+         * connector offsets.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetStorage(
+                String offsetStorage) {
+            doSetProperty("offsetStorage", offsetStorage);
+            return this;
+        }
+        /**
+         * Path to file where offsets are to be stored. Required when
+         * offset.storage is set to the FileOffsetBackingStore.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetStorageFileName(
+                String offsetStorageFileName) {
+            doSetProperty("offsetStorageFileName", offsetStorageFileName);
+            return this;
+        }
+        /**
+         * The number of partitions used when creating the offset storage topic.
+         * Required when offset.storage is set to the 'KafkaOffsetBackingStore'.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetStoragePartitions(
+                int offsetStoragePartitions) {
+            doSetProperty("offsetStoragePartitions", offsetStoragePartitions);
+            return this;
+        }
+        /**
+         * The number of partitions used when creating the offset storage topic.
+         * Required when offset.storage is set to the 'KafkaOffsetBackingStore'.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetStoragePartitions(
+                String offsetStoragePartitions) {
+            doSetProperty("offsetStoragePartitions", offsetStoragePartitions);
+            return this;
+        }
+        /**
+         * Replication factor used when creating the offset storage topic.
+         * Required when offset.storage is set to the KafkaOffsetBackingStore.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetStorageReplicationFactor(
+                int offsetStorageReplicationFactor) {
+            doSetProperty("offsetStorageReplicationFactor", offsetStorageReplicationFactor);
+            return this;
+        }
+        /**
+         * Replication factor used when creating the offset storage topic.
+         * Required when offset.storage is set to the KafkaOffsetBackingStore.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetStorageReplicationFactor(
+                String offsetStorageReplicationFactor) {
+            doSetProperty("offsetStorageReplicationFactor", offsetStorageReplicationFactor);
+            return this;
+        }
+        /**
+         * The name of the Kafka topic where offsets are to be stored. Required
+         * when offset.storage is set to the KafkaOffsetBackingStore.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default DebeziumPostgresEndpointBuilder offsetStorageTopic(
+                String offsetStorageTopic) {
+            doSetProperty("offsetStorageTopic", offsetStorageTopic);
+            return this;
+        }
+        /**
+         * Description is not available here, please check Debezium website for
+         * corresponding key 'column.blacklist' description.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder columnBlacklist(
+                String columnBlacklist) {
+            doSetProperty("columnBlacklist", columnBlacklist);
+            return this;
+        }
+        /**
+         * The name of the database the connector should be monitoring.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseDbname(
+                String databaseDbname) {
+            doSetProperty("databaseDbname", databaseDbname);
+            return this;
+        }
+        /**
+         * The path to the file that will be used to record the database
+         * history.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseHistoryFileFilename(
+                String databaseHistoryFileFilename) {
+            doSetProperty("databaseHistoryFileFilename", databaseHistoryFileFilename);
+            return this;
+        }
+        /**
+         * Resolvable hostname or IP address of the Postgres database server.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseHostname(
+                String databaseHostname) {
+            doSetProperty("databaseHostname", databaseHostname);
+            return this;
+        }
+        /**
+         * A semicolon separated list of SQL statements to be executed when a
+         * JDBC connection to the database is established. Note that the
+         * connector may establish JDBC connections at its own discretion, so
+         * this should typically be used for configurationof session parameters
+         * only, but not for executing DML statements. Use doubled semicolon
+         * (';;') to use a semicolon as a character and not as a delimiter.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseInitialStatements(
+                String databaseInitialStatements) {
+            doSetProperty("databaseInitialStatements", databaseInitialStatements);
+            return this;
+        }
+        /**
+         * Password of the Postgres database user to be used when connecting to
+         * the database.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Required: true
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databasePassword(
+                String databasePassword) {
+            doSetProperty("databasePassword", databasePassword);
+            return this;
+        }
+        /**
+         * Port of the Postgres database server.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databasePort(int databasePort) {
+            doSetProperty("databasePort", databasePort);
+            return this;
+        }
+        /**
+         * Port of the Postgres database server.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databasePort(String databasePort) {
+            doSetProperty("databasePort", databasePort);
+            return this;
+        }
+        /**
+         * Unique name that identifies the database server and all recorded
+         * offsets, and that is used as a prefix for all schemas and topics.
+         * Each distinct installation should have a separate namespace and be
+         * monitored by at most one Debezium connector.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Required: true
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseServerName(
+                String databaseServerName) {
+            doSetProperty("databaseServerName", databaseServerName);
+            return this;
+        }
+        /**
+         * File containing the SSL Certificate for the client. See the Postgres
+         * SSL docs for further information.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseSslcert(
+                String databaseSslcert) {
+            doSetProperty("databaseSslcert", databaseSslcert);
+            return this;
+        }
+        /**
+         * A name of class to that creates SSL Sockets. Use
+         * org.postgresql.ssl.NonValidatingFactory to disable SSL validation in
+         * development environments.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseSslfactory(
+                String databaseSslfactory) {
+            doSetProperty("databaseSslfactory", databaseSslfactory);
+            return this;
+        }
+        /**
+         * File containing the SSL private key for the client. See the Postgres
+         * SSL docs for further information.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseSslkey(
+                String databaseSslkey) {
+            doSetProperty("databaseSslkey", databaseSslkey);
+            return this;
+        }
+        /**
+         * Whether to use an encrypted connection to Postgres. Options
+         * include'disable' (the default) to use an unencrypted connection;
+         * 'require' to use a secure (encrypted) connection, and fail if one
+         * cannot be established; 'verify-ca' like 'required' but additionally
+         * verify the server TLS certificate against the configured Certificate
+         * Authority (CA) certificates, or fail if no valid matching CA
+         * certificates are found; or'verify-full' like 'verify-ca' but
+         * additionally verify that the server certificate matches the host to
+         * which the connection is attempted.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseSslmode(
+                String databaseSslmode) {
+            doSetProperty("databaseSslmode", databaseSslmode);
+            return this;
+        }
+        /**
+         * Password to access the client private key from the file specified by
+         * 'database.sslkey'. See the Postgres SSL docs for further information.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseSslpassword(
+                String databaseSslpassword) {
+            doSetProperty("databaseSslpassword", databaseSslpassword);
+            return this;
+        }
+        /**
+         * File containing the root certificate(s) against which the server is
+         * validated. See the Postgres JDBC SSL docs for further information.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseSslrootcert(
+                String databaseSslrootcert) {
+            doSetProperty("databaseSslrootcert", databaseSslrootcert);
+            return this;
+        }
+        /**
+         * Enable or disable TCP keep-alive probe to avoid dropping TCP
+         * connection.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseTcpkeepalive(
+                boolean databaseTcpkeepalive) {
+            doSetProperty("databaseTcpkeepalive", databaseTcpkeepalive);
+            return this;
+        }
+        /**
+         * Enable or disable TCP keep-alive probe to avoid dropping TCP
+         * connection.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseTcpkeepalive(
+                String databaseTcpkeepalive) {
+            doSetProperty("databaseTcpkeepalive", databaseTcpkeepalive);
+            return this;
+        }
+        /**
+         * Name of the Postgres database user to be used when connecting to the
+         * database.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder databaseUser(String databaseUser) {
+            doSetProperty("databaseUser", databaseUser);
+            return this;
+        }
+        /**
+         * Specify how DECIMAL and NUMERIC columns should be represented in
+         * change events, including:'precise' (the default) uses
+         * java.math.BigDecimal to represent values, which are encoded in the
+         * change events using a binary representation and Kafka Connect's
+         * 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to
+         * represent values; 'double' represents values using Java's 'double',
+         * which may not offer the precision but will be far easier to use in
+         * consumers.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder decimalHandlingMode(
+                String decimalHandlingMode) {
+            doSetProperty("decimalHandlingMode", decimalHandlingMode);
+            return this;
+        }
+        /**
+         * Length of an interval in milli-seconds in in which the connector
+         * periodically sends heartbeat messages to a heartbeat topic. Use 0 to
+         * disable heartbeat messages. Disabled by default.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder heartbeatIntervalMs(
+                int heartbeatIntervalMs) {
+            doSetProperty("heartbeatIntervalMs", heartbeatIntervalMs);
+            return this;
+        }
+        /**
+         * Length of an interval in milli-seconds in in which the connector
+         * periodically sends heartbeat messages to a heartbeat topic. Use 0 to
+         * disable heartbeat messages. Disabled by default.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder heartbeatIntervalMs(
+                String heartbeatIntervalMs) {
+            doSetProperty("heartbeatIntervalMs", heartbeatIntervalMs);
+            return this;
+        }
+        /**
+         * The prefix that is used to name heartbeat topics.Defaults to
+         * __debezium-heartbeat.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder heartbeatTopicsPrefix(
+                String heartbeatTopicsPrefix) {
+            doSetProperty("heartbeatTopicsPrefix", heartbeatTopicsPrefix);
+            return this;
+        }
+        /**
+         * Specify how HSTORE columns should be represented in change events,
+         * including:'json' represents values as json string'map' (default)
+         * represents values using java.util.Map.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder hstoreHandlingMode(
+                String hstoreHandlingMode) {
+            doSetProperty("hstoreHandlingMode", hstoreHandlingMode);
+            return this;
+        }
+        /**
+         * Specify whether the fields of data type not supported by Debezium
+         * should be processed:'false' (the default) omits the fields; 'true'
+         * converts the field into an implementation dependent binary
+         * representation.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder includeUnknownDatatypes(
+                boolean includeUnknownDatatypes) {
+            doSetProperty("includeUnknownDatatypes", includeUnknownDatatypes);
+            return this;
+        }
+        /**
+         * Specify whether the fields of data type not supported by Debezium
+         * should be processed:'false' (the default) omits the fields; 'true'
+         * converts the field into an implementation dependent binary
+         * representation.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder includeUnknownDatatypes(
+                String includeUnknownDatatypes) {
+            doSetProperty("includeUnknownDatatypes", includeUnknownDatatypes);
+            return this;
+        }
+        /**
+         * Maximum size of each batch of source records. Defaults to 2048.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder maxBatchSize(int maxBatchSize) {
+            doSetProperty("maxBatchSize", maxBatchSize);
+            return this;
+        }
+        /**
+         * Maximum size of each batch of source records. Defaults to 2048.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder maxBatchSize(String maxBatchSize) {
+            doSetProperty("maxBatchSize", maxBatchSize);
+            return this;
+        }
+        /**
+         * Maximum size of the queue for change events read from the database
+         * log but not yet recorded or forwarded. Defaults to 8192, and should
+         * always be larger than the maximum batch size.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder maxQueueSize(int maxQueueSize) {
+            doSetProperty("maxQueueSize", maxQueueSize);
+            return this;
+        }
+        /**
+         * Maximum size of the queue for change events read from the database
+         * log but not yet recorded or forwarded. Defaults to 8192, and should
+         * always be larger than the maximum batch size.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder maxQueueSize(String maxQueueSize) {
+            doSetProperty("maxQueueSize", maxQueueSize);
+            return this;
+        }
+        /**
+         * The name of the Postgres logical decoding plugin installed on the
+         * server. Supported values are 'decoderbufs' and 'wal2json'. Defaults
+         * to 'decoderbufs'.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder pluginName(String pluginName) {
+            doSetProperty("pluginName", pluginName);
+            return this;
+        }
+        /**
+         * Frequency in milliseconds to wait for new change events to appear
+         * after receiving no events. Defaults to 500ms.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder pollIntervalMs(
+                long pollIntervalMs) {
+            doSetProperty("pollIntervalMs", pollIntervalMs);
+            return this;
+        }
+        /**
+         * Frequency in milliseconds to wait for new change events to appear
+         * after receiving no events. Defaults to 500ms.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder pollIntervalMs(
+                String pollIntervalMs) {
+            doSetProperty("pollIntervalMs", pollIntervalMs);
+            return this;
+        }
+        /**
+         * Description is not available here, please check Debezium website for
+         * corresponding key 'schema.blacklist' description.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder schemaBlacklist(
+                String schemaBlacklist) {
+            doSetProperty("schemaBlacklist", schemaBlacklist);
+            return this;
+        }
+        /**
+         * Specify the conditions that trigger a refresh of the in-memory schema
+         * for a table. 'columns_diff' (the default) is the safest mode,
+         * ensuring the in-memory schema stays in-sync with the database table's
+         * schema at all times. 'columns_diff_exclude_unchanged_toast' instructs
+         * the connector to refresh the in-memory schema cache if there is a
+         * discrepancy between it and the schema derived from the incoming
+         * message, unless unchanged TOASTable data fully accounts for the
+         * discrepancy. This setting can improve connector performance
+         * significantly if there are frequently-updated tables that have
+         * TOASTed data that are rarely part of these updates. However, it is
+         * possible for the in-memory schema to become outdated if TOASTable
+         * columns are dropped from the table.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder schemaRefreshMode(
+                String schemaRefreshMode) {
+            doSetProperty("schemaRefreshMode", schemaRefreshMode);
+            return this;
+        }
+        /**
+         * The schemas for which events should be captured.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder schemaWhitelist(
+                String schemaWhitelist) {
+            doSetProperty("schemaWhitelist", schemaWhitelist);
+            return this;
+        }
+        /**
+         * Whether or not to drop the logical replication slot when the
+         * connector finishes orderlyBy default the replication is kept so that
+         * on restart progress can resume from the last recorded location.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder slotDrop_on_stop(
+                boolean slotDrop_on_stop) {
+            doSetProperty("slotDrop_on_stop", slotDrop_on_stop);
+            return this;
+        }
+        /**
+         * Whether or not to drop the logical replication slot when the
+         * connector finishes orderlyBy default the replication is kept so that
+         * on restart progress can resume from the last recorded location.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder slotDrop_on_stop(
+                String slotDrop_on_stop) {
+            doSetProperty("slotDrop_on_stop", slotDrop_on_stop);
+            return this;
+        }
+        /**
+         * The name of the Postgres logical decoding slot created for streaming
+         * changes from a plugin.Defaults to 'debezium.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder slotName(String slotName) {
+            doSetProperty("slotName", slotName);
+            return this;
+        }
+        /**
+         * Any optional parameters used by logical decoding plugin. Semi-colon
+         * separated. E.g.
+         * 'add-tables=public.table,public.table2;include-lsn=true'.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder slotStreamParams(
+                String slotStreamParams) {
+            doSetProperty("slotStreamParams", slotStreamParams);
+            return this;
+        }
+        /**
+         * When 'snapshot.mode' is set as custom, this setting must be set to
+         * specify a fully qualified class name to load (via the default class
+         * loader).This class must implement the 'Snapshotter' interface and is
+         * called on each app boot to determine whether to do a snapshot and how
+         * to build queries.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotCustomClass(
+                String snapshotCustomClass) {
+            doSetProperty("snapshotCustomClass", snapshotCustomClass);
+            return this;
+        }
+        /**
+         * The number of milliseconds to delay before a snapshot will begin.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotDelayMs(
+                long snapshotDelayMs) {
+            doSetProperty("snapshotDelayMs", snapshotDelayMs);
+            return this;
+        }
+        /**
+         * The number of milliseconds to delay before a snapshot will begin.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotDelayMs(
+                String snapshotDelayMs) {
+            doSetProperty("snapshotDelayMs", snapshotDelayMs);
+            return this;
+        }
+        /**
+         * The maximum number of records that should be loaded into memory while
+         * performing a snapshot.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotFetchSize(
+                int snapshotFetchSize) {
+            doSetProperty("snapshotFetchSize", snapshotFetchSize);
+            return this;
+        }
+        /**
+         * The maximum number of records that should be loaded into memory while
+         * performing a snapshot.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotFetchSize(
+                String snapshotFetchSize) {
+            doSetProperty("snapshotFetchSize", snapshotFetchSize);
+            return this;
+        }
+        /**
+         * The maximum number of millis to wait for table locks at the beginning
+         * of a snapshot. If locks cannot be acquired in this time frame, the
+         * snapshot will be aborted. Defaults to 10 seconds.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotLockTimeoutMs(
+                long snapshotLockTimeoutMs) {
+            doSetProperty("snapshotLockTimeoutMs", snapshotLockTimeoutMs);
+            return this;
+        }
+        /**
+         * The maximum number of millis to wait for table locks at the beginning
+         * of a snapshot. If locks cannot be acquired in this time frame, the
+         * snapshot will be aborted. Defaults to 10 seconds.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotLockTimeoutMs(
+                String snapshotLockTimeoutMs) {
+            doSetProperty("snapshotLockTimeoutMs", snapshotLockTimeoutMs);
+            return this;
+        }
+        /**
+         * The criteria for running a snapshot upon startup of the connector.
+         * Options include: 'always' to specify that the connector run a
+         * snapshot each time it starts up; 'initial' (the default) to specify
+         * the connector can run a snapshot only when no offsets are available
+         * for the logical server name; 'initial_only' same as 'initial' except
+         * the connector should stop after completing the snapshot and before it
+         * would normally start emitting changes;'never' to specify the
+         * connector should never run a snapshot and that upon first startup the
+         * connector should read from the last position (LSN) recorded by the
+         * server; and'custom' to specify a custom class with
+         * 'snapshot.custom_class' which will be loaded and used to determine
+         * the snapshot, see docs for more details.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotMode(String snapshotMode) {
+            doSetProperty("snapshotMode", snapshotMode);
+            return this;
+        }
+        /**
+         * This property contains a comma-separated list of fully-qualified
+         * tables (DB_NAME.TABLE_NAME). Select statements for the individual
+         * tables are specified in further configuration properties, one for
+         * each table, identified by the id
+         * 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME'. The value
+         * of those properties is the select statement to use when retrieving
+         * data from the specific table during snapshotting. A possible use case
+         * for large append-only tables is setting a specific point where to
+         * start (resume) snapshotting, in case a previous snapshotting was
+         * interrupted.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder snapshotSelectStatementOverrides(
+                String snapshotSelectStatementOverrides) {
+            doSetProperty("snapshotSelectStatementOverrides", snapshotSelectStatementOverrides);
+            return this;
+        }
+        /**
+         * Frequency in milliseconds for sending replication connection status
+         * updates to the server. Defaults to 10 seconds (10000 ms).
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder statusUpdateIntervalMs(
+                int statusUpdateIntervalMs) {
+            doSetProperty("statusUpdateIntervalMs", statusUpdateIntervalMs);
+            return this;
+        }
+        /**
+         * Frequency in milliseconds for sending replication connection status
+         * updates to the server. Defaults to 10 seconds (10000 ms).
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder statusUpdateIntervalMs(
+                String statusUpdateIntervalMs) {
+            doSetProperty("statusUpdateIntervalMs", statusUpdateIntervalMs);
+            return this;
+        }
+        /**
+         * Description is not available here, please check Debezium website for
+         * corresponding key 'table.blacklist' description.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder tableBlacklist(
+                String tableBlacklist) {
+            doSetProperty("tableBlacklist", tableBlacklist);
+            return this;
+        }
+        /**
+         * The tables for which changes are to be captured.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder tableWhitelist(
+                String tableWhitelist) {
+            doSetProperty("tableWhitelist", tableWhitelist);
+            return this;
+        }
+        /**
+         * Time, date, and timestamps can be represented with different kinds of
+         * precisions, including:'adaptive' (the default) bases the precision of
+         * time, date, and timestamp values on the database column's precision;
+         * 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields
+         * always use microseconds precision;'connect' always represents time,
+         * date, and timestamp values using Kafka Connect's built-in
+         * representations for Time, Date, and Timestamp, which uses millisecond
+         * precision regardless of the database columns' precision .
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder timePrecisionMode(
+                String timePrecisionMode) {
+            doSetProperty("timePrecisionMode", timePrecisionMode);
+            return this;
+        }
+        /**
+         * Whether delete operations should be represented by a delete event and
+         * a subsquenttombstone event (true) or only by a delete event (false).
+         * Emitting the tombstone event (the default behavior) allows Kafka to
+         * completely delete all events pertaining to the given key once the
+         * source record got deleted.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder tombstonesOnDelete(
+                boolean tombstonesOnDelete) {
+            doSetProperty("tombstonesOnDelete", tombstonesOnDelete);
+            return this;
+        }
+        /**
+         * Whether delete operations should be represented by a delete event and
+         * a subsquenttombstone event (true) or only by a delete event (false).
+         * Emitting the tombstone event (the default behavior) allows Kafka to
+         * completely delete all events pertaining to the given key once the
+         * source record got deleted.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder tombstonesOnDelete(
+                String tombstonesOnDelete) {
+            doSetProperty("tombstonesOnDelete", tombstonesOnDelete);
+            return this;
+        }
+        /**
+         * How events received from the DB should be placed on topics. Options
+         * include'table' (the default) each DB table will have a separate Kafka
+         * topic; 'schema' there will be one Kafka topic per DB schema; events
+         * from multiple topics belonging to the same schema will be placed on
+         * the same topic.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder topicSelectionStrategy(
+                String topicSelectionStrategy) {
+            doSetProperty("topicSelectionStrategy", topicSelectionStrategy);
+            return this;
+        }
+        /**
+         * Specify how often (in ms) the xmin will be fetched from the
+         * replication slot. This xmin value is exposed by the slot which gives
+         * a lower bound of where a new replication slot could start from. The
+         * lower the value, the more likely this value is to be the current
+         * 'true' value, but the bigger the performance cost. The bigger the
+         * value, the less likely this value is to be the current 'true' value,
+         * but the lower the performance penalty. The default is set to 0 ms,
+         * which disables tracking xmin.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder xminFetchIntervalMs(
+                long xminFetchIntervalMs) {
+            doSetProperty("xminFetchIntervalMs", xminFetchIntervalMs);
+            return this;
+        }
+        /**
+         * Specify how often (in ms) the xmin will be fetched from the
+         * replication slot. This xmin value is exposed by the slot which gives
+         * a lower bound of where a new replication slot could start from. The
+         * lower the value, the more likely this value is to be the current
+         * 'true' value, but the bigger the performance cost. The bigger the
+         * value, the less likely this value is to be the current 'true' value,
+         * but the lower the performance penalty. The default is set to 0 ms,
+         * which disables tracking xmin.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: postgres
+         */
+        default DebeziumPostgresEndpointBuilder xminFetchIntervalMs(
+                String xminFetchIntervalMs) {
+            doSetProperty("xminFetchIntervalMs", xminFetchIntervalMs);
+            return this;
+        }
     }
 
     /**
@@ -54,6 +1108,63 @@ public interface DebeziumPostgresEndpointBuilderFactory {
             return (DebeziumPostgresEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumPostgresEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumPostgresEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumPostgresEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedDebeziumPostgresEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalOceanEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalOceanEndpointBuilderFactory.java
index 856e881..d6960c7 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalOceanEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalOceanEndpointBuilderFactory.java
@@ -41,6 +41,46 @@ public interface DigitalOceanEndpointBuilderFactory {
             return (AdvancedDigitalOceanEndpointBuilder) this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DigitalOceanEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DigitalOceanEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Use for pagination. Force the page number.
          * 
          * The option is a: <code>java.lang.Integer</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalSignatureEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalSignatureEndpointBuilderFactory.java
index 2a6e797..27b43dd 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalSignatureEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DigitalSignatureEndpointBuilderFactory.java
@@ -131,6 +131,46 @@ public interface DigitalSignatureEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DigitalSignatureEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DigitalSignatureEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Set the PrivateKey that should be used to sign the exchange.
          * 
          * The option is a: <code>java.security.PrivateKey</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DnsEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DnsEndpointBuilderFactory.java
index eb0595e..8d96861 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DnsEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DnsEndpointBuilderFactory.java
@@ -37,6 +37,44 @@ public interface DnsEndpointBuilderFactory {
         default AdvancedDnsEndpointBuilder advanced() {
             return (AdvancedDnsEndpointBuilder) this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DnsEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DnsEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DozerEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DozerEndpointBuilderFactory.java
index d078feb..077cfae 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DozerEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DozerEndpointBuilderFactory.java
@@ -39,6 +39,44 @@ public interface DozerEndpointBuilderFactory {
             return (AdvancedDozerEndpointBuilder) this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DozerEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DozerEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The name of a DozerBeanMapperConfiguration bean in the Camel registry
          * which should be used for configuring the Dozer mapping. This is an
          * alternative to the mappingFile option that can be used for
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DrillEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DrillEndpointBuilderFactory.java
index 433eca9..aa12331 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DrillEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/DrillEndpointBuilderFactory.java
@@ -62,6 +62,44 @@ public interface DrillEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DrillEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default DrillEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Connection mode: zk: Zookeeper drillbit: Drillbit direct connection
          * https://drill.apache.org/docs/using-the-jdbc-driver/.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java
index bdd1001..4758896 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java
@@ -38,6 +38,145 @@ public interface EC2EndpointBuilderFactory {
             return (AdvancedEC2EndpointBuilder) this;
         }
         /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder accessKey(String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * To use a existing configured AmazonEC2Client as client.
+         * 
+         * The option is a: <code>com.amazonaws.services.ec2.AmazonEC2</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder amazonEc2Client(Object amazonEc2Client) {
+            doSetProperty("amazonEc2Client", amazonEc2Client);
+            return this;
+        }
+        /**
+         * To use a existing configured AmazonEC2Client as client.
+         * 
+         * The option will be converted to a
+         * <code>com.amazonaws.services.ec2.AmazonEC2</code> type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder amazonEc2Client(String amazonEc2Client) {
+            doSetProperty("amazonEc2Client", amazonEc2Client);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * The operation to perform. It can be createAndRunInstances,
+         * startInstances, stopInstances, terminateInstances, describeInstances,
+         * describeInstancesStatus, rebootInstances, monitorInstances,
+         * unmonitorInstances, createTags or deleteTags.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.aws.ec2.EC2Operations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default EC2EndpointBuilder operation(EC2Operations operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The operation to perform. It can be createAndRunInstances,
+         * startInstances, stopInstances, terminateInstances, describeInstances,
+         * describeInstancesStatus, rebootInstances, monitorInstances,
+         * unmonitorInstances, createTags or deleteTags.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.aws.ec2.EC2Operations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default EC2EndpointBuilder operation(String operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the EC2 client.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder proxyHost(String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the EC2 client.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder proxyPort(Integer proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the EC2 client.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder proxyPort(String proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
          * The region in which EC2 client needs to work. When using this
          * parameter, the configuration will expect the capitalized name of the
          * region (for example AP_EAST_1) You'll need to use the name
@@ -51,6 +190,17 @@ public interface EC2EndpointBuilderFactory {
             doSetProperty("region", region);
             return this;
         }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default EC2EndpointBuilder secretKey(String secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ECSEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ECSEndpointBuilderFactory.java
index e85370a..b9c30e8 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ECSEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ECSEndpointBuilderFactory.java
@@ -38,6 +38,139 @@ public interface ECSEndpointBuilderFactory {
             return (AdvancedECSEndpointBuilder) this;
         }
         /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder accessKey(String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * To use a existing configured AWS ECS as client.
+         * 
+         * The option is a: <code>com.amazonaws.services.ecs.AmazonECS</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder ecsClient(Object ecsClient) {
+            doSetProperty("ecsClient", ecsClient);
+            return this;
+        }
+        /**
+         * To use a existing configured AWS ECS as client.
+         * 
+         * The option will be converted to a
+         * <code>com.amazonaws.services.ecs.AmazonECS</code> type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder ecsClient(String ecsClient) {
+            doSetProperty("ecsClient", ecsClient);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.aws.ecs.ECSOperations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default ECSEndpointBuilder operation(ECSOperations operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.aws.ecs.ECSOperations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default ECSEndpointBuilder operation(String operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the ECS client.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder proxyHost(String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the ECS client.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder proxyPort(Integer proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the ECS client.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder proxyPort(String proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
          * The region in which ECS client needs to work. When using this
          * parameter, the configuration will expect the capitalized name of the
          * region (for example AP_EAST_1) You'll need to use the name
@@ -51,6 +184,17 @@ public interface ECSEndpointBuilderFactory {
             doSetProperty("region", region);
             return this;
         }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default ECSEndpointBuilder secretKey(String secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EKSEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EKSEndpointBuilderFactory.java
index 6060ff3..bd85d39 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EKSEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EKSEndpointBuilderFactory.java
@@ -38,6 +38,139 @@ public interface EKSEndpointBuilderFactory {
             return (AdvancedEKSEndpointBuilder) this;
         }
         /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder accessKey(String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * To use a existing configured AWS EKS as client.
+         * 
+         * The option is a: <code>com.amazonaws.services.eks.AmazonEKS</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder eksClient(Object eksClient) {
+            doSetProperty("eksClient", eksClient);
+            return this;
+        }
+        /**
+         * To use a existing configured AWS EKS as client.
+         * 
+         * The option will be converted to a
+         * <code>com.amazonaws.services.eks.AmazonEKS</code> type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder eksClient(String eksClient) {
+            doSetProperty("eksClient", eksClient);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.aws.eks.EKSOperations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default EKSEndpointBuilder operation(EKSOperations operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.aws.eks.EKSOperations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default EKSEndpointBuilder operation(String operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the EKS client.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder proxyHost(String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the EKS client.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder proxyPort(Integer proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the EKS client.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder proxyPort(String proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
          * The region in which EKS client needs to work. When using this
          * parameter, the configuration will expect the capitalized name of the
          * region (for example AP_EAST_1) You'll need to use the name
@@ -51,6 +184,17 @@ public interface EKSEndpointBuilderFactory {
             doSetProperty("region", region);
             return this;
         }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default EKSEndpointBuilder secretKey(String secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ElasticsearchEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ElasticsearchEndpointBuilderFactory.java
index f07c32d..eb7dbb3 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ElasticsearchEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ElasticsearchEndpointBuilderFactory.java
@@ -133,6 +133,46 @@ public interface ElasticsearchEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ElasticsearchEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ElasticsearchEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The time in ms before retry.
          * 
          * The option is a: <code>int</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ExecEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ExecEndpointBuilderFactory.java
index 1e849e8..07c7823 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ExecEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/ExecEndpointBuilderFactory.java
@@ -105,6 +105,44 @@ public interface ExecEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ExecEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default ExecEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The name of a file, created by the executable, that should be
          * considered as its output. If no outFile is set, the standard output
          * (stdout) of the executable will be used instead.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FileWatchEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FileWatchEndpointBuilderFactory.java
index 3201b9e..9320c9f 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FileWatchEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FileWatchEndpointBuilderFactory.java
@@ -16,10 +16,13 @@
  */
 package org.apache.camel.builder.endpoint.dsl;
 
+import java.util.Set;
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
 
 /**
  * The file-watch is used to monitor file events in directory using
@@ -38,6 +41,259 @@ public interface FileWatchEndpointBuilderFactory {
         default AdvancedFileWatchEndpointBuilder advanced() {
             return (AdvancedFileWatchEndpointBuilder) this;
         }
+        /**
+         * ANT style pattern to match files. The file is matched against path
+         * relative to endpoint path. Pattern must be also relative (not
+         * starting with slash).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder antInclude(String antInclude) {
+            doSetProperty("antInclude", antInclude);
+            return this;
+        }
+        /**
+         * Auto create directory if does not exists.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder autoCreate(boolean autoCreate) {
+            doSetProperty("autoCreate", autoCreate);
+            return this;
+        }
+        /**
+         * Auto create directory if does not exists.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder autoCreate(String autoCreate) {
+            doSetProperty("autoCreate", autoCreate);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * The number of concurrent consumers. Increase this value, if your
+         * route is slow to prevent buffering in queue.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder concurrentConsumers(
+                int concurrentConsumers) {
+            doSetProperty("concurrentConsumers", concurrentConsumers);
+            return this;
+        }
+        /**
+         * The number of concurrent consumers. Increase this value, if your
+         * route is slow to prevent buffering in queue.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder concurrentConsumers(
+                String concurrentConsumers) {
+            doSetProperty("concurrentConsumers", concurrentConsumers);
+            return this;
+        }
+        /**
+         * Comma separated list of events to watch.
+         * 
+         * The option is a:
+         * <code>java.util.Set&lt;org.apache.camel.component.file.watch.constants.FileEventEnum&gt;</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder events(Set<FileEventEnum> events) {
+            doSetProperty("events", events);
+            return this;
+        }
+        /**
+         * Comma separated list of events to watch.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Set&lt;org.apache.camel.component.file.watch.constants.FileEventEnum&gt;</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder events(String events) {
+            doSetProperty("events", events);
+            return this;
+        }
+        /**
+         * Reference to io.methvin.watcher.hashing.FileHasher. This prevents
+         * emitting duplicate events on some platforms. For working with large
+         * files and if you dont need detect multiple modifications per second
+         * per file, use #lastModifiedTimeFileHasher. You can also provide
+         * custom implementation in registry.
+         * 
+         * The option is a: <code>io.methvin.watcher.hashing.FileHasher</code>
+         * type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder fileHasher(Object fileHasher) {
+            doSetProperty("fileHasher", fileHasher);
+            return this;
+        }
+        /**
+         * Reference to io.methvin.watcher.hashing.FileHasher. This prevents
+         * emitting duplicate events on some platforms. For working with large
+         * files and if you dont need detect multiple modifications per second
+         * per file, use #lastModifiedTimeFileHasher. You can also provide
+         * custom implementation in registry.
+         * 
+         * The option will be converted to a
+         * <code>io.methvin.watcher.hashing.FileHasher</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder fileHasher(String fileHasher) {
+            doSetProperty("fileHasher", fileHasher);
+            return this;
+        }
+        /**
+         * The number of threads polling WatchService. Increase this value, if
+         * you see OVERFLOW messages in log.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder pollThreads(int pollThreads) {
+            doSetProperty("pollThreads", pollThreads);
+            return this;
+        }
+        /**
+         * The number of threads polling WatchService. Increase this value, if
+         * you see OVERFLOW messages in log.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder pollThreads(String pollThreads) {
+            doSetProperty("pollThreads", pollThreads);
+            return this;
+        }
+        /**
+         * Maximum size of queue between WatchService and consumer. Unbounded by
+         * default.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder queueSize(int queueSize) {
+            doSetProperty("queueSize", queueSize);
+            return this;
+        }
+        /**
+         * Maximum size of queue between WatchService and consumer. Unbounded by
+         * default.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder queueSize(String queueSize) {
+            doSetProperty("queueSize", queueSize);
+            return this;
+        }
+        /**
+         * Watch recursive in current and child directories (including newly
+         * created directories).
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder recursive(boolean recursive) {
+            doSetProperty("recursive", recursive);
+            return this;
+        }
+        /**
+         * Watch recursive in current and child directories (including newly
+         * created directories).
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder recursive(String recursive) {
+            doSetProperty("recursive", recursive);
+            return this;
+        }
+        /**
+         * Enables or disables file hashing to detect duplicate events. If you
+         * disable this, you can get some events multiple times on some
+         * platforms and JDKs. Check java.nio.file.WatchService limitations for
+         * your target platform.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder useFileHashing(boolean useFileHashing) {
+            doSetProperty("useFileHashing", useFileHashing);
+            return this;
+        }
+        /**
+         * Enables or disables file hashing to detect duplicate events. If you
+         * disable this, you can get some events multiple times on some
+         * platforms and JDKs. Check java.nio.file.WatchService limitations for
+         * your target platform.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default FileWatchEndpointBuilder useFileHashing(String useFileHashing) {
+            doSetProperty("useFileHashing", useFileHashing);
+            return this;
+        }
     }
 
     /**
@@ -50,6 +306,63 @@ public interface FileWatchEndpointBuilderFactory {
             return (FileWatchEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedFileWatchEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedFileWatchEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedFileWatchEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedFileWatchEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FlinkEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FlinkEndpointBuilderFactory.java
index f74ebba..13d3920 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FlinkEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FlinkEndpointBuilderFactory.java
@@ -160,6 +160,44 @@ public interface FlinkEndpointBuilderFactory {
             doSetProperty("dataStreamCallback", dataStreamCallback);
             return this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default FlinkEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default FlinkEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FopEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FopEndpointBuilderFactory.java
index b801d02..3c99a6d 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FopEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FopEndpointBuilderFactory.java
@@ -64,6 +64,44 @@ public interface FopEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default FopEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default FopEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The location of a configuration file which can be loaded from
          * classpath or file system.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FreemarkerEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FreemarkerEndpointBuilderFactory.java
index b51d7a9..b99bed3 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FreemarkerEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/FreemarkerEndpointBuilderFactory.java
@@ -96,6 +96,46 @@ public interface FreemarkerEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default FreemarkerEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default FreemarkerEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Number of seconds the loaded template resource will remain in the
          * cache.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GangliaEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GangliaEndpointBuilderFactory.java
index b685e2f..ec23e5f 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GangliaEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GangliaEndpointBuilderFactory.java
@@ -76,6 +76,46 @@ public interface GangliaEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GangliaEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GangliaEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The name to use for the metric.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GeoCoderEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GeoCoderEndpointBuilderFactory.java
index 4a4b5c0..9144dcc 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GeoCoderEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GeoCoderEndpointBuilderFactory.java
@@ -74,6 +74,46 @@ public interface GeoCoderEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GeoCoderEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GeoCoderEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Domain for proxy NTML authentication.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GlanceEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GlanceEndpointBuilderFactory.java
index 220e407..09c14a8 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GlanceEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GlanceEndpointBuilderFactory.java
@@ -85,6 +85,45 @@ public interface GlanceEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GlanceEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GlanceEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The operation to do.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQueryEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQueryEndpointBuilderFactory.java
index 351b903..2f7a9ad 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQueryEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQueryEndpointBuilderFactory.java
@@ -68,6 +68,46 @@ public interface GoogleBigQueryEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GoogleBigQueryEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GoogleBigQueryEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Field name to use as insert id.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQuerySQLEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQuerySQLEndpointBuilderFactory.java
index 0967f61..b97e402 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQuerySQLEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleBigQuerySQLEndpointBuilderFactory.java
@@ -67,6 +67,46 @@ public interface GoogleBigQuerySQLEndpointBuilderFactory {
             doSetProperty("connectionFactory", connectionFactory);
             return this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GoogleBigQuerySQLEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GoogleBigQuerySQLEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarStreamEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarStreamEndpointBuilderFactory.java
index 1677cb0..e32e635 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarStreamEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarStreamEndpointBuilderFactory.java
@@ -17,10 +17,17 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.PollingConsumerPollStrategy;
 
 /**
  * The google-calendar component provides access to Google Calendar in a
@@ -68,6 +75,42 @@ public interface GoogleCalendarStreamEndpointBuilderFactory {
             return this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleCalendarStreamEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleCalendarStreamEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
          * The calendarId to be used.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -226,6 +269,394 @@ public interface GoogleCalendarStreamEndpointBuilderFactory {
             doSetProperty("scopes", scopes);
             return this;
         }
+        /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleCalendarStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                boolean sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleCalendarStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder backoffErrorThreshold(
+                int backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder backoffIdleThreshold(
+                int backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder backoffMultiplier(
+                int backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder backoffMultiplier(
+                String backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder delay(long delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder delay(String delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder greedy(boolean greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder greedy(String greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder initialDelay(
+                long initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder initialDelay(
+                String initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder repeatCount(long repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder repeatCount(
+                String repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder runLoggingLevel(
+                LoggingLevel runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder runLoggingLevel(
+                String runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option is a:
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder scheduledExecutorService(
+                ScheduledExecutorService scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * To use a cron scheduler from either camel-spring or camel-quartz
+         * component.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder scheduler(String scheduler) {
+            doSetProperty("scheduler", scheduler);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder schedulerProperties(
+                Map<String, Object> schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.Object&gt;</code>
+         * type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder schedulerProperties(
+                String schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder startScheduler(
+                boolean startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder startScheduler(
+                String startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder timeUnit(TimeUnit timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder timeUnit(String timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder useFixedDelay(
+                boolean useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleCalendarStreamEndpointBuilder useFixedDelay(
+                String useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
     }
 
     /**
@@ -238,6 +669,95 @@ public interface GoogleCalendarStreamEndpointBuilderFactory {
             return (GoogleCalendarStreamEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleCalendarStreamEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleCalendarStreamEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleCalendarStreamEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleCalendarStreamEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleCalendarStreamEndpointBuilder pollStrategy(
+                PollingConsumerPollStrategy pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleCalendarStreamEndpointBuilder pollStrategy(
+                String pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleMailStreamEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleMailStreamEndpointBuilderFactory.java
index e012ddf..8f62294 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleMailStreamEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleMailStreamEndpointBuilderFactory.java
@@ -16,10 +16,17 @@
  */
 package org.apache.camel.builder.endpoint.dsl;
 
+import java.util.Map;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.PollingConsumerPollStrategy;
 
 /**
  * The google-mail component provides access to Google Mail.
@@ -64,6 +71,42 @@ public interface GoogleMailStreamEndpointBuilderFactory {
             return this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleMailStreamEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleMailStreamEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
          * Client ID of the mail application.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -164,6 +207,391 @@ public interface GoogleMailStreamEndpointBuilderFactory {
             doSetProperty("refreshToken", refreshToken);
             return this;
         }
+        /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleMailStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                boolean sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleMailStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder backoffErrorThreshold(
+                int backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder backoffIdleThreshold(
+                int backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder backoffMultiplier(
+                int backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder backoffMultiplier(
+                String backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder delay(long delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder delay(String delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder greedy(boolean greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder greedy(String greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder initialDelay(long initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder initialDelay(String initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder repeatCount(long repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder repeatCount(String repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder runLoggingLevel(
+                LoggingLevel runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder runLoggingLevel(
+                String runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option is a:
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder scheduledExecutorService(
+                ScheduledExecutorService scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * To use a cron scheduler from either camel-spring or camel-quartz
+         * component.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder scheduler(String scheduler) {
+            doSetProperty("scheduler", scheduler);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder schedulerProperties(
+                Map<String, Object> schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.Object&gt;</code>
+         * type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder schedulerProperties(
+                String schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder startScheduler(
+                boolean startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder startScheduler(
+                String startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder timeUnit(TimeUnit timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder timeUnit(String timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder useFixedDelay(
+                boolean useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleMailStreamEndpointBuilder useFixedDelay(
+                String useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
     }
 
     /**
@@ -176,6 +604,95 @@ public interface GoogleMailStreamEndpointBuilderFactory {
             return (GoogleMailStreamEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleMailStreamEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleMailStreamEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleMailStreamEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleMailStreamEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleMailStreamEndpointBuilder pollStrategy(
+                PollingConsumerPollStrategy pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleMailStreamEndpointBuilder pollStrategy(
+                String pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsStreamEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsStreamEndpointBuilderFactory.java
index 5de22ed..f1fb81d 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsStreamEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsStreamEndpointBuilderFactory.java
@@ -17,10 +17,17 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.PollingConsumerPollStrategy;
 
 /**
  * The google-sheets component provides access to Google Sheets.
@@ -66,6 +73,42 @@ public interface GoogleSheetsStreamEndpointBuilderFactory {
             return this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleSheetsStreamEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleSheetsStreamEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
          * Client ID of the sheets application.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -206,6 +249,32 @@ public interface GoogleSheetsStreamEndpointBuilderFactory {
             return this;
         }
         /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleSheetsStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                boolean sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default GoogleSheetsStreamEndpointBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return this;
+        }
+        /**
          * True if value range result should be split into rows or columns to
          * process each of them individually. When true each row or column is
          * represented with a separate exchange in batch processing. Otherwise
@@ -260,6 +329,366 @@ public interface GoogleSheetsStreamEndpointBuilderFactory {
             doSetProperty("valueRenderOption", valueRenderOption);
             return this;
         }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder backoffErrorThreshold(
+                int backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder backoffIdleThreshold(
+                int backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder backoffMultiplier(
+                int backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder backoffMultiplier(
+                String backoffMultiplier) {
+            doSetProperty("backoffMultiplier", backoffMultiplier);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder delay(long delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder delay(String delay) {
+            doSetProperty("delay", delay);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder greedy(boolean greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder greedy(String greedy) {
+            doSetProperty("greedy", greedy);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder initialDelay(long initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder initialDelay(
+                String initialDelay) {
+            doSetProperty("initialDelay", initialDelay);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder repeatCount(long repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder repeatCount(String repeatCount) {
+            doSetProperty("repeatCount", repeatCount);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder runLoggingLevel(
+                LoggingLevel runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.LoggingLevel</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder runLoggingLevel(
+                String runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option is a:
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder scheduledExecutorService(
+                ScheduledExecutorService scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            doSetProperty("scheduledExecutorService", scheduledExecutorService);
+            return this;
+        }
+        /**
+         * To use a cron scheduler from either camel-spring or camel-quartz
+         * component.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder scheduler(String scheduler) {
+            doSetProperty("scheduler", scheduler);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder schedulerProperties(
+                Map<String, Object> schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz, Spring based scheduler.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.Object&gt;</code>
+         * type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder schedulerProperties(
+                String schedulerProperties) {
+            doSetProperty("schedulerProperties", schedulerProperties);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder startScheduler(
+                boolean startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Whether the scheduler should be auto started.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder startScheduler(
+                String startScheduler) {
+            doSetProperty("startScheduler", startScheduler);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder timeUnit(TimeUnit timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Time unit for initialDelay and delay options.
+         * 
+         * The option will be converted to a
+         * <code>java.util.concurrent.TimeUnit</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder timeUnit(String timeUnit) {
+            doSetProperty("timeUnit", timeUnit);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder useFixedDelay(
+                boolean useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: scheduler
+         */
+        default GoogleSheetsStreamEndpointBuilder useFixedDelay(
+                String useFixedDelay) {
+            doSetProperty("useFixedDelay", useFixedDelay);
+            return this;
+        }
     }
 
     /**
@@ -272,6 +701,95 @@ public interface GoogleSheetsStreamEndpointBuilderFactory {
             return (GoogleSheetsStreamEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleSheetsStreamEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleSheetsStreamEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleSheetsStreamEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleSheetsStreamEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleSheetsStreamEndpointBuilder pollStrategy(
+                PollingConsumerPollStrategy pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedGoogleSheetsStreamEndpointBuilder pollStrategy(
+                String pollStrategy) {
+            doSetProperty("pollStrategy", pollStrategy);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GrapeEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GrapeEndpointBuilderFactory.java
index cae6097..ab6d041 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GrapeEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GrapeEndpointBuilderFactory.java
@@ -38,6 +38,44 @@ public interface GrapeEndpointBuilderFactory {
         default AdvancedGrapeEndpointBuilder advanced() {
             return (AdvancedGrapeEndpointBuilder) this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GrapeEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GrapeEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GraphqlEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GraphqlEndpointBuilderFactory.java
index 35196af..2b48cc8 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GraphqlEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/GraphqlEndpointBuilderFactory.java
@@ -38,6 +38,46 @@ public interface GraphqlEndpointBuilderFactory {
             return (AdvancedGraphqlEndpointBuilder) this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GraphqlEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default GraphqlEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The query or mutation name.
          * 
          * The option is a: <code>java.lang.String</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastAtomicnumberEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastAtomicnumberEndpointBuilderFactory.java
index 0bd6998..d976a1d 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastAtomicnumberEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastAtomicnumberEndpointBuilderFactory.java
@@ -112,6 +112,46 @@ public interface HazelcastAtomicnumberEndpointBuilderFactory {
             doSetProperty("hazelcastInstanceName", hazelcastInstanceName);
             return this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HazelcastAtomicnumberEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HazelcastAtomicnumberEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastInstanceEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastInstanceEndpointBuilderFactory.java
index f03c451..772ea62 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastInstanceEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastInstanceEndpointBuilderFactory.java
@@ -17,9 +17,11 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
 
 /**
  * The hazelcast-instance component is used to consume join/leave events of the
@@ -41,6 +43,42 @@ public interface HazelcastInstanceEndpointBuilderFactory {
             return (AdvancedHazelcastInstanceEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default HazelcastInstanceEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default HazelcastInstanceEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
          * To specify a default operation to use, if no operation header has
          * been provided.
          * 
@@ -124,6 +162,63 @@ public interface HazelcastInstanceEndpointBuilderFactory {
             return (HazelcastInstanceEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedHazelcastInstanceEndpointBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedHazelcastInstanceEndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedHazelcastInstanceEndpointBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedHazelcastInstanceEndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastRingbufferEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastRingbufferEndpointBuilderFactory.java
index e5dbcd5..55775c3 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastRingbufferEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HazelcastRingbufferEndpointBuilderFactory.java
@@ -112,6 +112,46 @@ public interface HazelcastRingbufferEndpointBuilderFactory {
             doSetProperty("hazelcastInstanceName", hazelcastInstanceName);
             return this;
         }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HazelcastRingbufferEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HazelcastRingbufferEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
index 0d7a654..bffdc66 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
@@ -121,6 +121,34 @@ public interface HttpEndpointBuilderFactory {
             return this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder bridgeEndpoint(boolean bridgeEndpoint) {
+            doSetProperty("bridgeEndpoint", bridgeEndpoint);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder bridgeEndpoint(String bridgeEndpoint) {
+            doSetProperty("bridgeEndpoint", bridgeEndpoint);
+            return this;
+        }
+        /**
          * If this option is false the Servlet will disable the HTTP streaming
          * and set the content-length header on the response.
          * 
@@ -145,6 +173,236 @@ public interface HttpEndpointBuilderFactory {
             return this;
         }
         /**
+         * Whether to clear expired cookies before sending the HTTP request.
+         * This ensures the cookies store does not keep growing by adding new
+         * cookies which is newer removed when they are expired.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder clearExpiredCookies(
+                boolean clearExpiredCookies) {
+            doSetProperty("clearExpiredCookies", clearExpiredCookies);
+            return this;
+        }
+        /**
+         * Whether to clear expired cookies before sending the HTTP request.
+         * This ensures the cookies store does not keep growing by adding new
+         * cookies which is newer removed when they are expired.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder clearExpiredCookies(
+                String clearExpiredCookies) {
+            doSetProperty("clearExpiredCookies", clearExpiredCookies);
+            return this;
+        }
+        /**
+         * Specifies whether a Connection Close header must be added to HTTP
+         * Request. By default connectionClose is false.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder connectionClose(boolean connectionClose) {
+            doSetProperty("connectionClose", connectionClose);
+            return this;
+        }
+        /**
+         * Specifies whether a Connection Close header must be added to HTTP
+         * Request. By default connectionClose is false.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder connectionClose(String connectionClose) {
+            doSetProperty("connectionClose", connectionClose);
+            return this;
+        }
+        /**
+         * If this option is true then IN exchange headers will be copied to OUT
+         * exchange headers according to copy strategy. Setting this to false,
+         * allows to only include the headers from the HTTP response (not
+         * propagating IN headers).
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder copyHeaders(boolean copyHeaders) {
+            doSetProperty("copyHeaders", copyHeaders);
+            return this;
+        }
+        /**
+         * If this option is true then IN exchange headers will be copied to OUT
+         * exchange headers according to copy strategy. Setting this to false,
+         * allows to only include the headers from the HTTP response (not
+         * propagating IN headers).
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder copyHeaders(String copyHeaders) {
+            doSetProperty("copyHeaders", copyHeaders);
+            return this;
+        }
+        /**
+         * Configure the HTTP method to use. The HttpMethod header cannot
+         * override this option if set.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.http.common.HttpMethods</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder httpMethod(HttpMethods httpMethod) {
+            doSetProperty("httpMethod", httpMethod);
+            return this;
+        }
+        /**
+         * Configure the HTTP method to use. The HttpMethod header cannot
+         * override this option if set.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.http.common.HttpMethods</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder httpMethod(String httpMethod) {
+            doSetProperty("httpMethod", httpMethod);
+            return this;
+        }
+        /**
+         * If this option is true, The http producer won't read response body
+         * and cache the input stream.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder ignoreResponseBody(
+                boolean ignoreResponseBody) {
+            doSetProperty("ignoreResponseBody", ignoreResponseBody);
+            return this;
+        }
+        /**
+         * If this option is true, The http producer won't read response body
+         * and cache the input stream.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder ignoreResponseBody(String ignoreResponseBody) {
+            doSetProperty("ignoreResponseBody", ignoreResponseBody);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * If the option is true, HttpProducer will set the Host header to the
+         * value contained in the current exchange Host header, useful in
+         * reverse proxy applications where you want the Host header received by
+         * the downstream server to reflect the URL called by the upstream
+         * client, this allows applications which use the Host header to
+         * generate accurate URL's for a proxied service.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder preserveHostHeader(
+                boolean preserveHostHeader) {
+            doSetProperty("preserveHostHeader", preserveHostHeader);
+            return this;
+        }
+        /**
+         * If the option is true, HttpProducer will set the Host header to the
+         * value contained in the current exchange Host header, useful in
+         * reverse proxy applications where you want the Host header received by
+         * the downstream server to reflect the URL called by the upstream
+         * client, this allows applications which use the Host header to
+         * generate accurate URL's for a proxied service.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder preserveHostHeader(String preserveHostHeader) {
+            doSetProperty("preserveHostHeader", preserveHostHeader);
+            return this;
+        }
+        /**
+         * Option to disable throwing the HttpOperationFailedException in case
+         * of failed responses from the remote server. This allows you to get
+         * all responses regardless of the HTTP status code.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder throwExceptionOnFailure(
+                boolean throwExceptionOnFailure) {
+            doSetProperty("throwExceptionOnFailure", throwExceptionOnFailure);
+            return this;
+        }
+        /**
+         * Option to disable throwing the HttpOperationFailedException in case
+         * of failed responses from the remote server. This allows you to get
+         * all responses regardless of the HTTP status code.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default HttpEndpointBuilder throwExceptionOnFailure(
+                String throwExceptionOnFailure) {
+            doSetProperty("throwExceptionOnFailure", throwExceptionOnFailure);
+            return this;
+        }
+        /**
          * 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
@@ -183,6 +441,221 @@ public interface HttpEndpointBuilderFactory {
             return this;
         }
         /**
+         * Proxy authentication domain to use with NTML.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthDomain(String proxyAuthDomain) {
+            doSetProperty("proxyAuthDomain", proxyAuthDomain);
+            return this;
+        }
+        /**
+         * Proxy authentication host.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthHost(String proxyAuthHost) {
+            doSetProperty("proxyAuthHost", proxyAuthHost);
+            return this;
+        }
+        /**
+         * Proxy authentication method to use.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthMethod(String proxyAuthMethod) {
+            doSetProperty("proxyAuthMethod", proxyAuthMethod);
+            return this;
+        }
+        /**
+         * Proxy authentication password.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthPassword(String proxyAuthPassword) {
+            doSetProperty("proxyAuthPassword", proxyAuthPassword);
+            return this;
+        }
+        /**
+         * Proxy authentication port.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthPort(int proxyAuthPort) {
+            doSetProperty("proxyAuthPort", proxyAuthPort);
+            return this;
+        }
+        /**
+         * Proxy authentication port.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthPort(String proxyAuthPort) {
+            doSetProperty("proxyAuthPort", proxyAuthPort);
+            return this;
+        }
+        /**
+         * Proxy authentication scheme to use.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthScheme(String proxyAuthScheme) {
+            doSetProperty("proxyAuthScheme", proxyAuthScheme);
+            return this;
+        }
+        /**
+         * Proxy authentication username.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthUsername(String proxyAuthUsername) {
+            doSetProperty("proxyAuthUsername", proxyAuthUsername);
+            return this;
+        }
+        /**
+         * Proxy hostname to use.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyHost(String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * Proxy port to use.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyPort(int proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * Proxy port to use.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyPort(String proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * Authentication domain to use with NTML.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authDomain(String authDomain) {
+            doSetProperty("authDomain", authDomain);
+            return this;
+        }
+        /**
+         * If this option is true, camel-http sends preemptive basic
+         * authentication to the server.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authenticationPreemptive(
+                boolean authenticationPreemptive) {
+            doSetProperty("authenticationPreemptive", authenticationPreemptive);
+            return this;
+        }
+        /**
+         * If this option is true, camel-http sends preemptive basic
+         * authentication to the server.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authenticationPreemptive(
+                String authenticationPreemptive) {
+            doSetProperty("authenticationPreemptive", authenticationPreemptive);
+            return this;
+        }
+        /**
+         * Authentication host to use with NTML.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authHost(String authHost) {
+            doSetProperty("authHost", authHost);
+            return this;
+        }
+        /**
+         * Authentication methods allowed to use as a comma separated list of
+         * values Basic, Digest or NTLM.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authMethod(String authMethod) {
+            doSetProperty("authMethod", authMethod);
+            return this;
+        }
+        /**
+         * Which authentication method to prioritize to use, either as Basic,
+         * Digest or NTLM.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authMethodPriority(String authMethodPriority) {
+            doSetProperty("authMethodPriority", authMethodPriority);
+            return this;
+        }
+        /**
+         * Authentication password.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authPassword(String authPassword) {
+            doSetProperty("authPassword", authPassword);
+            return this;
+        }
+        /**
+         * Authentication username.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default HttpEndpointBuilder authUsername(String authUsername) {
+            doSetProperty("authUsername", authUsername);
+            return this;
+        }
+        /**
          * To configure security using SSLContextParameters. Important: Only one
          * instance of org.apache.camel.util.jsse.SSLContextParameters is
          * supported per HttpComponent. If you need to use 2 or more different
@@ -281,6 +754,134 @@ public interface HttpEndpointBuilderFactory {
             return this;
         }
         /**
+         * Configure a cookie handler to maintain a HTTP session.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.http.common.cookie.CookieHandler</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder cookieHandler(Object cookieHandler) {
+            doSetProperty("cookieHandler", cookieHandler);
+            return this;
+        }
+        /**
+         * Configure a cookie handler to maintain a HTTP session.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.http.common.cookie.CookieHandler</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder cookieHandler(String cookieHandler) {
+            doSetProperty("cookieHandler", cookieHandler);
+            return this;
+        }
+        /**
+         * To use a custom CookieStore. By default the BasicCookieStore is used
+         * which is an in-memory only cookie store. Notice if
+         * bridgeEndpoint=true then the cookie store is forced to be a noop
+         * cookie store as cookie shouldn't be stored as we are just bridging
+         * (eg acting as a proxy). If a cookieHandler is set then the cookie
+         * store is also forced to be a noop cookie store as cookie handling is
+         * then performed by the cookieHandler.
+         * 
+         * The option is a: <code>org.apache.http.client.CookieStore</code>
+         * type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder cookieStore(Object cookieStore) {
+            doSetProperty("cookieStore", cookieStore);
+            return this;
+        }
+        /**
+         * To use a custom CookieStore. By default the BasicCookieStore is used
+         * which is an in-memory only cookie store. Notice if
+         * bridgeEndpoint=true then the cookie store is forced to be a noop
+         * cookie store as cookie shouldn't be stored as we are just bridging
+         * (eg acting as a proxy). If a cookieHandler is set then the cookie
+         * store is also forced to be a noop cookie store as cookie handling is
+         * then performed by the cookieHandler.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.http.client.CookieStore</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder cookieStore(String cookieStore) {
+            doSetProperty("cookieStore", cookieStore);
+            return this;
+        }
+        /**
+         * Whether the HTTP DELETE should include the message body or not. By
+         * default HTTP DELETE do not include any HTTP body. However in some
+         * rare cases users may need to be able to include the message body.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder deleteWithBody(
+                boolean deleteWithBody) {
+            doSetProperty("deleteWithBody", deleteWithBody);
+            return this;
+        }
+        /**
+         * Whether the HTTP DELETE should include the message body or not. By
+         * default HTTP DELETE do not include any HTTP body. However in some
+         * rare cases users may need to be able to include the message body.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder deleteWithBody(String deleteWithBody) {
+            doSetProperty("deleteWithBody", deleteWithBody);
+            return this;
+        }
+        /**
+         * Whether the HTTP GET should include the message body or not. By
+         * default HTTP GET do not include any HTTP body. However in some rare
+         * cases users may need to be able to include the message body.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder getWithBody(boolean getWithBody) {
+            doSetProperty("getWithBody", getWithBody);
+            return this;
+        }
+        /**
+         * Whether the HTTP GET should include the message body or not. By
+         * default HTTP GET do not include any HTTP body. However in some rare
+         * cases users may need to be able to include the message body.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder getWithBody(String getWithBody) {
+            doSetProperty("getWithBody", getWithBody);
+            return this;
+        }
+        /**
+         * The status codes which are considered a success response. The values
+         * are inclusive. Multiple ranges can be defined, separated by comma,
+         * e.g. 200-204,209,301-304. Each range must be a single number or
+         * from-to with the dash included.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer (advanced)
+         */
+        default AdvancedHttpEndpointBuilder okStatusCodeRange(
+                String okStatusCodeRange) {
+            doSetProperty("okStatusCodeRange", okStatusCodeRange);
+            return this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IAMEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IAMEndpointBuilderFactory.java
index 62e26f9..fc076ed 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IAMEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IAMEndpointBuilderFactory.java
@@ -38,6 +38,139 @@ public interface IAMEndpointBuilderFactory {
             return (AdvancedIAMEndpointBuilder) this;
         }
         /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder accessKey(String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * To use a existing configured AWS IAM as client.
+         * 
+         * The option is a:
+         * <code>com.amazonaws.services.identitymanagement.AmazonIdentityManagement</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder iamClient(Object iamClient) {
+            doSetProperty("iamClient", iamClient);
+            return this;
+        }
+        /**
+         * To use a existing configured AWS IAM as client.
+         * 
+         * The option will be converted to a
+         * <code>com.amazonaws.services.identitymanagement.AmazonIdentityManagement</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder iamClient(String iamClient) {
+            doSetProperty("iamClient", iamClient);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.aws.iam.IAMOperations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default IAMEndpointBuilder operation(IAMOperations operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.aws.iam.IAMOperations</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default IAMEndpointBuilder operation(String operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the IAM client.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder proxyHost(String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the IAM client.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder proxyPort(Integer proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the IAM client.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder proxyPort(String proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
          * The region in which IAM client needs to work. When using this
          * parameter, the configuration will expect the capitalized name of the
          * region (for example AP_EAST_1) You'll need to use the name
@@ -51,6 +184,17 @@ public interface IAMEndpointBuilderFactory {
             doSetProperty("region", region);
             return this;
         }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default IAMEndpointBuilder secretKey(String secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IPFSEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IPFSEndpointBuilderFactory.java
index d7cdf9d..4b8c3fe 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IPFSEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IPFSEndpointBuilderFactory.java
@@ -40,6 +40,44 @@ public interface IPFSEndpointBuilderFactory {
             return (AdvancedIPFSEndpointBuilder) this;
         }
         /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default IPFSEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default IPFSEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * The ipfs output directory.
          * 
          * The option is a: <code>java.nio.file.Path</code> type.
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteComputeEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteComputeEndpointBuilderFactory.java
index 80826d9..4b032c0 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteComputeEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteComputeEndpointBuilderFactory.java
@@ -43,6 +43,119 @@ public interface IgniteComputeEndpointBuilderFactory {
             return (AdvancedIgniteComputeEndpointBuilder) this;
         }
         /**
+         * An expression that returns the Cluster Group for the IgniteCompute
+         * instance.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.ignite.ClusterGroupExpression</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder clusterGroupExpression(
+                Object clusterGroupExpression) {
+            doSetProperty("clusterGroupExpression", clusterGroupExpression);
+            return this;
+        }
+        /**
+         * An expression that returns the Cluster Group for the IgniteCompute
+         * instance.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.ignite.ClusterGroupExpression</code>
+         * type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder clusterGroupExpression(
+                String clusterGroupExpression) {
+            doSetProperty("clusterGroupExpression", clusterGroupExpression);
+            return this;
+        }
+        /**
+         * The name of the compute job, which will be set via
+         * IgniteCompute#withName(String).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder computeName(String computeName) {
+            doSetProperty("computeName", computeName);
+            return this;
+        }
+        /**
+         * The compute operation to perform. Possible values: CALL, BROADCAST,
+         * APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN. The component
+         * expects different payload types depending on the operation.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.ignite.compute.IgniteComputeExecutionType</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder executionType(
+                IgniteComputeExecutionType executionType) {
+            doSetProperty("executionType", executionType);
+            return this;
+        }
+        /**
+         * The compute operation to perform. Possible values: CALL, BROADCAST,
+         * APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN. The component
+         * expects different payload types depending on the operation.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.ignite.compute.IgniteComputeExecutionType</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder executionType(String executionType) {
+            doSetProperty("executionType", executionType);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
          * Sets whether to propagate the incoming body if the return type of the
          * underlying Ignite operation is void.
          * 
@@ -69,6 +182,42 @@ public interface IgniteComputeEndpointBuilderFactory {
             return this;
         }
         /**
+         * The task name, only applicable if using the
+         * IgniteComputeExecutionType#EXECUTE execution type.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder taskName(String taskName) {
+            doSetProperty("taskName", taskName);
+            return this;
+        }
+        /**
+         * The timeout interval for triggered jobs, in milliseconds, which will
+         * be set via IgniteCompute#withTimeout(long).
+         * 
+         * The option is a: <code>java.lang.Long</code> type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder timeoutMillis(Long timeoutMillis) {
+            doSetProperty("timeoutMillis", timeoutMillis);
+            return this;
+        }
+        /**
+         * The timeout interval for triggered jobs, in milliseconds, which will
+         * be set via IgniteCompute#withTimeout(long).
+         * 
+         * The option will be converted to a <code>java.lang.Long</code> type.
+         * 
+         * Group: producer
+         */
+        default IgniteComputeEndpointBuilder timeoutMillis(String timeoutMillis) {
+            doSetProperty("timeoutMillis", timeoutMillis);
+            return this;
+        }
+        /**
          * Sets whether to treat Collections as cache objects or as Collections
          * of items to insert/update/compute, etc.
          * 
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteEventsEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteEventsEndpointBuilderFactory.java
index cc2a442..a776512 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteEventsEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/IgniteEventsEndpointBuilderFactory.java
@@ -17,9 +17,11 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
 
 /**
  * The Ignite Events endpoint is one of camel-ignite endpoints which allows you
@@ -41,6 +43,83 @@ public interface IgniteEventsEndpointBuilderFactory {
             return (AdvancedIgniteEventsEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default IgniteEventsEndpointBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * 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.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Group: consumer
+         */
+        default IgniteEventsEndpointBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * The cluster group expression.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.ignite.ClusterGroupExpression</code>
+         * type.
+         * 
+         * Group: consumer
+         */
+        default IgniteEventsEndpointBuilder clusterGroupExpression(
+                Object clusterGroupExpression) {
+            doSetProperty("clusterGroupExpression", clusterGroupExpression);
+            return this;
+        }
+        /**
+         * The cluster group expression.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.ignite.ClusterGroupExpression</code>
+         * type.
+         * 
+         * Group: consumer
+         */
+        default IgniteEventsEndpointBuilder clusterGroupExpression(
+                String clusterGroupExpression) {
+            doSetProperty("clusterGroupExpression", clusterGroupExpression);
+            return this;
+        }
+        /**
+         * The event types to subscribe to as a comma-separated string of event
+         * constants as defined in EventType. For example:
+         * EVT_CACHE_ENTRY_CREATED,EVT_CACHE_OBJECT_REMOVED,EVT_IGFS_DIR_CREATED.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         */
+        default IgniteEventsEndpointBuilder events(String events) {
+            doSetProperty("events", events);
+            return this;
+        }
+        /**
          * Sets whether to propagate the incoming body if the return type of the
          * underlying Ignite operation is void.
          * 
@@ -104,6 +183,63 @@ public interface IgniteEventsEndpointBuilderFactory {
             return (IgniteEventsEndpointBuilder) this;
         }
         /**
+         * 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.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
... 8950 lines suppressed ...