You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2022/10/04 11:59:49 UTC

[camel] 01/01: Regen

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

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

commit 6ae7c461907d767404055921fa7b3de9c9d132ee
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Oct 4 06:58:04 2022 -0500

    Regen
---
 .../org/apache/camel/catalog/components.properties |    1 +
 .../apache/camel/catalog/components}/etcd3.json    |    2 +-
 .../org/apache/camel/component/etcd3/etcd3.json    |    2 +-
 .../org/apache/camel/main/components.properties    |    1 +
 .../modules/ROOT/examples/json/etcd3.json          |    1 +
 .../component/ComponentsBuilderFactory.java        |   13 +
 .../dsl/Etcd3ComponentBuilderFactory.java          |  505 +++++
 .../src/generated/resources/metadata.json          |   22 +
 .../builder/endpoint/EndpointBuilderFactory.java   |    1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |    1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |   43 +
 .../endpoint/dsl/Etcd3EndpointBuilderFactory.java  | 1950 ++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |    1 +
 13 files changed, 2541 insertions(+), 2 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index 8d764d76c44..30bff0dd976 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -91,6 +91,7 @@ dynamic-router
 ehcache
 elasticsearch
 elasticsearch-rest
+etcd3
 exec
 facebook
 fhir
diff --git a/components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/etcd3.json
similarity index 99%
copy from components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json
copy to catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/etcd3.json
index a2a1bdf5f48..5e86b171346 100644
--- a/components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/etcd3.json
@@ -11,7 +11,7 @@
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
     "artifactId": "camel-etcd3",
-    "version": "3.19.0-SNAPSHOT",
+    "version": "3.20.0-SNAPSHOT",
     "scheme": "etcd3",
     "extendsScheme": "",
     "syntax": "etcd3:path",
diff --git a/components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json b/components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json
index a2a1bdf5f48..5e86b171346 100644
--- a/components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json
+++ b/components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json
@@ -11,7 +11,7 @@
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
     "artifactId": "camel-etcd3",
-    "version": "3.19.0-SNAPSHOT",
+    "version": "3.20.0-SNAPSHOT",
     "scheme": "etcd3",
     "extendsScheme": "",
     "syntax": "etcd3:path",
diff --git a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index 8d764d76c44..30bff0dd976 100644
--- a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -91,6 +91,7 @@ dynamic-router
 ehcache
 elasticsearch
 elasticsearch-rest
+etcd3
 exec
 facebook
 fhir
diff --git a/docs/components/modules/ROOT/examples/json/etcd3.json b/docs/components/modules/ROOT/examples/json/etcd3.json
new file mode 120000
index 00000000000..1eb85e9905d
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/etcd3.json
@@ -0,0 +1 @@
+../../../../../../components/camel-etcd3/src/generated/resources/org/apache/camel/component/etcd3/etcd3.json
\ No newline at end of file
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 acdc59d4ef2..742cc1475a5 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
@@ -1282,6 +1282,19 @@ public interface ComponentsBuilderFactory {
     static org.apache.camel.builder.component.dsl.ElasticsearchRestComponentBuilderFactory.ElasticsearchRestComponentBuilder elasticsearchRest() {
         return org.apache.camel.builder.component.dsl.ElasticsearchRestComponentBuilderFactory.elasticsearchRest();
     }
+    /**
+     * Etcd v3 (camel-etcd3)
+     * Get, set, delete or watch keys in etcd key-value store.
+     * 
+     * Category: clustering,database
+     * Since: 3.19
+     * Maven coordinates: org.apache.camel:camel-etcd3
+     * 
+     * @return the dsl builder
+     */
+    static org.apache.camel.builder.component.dsl.Etcd3ComponentBuilderFactory.Etcd3ComponentBuilder etcd3() {
+        return org.apache.camel.builder.component.dsl.Etcd3ComponentBuilderFactory.etcd3();
+    }
     /**
      * Exec (camel-exec)
      * Execute commands on the underlying operating system.
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Etcd3ComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Etcd3ComponentBuilderFactory.java
new file mode 100644
index 00000000000..b1311acaee7
--- /dev/null
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Etcd3ComponentBuilderFactory.java
@@ -0,0 +1,505 @@
+/*
+ * 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.etcd3.Etcd3Component;
+
+/**
+ * Get, set, delete or watch keys in etcd key-value store.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface Etcd3ComponentBuilderFactory {
+
+    /**
+     * Etcd v3 (camel-etcd3)
+     * Get, set, delete or watch keys in etcd key-value store.
+     * 
+     * Category: clustering,database
+     * Since: 3.19
+     * Maven coordinates: org.apache.camel:camel-etcd3
+     * 
+     * @return the dsl builder
+     */
+    static Etcd3ComponentBuilder etcd3() {
+        return new Etcd3ComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Etcd v3 component.
+     */
+    interface Etcd3ComponentBuilder extends ComponentBuilder<Etcd3Component> {
+        /**
+         * Component configuration.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.component.etcd3.Etcd3Configuration&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder configuration(
+                org.apache.camel.component.etcd3.Etcd3Configuration configuration) {
+            doSetProperty("configuration", configuration);
+            return this;
+        }
+        /**
+         * Configure etcd server endpoints using the IPNameResolver.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String[]&lt;/code&gt; type.
+         * 
+         * Default: Etcd3Constants.ETCD_DEFAULT_ENDPOINTS
+         * Group: common
+         * 
+         * @param endpoints the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder endpoints(java.lang.String[] endpoints) {
+            doSetProperty("endpoints", endpoints);
+            return this;
+        }
+        /**
+         * Configure the charset to use for the keys.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: UTF-8
+         * Group: common
+         * 
+         * @param keyCharset the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder keyCharset(java.lang.String keyCharset) {
+            doSetProperty("keyCharset", keyCharset);
+            return this;
+        }
+        /**
+         * Configure the namespace of keys used. / will be treated as no
+         * namespace.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param namespace the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder namespace(java.lang.String namespace) {
+            doSetProperty("namespace", namespace);
+            return this;
+        }
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param prefix the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder prefix(boolean prefix) {
+            doSetProperty("prefix", prefix);
+            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 Etcd3ComponentBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * The index to watch from.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0
+         * Group: consumer (advanced)
+         * 
+         * @param fromIndex the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder fromIndex(long fromIndex) {
+            doSetProperty("fromIndex", fromIndex);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Configure the charset to use for the values.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: UTF-8
+         * Group: producer
+         * 
+         * @param valueCharset the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder valueCharset(java.lang.String valueCharset) {
+            doSetProperty("valueCharset", valueCharset);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to auth request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param authHeaders the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder authHeaders(
+                java.util.Map<java.lang.String, java.lang.String> authHeaders) {
+            doSetProperty("authHeaders", authHeaders);
+            return this;
+        }
+        /**
+         * Configure the authority used to authenticate connections to servers.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param authority the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder authority(java.lang.String authority) {
+            doSetProperty("authority", authority);
+            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 Etcd3ComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+        /**
+         * Configure the connection timeout.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder connectionTimeout(
+                java.time.Duration connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to http request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param headers the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder headers(
+                java.util.Map<java.lang.String, java.lang.String> headers) {
+            doSetProperty("headers", headers);
+            return this;
+        }
+        /**
+         * Configure the interval for gRPC keepalives. The current minimum
+         * allowed by gRPC is 10 seconds.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 30 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTime the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder keepAliveTime(
+                java.time.Duration keepAliveTime) {
+            doSetProperty("keepAliveTime", keepAliveTime);
+            return this;
+        }
+        /**
+         * Configure the timeout for gRPC keepalives.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 10 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTimeout the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder keepAliveTimeout(
+                java.time.Duration keepAliveTimeout) {
+            doSetProperty("keepAliveTimeout", keepAliveTimeout);
+            return this;
+        }
+        /**
+         * Configure etcd load balancer policy.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param loadBalancerPolicy the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder loadBalancerPolicy(
+                java.lang.String loadBalancerPolicy) {
+            doSetProperty("loadBalancerPolicy", loadBalancerPolicy);
+            return this;
+        }
+        /**
+         * Configure the maximum message size allowed for a single gRPC frame.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param maxInboundMessageSize the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder maxInboundMessageSize(
+                java.lang.Integer maxInboundMessageSize) {
+            doSetProperty("maxInboundMessageSize", maxInboundMessageSize);
+            return this;
+        }
+        /**
+         * Configure the delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500
+         * Group: advanced
+         * 
+         * @param retryDelay the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder retryDelay(long retryDelay) {
+            doSetProperty("retryDelay", retryDelay);
+            return this;
+        }
+        /**
+         * Configure the max backing off delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         * 
+         * @param retryMaxDelay the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder retryMaxDelay(long retryMaxDelay) {
+            doSetProperty("retryMaxDelay", retryMaxDelay);
+            return this;
+        }
+        /**
+         * Configure the retries max duration.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param retryMaxDuration the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder retryMaxDuration(
+                java.time.Duration retryMaxDuration) {
+            doSetProperty("retryMaxDuration", retryMaxDuration);
+            return this;
+        }
+        /**
+         * The path to look for service discovery.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: /services/
+         * Group: cloud
+         * 
+         * @param servicePath the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder servicePath(java.lang.String servicePath) {
+            doSetProperty("servicePath", servicePath);
+            return this;
+        }
+        /**
+         * Configure etcd auth password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param password the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder password(java.lang.String password) {
+            doSetProperty("password", password);
+            return this;
+        }
+        /**
+         * Configure SSL/TLS context to use instead of the system default.
+         * 
+         * The option is a:
+         * &lt;code&gt;io.netty.handler.ssl.SslContext&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sslContext the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder sslContext(
+                io.netty.handler.ssl.SslContext sslContext) {
+            doSetProperty("sslContext", sslContext);
+            return this;
+        }
+        /**
+         * Configure etcd auth user.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param userName the value to set
+         * @return the dsl builder
+         */
+        default Etcd3ComponentBuilder userName(java.lang.String userName) {
+            doSetProperty("userName", userName);
+            return this;
+        }
+    }
+
+    class Etcd3ComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<Etcd3Component>
+            implements
+                Etcd3ComponentBuilder {
+        @Override
+        protected Etcd3Component buildConcreteComponent() {
+            return new Etcd3Component();
+        }
+        private org.apache.camel.component.etcd3.Etcd3Configuration getOrCreateConfiguration(
+                org.apache.camel.component.etcd3.Etcd3Component component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new org.apache.camel.component.etcd3.Etcd3Configuration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "configuration": ((Etcd3Component) component).setConfiguration((org.apache.camel.component.etcd3.Etcd3Configuration) value); return true;
+            case "endpoints": getOrCreateConfiguration((Etcd3Component) component).setEndpoints((java.lang.String[]) value); return true;
+            case "keyCharset": getOrCreateConfiguration((Etcd3Component) component).setKeyCharset((java.lang.String) value); return true;
+            case "namespace": getOrCreateConfiguration((Etcd3Component) component).setNamespace((java.lang.String) value); return true;
+            case "prefix": getOrCreateConfiguration((Etcd3Component) component).setPrefix((boolean) value); return true;
+            case "bridgeErrorHandler": ((Etcd3Component) component).setBridgeErrorHandler((boolean) value); return true;
+            case "fromIndex": getOrCreateConfiguration((Etcd3Component) component).setFromIndex((long) value); return true;
+            case "lazyStartProducer": ((Etcd3Component) component).setLazyStartProducer((boolean) value); return true;
+            case "valueCharset": getOrCreateConfiguration((Etcd3Component) component).setValueCharset((java.lang.String) value); return true;
+            case "authHeaders": getOrCreateConfiguration((Etcd3Component) component).setAuthHeaders((java.util.Map) value); return true;
+            case "authority": getOrCreateConfiguration((Etcd3Component) component).setAuthority((java.lang.String) value); return true;
+            case "autowiredEnabled": ((Etcd3Component) component).setAutowiredEnabled((boolean) value); return true;
+            case "connectionTimeout": getOrCreateConfiguration((Etcd3Component) component).setConnectionTimeout((java.time.Duration) value); return true;
+            case "headers": getOrCreateConfiguration((Etcd3Component) component).setHeaders((java.util.Map) value); return true;
+            case "keepAliveTime": getOrCreateConfiguration((Etcd3Component) component).setKeepAliveTime((java.time.Duration) value); return true;
+            case "keepAliveTimeout": getOrCreateConfiguration((Etcd3Component) component).setKeepAliveTimeout((java.time.Duration) value); return true;
+            case "loadBalancerPolicy": getOrCreateConfiguration((Etcd3Component) component).setLoadBalancerPolicy((java.lang.String) value); return true;
+            case "maxInboundMessageSize": getOrCreateConfiguration((Etcd3Component) component).setMaxInboundMessageSize((java.lang.Integer) value); return true;
+            case "retryDelay": getOrCreateConfiguration((Etcd3Component) component).setRetryDelay((long) value); return true;
+            case "retryMaxDelay": getOrCreateConfiguration((Etcd3Component) component).setRetryMaxDelay((long) value); return true;
+            case "retryMaxDuration": getOrCreateConfiguration((Etcd3Component) component).setRetryMaxDuration((java.time.Duration) value); return true;
+            case "servicePath": getOrCreateConfiguration((Etcd3Component) component).setServicePath((java.lang.String) value); return true;
+            case "password": getOrCreateConfiguration((Etcd3Component) component).setPassword((java.lang.String) value); return true;
+            case "sslContext": getOrCreateConfiguration((Etcd3Component) component).setSslContext((io.netty.handler.ssl.SslContext) value); return true;
+            case "userName": getOrCreateConfiguration((Etcd3Component) component).setUserName((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 0f4071adb25..56828037543 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -2060,6 +2060,28 @@
     "producerOnly": true,
     "lenientProperties": false
   },
+  "Etcd3ComponentBuilderFactory": {
+    "kind": "component",
+    "name": "etcd3",
+    "title": "Etcd v3",
+    "description": "Get, set, delete or watch keys in etcd key-value store.",
+    "deprecated": false,
+    "firstVersion": "3.19.0",
+    "label": "clustering,database",
+    "javaType": "org.apache.camel.component.etcd3.Etcd3Component",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-etcd3",
+    "version": "3.20.0-SNAPSHOT",
+    "scheme": "etcd3",
+    "extendsScheme": "",
+    "syntax": "etcd3:path",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
   "ExecComponentBuilderFactory": {
     "kind": "component",
     "name": "exec",
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 5c2b424edd9..3e69aa65d76 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
@@ -101,6 +101,7 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory.EKS2Builders,
             org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory.EhcacheBuilders,
             org.apache.camel.builder.endpoint.dsl.ElasticsearchEndpointBuilderFactory.ElasticsearchBuilders,
+            org.apache.camel.builder.endpoint.dsl.Etcd3EndpointBuilderFactory.Etcd3Builders,
             org.apache.camel.builder.endpoint.dsl.EventEndpointBuilderFactory.EventBuilders,
             org.apache.camel.builder.endpoint.dsl.EventHubsEndpointBuilderFactory.EventHubsBuilders,
             org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeBuilders,
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 2b0936d1356..c0337a04301 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
@@ -98,6 +98,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.ElasticsearchEndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.Etcd3EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.EventEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.EventHubsEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory,
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 2030f789417..f27ee5904f7 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
@@ -4278,6 +4278,49 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.ElasticsearchEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * Etcd v3 (camel-etcd3)
+     * Get, set, delete or watch keys in etcd key-value store.
+     * 
+     * Category: clustering,database
+     * Since: 3.19
+     * Maven coordinates: org.apache.camel:camel-etcd3
+     * 
+     * Syntax: <code>etcd3:path</code>
+     * 
+     * Path parameter: path
+     * The path the endpoint refers to
+     * 
+     * @param path path
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.Etcd3EndpointBuilderFactory.Etcd3EndpointBuilder etcd3(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.Etcd3EndpointBuilderFactory.endpointBuilder("etcd3", path);
+    }
+    /**
+     * Etcd v3 (camel-etcd3)
+     * Get, set, delete or watch keys in etcd key-value store.
+     * 
+     * Category: clustering,database
+     * Since: 3.19
+     * Maven coordinates: org.apache.camel:camel-etcd3
+     * 
+     * Syntax: <code>etcd3:path</code>
+     * 
+     * Path parameter: path
+     * The path the endpoint refers to
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path path
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.Etcd3EndpointBuilderFactory.Etcd3EndpointBuilder etcd3(
+            String componentName,
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.Etcd3EndpointBuilderFactory.endpointBuilder(componentName, path);
+    }
     /**
      * Exec (camel-exec)
      * Execute commands on the underlying operating system.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Etcd3EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Etcd3EndpointBuilderFactory.java
new file mode 100644
index 00000000000..968a186cb6e
--- /dev/null
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Etcd3EndpointBuilderFactory.java
@@ -0,0 +1,1950 @@
+/*
+ * 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;
+
+/**
+ * Get, set, delete or watch keys in etcd key-value store.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface Etcd3EndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint consumers for the Etcd v3 component.
+     */
+    public interface Etcd3EndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default AdvancedEtcd3EndpointConsumerBuilder advanced() {
+            return (AdvancedEtcd3EndpointConsumerBuilder) this;
+        }
+        /**
+         * Configure etcd server endpoints using the IPNameResolver.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String[]&lt;/code&gt; type.
+         * 
+         * Default: Etcd3Constants.ETCD_DEFAULT_ENDPOINTS
+         * Group: common
+         * 
+         * @param endpoints the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder endpoints(String[] endpoints) {
+            doSetProperty("endpoints", endpoints);
+            return this;
+        }
+        /**
+         * Configure etcd server endpoints using the IPNameResolver.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.String[]&lt;/code&gt; type.
+         * 
+         * Default: Etcd3Constants.ETCD_DEFAULT_ENDPOINTS
+         * Group: common
+         * 
+         * @param endpoints the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder endpoints(String endpoints) {
+            doSetProperty("endpoints", endpoints);
+            return this;
+        }
+        /**
+         * Configure the charset to use for the keys.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: UTF-8
+         * Group: common
+         * 
+         * @param keyCharset the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder keyCharset(String keyCharset) {
+            doSetProperty("keyCharset", keyCharset);
+            return this;
+        }
+        /**
+         * Configure the namespace of keys used. / will be treated as no
+         * namespace.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param namespace the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder namespace(String namespace) {
+            doSetProperty("namespace", namespace);
+            return this;
+        }
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param prefix the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder prefix(boolean prefix) {
+            doSetProperty("prefix", prefix);
+            return this;
+        }
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param prefix the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder prefix(String prefix) {
+            doSetProperty("prefix", prefix);
+            return this;
+        }
+        /**
+         * The path to look for service discovery.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: /services/
+         * Group: cloud
+         * 
+         * @param servicePath the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder servicePath(String servicePath) {
+            doSetProperty("servicePath", servicePath);
+            return this;
+        }
+        /**
+         * Configure etcd auth password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param password the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder password(String password) {
+            doSetProperty("password", password);
+            return this;
+        }
+        /**
+         * Configure etcd auth user.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param userName the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointConsumerBuilder userName(String userName) {
+            doSetProperty("userName", userName);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint consumers for the Etcd v3 component.
+     */
+    public interface AdvancedEtcd3EndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default Etcd3EndpointConsumerBuilder basic() {
+            return (Etcd3EndpointConsumerBuilder) 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 (advanced)
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder 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 (advanced)
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            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 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 AdvancedEtcd3EndpointConsumerBuilder 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 AdvancedEtcd3EndpointConsumerBuilder 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 AdvancedEtcd3EndpointConsumerBuilder 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 AdvancedEtcd3EndpointConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * The index to watch from.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0
+         * Group: consumer (advanced)
+         * 
+         * @param fromIndex the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder fromIndex(long fromIndex) {
+            doSetProperty("fromIndex", fromIndex);
+            return this;
+        }
+        /**
+         * The index to watch from.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 0
+         * Group: consumer (advanced)
+         * 
+         * @param fromIndex the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder fromIndex(String fromIndex) {
+            doSetProperty("fromIndex", fromIndex);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to auth request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the authHeaders(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder authHeaders(
+                String key,
+                Object value) {
+            doSetMultiValueProperty("authHeaders", "authHeaders." + key, value);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to auth request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the authHeaders(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder authHeaders(Map values) {
+            doSetMultiValueProperties("authHeaders", "authHeaders.", values);
+            return this;
+        }
+        /**
+         * Configure the authority used to authenticate connections to servers.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param authority the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder authority(String authority) {
+            doSetProperty("authority", authority);
+            return this;
+        }
+        /**
+         * Configure the connection timeout.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder connectionTimeout(
+                java.time.Duration connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Configure the connection timeout.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder connectionTimeout(
+                String connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to http request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the headers(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder headers(
+                String key,
+                Object value) {
+            doSetMultiValueProperty("headers", "headers." + key, value);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to http request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the headers(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder headers(Map values) {
+            doSetMultiValueProperties("headers", "headers.", values);
+            return this;
+        }
+        /**
+         * Configure the interval for gRPC keepalives. The current minimum
+         * allowed by gRPC is 10 seconds.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 30 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder keepAliveTime(
+                java.time.Duration keepAliveTime) {
+            doSetProperty("keepAliveTime", keepAliveTime);
+            return this;
+        }
+        /**
+         * Configure the interval for gRPC keepalives. The current minimum
+         * allowed by gRPC is 10 seconds.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 30 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder keepAliveTime(
+                String keepAliveTime) {
+            doSetProperty("keepAliveTime", keepAliveTime);
+            return this;
+        }
+        /**
+         * Configure the timeout for gRPC keepalives.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 10 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder keepAliveTimeout(
+                java.time.Duration keepAliveTimeout) {
+            doSetProperty("keepAliveTimeout", keepAliveTimeout);
+            return this;
+        }
+        /**
+         * Configure the timeout for gRPC keepalives.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 10 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder keepAliveTimeout(
+                String keepAliveTimeout) {
+            doSetProperty("keepAliveTimeout", keepAliveTimeout);
+            return this;
+        }
+        /**
+         * Configure etcd load balancer policy.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param loadBalancerPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder loadBalancerPolicy(
+                String loadBalancerPolicy) {
+            doSetProperty("loadBalancerPolicy", loadBalancerPolicy);
+            return this;
+        }
+        /**
+         * Configure the maximum message size allowed for a single gRPC frame.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param maxInboundMessageSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder maxInboundMessageSize(
+                Integer maxInboundMessageSize) {
+            doSetProperty("maxInboundMessageSize", maxInboundMessageSize);
+            return this;
+        }
+        /**
+         * Configure the maximum message size allowed for a single gRPC frame.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param maxInboundMessageSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder maxInboundMessageSize(
+                String maxInboundMessageSize) {
+            doSetProperty("maxInboundMessageSize", maxInboundMessageSize);
+            return this;
+        }
+        /**
+         * Configure the delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500
+         * Group: advanced
+         * 
+         * @param retryDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder retryDelay(long retryDelay) {
+            doSetProperty("retryDelay", retryDelay);
+            return this;
+        }
+        /**
+         * Configure the delay between retries in milliseconds.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500
+         * Group: advanced
+         * 
+         * @param retryDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder retryDelay(
+                String retryDelay) {
+            doSetProperty("retryDelay", retryDelay);
+            return this;
+        }
+        /**
+         * Configure the max backing off delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         * 
+         * @param retryMaxDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder retryMaxDelay(
+                long retryMaxDelay) {
+            doSetProperty("retryMaxDelay", retryMaxDelay);
+            return this;
+        }
+        /**
+         * Configure the max backing off delay between retries in milliseconds.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         * 
+         * @param retryMaxDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder retryMaxDelay(
+                String retryMaxDelay) {
+            doSetProperty("retryMaxDelay", retryMaxDelay);
+            return this;
+        }
+        /**
+         * Configure the retries max duration.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param retryMaxDuration the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder retryMaxDuration(
+                java.time.Duration retryMaxDuration) {
+            doSetProperty("retryMaxDuration", retryMaxDuration);
+            return this;
+        }
+        /**
+         * Configure the retries max duration.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param retryMaxDuration the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder retryMaxDuration(
+                String retryMaxDuration) {
+            doSetProperty("retryMaxDuration", retryMaxDuration);
+            return this;
+        }
+        /**
+         * Configure SSL/TLS context to use instead of the system default.
+         * 
+         * The option is a:
+         * &lt;code&gt;io.netty.handler.ssl.SslContext&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sslContext the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder sslContext(
+                io.netty.handler.ssl.SslContext sslContext) {
+            doSetProperty("sslContext", sslContext);
+            return this;
+        }
+        /**
+         * Configure SSL/TLS context to use instead of the system default.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;io.netty.handler.ssl.SslContext&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sslContext the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointConsumerBuilder sslContext(
+                String sslContext) {
+            doSetProperty("sslContext", sslContext);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint producers for the Etcd v3 component.
+     */
+    public interface Etcd3EndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedEtcd3EndpointProducerBuilder advanced() {
+            return (AdvancedEtcd3EndpointProducerBuilder) this;
+        }
+        /**
+         * Configure etcd server endpoints using the IPNameResolver.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String[]&lt;/code&gt; type.
+         * 
+         * Default: Etcd3Constants.ETCD_DEFAULT_ENDPOINTS
+         * Group: common
+         * 
+         * @param endpoints the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder endpoints(String[] endpoints) {
+            doSetProperty("endpoints", endpoints);
+            return this;
+        }
+        /**
+         * Configure etcd server endpoints using the IPNameResolver.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.String[]&lt;/code&gt; type.
+         * 
+         * Default: Etcd3Constants.ETCD_DEFAULT_ENDPOINTS
+         * Group: common
+         * 
+         * @param endpoints the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder endpoints(String endpoints) {
+            doSetProperty("endpoints", endpoints);
+            return this;
+        }
+        /**
+         * Configure the charset to use for the keys.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: UTF-8
+         * Group: common
+         * 
+         * @param keyCharset the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder keyCharset(String keyCharset) {
+            doSetProperty("keyCharset", keyCharset);
+            return this;
+        }
+        /**
+         * Configure the namespace of keys used. / will be treated as no
+         * namespace.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param namespace the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder namespace(String namespace) {
+            doSetProperty("namespace", namespace);
+            return this;
+        }
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param prefix the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder prefix(boolean prefix) {
+            doSetProperty("prefix", prefix);
+            return this;
+        }
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param prefix the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder prefix(String prefix) {
+            doSetProperty("prefix", prefix);
+            return this;
+        }
+        /**
+         * Configure the charset to use for the values.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: UTF-8
+         * Group: producer
+         * 
+         * @param valueCharset the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder valueCharset(String valueCharset) {
+            doSetProperty("valueCharset", valueCharset);
+            return this;
+        }
+        /**
+         * The path to look for service discovery.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: /services/
+         * Group: cloud
+         * 
+         * @param servicePath the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder servicePath(String servicePath) {
+            doSetProperty("servicePath", servicePath);
+            return this;
+        }
+        /**
+         * Configure etcd auth password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param password the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder password(String password) {
+            doSetProperty("password", password);
+            return this;
+        }
+        /**
+         * Configure etcd auth user.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param userName the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointProducerBuilder userName(String userName) {
+            doSetProperty("userName", userName);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint producers for the Etcd v3 component.
+     */
+    public interface AdvancedEtcd3EndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default Etcd3EndpointProducerBuilder basic() {
+            return (Etcd3EndpointProducerBuilder) this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to auth request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the authHeaders(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder authHeaders(
+                String key,
+                Object value) {
+            doSetMultiValueProperty("authHeaders", "authHeaders." + key, value);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to auth request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the authHeaders(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder authHeaders(Map values) {
+            doSetMultiValueProperties("authHeaders", "authHeaders.", values);
+            return this;
+        }
+        /**
+         * Configure the authority used to authenticate connections to servers.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param authority the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder authority(String authority) {
+            doSetProperty("authority", authority);
+            return this;
+        }
+        /**
+         * Configure the connection timeout.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder connectionTimeout(
+                java.time.Duration connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Configure the connection timeout.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder connectionTimeout(
+                String connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to http request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the headers(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder headers(
+                String key,
+                Object value) {
+            doSetMultiValueProperty("headers", "headers." + key, value);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to http request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the headers(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder headers(Map values) {
+            doSetMultiValueProperties("headers", "headers.", values);
+            return this;
+        }
+        /**
+         * Configure the interval for gRPC keepalives. The current minimum
+         * allowed by gRPC is 10 seconds.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 30 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder keepAliveTime(
+                java.time.Duration keepAliveTime) {
+            doSetProperty("keepAliveTime", keepAliveTime);
+            return this;
+        }
+        /**
+         * Configure the interval for gRPC keepalives. The current minimum
+         * allowed by gRPC is 10 seconds.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 30 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder keepAliveTime(
+                String keepAliveTime) {
+            doSetProperty("keepAliveTime", keepAliveTime);
+            return this;
+        }
+        /**
+         * Configure the timeout for gRPC keepalives.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 10 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder keepAliveTimeout(
+                java.time.Duration keepAliveTimeout) {
+            doSetProperty("keepAliveTimeout", keepAliveTimeout);
+            return this;
+        }
+        /**
+         * Configure the timeout for gRPC keepalives.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 10 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder keepAliveTimeout(
+                String keepAliveTimeout) {
+            doSetProperty("keepAliveTimeout", keepAliveTimeout);
+            return this;
+        }
+        /**
+         * Configure etcd load balancer policy.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param loadBalancerPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder loadBalancerPolicy(
+                String loadBalancerPolicy) {
+            doSetProperty("loadBalancerPolicy", loadBalancerPolicy);
+            return this;
+        }
+        /**
+         * Configure the maximum message size allowed for a single gRPC frame.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param maxInboundMessageSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder maxInboundMessageSize(
+                Integer maxInboundMessageSize) {
+            doSetProperty("maxInboundMessageSize", maxInboundMessageSize);
+            return this;
+        }
+        /**
+         * Configure the maximum message size allowed for a single gRPC frame.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param maxInboundMessageSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder maxInboundMessageSize(
+                String maxInboundMessageSize) {
+            doSetProperty("maxInboundMessageSize", maxInboundMessageSize);
+            return this;
+        }
+        /**
+         * Configure the delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500
+         * Group: advanced
+         * 
+         * @param retryDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder retryDelay(long retryDelay) {
+            doSetProperty("retryDelay", retryDelay);
+            return this;
+        }
+        /**
+         * Configure the delay between retries in milliseconds.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500
+         * Group: advanced
+         * 
+         * @param retryDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder retryDelay(
+                String retryDelay) {
+            doSetProperty("retryDelay", retryDelay);
+            return this;
+        }
+        /**
+         * Configure the max backing off delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         * 
+         * @param retryMaxDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder retryMaxDelay(
+                long retryMaxDelay) {
+            doSetProperty("retryMaxDelay", retryMaxDelay);
+            return this;
+        }
+        /**
+         * Configure the max backing off delay between retries in milliseconds.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         * 
+         * @param retryMaxDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder retryMaxDelay(
+                String retryMaxDelay) {
+            doSetProperty("retryMaxDelay", retryMaxDelay);
+            return this;
+        }
+        /**
+         * Configure the retries max duration.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param retryMaxDuration the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder retryMaxDuration(
+                java.time.Duration retryMaxDuration) {
+            doSetProperty("retryMaxDuration", retryMaxDuration);
+            return this;
+        }
+        /**
+         * Configure the retries max duration.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param retryMaxDuration the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder retryMaxDuration(
+                String retryMaxDuration) {
+            doSetProperty("retryMaxDuration", retryMaxDuration);
+            return this;
+        }
+        /**
+         * Configure SSL/TLS context to use instead of the system default.
+         * 
+         * The option is a:
+         * &lt;code&gt;io.netty.handler.ssl.SslContext&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sslContext the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder sslContext(
+                io.netty.handler.ssl.SslContext sslContext) {
+            doSetProperty("sslContext", sslContext);
+            return this;
+        }
+        /**
+         * Configure SSL/TLS context to use instead of the system default.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;io.netty.handler.ssl.SslContext&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sslContext the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointProducerBuilder sslContext(
+                String sslContext) {
+            doSetProperty("sslContext", sslContext);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint for the Etcd v3 component.
+     */
+    public interface Etcd3EndpointBuilder
+            extends
+                Etcd3EndpointConsumerBuilder,
+                Etcd3EndpointProducerBuilder {
+        default AdvancedEtcd3EndpointBuilder advanced() {
+            return (AdvancedEtcd3EndpointBuilder) this;
+        }
+        /**
+         * Configure etcd server endpoints using the IPNameResolver.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String[]&lt;/code&gt; type.
+         * 
+         * Default: Etcd3Constants.ETCD_DEFAULT_ENDPOINTS
+         * Group: common
+         * 
+         * @param endpoints the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder endpoints(String[] endpoints) {
+            doSetProperty("endpoints", endpoints);
+            return this;
+        }
+        /**
+         * Configure etcd server endpoints using the IPNameResolver.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.String[]&lt;/code&gt; type.
+         * 
+         * Default: Etcd3Constants.ETCD_DEFAULT_ENDPOINTS
+         * Group: common
+         * 
+         * @param endpoints the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder endpoints(String endpoints) {
+            doSetProperty("endpoints", endpoints);
+            return this;
+        }
+        /**
+         * Configure the charset to use for the keys.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: UTF-8
+         * Group: common
+         * 
+         * @param keyCharset the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder keyCharset(String keyCharset) {
+            doSetProperty("keyCharset", keyCharset);
+            return this;
+        }
+        /**
+         * Configure the namespace of keys used. / will be treated as no
+         * namespace.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param namespace the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder namespace(String namespace) {
+            doSetProperty("namespace", namespace);
+            return this;
+        }
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param prefix the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder prefix(boolean prefix) {
+            doSetProperty("prefix", prefix);
+            return this;
+        }
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param prefix the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder prefix(String prefix) {
+            doSetProperty("prefix", prefix);
+            return this;
+        }
+        /**
+         * The path to look for service discovery.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: /services/
+         * Group: cloud
+         * 
+         * @param servicePath the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder servicePath(String servicePath) {
+            doSetProperty("servicePath", servicePath);
+            return this;
+        }
+        /**
+         * Configure etcd auth password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param password the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder password(String password) {
+            doSetProperty("password", password);
+            return this;
+        }
+        /**
+         * Configure etcd auth user.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param userName the value to set
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder userName(String userName) {
+            doSetProperty("userName", userName);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Etcd v3 component.
+     */
+    public interface AdvancedEtcd3EndpointBuilder
+            extends
+                AdvancedEtcd3EndpointConsumerBuilder,
+                AdvancedEtcd3EndpointProducerBuilder {
+        default Etcd3EndpointBuilder basic() {
+            return (Etcd3EndpointBuilder) this;
+        }
+        /**
+         * Configure the headers to be added to auth request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the authHeaders(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder authHeaders(
+                String key,
+                Object value) {
+            doSetMultiValueProperty("authHeaders", "authHeaders." + key, value);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to auth request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the authHeaders(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder authHeaders(Map values) {
+            doSetMultiValueProperties("authHeaders", "authHeaders.", values);
+            return this;
+        }
+        /**
+         * Configure the authority used to authenticate connections to servers.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param authority the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder authority(String authority) {
+            doSetProperty("authority", authority);
+            return this;
+        }
+        /**
+         * Configure the connection timeout.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder connectionTimeout(
+                java.time.Duration connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Configure the connection timeout.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder connectionTimeout(
+                String connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to http request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the headers(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder headers(String key, Object value) {
+            doSetMultiValueProperty("headers", "headers." + key, value);
+            return this;
+        }
+        /**
+         * Configure the headers to be added to http request headers.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is multivalued, and you can use the headers(String,
+         * Object) method to add a value (call the method multiple times to set
+         * more values).
+         * 
+         * Group: advanced
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder headers(Map values) {
+            doSetMultiValueProperties("headers", "headers.", values);
+            return this;
+        }
+        /**
+         * Configure the interval for gRPC keepalives. The current minimum
+         * allowed by gRPC is 10 seconds.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 30 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder keepAliveTime(
+                java.time.Duration keepAliveTime) {
+            doSetProperty("keepAliveTime", keepAliveTime);
+            return this;
+        }
+        /**
+         * Configure the interval for gRPC keepalives. The current minimum
+         * allowed by gRPC is 10 seconds.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 30 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder keepAliveTime(String keepAliveTime) {
+            doSetProperty("keepAliveTime", keepAliveTime);
+            return this;
+        }
+        /**
+         * Configure the timeout for gRPC keepalives.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 10 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder keepAliveTimeout(
+                java.time.Duration keepAliveTimeout) {
+            doSetProperty("keepAliveTimeout", keepAliveTimeout);
+            return this;
+        }
+        /**
+         * Configure the timeout for gRPC keepalives.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 10 seconds
+         * Group: advanced
+         * 
+         * @param keepAliveTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder keepAliveTimeout(
+                String keepAliveTimeout) {
+            doSetProperty("keepAliveTimeout", keepAliveTimeout);
+            return this;
+        }
+        /**
+         * Configure etcd load balancer policy.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param loadBalancerPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder loadBalancerPolicy(
+                String loadBalancerPolicy) {
+            doSetProperty("loadBalancerPolicy", loadBalancerPolicy);
+            return this;
+        }
+        /**
+         * Configure the maximum message size allowed for a single gRPC frame.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param maxInboundMessageSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder maxInboundMessageSize(
+                Integer maxInboundMessageSize) {
+            doSetProperty("maxInboundMessageSize", maxInboundMessageSize);
+            return this;
+        }
+        /**
+         * Configure the maximum message size allowed for a single gRPC frame.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param maxInboundMessageSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder maxInboundMessageSize(
+                String maxInboundMessageSize) {
+            doSetProperty("maxInboundMessageSize", maxInboundMessageSize);
+            return this;
+        }
+        /**
+         * Configure the delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500
+         * Group: advanced
+         * 
+         * @param retryDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder retryDelay(long retryDelay) {
+            doSetProperty("retryDelay", retryDelay);
+            return this;
+        }
+        /**
+         * Configure the delay between retries in milliseconds.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 500
+         * Group: advanced
+         * 
+         * @param retryDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder retryDelay(String retryDelay) {
+            doSetProperty("retryDelay", retryDelay);
+            return this;
+        }
+        /**
+         * Configure the max backing off delay between retries in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         * 
+         * @param retryMaxDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder retryMaxDelay(long retryMaxDelay) {
+            doSetProperty("retryMaxDelay", retryMaxDelay);
+            return this;
+        }
+        /**
+         * Configure the max backing off delay between retries in milliseconds.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         * 
+         * @param retryMaxDelay the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder retryMaxDelay(String retryMaxDelay) {
+            doSetProperty("retryMaxDelay", retryMaxDelay);
+            return this;
+        }
+        /**
+         * Configure the retries max duration.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param retryMaxDuration the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder retryMaxDuration(
+                java.time.Duration retryMaxDuration) {
+            doSetProperty("retryMaxDuration", retryMaxDuration);
+            return this;
+        }
+        /**
+         * Configure the retries max duration.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param retryMaxDuration the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder retryMaxDuration(
+                String retryMaxDuration) {
+            doSetProperty("retryMaxDuration", retryMaxDuration);
+            return this;
+        }
+        /**
+         * Configure SSL/TLS context to use instead of the system default.
+         * 
+         * The option is a:
+         * &lt;code&gt;io.netty.handler.ssl.SslContext&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sslContext the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder sslContext(
+                io.netty.handler.ssl.SslContext sslContext) {
+            doSetProperty("sslContext", sslContext);
+            return this;
+        }
+        /**
+         * Configure SSL/TLS context to use instead of the system default.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;io.netty.handler.ssl.SslContext&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sslContext the value to set
+         * @return the dsl builder
+         */
+        default AdvancedEtcd3EndpointBuilder sslContext(String sslContext) {
+            doSetProperty("sslContext", sslContext);
+            return this;
+        }
+    }
+
+    public interface Etcd3Builders {
+        /**
+         * Etcd v3 (camel-etcd3)
+         * Get, set, delete or watch keys in etcd key-value store.
+         * 
+         * Category: clustering,database
+         * Since: 3.19
+         * Maven coordinates: org.apache.camel:camel-etcd3
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default Etcd3HeaderNameBuilder etcd3() {
+            return Etcd3HeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * Etcd v3 (camel-etcd3)
+         * Get, set, delete or watch keys in etcd key-value store.
+         * 
+         * Category: clustering,database
+         * Since: 3.19
+         * Maven coordinates: org.apache.camel:camel-etcd3
+         * 
+         * Syntax: <code>etcd3:path</code>
+         * 
+         * Path parameter: path
+         * The path the endpoint refers to
+         * 
+         * @param path path
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder etcd3(String path) {
+            return Etcd3EndpointBuilderFactory.endpointBuilder("etcd3", path);
+        }
+        /**
+         * Etcd v3 (camel-etcd3)
+         * Get, set, delete or watch keys in etcd key-value store.
+         * 
+         * Category: clustering,database
+         * Since: 3.19
+         * Maven coordinates: org.apache.camel:camel-etcd3
+         * 
+         * Syntax: <code>etcd3:path</code>
+         * 
+         * Path parameter: path
+         * The path the endpoint refers to
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path path
+         * @return the dsl builder
+         */
+        default Etcd3EndpointBuilder etcd3(String componentName, String path) {
+            return Etcd3EndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+
+    /**
+     * The builder of headers' name for the Etcd v3 component.
+     */
+    public static class Etcd3HeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final Etcd3HeaderNameBuilder INSTANCE = new Etcd3HeaderNameBuilder();
+
+        /**
+         * The action to perform. Supported values: set get delete.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code EtcdAction}.
+         */
+        public String etcdAction() {
+            return "EtcdAction";
+        }
+
+        /**
+         * The target path.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code EtcdPath}.
+         */
+        public String etcdPath() {
+            return "EtcdPath";
+        }
+
+        /**
+         * To apply an action on all the key-value pairs whose key that starts
+         * with the target path.
+         * 
+         * The option is a: {@code Boolean} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code EtcdIsPrefix}.
+         */
+        public String etcdIsPrefix() {
+            return "EtcdIsPrefix";
+        }
+
+        /**
+         * The charset to use for the keys.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code EtcdKeyCharset}.
+         */
+        public String etcdKeyCharset() {
+            return "EtcdKeyCharset";
+        }
+
+        /**
+         * The charset to use for the values.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code EtcdValueCharset}.
+         */
+        public String etcdValueCharset() {
+            return "EtcdValueCharset";
+        }
+    }
+    static Etcd3EndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class Etcd3EndpointBuilderImpl extends AbstractEndpointBuilder implements Etcd3EndpointBuilder, AdvancedEtcd3EndpointBuilder {
+            public Etcd3EndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new Etcd3EndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 39e5d475aa6..a39fde7c7f2 100644
--- a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -106,6 +106,7 @@ org.apache.camel.component.dynamicrouter.DynamicRouterComponent=camel:dynamic-ro
 org.apache.camel.component.ehcache.EhcacheComponent=camel:ehcache
 org.apache.camel.component.elasticsearch.ElasticsearchComponent=camel:elasticsearch-rest
 org.apache.camel.component.es.ElasticsearchComponent=camel:elasticsearch
+org.apache.camel.component.etcd3.Etcd3Component=camel:etcd3
 org.apache.camel.component.event.EventComponent=camel:spring
 org.apache.camel.component.exec.ExecComponent=camel:exec
 org.apache.camel.component.facebook.FacebookComponent=camel:facebook