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 2022/04/04 18:46:17 UTC

[camel] branch main updated: Regen for commit 9d54cba8f61ea9246e674e8871ead08f11cc67ca (#7359)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new b368e40f642 Regen for commit 9d54cba8f61ea9246e674e8871ead08f11cc67ca (#7359)
b368e40f642 is described below

commit b368e40f642b4b48ee689e6e571fa4f169648209
Author: github-actions[bot] <41...@users.noreply.github.com>
AuthorDate: Mon Apr 4 20:46:11 2022 +0200

    Regen for commit 9d54cba8f61ea9246e674e8871ead08f11cc67ca (#7359)
    
    Signed-off-by: GitHub <no...@github.com>
    
    Co-authored-by: davsclaus <da...@users.noreply.github.com>
---
 .../component/ComponentsBuilderFactory.java        |   13 +
 .../dsl/DebeziumDb2ComponentBuilderFactory.java    |  934 +++++++++++++++
 .../src/generated/resources/metadata.json          |   22 +
 .../builder/endpoint/EndpointBuilderFactory.java   |    1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |    1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |   45 +
 .../dsl/DebeziumDb2EndpointBuilderFactory.java     | 1237 ++++++++++++++++++++
 7 files changed, 2253 insertions(+)

diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index f6cdc63683a..94124547699 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -1031,6 +1031,19 @@ public interface ComponentsBuilderFactory {
     static org.apache.camel.builder.component.dsl.DatasetTestComponentBuilderFactory.DatasetTestComponentBuilder datasetTest() {
         return org.apache.camel.builder.component.dsl.DatasetTestComponentBuilderFactory.datasetTest();
     }
+    /**
+     * Debezium DB2 Connector (camel-debezium-db2)
+     * Capture changes from a Oracle database.
+     * 
+     * Category: database,sql
+     * Since: 3.17
+     * Maven coordinates: org.apache.camel:camel-debezium-db2
+     * 
+     * @return the dsl builder
+     */
+    static org.apache.camel.builder.component.dsl.DebeziumDb2ComponentBuilderFactory.DebeziumDb2ComponentBuilder debeziumDb2() {
+        return org.apache.camel.builder.component.dsl.DebeziumDb2ComponentBuilderFactory.debeziumDb2();
+    }
     /**
      * Debezium MongoDB Connector (camel-debezium-mongodb)
      * Capture changes from a MongoDB database.
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java
new file mode 100644
index 00000000000..8aa8d749797
--- /dev/null
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java
@@ -0,0 +1,934 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.component.dsl;
+
+import javax.annotation.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.debezium.DebeziumDb2Component;
+
+/**
+ * Capture changes from a Oracle database.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface DebeziumDb2ComponentBuilderFactory {
+
+    /**
+     * Debezium DB2 Connector (camel-debezium-db2)
+     * Capture changes from a Oracle database.
+     * 
+     * Category: database,sql
+     * Since: 3.17
+     * Maven coordinates: org.apache.camel:camel-debezium-db2
+     * 
+     * @return the dsl builder
+     */
+    static DebeziumDb2ComponentBuilder debeziumDb2() {
+        return new DebeziumDb2ComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Debezium DB2 Connector component.
+     */
+    interface DebeziumDb2ComponentBuilder
+            extends
+                ComponentBuilder<DebeziumDb2Component> {
+        /**
+         * Additional properties for debezium components in case they can't be
+         * set directly on the camel configurations (e.g: setting Kafka Connect
+         * properties needed by Debezium engine, for example setting
+         * KafkaOffsetBackingStore), the properties have to be prefixed with
+         * additionalProperties.. E.g:
+         * additionalProperties.transactional.id=12345&amp;amp;additionalProperties.schema.registry.url=http://localhost:8811/avro.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param additionalProperties the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder additionalProperties(
+                java.util.Map<java.lang.String, java.lang.Object> additionalProperties) {
+            doSetProperty("additionalProperties", additionalProperties);
+            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: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * Allow pre-configured Configurations to be set.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder configuration(
+                org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration configuration) {
+            doSetProperty("configuration", configuration);
+            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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: org.apache.kafka.connect.json.JsonConverter
+         * Group: consumer
+         * 
+         * @param internalKeyConverter the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder internalKeyConverter(
+                java.lang.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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: org.apache.kafka.connect.json.JsonConverter
+         * Group: consumer
+         * 
+         * @param internalValueConverter the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder internalValueConverter(
+                java.lang.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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default:
+         * io.debezium.embedded.spi.OffsetCommitPolicy.PeriodicCommitOffsetPolicy
+         * Group: consumer
+         * 
+         * @param offsetCommitPolicy the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetCommitPolicy(
+                java.lang.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: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 5000
+         * Group: consumer
+         * 
+         * @param offsetCommitTimeoutMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetCommitTimeoutMs(
+                long offsetCommitTimeoutMs) {
+            doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs);
+            return this;
+        }
+        /**
+         * Interval at which to try committing offsets. The default is 1 minute.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 60000
+         * Group: consumer
+         * 
+         * @param offsetFlushIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetFlushIntervalMs(
+                long offsetFlushIntervalMs) {
+            doSetProperty("offsetFlushIntervalMs", offsetFlushIntervalMs);
+            return this;
+        }
+        /**
+         * The name of the Java class that is responsible for persistence of
+         * connector offsets.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: org.apache.kafka.connect.storage.FileOffsetBackingStore
+         * Group: consumer
+         * 
+         * @param offsetStorage the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetStorage(
+                java.lang.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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStorageFileName the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetStorageFileName(
+                java.lang.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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStoragePartitions the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetStoragePartitions(
+                int 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStorageReplicationFactor the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetStorageReplicationFactor(
+                int 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStorageTopic the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder offsetStorageTopic(
+                java.lang.String offsetStorageTopic) {
+            doSetProperty("offsetStorageTopic", offsetStorageTopic);
+            return this;
+        }
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder autowiredEnabled(
+                boolean autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+        /**
+         * Regular expressions matching columns to exclude from change events
+         * (deprecated, use column.exclude.list instead).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param columnBlacklist the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder columnBlacklist(
+                java.lang.String columnBlacklist) {
+            doSetProperty("columnBlacklist", columnBlacklist);
+            return this;
+        }
+        /**
+         * Regular expressions matching columns to exclude from change events.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param columnExcludeList the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder columnExcludeList(
+                java.lang.String columnExcludeList) {
+            doSetProperty("columnExcludeList", columnExcludeList);
+            return this;
+        }
+        /**
+         * The name of the database from which the connector should capture
+         * changes.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseDbname the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseDbname(
+                java.lang.String databaseDbname) {
+            doSetProperty("databaseDbname", databaseDbname);
+            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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: class io.debezium.relational.history.KafkaDatabaseHistory
+         * Group: db2
+         * 
+         * @param databaseHistory the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseHistory(
+                java.lang.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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHistoryFileFilename the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseHistoryFileFilename(
+                java.lang.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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaBootstrapServers the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseHistoryKafkaBootstrapServers(
+                java.lang.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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 100
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaRecoveryAttempts the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseHistoryKafkaRecoveryAttempts(
+                int databaseHistoryKafkaRecoveryAttempts) {
+            doSetProperty("databaseHistoryKafkaRecoveryAttempts", databaseHistoryKafkaRecoveryAttempts);
+            return this;
+        }
+        /**
+         * The number of milliseconds to wait while polling for persisted data
+         * during recovery.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 100ms
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaRecoveryPollIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseHistoryKafkaRecoveryPollIntervalMs(
+                int databaseHistoryKafkaRecoveryPollIntervalMs) {
+            doSetProperty("databaseHistoryKafkaRecoveryPollIntervalMs", databaseHistoryKafkaRecoveryPollIntervalMs);
+            return this;
+        }
+        /**
+         * The name of the topic for the database schema history.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaTopic the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseHistoryKafkaTopic(
+                java.lang.String databaseHistoryKafkaTopic) {
+            doSetProperty("databaseHistoryKafkaTopic", databaseHistoryKafkaTopic);
+            return this;
+        }
+        /**
+         * Resolvable hostname or IP address of the database server.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHostname the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseHostname(
+                java.lang.String databaseHostname) {
+            doSetProperty("databaseHostname", databaseHostname);
+            return this;
+        }
+        /**
+         * Password of the database user to be used when connecting to the
+         * database.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databasePassword the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databasePassword(
+                java.lang.String databasePassword) {
+            doSetProperty("databasePassword", databasePassword);
+            return this;
+        }
+        /**
+         * Port of the database server.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 50000
+         * Group: db2
+         * 
+         * @param databasePort the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databasePort(int 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseServerName the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseServerName(
+                java.lang.String databaseServerName) {
+            doSetProperty("databaseServerName", databaseServerName);
+            return this;
+        }
+        /**
+         * Name of the database user to be used when connecting to the database.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseUser the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder databaseUser(
+                java.lang.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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: precise
+         * Group: db2
+         * 
+         * @param decimalHandlingMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder decimalHandlingMode(
+                java.lang.String decimalHandlingMode) {
+            doSetProperty("decimalHandlingMode", decimalHandlingMode);
+            return this;
+        }
+        /**
+         * Specify how failures during processing of events (i.e. when
+         * encountering a corrupted event) should be handled, including:'fail'
+         * (the default) an exception indicating the problematic event and its
+         * position is raised, causing the connector to be stopped; 'warn' the
+         * problematic event and its position will be logged and the event will
+         * be skipped;'ignore' the problematic event will be skipped.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: fail
+         * Group: db2
+         * 
+         * @param eventProcessingFailureHandlingMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder eventProcessingFailureHandlingMode(
+                java.lang.String eventProcessingFailureHandlingMode) {
+            doSetProperty("eventProcessingFailureHandlingMode", eventProcessingFailureHandlingMode);
+            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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 0ms
+         * Group: db2
+         * 
+         * @param heartbeatIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder heartbeatIntervalMs(
+                int heartbeatIntervalMs) {
+            doSetProperty("heartbeatIntervalMs", heartbeatIntervalMs);
+            return this;
+        }
+        /**
+         * The prefix that is used to name heartbeat topics.Defaults to
+         * __debezium-heartbeat.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: __debezium-heartbeat
+         * Group: db2
+         * 
+         * @param heartbeatTopicsPrefix the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder heartbeatTopicsPrefix(
+                java.lang.String heartbeatTopicsPrefix) {
+            doSetProperty("heartbeatTopicsPrefix", heartbeatTopicsPrefix);
+            return this;
+        }
+        /**
+         * Maximum size of each batch of source records. Defaults to 2048.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 2048
+         * Group: db2
+         * 
+         * @param maxBatchSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder maxBatchSize(int 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 8192
+         * Group: db2
+         * 
+         * @param maxQueueSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder maxQueueSize(int maxQueueSize) {
+            doSetProperty("maxQueueSize", maxQueueSize);
+            return this;
+        }
+        /**
+         * Time to wait for new change events to appear after receiving no
+         * events, given in milliseconds. Defaults to 500 ms.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500ms
+         * Group: db2
+         * 
+         * @param pollIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder pollIntervalMs(long pollIntervalMs) {
+            doSetProperty("pollIntervalMs", pollIntervalMs);
+            return this;
+        }
+        /**
+         * A delay period before a snapshot will begin, given in milliseconds.
+         * Defaults to 0 ms.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0ms
+         * Group: db2
+         * 
+         * @param snapshotDelayMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder snapshotDelayMs(long 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param snapshotFetchSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder snapshotFetchSize(
+                int snapshotFetchSize) {
+            doSetProperty("snapshotFetchSize", snapshotFetchSize);
+            return this;
+        }
+        /**
+         * The criteria for running a snapshot upon startup of the connector.
+         * Options include: 'initial' (the default) to specify the connector
+         * should run a snapshot only when no offsets are available for the
+         * logical server name; 'schema_only' to specify the connector should
+         * run a snapshot of the schema when no offsets are available for the
+         * logical server name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: initial
+         * Group: db2
+         * 
+         * @param snapshotMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder snapshotMode(
+                java.lang.String snapshotMode) {
+            doSetProperty("snapshotMode", snapshotMode);
+            return this;
+        }
+        /**
+         * This property contains a comma-separated list of fully-qualified
+         * tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on
+         * thespecific connectors. 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' or
+         * 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME',
+         * respectively. 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param snapshotSelectStatementOverrides the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder snapshotSelectStatementOverrides(
+                java.lang.String snapshotSelectStatementOverrides) {
+            doSetProperty("snapshotSelectStatementOverrides", snapshotSelectStatementOverrides);
+            return this;
+        }
+        /**
+         * A version of the format of the publicly visible source part in the
+         * message.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: v2
+         * Group: db2
+         * 
+         * @param sourceStructVersion the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder sourceStructVersion(
+                java.lang.String sourceStructVersion) {
+            doSetProperty("sourceStructVersion", sourceStructVersion);
+            return this;
+        }
+        /**
+         * A comma-separated list of regular expressions that match the
+         * fully-qualified names of tables to be excluded from monitoring
+         * (deprecated, use table.exclude.list instead).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableBlacklist the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder tableBlacklist(
+                java.lang.String tableBlacklist) {
+            doSetProperty("tableBlacklist", tableBlacklist);
+            return this;
+        }
+        /**
+         * A comma-separated list of regular expressions that match the
+         * fully-qualified names of tables to be excluded from monitoring.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableExcludeList the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder tableExcludeList(
+                java.lang.String tableExcludeList) {
+            doSetProperty("tableExcludeList", tableExcludeList);
+            return this;
+        }
+        /**
+         * Flag specifying whether built-in tables should be ignored.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: db2
+         * 
+         * @param tableIgnoreBuiltin the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder tableIgnoreBuiltin(
+                boolean tableIgnoreBuiltin) {
+            doSetProperty("tableIgnoreBuiltin", tableIgnoreBuiltin);
+            return this;
+        }
+        /**
+         * The tables for which changes are to be captured.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableIncludeList the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder tableIncludeList(
+                java.lang.String tableIncludeList) {
+            doSetProperty("tableIncludeList", tableIncludeList);
+            return this;
+        }
+        /**
+         * The tables for which changes are to be captured (deprecated, use
+         * table.include.list instead).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableWhitelist the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder tableWhitelist(
+                java.lang.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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: adaptive
+         * Group: db2
+         * 
+         * @param timePrecisionMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2ComponentBuilder timePrecisionMode(
+                java.lang.String timePrecisionMode) {
+            doSetProperty("timePrecisionMode", timePrecisionMode);
+            return this;
+        }
+    }
+
+    class DebeziumDb2ComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<DebeziumDb2Component>
+            implements
+                DebeziumDb2ComponentBuilder {
+        @Override
+        protected DebeziumDb2Component buildConcreteComponent() {
+            return new DebeziumDb2Component();
+        }
+        private org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration getOrCreateConfiguration(
+                org.apache.camel.component.debezium.DebeziumDb2Component component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "additionalProperties": getOrCreateConfiguration((DebeziumDb2Component) component).setAdditionalProperties((java.util.Map) value); return true;
+            case "bridgeErrorHandler": ((DebeziumDb2Component) component).setBridgeErrorHandler((boolean) value); return true;
+            case "configuration": ((DebeziumDb2Component) component).setConfiguration((org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration) value); return true;
+            case "internalKeyConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalKeyConverter((java.lang.String) value); return true;
+            case "internalValueConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalValueConverter((java.lang.String) value); return true;
+            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitPolicy((java.lang.String) value); return true;
+            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitTimeoutMs((long) value); return true;
+            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetFlushIntervalMs((long) value); return true;
+            case "offsetStorage": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorage((java.lang.String) value); return true;
+            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageFileName((java.lang.String) value); return true;
+            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStoragePartitions((int) value); return true;
+            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageReplicationFactor((int) value); return true;
+            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageTopic((java.lang.String) value); return true;
+            case "autowiredEnabled": ((DebeziumDb2Component) component).setAutowiredEnabled((boolean) value); return true;
+            case "columnBlacklist": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnBlacklist((java.lang.String) value); return true;
+            case "columnExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnExcludeList((java.lang.String) value); return true;
+            case "databaseDbname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseDbname((java.lang.String) value); return true;
+            case "databaseHistory": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHistory((java.lang.String) value); return true;
+            case "databaseHistoryFileFilename": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHistoryFileFilename((java.lang.String) value); return true;
+            case "databaseHistoryKafkaBootstrapServers": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHistoryKafkaBootstrapServers((java.lang.String) value); return true;
+            case "databaseHistoryKafkaRecoveryAttempts": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHistoryKafkaRecoveryAttempts((int) value); return true;
+            case "databaseHistoryKafkaRecoveryPollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHistoryKafkaRecoveryPollIntervalMs((int) value); return true;
+            case "databaseHistoryKafkaTopic": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHistoryKafkaTopic((java.lang.String) value); return true;
+            case "databaseHostname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHostname((java.lang.String) value); return true;
+            case "databasePassword": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePassword((java.lang.String) value); return true;
+            case "databasePort": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePort((int) value); return true;
+            case "databaseServerName": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseServerName((java.lang.String) value); return true;
+            case "databaseUser": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseUser((java.lang.String) value); return true;
+            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setDecimalHandlingMode((java.lang.String) value); return true;
+            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
+            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatIntervalMs((int) value); return true;
+            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
+            case "maxBatchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxBatchSize((int) value); return true;
+            case "maxQueueSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSize((int) value); return true;
+            case "pollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setPollIntervalMs((long) value); return true;
+            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotDelayMs((long) value); return true;
+            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotFetchSize((int) value); return true;
+            case "snapshotMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotMode((java.lang.String) value); return true;
+            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
+            case "sourceStructVersion": getOrCreateConfiguration((DebeziumDb2Component) component).setSourceStructVersion((java.lang.String) value); return true;
+            case "tableBlacklist": getOrCreateConfiguration((DebeziumDb2Component) component).setTableBlacklist((java.lang.String) value); return true;
+            case "tableExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableExcludeList((java.lang.String) value); return true;
+            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIgnoreBuiltin((boolean) value); return true;
+            case "tableIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIncludeList((java.lang.String) value); return true;
+            case "tableWhitelist": getOrCreateConfiguration((DebeziumDb2Component) component).setTableWhitelist((java.lang.String) value); return true;
+            case "timePrecisionMode": getOrCreateConfiguration((DebeziumDb2Component) component).setTimePrecisionMode((java.lang.String) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-componentdsl/src/generated/resources/metadata.json b/dsl/camel-componentdsl/src/generated/resources/metadata.json
index 434741d958e..874523b83ea 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -1641,6 +1641,28 @@
     "producerOnly": true,
     "lenientProperties": true
   },
+  "DebeziumDb2ComponentBuilderFactory": {
+    "kind": "component",
+    "name": "debezium-db2",
+    "title": "Debezium DB2 Connector",
+    "description": "Capture changes from a Oracle database.",
+    "deprecated": false,
+    "firstVersion": "3.17.0",
+    "label": "database,sql",
+    "javaType": "org.apache.camel.component.debezium.DebeziumDb2Component",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-debezium-db2",
+    "version": "3.17.0-SNAPSHOT",
+    "scheme": "debezium-db2",
+    "extendsScheme": "",
+    "syntax": "debezium-db2:name",
+    "async": false,
+    "api": false,
+    "consumerOnly": true,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
   "DebeziumMongodbComponentBuilderFactory": {
     "kind": "component",
     "name": "debezium-mongodb",
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 12b3e590b90..73c418251bc 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -79,6 +79,7 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.DataSetTestEndpointBuilderFactory.DataSetTestBuilders,
             org.apache.camel.builder.endpoint.dsl.Ddb2EndpointBuilderFactory.Ddb2Builders,
             org.apache.camel.builder.endpoint.dsl.Ddb2StreamEndpointBuilderFactory.Ddb2StreamBuilders,
+            org.apache.camel.builder.endpoint.dsl.DebeziumDb2EndpointBuilderFactory.DebeziumDb2Builders,
             org.apache.camel.builder.endpoint.dsl.DebeziumMongodbEndpointBuilderFactory.DebeziumMongodbBuilders,
             org.apache.camel.builder.endpoint.dsl.DebeziumMySqlEndpointBuilderFactory.DebeziumMySqlBuilders,
             org.apache.camel.builder.endpoint.dsl.DebeziumOracleEndpointBuilderFactory.DebeziumOracleBuilders,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index e4fb99bf548..bb06abce9a5 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -76,6 +76,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.DataSetTestEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.Ddb2EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.Ddb2StreamEndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.DebeziumDb2EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.DebeziumMongodbEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.DebeziumMySqlEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.DebeziumOracleEndpointBuilderFactory,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index d7f522cc95c..171d78488a5 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -3342,6 +3342,51 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.DataSetTestEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * Debezium DB2 Connector (camel-debezium-db2)
+     * Capture changes from a Oracle database.
+     * 
+     * Category: database,sql
+     * Since: 3.17
+     * Maven coordinates: org.apache.camel:camel-debezium-db2
+     * 
+     * Syntax: <code>debezium-db2:name</code>
+     * 
+     * Path parameter: name (required)
+     * Unique name for the connector. Attempting to register again with the same
+     * name will fail.
+     * 
+     * @param path name
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.DebeziumDb2EndpointBuilderFactory.DebeziumDb2EndpointBuilder debeziumDb2(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.DebeziumDb2EndpointBuilderFactory.endpointBuilder("debezium-db2", path);
+    }
+    /**
+     * Debezium DB2 Connector (camel-debezium-db2)
+     * Capture changes from a Oracle database.
+     * 
+     * Category: database,sql
+     * Since: 3.17
+     * Maven coordinates: org.apache.camel:camel-debezium-db2
+     * 
+     * Syntax: <code>debezium-db2:name</code>
+     * 
+     * Path parameter: name (required)
+     * Unique name for the connector. Attempting to register again with the same
+     * name will fail.
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path name
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.DebeziumDb2EndpointBuilderFactory.DebeziumDb2EndpointBuilder debeziumDb2(
+            String componentName,
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.DebeziumDb2EndpointBuilderFactory.endpointBuilder(componentName, path);
+    }
     /**
      * Debezium MongoDB Connector (camel-debezium-mongodb)
      * Capture changes from a MongoDB database.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DebeziumDb2EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DebeziumDb2EndpointBuilderFactory.java
new file mode 100644
index 00000000000..8933de1d495
--- /dev/null
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DebeziumDb2EndpointBuilderFactory.java
@@ -0,0 +1,1237 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.Map;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Capture changes from a Oracle database.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface DebeziumDb2EndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint for the Debezium DB2 Connector component.
+     */
+    public interface DebeziumDb2EndpointBuilder
+            extends
+                EndpointConsumerBuilder {
+        default AdvancedDebeziumDb2EndpointBuilder advanced() {
+            return (AdvancedDebeziumDb2EndpointBuilder) this;
+        }
+        /**
+         * Additional properties for debezium components in case they can't be
+         * set directly on the camel configurations (e.g: setting Kafka Connect
+         * properties needed by Debezium engine, for example setting
+         * KafkaOffsetBackingStore), the properties have to be prefixed with
+         * additionalProperties.. E.g:
+         * additionalProperties.transactional.id=12345&amp;amp;additionalProperties.schema.registry.url=http://localhost:8811/avro.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the
+         * additionalProperties(String, Object) method to add a value (call the
+         * method multiple times to set more values).
+         * 
+         * Group: common
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder additionalProperties(
+                String key,
+                Object value) {
+            doSetMultiValueProperty("additionalProperties", "additionalProperties." + key, value);
+            return this;
+        }
+        /**
+         * Additional properties for debezium components in case they can't be
+         * set directly on the camel configurations (e.g: setting Kafka Connect
+         * properties needed by Debezium engine, for example setting
+         * KafkaOffsetBackingStore), the properties have to be prefixed with
+         * additionalProperties.. E.g:
+         * additionalProperties.transactional.id=12345&amp;amp;additionalProperties.schema.registry.url=http://localhost:8811/avro.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the
+         * additionalProperties(String, Object) method to add a value (call the
+         * method multiple times to set more values).
+         * 
+         * Group: common
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder additionalProperties(Map values) {
+            doSetMultiValueProperties("additionalProperties", "additionalProperties.", values);
+            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: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: org.apache.kafka.connect.json.JsonConverter
+         * Group: consumer
+         * 
+         * @param internalKeyConverter the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: org.apache.kafka.connect.json.JsonConverter
+         * Group: consumer
+         * 
+         * @param internalValueConverter the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default:
+         * io.debezium.embedded.spi.OffsetCommitPolicy.PeriodicCommitOffsetPolicy
+         * Group: consumer
+         * 
+         * @param offsetCommitPolicy the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 5000
+         * Group: consumer
+         * 
+         * @param offsetCommitTimeoutMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 5000
+         * Group: consumer
+         * 
+         * @param offsetCommitTimeoutMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder offsetCommitTimeoutMs(
+                String offsetCommitTimeoutMs) {
+            doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs);
+            return this;
+        }
+        /**
+         * Interval at which to try committing offsets. The default is 1 minute.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 60000
+         * Group: consumer
+         * 
+         * @param offsetFlushIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 60000
+         * Group: consumer
+         * 
+         * @param offsetFlushIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: org.apache.kafka.connect.storage.FileOffsetBackingStore
+         * Group: consumer
+         * 
+         * @param offsetStorage the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStorageFileName the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStoragePartitions the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStoragePartitions the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStorageReplicationFactor the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStorageReplicationFactor the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: consumer
+         * 
+         * @param offsetStorageTopic the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder offsetStorageTopic(
+                String offsetStorageTopic) {
+            doSetProperty("offsetStorageTopic", offsetStorageTopic);
+            return this;
+        }
+        /**
+         * Regular expressions matching columns to exclude from change events
+         * (deprecated, use column.exclude.list instead).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param columnBlacklist the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder columnBlacklist(
+                String columnBlacklist) {
+            doSetProperty("columnBlacklist", columnBlacklist);
+            return this;
+        }
+        /**
+         * Regular expressions matching columns to exclude from change events.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param columnExcludeList the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder columnExcludeList(
+                String columnExcludeList) {
+            doSetProperty("columnExcludeList", columnExcludeList);
+            return this;
+        }
+        /**
+         * The name of the database from which the connector should capture
+         * changes.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseDbname the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder databaseDbname(String databaseDbname) {
+            doSetProperty("databaseDbname", databaseDbname);
+            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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: class io.debezium.relational.history.KafkaDatabaseHistory
+         * Group: db2
+         * 
+         * @param databaseHistory the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHistoryFileFilename the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaBootstrapServers the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 100
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaRecoveryAttempts the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 100
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaRecoveryAttempts the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 100ms
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaRecoveryPollIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 100ms
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaRecoveryPollIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder databaseHistoryKafkaRecoveryPollIntervalMs(
+                String databaseHistoryKafkaRecoveryPollIntervalMs) {
+            doSetProperty("databaseHistoryKafkaRecoveryPollIntervalMs", databaseHistoryKafkaRecoveryPollIntervalMs);
+            return this;
+        }
+        /**
+         * The name of the topic for the database schema history.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHistoryKafkaTopic the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder databaseHistoryKafkaTopic(
+                String databaseHistoryKafkaTopic) {
+            doSetProperty("databaseHistoryKafkaTopic", databaseHistoryKafkaTopic);
+            return this;
+        }
+        /**
+         * Resolvable hostname or IP address of the database server.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseHostname the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder databaseHostname(
+                String databaseHostname) {
+            doSetProperty("databaseHostname", databaseHostname);
+            return this;
+        }
+        /**
+         * Password of the database user to be used when connecting to the
+         * database.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Required: true
+         * Group: db2
+         * 
+         * @param databasePassword the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder databasePassword(
+                String databasePassword) {
+            doSetProperty("databasePassword", databasePassword);
+            return this;
+        }
+        /**
+         * Port of the database server.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 50000
+         * Group: db2
+         * 
+         * @param databasePort the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder databasePort(int databasePort) {
+            doSetProperty("databasePort", databasePort);
+            return this;
+        }
+        /**
+         * Port of the database server.
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 50000
+         * Group: db2
+         * 
+         * @param databasePort the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Required: true
+         * Group: db2
+         * 
+         * @param databaseServerName the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder databaseServerName(
+                String databaseServerName) {
+            doSetProperty("databaseServerName", databaseServerName);
+            return this;
+        }
+        /**
+         * Name of the database user to be used when connecting to the database.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param databaseUser the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: precise
+         * Group: db2
+         * 
+         * @param decimalHandlingMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder decimalHandlingMode(
+                String decimalHandlingMode) {
+            doSetProperty("decimalHandlingMode", decimalHandlingMode);
+            return this;
+        }
+        /**
+         * Specify how failures during processing of events (i.e. when
+         * encountering a corrupted event) should be handled, including:'fail'
+         * (the default) an exception indicating the problematic event and its
+         * position is raised, causing the connector to be stopped; 'warn' the
+         * problematic event and its position will be logged and the event will
+         * be skipped;'ignore' the problematic event will be skipped.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: fail
+         * Group: db2
+         * 
+         * @param eventProcessingFailureHandlingMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder eventProcessingFailureHandlingMode(
+                String eventProcessingFailureHandlingMode) {
+            doSetProperty("eventProcessingFailureHandlingMode", eventProcessingFailureHandlingMode);
+            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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 0ms
+         * Group: db2
+         * 
+         * @param heartbeatIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 0ms
+         * Group: db2
+         * 
+         * @param heartbeatIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: __debezium-heartbeat
+         * Group: db2
+         * 
+         * @param heartbeatTopicsPrefix the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder heartbeatTopicsPrefix(
+                String heartbeatTopicsPrefix) {
+            doSetProperty("heartbeatTopicsPrefix", heartbeatTopicsPrefix);
+            return this;
+        }
+        /**
+         * Maximum size of each batch of source records. Defaults to 2048.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 2048
+         * Group: db2
+         * 
+         * @param maxBatchSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 2048
+         * Group: db2
+         * 
+         * @param maxBatchSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 8192
+         * Group: db2
+         * 
+         * @param maxQueueSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 8192
+         * Group: db2
+         * 
+         * @param maxQueueSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder maxQueueSize(String maxQueueSize) {
+            doSetProperty("maxQueueSize", maxQueueSize);
+            return this;
+        }
+        /**
+         * Time to wait for new change events to appear after receiving no
+         * events, given in milliseconds. Defaults to 500 ms.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500ms
+         * Group: db2
+         * 
+         * @param pollIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder pollIntervalMs(long pollIntervalMs) {
+            doSetProperty("pollIntervalMs", pollIntervalMs);
+            return this;
+        }
+        /**
+         * Time to wait for new change events to appear after receiving no
+         * events, given in milliseconds. Defaults to 500 ms.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500ms
+         * Group: db2
+         * 
+         * @param pollIntervalMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder pollIntervalMs(String pollIntervalMs) {
+            doSetProperty("pollIntervalMs", pollIntervalMs);
+            return this;
+        }
+        /**
+         * A delay period before a snapshot will begin, given in milliseconds.
+         * Defaults to 0 ms.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0ms
+         * Group: db2
+         * 
+         * @param snapshotDelayMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder snapshotDelayMs(long snapshotDelayMs) {
+            doSetProperty("snapshotDelayMs", snapshotDelayMs);
+            return this;
+        }
+        /**
+         * A delay period before a snapshot will begin, given in milliseconds.
+         * Defaults to 0 ms.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0ms
+         * Group: db2
+         * 
+         * @param snapshotDelayMs the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param snapshotFetchSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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 &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param snapshotFetchSize the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder snapshotFetchSize(
+                String snapshotFetchSize) {
+            doSetProperty("snapshotFetchSize", snapshotFetchSize);
+            return this;
+        }
+        /**
+         * The criteria for running a snapshot upon startup of the connector.
+         * Options include: 'initial' (the default) to specify the connector
+         * should run a snapshot only when no offsets are available for the
+         * logical server name; 'schema_only' to specify the connector should
+         * run a snapshot of the schema when no offsets are available for the
+         * logical server name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: initial
+         * Group: db2
+         * 
+         * @param snapshotMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder snapshotMode(String snapshotMode) {
+            doSetProperty("snapshotMode", snapshotMode);
+            return this;
+        }
+        /**
+         * This property contains a comma-separated list of fully-qualified
+         * tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on
+         * thespecific connectors. 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' or
+         * 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME',
+         * respectively. 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param snapshotSelectStatementOverrides the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder snapshotSelectStatementOverrides(
+                String snapshotSelectStatementOverrides) {
+            doSetProperty("snapshotSelectStatementOverrides", snapshotSelectStatementOverrides);
+            return this;
+        }
+        /**
+         * A version of the format of the publicly visible source part in the
+         * message.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: v2
+         * Group: db2
+         * 
+         * @param sourceStructVersion the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder sourceStructVersion(
+                String sourceStructVersion) {
+            doSetProperty("sourceStructVersion", sourceStructVersion);
+            return this;
+        }
+        /**
+         * A comma-separated list of regular expressions that match the
+         * fully-qualified names of tables to be excluded from monitoring
+         * (deprecated, use table.exclude.list instead).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableBlacklist the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder tableBlacklist(String tableBlacklist) {
+            doSetProperty("tableBlacklist", tableBlacklist);
+            return this;
+        }
+        /**
+         * A comma-separated list of regular expressions that match the
+         * fully-qualified names of tables to be excluded from monitoring.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableExcludeList the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder tableExcludeList(
+                String tableExcludeList) {
+            doSetProperty("tableExcludeList", tableExcludeList);
+            return this;
+        }
+        /**
+         * Flag specifying whether built-in tables should be ignored.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: db2
+         * 
+         * @param tableIgnoreBuiltin the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder tableIgnoreBuiltin(
+                boolean tableIgnoreBuiltin) {
+            doSetProperty("tableIgnoreBuiltin", tableIgnoreBuiltin);
+            return this;
+        }
+        /**
+         * Flag specifying whether built-in tables should be ignored.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: true
+         * Group: db2
+         * 
+         * @param tableIgnoreBuiltin the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder tableIgnoreBuiltin(
+                String tableIgnoreBuiltin) {
+            doSetProperty("tableIgnoreBuiltin", tableIgnoreBuiltin);
+            return this;
+        }
+        /**
+         * The tables for which changes are to be captured.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableIncludeList the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder tableIncludeList(
+                String tableIncludeList) {
+            doSetProperty("tableIncludeList", tableIncludeList);
+            return this;
+        }
+        /**
+         * The tables for which changes are to be captured (deprecated, use
+         * table.include.list instead).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: db2
+         * 
+         * @param tableWhitelist the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder 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: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: adaptive
+         * Group: db2
+         * 
+         * @param timePrecisionMode the value to set
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder timePrecisionMode(
+                String timePrecisionMode) {
+            doSetProperty("timePrecisionMode", timePrecisionMode);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Debezium DB2 Connector component.
+     */
+    public interface AdvancedDebeziumDb2EndpointBuilder
+            extends
+                EndpointConsumerBuilder {
+        default DebeziumDb2EndpointBuilder basic() {
+            return (DebeziumDb2EndpointBuilder) 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:
+         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exceptionHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDebeziumDb2EndpointBuilder exceptionHandler(
+                org.apache.camel.spi.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
+         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exceptionHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDebeziumDb2EndpointBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exchangePattern the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDebeziumDb2EndpointBuilder exchangePattern(
+                org.apache.camel.ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exchangePattern the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDebeziumDb2EndpointBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+    }
+
+    public interface DebeziumDb2Builders {
+        /**
+         * Debezium DB2 Connector (camel-debezium-db2)
+         * Capture changes from a Oracle database.
+         * 
+         * Category: database,sql
+         * Since: 3.17
+         * Maven coordinates: org.apache.camel:camel-debezium-db2
+         * 
+         * Syntax: <code>debezium-db2:name</code>
+         * 
+         * Path parameter: name (required)
+         * Unique name for the connector. Attempting to register again with the
+         * same name will fail.
+         * 
+         * @param path name
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder debeziumDb2(String path) {
+            return DebeziumDb2EndpointBuilderFactory.endpointBuilder("debezium-db2", path);
+        }
+        /**
+         * Debezium DB2 Connector (camel-debezium-db2)
+         * Capture changes from a Oracle database.
+         * 
+         * Category: database,sql
+         * Since: 3.17
+         * Maven coordinates: org.apache.camel:camel-debezium-db2
+         * 
+         * Syntax: <code>debezium-db2:name</code>
+         * 
+         * Path parameter: name (required)
+         * Unique name for the connector. Attempting to register again with the
+         * same name will fail.
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path name
+         * @return the dsl builder
+         */
+        default DebeziumDb2EndpointBuilder debeziumDb2(
+                String componentName,
+                String path) {
+            return DebeziumDb2EndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+    static DebeziumDb2EndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class DebeziumDb2EndpointBuilderImpl extends AbstractEndpointBuilder implements DebeziumDb2EndpointBuilder, AdvancedDebeziumDb2EndpointBuilder {
+            public DebeziumDb2EndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new DebeziumDb2EndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file