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:48 UTC

[camel] branch main created (now 6ae7c461907)

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

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


      at 6ae7c461907 Regen

This branch includes the following new commits:

     new 6ae7c461907 Regen

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel] 01/01: Regen

Posted by ac...@apache.org.
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