You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/12/25 15:15:15 UTC

[camel] 02/02: CAMEL-17319: Regen

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

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

commit afcb9f4ca3d1730e437558aa2d39623dc38aa933
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Dec 25 16:14:35 2021 +0100

    CAMEL-17319: Regen
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../camel/catalog/components/milo-browse.json      |  82 +++
 .../org/apache/camel/main/components.properties    |   1 +
 .../component/ComponentsBuilderFactory.java        |  14 +
 .../dsl/MiloBrowseComponentBuilderFactory.java     | 489 +++++++++++++
 .../src/generated/resources/metadata.json          |  22 +
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  45 ++
 .../dsl/MiloBrowseEndpointBuilderFactory.java      | 782 +++++++++++++++++++++
 .../EndpointProducerDeserializersResolver.java     |   1 +
 11 files changed, 1439 insertions(+)

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 2cc22bc..4e8cbd8 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
@@ -219,6 +219,7 @@ master
 metrics
 micrometer
 microprofile-metrics
+milo-browse
 milo-client
 milo-server
 mina
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-browse.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-browse.json
new file mode 100644
index 0000000..d4f75d1
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-browse.json
@@ -0,0 +1,82 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "milo-browse",
+    "title": "OPC UA Browser",
+    "description": "Connect to OPC UA servers using the binary protocol for browsing the node tree.",
+    "deprecated": false,
+    "firstVersion": "3.15.0",
+    "label": "iot",
+    "javaType": "org.apache.camel.component.milo.browse.MiloBrowseComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-milo",
+    "version": "3.15.0-SNAPSHOT",
+    "scheme": "milo-browse",
+    "extendsScheme": "",
+    "syntax": "milo-browse:endpointUri",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "clientId": { "kind": "property", "displayName": "Client Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "A virtual client id to force the creation of a new connection instance" },
+    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.milo.client.MiloClientConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "All default options for client configurations" },
+    "discoveryEndpointSuffix": { "kind": "property", "displayName": "Discovery Endpoint Suffix", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "A suffix for endpoint URI when discovering" },
+    "discoveryEndpointUri": { "kind": "property", "displayName": "Discovery Endpoint Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "An alternative discovery URI" },
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "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 t [...]
+    "allowedSecurityPolicies": { "kind": "property", "displayName": "Allowed Security Policies", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "A set of allowed security policy URIs. Default is to accept all and use the highest." },
+    "applicationName": { "kind": "property", "displayName": "Application Name", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Apache Camel adapter for Eclipse Milo", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The application name" },
+    "applicationUri": { "kind": "property", "displayName": "Application Uri", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "http:\/\/camel.apache.org\/EclipseMilo\/Client", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The application URI" },
+    "channelLifetime": { "kind": "property", "displayName": "Channel Lifetime", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Channel lifetime in milliseconds" },
+    "keyAlias": { "kind": "property", "displayName": "Key Alias", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The name of the key in the keystore file" },
+    "keyPassword": { "kind": "property", "displayName": "Key Password", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The key password" },
+    "keyStorePassword": { "kind": "property", "displayName": "Key Store Password", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The keystore password" },
+    "keyStoreType": { "kind": "property", "displayName": "Key Store Type", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The key store type" },
+    "keyStoreUrl": { "kind": "property", "displayName": "Key Store Url", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The URL where the key should be loaded from" },
+    "maxPendingPublishRequests": { "kind": "property", "displayName": "Max Pending Publish Requests", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The maximum number of pending publish requests" },
+    "maxResponseMessageSize": { "kind": "property", "displayName": "Max Response Message Size", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The maximum number of bytes a response message may have" },
+    "miloClientConnectionManager": { "kind": "property", "displayName": "Milo Client Connection Manager", "group": "client", "label": "client", "required": false, "type": "object", "javaType": "org.apache.camel.component.milo.client.MiloClientConnectionManager", "deprecated": false, "autowired": true, "secret": false, "description": "Instance for managing client connections" },
+    "overrideHost": { "kind": "property", "displayName": "Override Host", "group": "client", "label": "client", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Override the server reported endpoint host with the host from the endpoint URI." },
+    "productUri": { "kind": "property", "displayName": "Product Uri", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The product URI" },
+    "requestedPublishingInterval": { "kind": "property", "displayName": "Requested Publishing Interval", "group": "client", "label": "client", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1_000.0", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The requested publishing interval in milliseconds" },
+    "requestTimeout": { "kind": "property", "displayName": "Request Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Request timeout in milliseconds" },
+    "sessionName": { "kind": "property", "displayName": "Session Name", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "kind": "property", "displayName": "Session Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session timeout in milliseconds" }
+  },
+  "properties": {
+    "endpointUri": { "kind": "path", "displayName": "Endpoint Uri", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The OPC UA server endpoint" },
+    "clientId": { "kind": "parameter", "displayName": "Client Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "A virtual client id to force the creation of a new connection instance" },
+    "depth": { "kind": "parameter", "displayName": "Depth", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3, "description": "When browsing recursively into sub-types, what's the maximum search depth for diving into the tree. Default value notice: Maximum depth for browsing recursively (only if recursive = true)" },
+    "direction": { "kind": "parameter", "displayName": "Direction", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.eclipse.milo.opcua.stack.core.types.enumerated.BrowseDirection", "enum": [ "Forward", "Inverse", "Both" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Forward", "description": "The direction to browse (forward, inverse, ...). Default value notice: The direction to browse; see org.eclipse.milo.opcua.stack [...]
+    "discoveryEndpointSuffix": { "kind": "parameter", "displayName": "Discovery Endpoint Suffix", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "A suffix for endpoint URI when discovering" },
+    "discoveryEndpointUri": { "kind": "parameter", "displayName": "Discovery Endpoint Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "An alternative discovery URI" },
+    "filter": { "kind": "parameter", "displayName": "Filter", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "None", "description": "Filter out node ids to limit browsing. Default value notice: Regular filter expression matching node ids" },
+    "includeSubTypes": { "kind": "parameter", "displayName": "Include Sub Types", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to include sub-types for browsing; only applicable for non-recursive browsing" },
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 sta [...]
+    "maxNodeIdsPerRequest": { "kind": "parameter", "displayName": "Max Node Ids Per Request", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "description": "The maximum number node ids requested per server call. Default value notice: Maximum number of node ids requested per browse call (applies to browsing sub-types only; only if recursive = true)" },
+    "node": { "kind": "parameter", "displayName": "Node", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "ns=0;id=84", "description": "The node definition (see Node ID). Default value notice: Root folder as per OPC-UA spec" },
+    "nodeClasses": { "kind": "parameter", "displayName": "Node Classes", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Variable,Object,DataType", "description": "The mask indicating the node classes of interest in browsing. Default value notice: Comma-separated node class list; see org.eclipse.milo.opcua.stack.core.types.enumerated.NodeClass" },
+    "recursive": { "kind": "parameter", "displayName": "Recursive", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to browse recursively into sub-types, ignores includeSubTypes setting as it's implied to be set to true. Default value notice: Whether to recursively browse sub-types: truefalse" },
+    "allowedSecurityPolicies": { "kind": "parameter", "displayName": "Allowed Security Policies", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "A set of allowed security policy URIs. Default is to accept all and use the highest." },
+    "applicationName": { "kind": "parameter", "displayName": "Application Name", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Apache Camel adapter for Eclipse Milo", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The application name" },
+    "applicationUri": { "kind": "parameter", "displayName": "Application Uri", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "http:\/\/camel.apache.org\/EclipseMilo\/Client", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The application URI" },
+    "channelLifetime": { "kind": "parameter", "displayName": "Channel Lifetime", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Channel lifetime in milliseconds" },
+    "keyAlias": { "kind": "parameter", "displayName": "Key Alias", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The name of the key in the keystore file" },
+    "keyPassword": { "kind": "parameter", "displayName": "Key Password", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The key password" },
+    "keyStorePassword": { "kind": "parameter", "displayName": "Key Store Password", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The keystore password" },
+    "keyStoreType": { "kind": "parameter", "displayName": "Key Store Type", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The key store type" },
+    "keyStoreUrl": { "kind": "parameter", "displayName": "Key Store Url", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The URL where the key should be loaded from" },
+    "maxPendingPublishRequests": { "kind": "parameter", "displayName": "Max Pending Publish Requests", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The maximum number of pending publish requests" },
+    "maxResponseMessageSize": { "kind": "parameter", "displayName": "Max Response Message Size", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The maximum number of bytes a response message may have" },
+    "overrideHost": { "kind": "parameter", "displayName": "Override Host", "group": "client", "label": "client", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Override the server reported endpoint host with the host from the endpoint URI." },
+    "productUri": { "kind": "parameter", "displayName": "Product Uri", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The product URI" },
+    "requestedPublishingInterval": { "kind": "parameter", "displayName": "Requested Publishing Interval", "group": "client", "label": "client", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1_000.0", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The requested publishing interval in milliseconds" },
+    "requestTimeout": { "kind": "parameter", "displayName": "Request Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Request timeout in milliseconds" },
+    "sessionName": { "kind": "parameter", "displayName": "Session Name", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "kind": "parameter", "displayName": "Session Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session timeout in milliseconds" }
+  }
+}
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 2cc22bc..4e8cbd8 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
@@ -219,6 +219,7 @@ master
 metrics
 micrometer
 microprofile-metrics
+milo-browse
 milo-client
 milo-server
 mina
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 4d159a9..46ecf17 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
@@ -2986,6 +2986,20 @@ public interface ComponentsBuilderFactory {
         return org.apache.camel.builder.component.dsl.MicroprofileMetricsComponentBuilderFactory.microprofileMetrics();
     }
     /**
+     * OPC UA Browser (camel-milo)
+     * Connect to OPC UA servers using the binary protocol for browsing the node
+     * tree.
+     * 
+     * Category: iot
+     * Since: 3.15
+     * Maven coordinates: org.apache.camel:camel-milo
+     * 
+     * @return the dsl builder
+     */
+    static org.apache.camel.builder.component.dsl.MiloBrowseComponentBuilderFactory.MiloBrowseComponentBuilder miloBrowse() {
+        return org.apache.camel.builder.component.dsl.MiloBrowseComponentBuilderFactory.miloBrowse();
+    }
+    /**
      * OPC UA Client (camel-milo)
      * Connect to OPC UA servers using the binary protocol for acquiring
      * telemetry data.
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloBrowseComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloBrowseComponentBuilderFactory.java
new file mode 100644
index 0000000..4a1cd02
--- /dev/null
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloBrowseComponentBuilderFactory.java
@@ -0,0 +1,489 @@
+/*
+ * 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.milo.browse.MiloBrowseComponent;
+
+/**
+ * Connect to OPC UA servers using the binary protocol for browsing the node
+ * tree.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface MiloBrowseComponentBuilderFactory {
+
+    /**
+     * OPC UA Browser (camel-milo)
+     * Connect to OPC UA servers using the binary protocol for browsing the node
+     * tree.
+     * 
+     * Category: iot
+     * Since: 3.15
+     * Maven coordinates: org.apache.camel:camel-milo
+     * 
+     * @return the dsl builder
+     */
+    static MiloBrowseComponentBuilder miloBrowse() {
+        return new MiloBrowseComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the OPC UA Browser component.
+     */
+    interface MiloBrowseComponentBuilder
+            extends
+                ComponentBuilder<MiloBrowseComponent> {
+        /**
+         * A virtual client id to force the creation of a new connection
+         * instance.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param clientId the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder clientId(java.lang.String clientId) {
+            doSetProperty("clientId", clientId);
+            return this;
+        }
+        /**
+         * All default options for client configurations.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.component.milo.client.MiloClientConfiguration&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder configuration(
+                org.apache.camel.component.milo.client.MiloClientConfiguration configuration) {
+            doSetProperty("configuration", configuration);
+            return this;
+        }
+        /**
+         * A suffix for endpoint URI when discovering.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param discoveryEndpointSuffix the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder discoveryEndpointSuffix(
+                java.lang.String discoveryEndpointSuffix) {
+            doSetProperty("discoveryEndpointSuffix", discoveryEndpointSuffix);
+            return this;
+        }
+        /**
+         * An alternative discovery URI.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param discoveryEndpointUri the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder discoveryEndpointUri(
+                java.lang.String discoveryEndpointUri) {
+            doSetProperty("discoveryEndpointUri", discoveryEndpointUri);
+            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 MiloBrowseComponentBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            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 MiloBrowseComponentBuilder autowiredEnabled(
+                boolean autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+        /**
+         * A set of allowed security policy URIs. Default is to accept all and
+         * use the highest.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param allowedSecurityPolicies the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder allowedSecurityPolicies(
+                java.lang.String allowedSecurityPolicies) {
+            doSetProperty("allowedSecurityPolicies", allowedSecurityPolicies);
+            return this;
+        }
+        /**
+         * The application name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: Apache Camel adapter for Eclipse Milo
+         * Group: client
+         * 
+         * @param applicationName the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder applicationName(
+                java.lang.String applicationName) {
+            doSetProperty("applicationName", applicationName);
+            return this;
+        }
+        /**
+         * The application URI.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: http://camel.apache.org/EclipseMilo/Client
+         * Group: client
+         * 
+         * @param applicationUri the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder applicationUri(
+                java.lang.String applicationUri) {
+            doSetProperty("applicationUri", applicationUri);
+            return this;
+        }
+        /**
+         * Channel lifetime in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param channelLifetime the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder channelLifetime(
+                java.lang.Long channelLifetime) {
+            doSetProperty("channelLifetime", channelLifetime);
+            return this;
+        }
+        /**
+         * The name of the key in the keystore file.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyAlias the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder keyAlias(java.lang.String keyAlias) {
+            doSetProperty("keyAlias", keyAlias);
+            return this;
+        }
+        /**
+         * The key password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyPassword the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder keyPassword(
+                java.lang.String keyPassword) {
+            doSetProperty("keyPassword", keyPassword);
+            return this;
+        }
+        /**
+         * The keystore password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyStorePassword the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder keyStorePassword(
+                java.lang.String keyStorePassword) {
+            doSetProperty("keyStorePassword", keyStorePassword);
+            return this;
+        }
+        /**
+         * The key store type.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyStoreType the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder keyStoreType(
+                java.lang.String keyStoreType) {
+            doSetProperty("keyStoreType", keyStoreType);
+            return this;
+        }
+        /**
+         * The URL where the key should be loaded from.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyStoreUrl the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder keyStoreUrl(
+                java.lang.String keyStoreUrl) {
+            doSetProperty("keyStoreUrl", keyStoreUrl);
+            return this;
+        }
+        /**
+         * The maximum number of pending publish requests.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param maxPendingPublishRequests the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder maxPendingPublishRequests(
+                java.lang.Long maxPendingPublishRequests) {
+            doSetProperty("maxPendingPublishRequests", maxPendingPublishRequests);
+            return this;
+        }
+        /**
+         * The maximum number of bytes a response message may have.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param maxResponseMessageSize the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder maxResponseMessageSize(
+                java.lang.Long maxResponseMessageSize) {
+            doSetProperty("maxResponseMessageSize", maxResponseMessageSize);
+            return this;
+        }
+        /**
+         * Instance for managing client connections.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.component.milo.client.MiloClientConnectionManager&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param miloClientConnectionManager the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder miloClientConnectionManager(
+                org.apache.camel.component.milo.client.MiloClientConnectionManager miloClientConnectionManager) {
+            doSetProperty("miloClientConnectionManager", miloClientConnectionManager);
+            return this;
+        }
+        /**
+         * Override the server reported endpoint host with the host from the
+         * endpoint URI.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: client
+         * 
+         * @param overrideHost the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder overrideHost(boolean overrideHost) {
+            doSetProperty("overrideHost", overrideHost);
+            return this;
+        }
+        /**
+         * The product URI.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: http://camel.apache.org/EclipseMilo
+         * Group: client
+         * 
+         * @param productUri the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder productUri(
+                java.lang.String productUri) {
+            doSetProperty("productUri", productUri);
+            return this;
+        }
+        /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Double&lt;/code&gt; type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         * 
+         * @param requestedPublishingInterval the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder requestedPublishingInterval(
+                java.lang.Double requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
+         * Request timeout in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param requestTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder requestTimeout(
+                java.lang.Long requestTimeout) {
+            doSetProperty("requestTimeout", requestTimeout);
+            return this;
+        }
+        /**
+         * Session name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param sessionName the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder sessionName(
+                java.lang.String sessionName) {
+            doSetProperty("sessionName", sessionName);
+            return this;
+        }
+        /**
+         * Session timeout in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param sessionTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder sessionTimeout(
+                java.lang.Long sessionTimeout) {
+            doSetProperty("sessionTimeout", sessionTimeout);
+            return this;
+        }
+    }
+
+    class MiloBrowseComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<MiloBrowseComponent>
+            implements
+                MiloBrowseComponentBuilder {
+        @Override
+        protected MiloBrowseComponent buildConcreteComponent() {
+            return new MiloBrowseComponent();
+        }
+        private org.apache.camel.component.milo.client.MiloClientConfiguration getOrCreateConfiguration(
+                org.apache.camel.component.milo.browse.MiloBrowseComponent component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new org.apache.camel.component.milo.client.MiloClientConfiguration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "clientId": getOrCreateConfiguration((MiloBrowseComponent) component).setClientId((java.lang.String) value); return true;
+            case "configuration": ((MiloBrowseComponent) component).setConfiguration((org.apache.camel.component.milo.client.MiloClientConfiguration) value); return true;
+            case "discoveryEndpointSuffix": getOrCreateConfiguration((MiloBrowseComponent) component).setDiscoveryEndpointSuffix((java.lang.String) value); return true;
+            case "discoveryEndpointUri": getOrCreateConfiguration((MiloBrowseComponent) component).setDiscoveryEndpointUri((java.lang.String) value); return true;
+            case "lazyStartProducer": ((MiloBrowseComponent) component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((MiloBrowseComponent) component).setAutowiredEnabled((boolean) value); return true;
+            case "allowedSecurityPolicies": getOrCreateConfiguration((MiloBrowseComponent) component).setAllowedSecurityPolicies((java.lang.String) value); return true;
+            case "applicationName": getOrCreateConfiguration((MiloBrowseComponent) component).setApplicationName((java.lang.String) value); return true;
+            case "applicationUri": getOrCreateConfiguration((MiloBrowseComponent) component).setApplicationUri((java.lang.String) value); return true;
+            case "channelLifetime": getOrCreateConfiguration((MiloBrowseComponent) component).setChannelLifetime((java.lang.Long) value); return true;
+            case "keyAlias": getOrCreateConfiguration((MiloBrowseComponent) component).setKeyAlias((java.lang.String) value); return true;
+            case "keyPassword": getOrCreateConfiguration((MiloBrowseComponent) component).setKeyPassword((java.lang.String) value); return true;
+            case "keyStorePassword": getOrCreateConfiguration((MiloBrowseComponent) component).setKeyStorePassword((java.lang.String) value); return true;
+            case "keyStoreType": getOrCreateConfiguration((MiloBrowseComponent) component).setKeyStoreType((java.lang.String) value); return true;
+            case "keyStoreUrl": getOrCreateConfiguration((MiloBrowseComponent) component).setKeyStoreUrl((java.lang.String) value); return true;
+            case "maxPendingPublishRequests": getOrCreateConfiguration((MiloBrowseComponent) component).setMaxPendingPublishRequests((java.lang.Long) value); return true;
+            case "maxResponseMessageSize": getOrCreateConfiguration((MiloBrowseComponent) component).setMaxResponseMessageSize((java.lang.Long) value); return true;
+            case "miloClientConnectionManager": ((MiloBrowseComponent) component).setMiloClientConnectionManager((org.apache.camel.component.milo.client.MiloClientConnectionManager) value); return true;
+            case "overrideHost": getOrCreateConfiguration((MiloBrowseComponent) component).setOverrideHost((boolean) value); return true;
+            case "productUri": getOrCreateConfiguration((MiloBrowseComponent) component).setProductUri((java.lang.String) value); return true;
+            case "requestedPublishingInterval": getOrCreateConfiguration((MiloBrowseComponent) component).setRequestedPublishingInterval((java.lang.Double) value); return true;
+            case "requestTimeout": getOrCreateConfiguration((MiloBrowseComponent) component).setRequestTimeout((java.lang.Long) value); return true;
+            case "sessionName": getOrCreateConfiguration((MiloBrowseComponent) component).setSessionName((java.lang.String) value); return true;
+            case "sessionTimeout": getOrCreateConfiguration((MiloBrowseComponent) component).setSessionTimeout((java.lang.Long) 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 02d5c6c..55a67bd 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -4896,6 +4896,28 @@
     "producerOnly": true,
     "lenientProperties": false
   },
+  "MiloBrowseComponentBuilderFactory": {
+    "kind": "component",
+    "name": "milo-browse",
+    "title": "OPC UA Browser",
+    "description": "Connect to OPC UA servers using the binary protocol for browsing the node tree.",
+    "deprecated": false,
+    "firstVersion": "3.15.0",
+    "label": "iot",
+    "javaType": "org.apache.camel.component.milo.browse.MiloBrowseComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-milo",
+    "version": "3.15.0-SNAPSHOT",
+    "scheme": "milo-browse",
+    "extendsScheme": "",
+    "syntax": "milo-browse:endpointUri",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
   "MiloClientComponentBuilderFactory": {
     "kind": "component",
     "name": "milo-client",
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 580633d..a7d92f7 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
@@ -235,6 +235,7 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory.MetricsBuilders,
             org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory.MicroProfileMetricsBuilders,
             org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory.MicrometerBuilders,
+            org.apache.camel.builder.endpoint.dsl.MiloBrowseEndpointBuilderFactory.MiloBrowseBuilders,
             org.apache.camel.builder.endpoint.dsl.MiloClientEndpointBuilderFactory.MiloClientBuilders,
             org.apache.camel.builder.endpoint.dsl.MiloServerEndpointBuilderFactory.MiloServerBuilders,
             org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory.MinaBuilders,
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 61865bc..1c50eda 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
@@ -232,6 +232,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.MiloBrowseEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MiloClientEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MiloServerEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory,
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 708404a..7dd234a 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
@@ -10218,6 +10218,51 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
     /**
+     * OPC UA Browser (camel-milo)
+     * Connect to OPC UA servers using the binary protocol for browsing the node
+     * tree.
+     * 
+     * Category: iot
+     * Since: 3.15
+     * Maven coordinates: org.apache.camel:camel-milo
+     * 
+     * Syntax: <code>milo-browse:endpointUri</code>
+     * 
+     * Path parameter: endpointUri (required)
+     * The OPC UA server endpoint
+     * 
+     * @param path endpointUri
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MiloBrowseEndpointBuilderFactory.MiloBrowseEndpointBuilder miloBrowse(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MiloBrowseEndpointBuilderFactory.endpointBuilder("milo-browse", path);
+    }
+    /**
+     * OPC UA Browser (camel-milo)
+     * Connect to OPC UA servers using the binary protocol for browsing the node
+     * tree.
+     * 
+     * Category: iot
+     * Since: 3.15
+     * Maven coordinates: org.apache.camel:camel-milo
+     * 
+     * Syntax: <code>milo-browse:endpointUri</code>
+     * 
+     * Path parameter: endpointUri (required)
+     * The OPC UA server endpoint
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path endpointUri
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MiloBrowseEndpointBuilderFactory.MiloBrowseEndpointBuilder miloBrowse(
+            String componentName,
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MiloBrowseEndpointBuilderFactory.endpointBuilder(componentName, path);
+    }
+    /**
      * OPC UA Client (camel-milo)
      * Connect to OPC UA servers using the binary protocol for acquiring
      * telemetry data.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloBrowseEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloBrowseEndpointBuilderFactory.java
new file mode 100644
index 0000000..5fa26a6
--- /dev/null
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloBrowseEndpointBuilderFactory.java
@@ -0,0 +1,782 @@
+/*
+ * 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.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;
+
+/**
+ * Connect to OPC UA servers using the binary protocol for browsing the node
+ * tree.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface MiloBrowseEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint for the OPC UA Browser component.
+     */
+    public interface MiloBrowseEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        /**
+         * A virtual client id to force the creation of a new connection
+         * instance.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param clientId the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder clientId(String clientId) {
+            doSetProperty("clientId", clientId);
+            return this;
+        }
+        /**
+         * When browsing recursively into sub-types, what's the maximum search
+         * depth for diving into the tree. Default value notice: Maximum depth
+         * for browsing recursively (only if recursive = true).
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 3
+         * Group: producer
+         * 
+         * @param depth the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder depth(int depth) {
+            doSetProperty("depth", depth);
+            return this;
+        }
+        /**
+         * When browsing recursively into sub-types, what's the maximum search
+         * depth for diving into the tree. Default value notice: Maximum depth
+         * for browsing recursively (only if recursive = true).
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 3
+         * Group: producer
+         * 
+         * @param depth the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder depth(String depth) {
+            doSetProperty("depth", depth);
+            return this;
+        }
+        /**
+         * The direction to browse (forward, inverse, ...). Default value
+         * notice: The direction to browse; see
+         * org.eclipse.milo.opcua.stack.core.types.enumerated.BrowseDirection.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.eclipse.milo.opcua.stack.core.types.enumerated.BrowseDirection&lt;/code&gt; type.
+         * 
+         * Default: Forward
+         * Group: producer
+         * 
+         * @param direction the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder direction(
+                org.eclipse.milo.opcua.stack.core.types.enumerated.BrowseDirection direction) {
+            doSetProperty("direction", direction);
+            return this;
+        }
+        /**
+         * The direction to browse (forward, inverse, ...). Default value
+         * notice: The direction to browse; see
+         * org.eclipse.milo.opcua.stack.core.types.enumerated.BrowseDirection.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.eclipse.milo.opcua.stack.core.types.enumerated.BrowseDirection&lt;/code&gt; type.
+         * 
+         * Default: Forward
+         * Group: producer
+         * 
+         * @param direction the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder direction(String direction) {
+            doSetProperty("direction", direction);
+            return this;
+        }
+        /**
+         * A suffix for endpoint URI when discovering.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param discoveryEndpointSuffix the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder discoveryEndpointSuffix(
+                String discoveryEndpointSuffix) {
+            doSetProperty("discoveryEndpointSuffix", discoveryEndpointSuffix);
+            return this;
+        }
+        /**
+         * An alternative discovery URI.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param discoveryEndpointUri the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder discoveryEndpointUri(
+                String discoveryEndpointUri) {
+            doSetProperty("discoveryEndpointUri", discoveryEndpointUri);
+            return this;
+        }
+        /**
+         * Filter out node ids to limit browsing. Default value notice: Regular
+         * filter expression matching node ids.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: None
+         * Group: producer
+         * 
+         * @param filter the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder filter(String filter) {
+            doSetProperty("filter", filter);
+            return this;
+        }
+        /**
+         * Whether to include sub-types for browsing; only applicable for
+         * non-recursive browsing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param includeSubTypes the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder includeSubTypes(
+                boolean includeSubTypes) {
+            doSetProperty("includeSubTypes", includeSubTypes);
+            return this;
+        }
+        /**
+         * Whether to include sub-types for browsing; only applicable for
+         * non-recursive browsing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param includeSubTypes the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder includeSubTypes(String includeSubTypes) {
+            doSetProperty("includeSubTypes", includeSubTypes);
+            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 MiloBrowseEndpointBuilder 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
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * The maximum number node ids requested per server call. Default value
+         * notice: Maximum number of node ids requested per browse call (applies
+         * to browsing sub-types only; only if recursive = true).
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 10
+         * Group: producer
+         * 
+         * @param maxNodeIdsPerRequest the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder maxNodeIdsPerRequest(
+                int maxNodeIdsPerRequest) {
+            doSetProperty("maxNodeIdsPerRequest", maxNodeIdsPerRequest);
+            return this;
+        }
+        /**
+         * The maximum number node ids requested per server call. Default value
+         * notice: Maximum number of node ids requested per browse call (applies
+         * to browsing sub-types only; only if recursive = true).
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 10
+         * Group: producer
+         * 
+         * @param maxNodeIdsPerRequest the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder maxNodeIdsPerRequest(
+                String maxNodeIdsPerRequest) {
+            doSetProperty("maxNodeIdsPerRequest", maxNodeIdsPerRequest);
+            return this;
+        }
+        /**
+         * The node definition (see Node ID). Default value notice: Root folder
+         * as per OPC-UA spec.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: ns=0;id=84
+         * Group: producer
+         * 
+         * @param node the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder node(String node) {
+            doSetProperty("node", node);
+            return this;
+        }
+        /**
+         * The mask indicating the node classes of interest in browsing. Default
+         * value notice: Comma-separated node class list; see
+         * org.eclipse.milo.opcua.stack.core.types.enumerated.NodeClass.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: Variable,Object,DataType
+         * Group: producer
+         * 
+         * @param nodeClasses the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder nodeClasses(String nodeClasses) {
+            doSetProperty("nodeClasses", nodeClasses);
+            return this;
+        }
+        /**
+         * Whether to browse recursively into sub-types, ignores includeSubTypes
+         * setting as it's implied to be set to true. Default value notice:
+         * Whether to recursively browse sub-types: truefalse.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param recursive the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder recursive(boolean recursive) {
+            doSetProperty("recursive", recursive);
+            return this;
+        }
+        /**
+         * Whether to browse recursively into sub-types, ignores includeSubTypes
+         * setting as it's implied to be set to true. Default value notice:
+         * Whether to recursively browse sub-types: truefalse.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param recursive the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder recursive(String recursive) {
+            doSetProperty("recursive", recursive);
+            return this;
+        }
+        /**
+         * A set of allowed security policy URIs. Default is to accept all and
+         * use the highest.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param allowedSecurityPolicies the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder allowedSecurityPolicies(
+                String allowedSecurityPolicies) {
+            doSetProperty("allowedSecurityPolicies", allowedSecurityPolicies);
+            return this;
+        }
+        /**
+         * The application name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: Apache Camel adapter for Eclipse Milo
+         * Group: client
+         * 
+         * @param applicationName the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder applicationName(String applicationName) {
+            doSetProperty("applicationName", applicationName);
+            return this;
+        }
+        /**
+         * The application URI.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: http://camel.apache.org/EclipseMilo/Client
+         * Group: client
+         * 
+         * @param applicationUri the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder applicationUri(String applicationUri) {
+            doSetProperty("applicationUri", applicationUri);
+            return this;
+        }
+        /**
+         * Channel lifetime in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param channelLifetime the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder channelLifetime(Long channelLifetime) {
+            doSetProperty("channelLifetime", channelLifetime);
+            return this;
+        }
+        /**
+         * Channel lifetime in milliseconds.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param channelLifetime the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder channelLifetime(String channelLifetime) {
+            doSetProperty("channelLifetime", channelLifetime);
+            return this;
+        }
+        /**
+         * The name of the key in the keystore file.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyAlias the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder keyAlias(String keyAlias) {
+            doSetProperty("keyAlias", keyAlias);
+            return this;
+        }
+        /**
+         * The key password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyPassword the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder keyPassword(String keyPassword) {
+            doSetProperty("keyPassword", keyPassword);
+            return this;
+        }
+        /**
+         * The keystore password.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyStorePassword the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder keyStorePassword(
+                String keyStorePassword) {
+            doSetProperty("keyStorePassword", keyStorePassword);
+            return this;
+        }
+        /**
+         * The key store type.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyStoreType the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder keyStoreType(String keyStoreType) {
+            doSetProperty("keyStoreType", keyStoreType);
+            return this;
+        }
+        /**
+         * The URL where the key should be loaded from.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param keyStoreUrl the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder keyStoreUrl(String keyStoreUrl) {
+            doSetProperty("keyStoreUrl", keyStoreUrl);
+            return this;
+        }
+        /**
+         * The maximum number of pending publish requests.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param maxPendingPublishRequests the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder maxPendingPublishRequests(
+                Long maxPendingPublishRequests) {
+            doSetProperty("maxPendingPublishRequests", maxPendingPublishRequests);
+            return this;
+        }
+        /**
+         * The maximum number of pending publish requests.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param maxPendingPublishRequests the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder maxPendingPublishRequests(
+                String maxPendingPublishRequests) {
+            doSetProperty("maxPendingPublishRequests", maxPendingPublishRequests);
+            return this;
+        }
+        /**
+         * The maximum number of bytes a response message may have.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param maxResponseMessageSize the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder maxResponseMessageSize(
+                Long maxResponseMessageSize) {
+            doSetProperty("maxResponseMessageSize", maxResponseMessageSize);
+            return this;
+        }
+        /**
+         * The maximum number of bytes a response message may have.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param maxResponseMessageSize the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder maxResponseMessageSize(
+                String maxResponseMessageSize) {
+            doSetProperty("maxResponseMessageSize", maxResponseMessageSize);
+            return this;
+        }
+        /**
+         * Override the server reported endpoint host with the host from the
+         * endpoint URI.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: client
+         * 
+         * @param overrideHost the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder overrideHost(boolean overrideHost) {
+            doSetProperty("overrideHost", overrideHost);
+            return this;
+        }
+        /**
+         * Override the server reported endpoint host with the host from the
+         * endpoint URI.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: client
+         * 
+         * @param overrideHost the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder overrideHost(String overrideHost) {
+            doSetProperty("overrideHost", overrideHost);
+            return this;
+        }
+        /**
+         * The product URI.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: http://camel.apache.org/EclipseMilo
+         * Group: client
+         * 
+         * @param productUri the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder productUri(String productUri) {
+            doSetProperty("productUri", productUri);
+            return this;
+        }
+        /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Double&lt;/code&gt; type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         * 
+         * @param requestedPublishingInterval the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder requestedPublishingInterval(
+                Double requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Double&lt;/code&gt; type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         * 
+         * @param requestedPublishingInterval the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder requestedPublishingInterval(
+                String requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
+         * Request timeout in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param requestTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder requestTimeout(Long requestTimeout) {
+            doSetProperty("requestTimeout", requestTimeout);
+            return this;
+        }
+        /**
+         * Request timeout in milliseconds.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param requestTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder requestTimeout(String requestTimeout) {
+            doSetProperty("requestTimeout", requestTimeout);
+            return this;
+        }
+        /**
+         * Session name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param sessionName the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder sessionName(String sessionName) {
+            doSetProperty("sessionName", sessionName);
+            return this;
+        }
+        /**
+         * Session timeout in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param sessionTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder sessionTimeout(Long sessionTimeout) {
+            doSetProperty("sessionTimeout", sessionTimeout);
+            return this;
+        }
+        /**
+         * Session timeout in milliseconds.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: client
+         * 
+         * @param sessionTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder sessionTimeout(String sessionTimeout) {
+            doSetProperty("sessionTimeout", sessionTimeout);
+            return this;
+        }
+    }
+
+    public interface MiloBrowseBuilders {
+        /**
+         * OPC UA Browser (camel-milo)
+         * Connect to OPC UA servers using the binary protocol for browsing the
+         * node tree.
+         * 
+         * Category: iot
+         * Since: 3.15
+         * Maven coordinates: org.apache.camel:camel-milo
+         * 
+         * Syntax: <code>milo-browse:endpointUri</code>
+         * 
+         * Path parameter: endpointUri (required)
+         * The OPC UA server endpoint
+         * 
+         * @param path endpointUri
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder miloBrowse(String path) {
+            return MiloBrowseEndpointBuilderFactory.endpointBuilder("milo-browse", path);
+        }
+        /**
+         * OPC UA Browser (camel-milo)
+         * Connect to OPC UA servers using the binary protocol for browsing the
+         * node tree.
+         * 
+         * Category: iot
+         * Since: 3.15
+         * Maven coordinates: org.apache.camel:camel-milo
+         * 
+         * Syntax: <code>milo-browse:endpointUri</code>
+         * 
+         * Path parameter: endpointUri (required)
+         * The OPC UA server endpoint
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path endpointUri
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder miloBrowse(
+                String componentName,
+                String path) {
+            return MiloBrowseEndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+    static MiloBrowseEndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class MiloBrowseEndpointBuilderImpl extends AbstractEndpointBuilder implements MiloBrowseEndpointBuilder {
+            public MiloBrowseEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new MiloBrowseEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java
index dea13f9..8d52df9 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java
@@ -218,6 +218,7 @@ public final class EndpointProducerDeserializersResolver implements YamlDeserial
             case "metrics":
             case "micrometer":
             case "microprofile-metrics":
+            case "milo-browse":
             case "milo-client":
             case "milo-server":
             case "mina":