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] <41898282+github-actions[bot]@users.noreply.github.com> AuthorDate: Mon Apr 4 20:46:11 2022 +0200 Regen for commit 9d54cba8f61ea9246e674e8871ead08f11cc67ca (#7359) Signed-off-by: GitHub <nore...@github.com> Co-authored-by: davsclaus <davscl...@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;additionalProperties.schema.registry.url=http://localhost:8811/avro. + * + * The option is a: <code>java.util.Map&lt;java.lang.String, + * java.lang.Object&gt;</code> 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: <code>boolean</code> 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: + * <code>org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>long</code> 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: <code>long</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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: <code>int</code> 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: <code>java.lang.String</code> 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: <code>boolean</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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: <code>int</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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: <code>int</code> 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: <code>long</code> 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: <code>long</code> 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: <code>int</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>boolean</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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;additionalProperties.schema.registry.url=http://localhost:8811/avro. + * + * The option is a: <code>java.util.Map&lt;java.lang.String, + * java.lang.Object&gt;</code> 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;additionalProperties.schema.registry.url=http://localhost:8811/avro. + * + * The option is a: <code>java.util.Map&lt;java.lang.String, + * java.lang.Object&gt;</code> 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: <code>boolean</code> 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 <code>boolean</code> + * 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>long</code> 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 <code>long</code> 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: <code>long</code> 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 <code>long</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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 <code>int</code> 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: <code>int</code> 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 <code>int</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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 <code>int</code> 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: <code>int</code> 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 <code>int</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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 <code>int</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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 <code>int</code> 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: <code>java.lang.String</code> 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: <code>int</code> 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 <code>int</code> 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: <code>int</code> 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 <code>int</code> 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: <code>long</code> 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 <code>long</code> 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: <code>long</code> 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 <code>long</code> 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: <code>int</code> 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 <code>int</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>boolean</code> 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 <code>boolean</code> + * 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: + * <code>org.apache.camel.spi.ExceptionHandler</code> 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 + * <code>org.apache.camel.spi.ExceptionHandler</code> 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: + * <code>org.apache.camel.ExchangePattern</code> 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 + * <code>org.apache.camel.ExchangePattern</code> 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