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 2020/09/18 06:52:13 UTC

[camel] 02/06: CAMEL-15478: Regen

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

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

commit 3a6ea5b5a09c585e75b9998d12d9fed05152eec8
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Sep 17 22:25:24 2020 +0200

    CAMEL-15478: Regen
---
 .../apache/camel/catalog/components/arangodb.json  |   4 +-
 .../camel/catalog/components/atomix-multimap.json  |   8 +-
 .../org/apache/camel/catalog/components/bean.json  |   4 +-
 .../apache/camel/catalog/components/braintree.json |  12 +-
 .../camel/catalog/components/caffeine-cache.json   |   4 +-
 .../catalog/components/caffeine-loadcache.json     |   4 +-
 .../org/apache/camel/catalog/components/class.json |   4 +-
 .../camel/catalog/components/controlbus.json       |   2 +-
 .../org/apache/camel/catalog/components/exec.json  |   2 +-
 .../org/apache/camel/catalog/components/fhir.json  |  16 +-
 .../apache/camel/catalog/components/geocoder.json  |   2 +-
 .../camel/catalog/components/google-drive.json     |  24 +-
 .../org/apache/camel/catalog/components/http.json  |   2 +-
 .../org/apache/camel/catalog/components/https.json |   2 +-
 .../camel/catalog/components/ignite-compute.json   |   2 +-
 .../camel/catalog/components/ignite-idgen.json     |   2 +-
 .../camel/catalog/components/ignite-queue.json     |   2 +-
 .../camel/catalog/components/ignite-set.json       |   2 +-
 .../org/apache/camel/catalog/components/kudu.json  |   2 +-
 .../camel/catalog/components/micrometer.json       |   2 +-
 .../camel/catalog/components/mybatis-bean.json     |   2 +-
 .../apache/camel/catalog/components/nagios.json    |   4 +-
 .../org/apache/camel/catalog/components/saga.json  |   2 +-
 .../camel/catalog/components/spring-ldap.json      |   2 +-
 .../camel/catalog/components/vertx-http.json       |   2 +-
 .../camel/catalog/components/xslt-saxon.json       |   2 +-
 .../org/apache/camel/catalog/components/xslt.json  |   2 +-
 .../camel/catalog/docs/activemq-component.adoc     |   2 +-
 .../apache/camel/catalog/docs/amqp-component.adoc  |   2 +-
 .../camel/catalog/docs/arangodb-component.adoc     |   4 +-
 .../catalog/docs/atomix-multimap-component.adoc    |   8 +-
 .../catalog/docs/azure-eventhubs-component.adoc    |   4 +-
 .../apache/camel/catalog/docs/bean-component.adoc  |   4 +-
 .../camel/catalog/docs/braintree-component.adoc    | 396 +++++++-------
 .../catalog/docs/caffeine-cache-component.adoc     |   4 +-
 .../catalog/docs/caffeine-loadcache-component.adoc |   4 +-
 .../apache/camel/catalog/docs/class-component.adoc |   4 +-
 .../camel/catalog/docs/controlbus-component.adoc   |   2 +-
 .../apache/camel/catalog/docs/exec-component.adoc  |   2 +-
 .../apache/camel/catalog/docs/fhir-component.adoc  | 476 ++++++++---------
 .../apache/camel/catalog/docs/file-component.adoc  |   2 +-
 .../apache/camel/catalog/docs/ftp-component.adoc   |   2 +-
 .../apache/camel/catalog/docs/ftps-component.adoc  |   2 +-
 .../camel/catalog/docs/geocoder-component.adoc     |   2 +-
 .../camel/catalog/docs/google-drive-component.adoc | 576 ++++++++++-----------
 .../catalog/docs/google-sheets-component.adoc      |  50 +-
 .../docs/google-sheets-stream-component.adoc       |  50 +-
 .../apache/camel/catalog/docs/hdfs-component.adoc  |  18 +-
 .../apache/camel/catalog/docs/http-component.adoc  |   2 +-
 .../catalog/docs/ignite-compute-component.adoc     |   2 +-
 .../camel/catalog/docs/ignite-idgen-component.adoc |   2 +-
 .../camel/catalog/docs/ignite-queue-component.adoc |   2 +-
 .../camel/catalog/docs/ignite-set-component.adoc   |   2 +-
 .../apache/camel/catalog/docs/jms-component.adoc   |   2 +-
 .../apache/camel/catalog/docs/kudu-component.adoc  |   2 +-
 .../camel/catalog/docs/micrometer-component.adoc   |   2 +-
 .../camel/catalog/docs/mybatis-bean-component.adoc |   2 +-
 .../camel/catalog/docs/nagios-component.adoc       |   4 +-
 .../apache/camel/catalog/docs/netty-component.adoc |  12 +-
 .../camel/catalog/docs/netty-http-component.adoc   |  12 +-
 .../camel/catalog/docs/olingo2-component.adoc      |   4 +-
 .../camel/catalog/docs/olingo4-component.adoc      |   4 +-
 .../apache/camel/catalog/docs/saga-component.adoc  |   2 +-
 .../apache/camel/catalog/docs/sftp-component.adoc  |   8 +-
 .../camel/catalog/docs/spring-ldap-component.adoc  |   2 +-
 .../camel/catalog/docs/spring-ws-component.adoc    |   2 +-
 .../camel/catalog/docs/vertx-http-component.adoc   |   2 +-
 .../apache/camel/catalog/docs/xslt-component.adoc  |   2 +-
 .../camel/catalog/docs/xslt-saxon-component.adoc   |   2 +-
 .../src/main/docs/activemq-component.adoc          |   2 +-
 .../camel-amqp/src/main/docs/amqp-component.adoc   |   2 +-
 .../src/main/docs/azure-eventhubs-component.adoc   |   4 +-
 .../camel/component/braintree/braintree.json       |  12 +-
 .../src/main/docs/braintree-component.adoc         | 396 +++++++-------
 .../org/apache/camel/component/fhir/fhir.json      |  16 +-
 .../src/main/docs/fhir-component.adoc              | 476 ++++++++---------
 .../camel-file/src/main/docs/file-component.adoc   |   2 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |   2 +-
 .../camel-ftp/src/main/docs/ftps-component.adoc    |   2 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |   8 +-
 .../camel/component/google/drive/google-drive.json |  24 +-
 .../src/main/docs/google-drive-component.adoc      | 576 ++++++++++-----------
 .../src/main/docs/google-sheets-component.adoc     | 150 +++++-
 .../main/docs/google-sheets-stream-component.adoc  | 150 +++++-
 .../src/main/docs/ignite-idgen-component.adoc      |   2 +-
 .../src/main/docs/ignite-queue-component.adoc      |   2 +-
 .../src/main/docs/ignite-set-component.adoc        |   2 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |   2 +-
 .../src/main/docs/netty-http-component.adoc        |  12 +-
 .../camel-netty/src/main/docs/netty-component.adoc |  12 +-
 .../src/main/docs/olingo2-component.adoc           |   4 +-
 .../src/main/docs/olingo4-component.adoc           |   4 +-
 .../src/main/docs/spring-ws-component.adoc         |   2 +-
 .../modules/ROOT/pages/activemq-component.adoc     |   2 +-
 .../modules/ROOT/pages/amqp-component.adoc         |   2 +-
 .../ROOT/pages/azure-eventhubs-component.adoc      |   4 +-
 .../modules/ROOT/pages/braintree-component.adoc    | 396 +++++++-------
 .../modules/ROOT/pages/fhir-component.adoc         | 476 ++++++++---------
 .../modules/ROOT/pages/file-component.adoc         |   2 +-
 .../modules/ROOT/pages/ftp-component.adoc          |   2 +-
 .../modules/ROOT/pages/ftps-component.adoc         |   2 +-
 .../modules/ROOT/pages/google-drive-component.adoc | 576 ++++++++++-----------
 .../ROOT/pages/google-sheets-component.adoc        |  50 +-
 .../ROOT/pages/google-sheets-stream-component.adoc |  50 +-
 .../modules/ROOT/pages/ignite-idgen-component.adoc |   2 +-
 .../modules/ROOT/pages/ignite-queue-component.adoc |   2 +-
 .../modules/ROOT/pages/ignite-set-component.adoc   |   2 +-
 .../modules/ROOT/pages/jms-component.adoc          |   2 +-
 .../modules/ROOT/pages/netty-component.adoc        |  12 +-
 .../modules/ROOT/pages/netty-http-component.adoc   |  12 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |   4 +-
 .../modules/ROOT/pages/olingo4-component.adoc      |   4 +-
 .../modules/ROOT/pages/sftp-component.adoc         |   8 +-
 .../modules/ROOT/pages/spring-ws-component.adoc    |   2 +-
 114 files changed, 2665 insertions(+), 2617 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/arangodb.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/arangodb.json
index fe20f0f..a435f67 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/arangodb.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/arangodb.json
@@ -29,7 +29,7 @@
     "graph": { "kind": "property", "displayName": "Graph", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection." },
     "host": { "kind": "property", "displayName": "Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "ArangoDB host. If host and port are default, this field is Optional." },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the r [...]
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.arangodb.ArangoDbOperation", "enum": [ "SAVE_DOCUMENT", "FIND_DOCUMENT_BY_KEY", "UPDATE_DOCUMENT", "DELETE_DOCUMENT", "AQL_QUERY", "SAVE_VERTEX", "FIND_VERTEX_BY_KEY", "UPDATE_VERTEX", "DELETE_VERTEX", "SAVE_EDGE", "FIND_EDGE_BY_KEY", "UPDATE_EDGE", "DELETE_EDGE" ], "deprecated": false, "secret": false, " [...]
+    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.arangodb.ArangoDbOperation", "enum": [ "save-document", "find-document-by-key", "update-document", "delete-document", "aql-query", "save-vertex", "find-vertex-by-key", "update-vertex", "delete-vertex", "save-edge", "find-edge-by-key", "update-edge", "delete-edge" ], "deprecated": false, "secret": false, " [...]
     "port": { "kind": "property", "displayName": "Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "ArangoDB exposed port. If host and port are default, this field is Optional." },
     "vertexCollection": { "kind": "property", "displayName": "Vertex Collection", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "Collection name of vertices, when using ArangoDb as a Graph Database. Set the vertexCollection name to perform CRUD operati [...]
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
@@ -43,7 +43,7 @@
     "graph": { "kind": "parameter", "displayName": "Graph", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection." },
     "host": { "kind": "parameter", "displayName": "Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "ArangoDB host. If host and port are default, this field is Optional." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.arangodb.ArangoDbOperation", "enum": [ "SAVE_DOCUMENT", "FIND_DOCUMENT_BY_KEY", "UPDATE_DOCUMENT", "DELETE_DOCUMENT", "AQL_QUERY", "SAVE_VERTEX", "FIND_VERTEX_BY_KEY", "UPDATE_VERTEX", "DELETE_VERTEX", "SAVE_EDGE", "FIND_EDGE_BY_KEY", "UPDATE_EDGE", "DELETE_EDGE" ], "deprecated": false, "secret": false,  [...]
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.arangodb.ArangoDbOperation", "enum": [ "save-document", "find-document-by-key", "update-document", "delete-document", "aql-query", "save-vertex", "find-vertex-by-key", "update-vertex", "delete-vertex", "save-edge", "find-edge-by-key", "update-edge", "delete-edge" ], "deprecated": false, "secret": false,  [...]
     "port": { "kind": "parameter", "displayName": "Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "ArangoDB exposed port. If host and port are default, this field is Optional." },
     "vertexCollection": { "kind": "parameter", "displayName": "Vertex Collection", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.arangodb.ArangoDbConfiguration", "configurationField": "configuration", "description": "Collection name of vertices, when using ArangoDb as a Graph Database. Set the vertexCollection name to perform CRUD operat [...]
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atomix-multimap.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atomix-multimap.json
index 66644b7..5e58395 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atomix-multimap.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atomix-multimap.json
@@ -26,7 +26,7 @@
     "atomix": { "kind": "property", "displayName": "Atomix", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "io.atomix.Atomix", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The Atomix instance to use" },
     "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "deprecated": false, "secret": false, "description": "The shared component configuration" },
     "configurationUri": { "kind": "property", "displayName": "Configuration Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The path to the AtomixClient configuration" },
-    "defaultAction": { "kind": "property", "displayName": "Default Action", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action", "enum": [ "PUT", "GET", "CLEAR", "SIZE", "CONTAINS_KEY", "IS_EMPTY", "REMOVE", "REMOVE_VALUE" ], "deprecated": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration [...]
+    "defaultAction": { "kind": "property", "displayName": "Default Action", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action", "enum": [ "put", "get", "clear", "size", "contains-key", "is-empty", "remove", "remove-value" ], "deprecated": false, "secret": false, "defaultValue": "put", "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration [...]
     "key": { "kind": "property", "displayName": "Key", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The key to use if none is set in the header or to listen for events for a specific key." },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the r [...]
     "nodes": { "kind": "property", "displayName": "Nodes", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<io.atomix.catalyst.transport.Address>", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The nodes the AtomixClient should connect to" },
@@ -37,7 +37,7 @@
     "defaultResourceConfig": { "kind": "property", "displayName": "Default Resource Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Properties", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The cluster wide default resource configuration." },
     "defaultResourceOptions": { "kind": "property", "displayName": "Default Resource Options", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Properties", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The local default resource options." },
     "ephemeral": { "kind": "property", "displayName": "Ephemeral", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local [...]
-    "readConsistency": { "kind": "property", "displayName": "Read Consistency", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.atomix.resource.ReadConsistency", "enum": [ "ATOMIC", "ATOMIC_LEASE", "SEQUENTIAL", "LOCAL" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The read consistency level." },
+    "readConsistency": { "kind": "property", "displayName": "Read Consistency", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.atomix.resource.ReadConsistency", "enum": [ "atomic", "atomic-lease", "sequential", "local" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The read consistency level." },
     "resourceConfigs": { "kind": "property", "displayName": "Resource Configs", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.util.Properties>", "prefix": "resource.config", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "Cluster wide resources configuration." },
     "resourceOptions": { "kind": "property", "displayName": "Resource Options", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.util.Properties>", "prefix": "resource.options", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "Local resources configurations" }
   },
@@ -45,7 +45,7 @@
     "resourceName": { "kind": "path", "displayName": "Resource Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The distributed resource name" },
     "atomix": { "kind": "parameter", "displayName": "Atomix", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "io.atomix.Atomix", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The Atomix instance to use" },
     "configurationUri": { "kind": "parameter", "displayName": "Configuration Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The Atomix configuration uri." },
-    "defaultAction": { "kind": "parameter", "displayName": "Default Action", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action", "enum": [ "PUT", "GET", "CLEAR", "SIZE", "CONTAINS_KEY", "IS_EMPTY", "REMOVE", "REMOVE_VALUE" ], "deprecated": false, "secret": false, "defaultValue": "PUT", "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguratio [...]
+    "defaultAction": { "kind": "parameter", "displayName": "Default Action", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action", "enum": [ "put", "get", "clear", "size", "contains-key", "is-empty", "remove", "remove-value" ], "deprecated": false, "secret": false, "defaultValue": "put", "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguratio [...]
     "key": { "kind": "parameter", "displayName": "Key", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The key to use if none is set in the header or to listen for events for a specific key." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "nodes": { "kind": "parameter", "displayName": "Nodes", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The address of the nodes composing the cluster." },
@@ -56,7 +56,7 @@
     "defaultResourceConfig": { "kind": "parameter", "displayName": "Default Resource Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Properties", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The cluster wide default resource configuration." },
     "defaultResourceOptions": { "kind": "parameter", "displayName": "Default Resource Options", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Properties", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The local default resource options." },
     "ephemeral": { "kind": "parameter", "displayName": "Ephemeral", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the loca [...]
-    "readConsistency": { "kind": "parameter", "displayName": "Read Consistency", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.atomix.resource.ReadConsistency", "enum": [ "ATOMIC", "ATOMIC_LEASE", "SEQUENTIAL", "LOCAL" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The read consistency level." },
+    "readConsistency": { "kind": "parameter", "displayName": "Read Consistency", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.atomix.resource.ReadConsistency", "enum": [ "atomic", "atomic-lease", "sequential", "local" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "The read consistency level." },
     "resourceConfigs": { "kind": "parameter", "displayName": "Resource Configs", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.util.Properties>", "prefix": "resource.config", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "Cluster wide resources configuration." },
     "resourceOptions": { "kind": "parameter", "displayName": "Resource Options", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.util.Properties>", "prefix": "resource.options", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration", "configurationField": "configuration", "description": "Local resources configurations" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean.json
index 73a3752..50328ce 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean.json
@@ -25,14 +25,14 @@
   "componentProperties": {
     "cache": { "kind": "property", "displayName": "Cache", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": true, "secret": false, "defaultValue": "true", "description": "Use singleton option instead." },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the r [...]
-    "scope": { "kind": "property", "displayName": "Scope", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "Singleton", "Request", "Prototype" ], "deprecated": false, "secret": false, "defaultValue": "Singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurren [...]
+    "scope": { "kind": "property", "displayName": "Scope", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "singleton", "request", "prototype" ], "deprecated": false, "secret": false, "defaultValue": "singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurren [...]
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" }
   },
   "properties": {
     "beanName": { "kind": "path", "displayName": "Bean Name", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "Sets the name of the bean to invoke" },
     "cache": { "kind": "parameter", "displayName": "Cache", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": true, "secret": false, "description": "Use scope option instead." },
     "method": { "kind": "parameter", "displayName": "Method", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Sets the name of the method to invoke on the bean" },
-    "scope": { "kind": "parameter", "displayName": "Scope", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "Singleton", "Request", "Prototype" ], "deprecated": false, "secret": false, "defaultValue": "Singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case conc [...]
+    "scope": { "kind": "parameter", "displayName": "Scope", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "singleton", "request", "prototype" ], "deprecated": false, "secret": false, "defaultValue": "singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case conc [...]
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "parameters": { "kind": "parameter", "displayName": "Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "bean.", "multiValue": true, "deprecated": false, "secret": false, "description": "Used for configuring additional properties on the bean" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json
index 7391981..6a12a4d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json
@@ -69,32 +69,32 @@
   "apis": {
     "paymentMethodNonce": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.PaymentMethodNonce find(String paymentMethodNonce)" ] } } },
     "documentUpload": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } },
+    "creditCardVerification": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures": [ "com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(c [...]
     "subscription": { "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.SubscriptionRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.brai [...]
     "dispute": { "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DisputeEvidence> addFileEvidence(String disputeId, String documentId)", "com.braintreegateway.Resul [...]
+    "transaction": { "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request)" ] }, "credit": { "description": "Cr [...]
     "settlementBatchSummary": { "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } },
     "address": { "methods": { "create": { "description": "Creates an Address for a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)" ] }, "delete": { "description": "Deletes a Customer's Address", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id)" ] }, "find": { "description": "Finds a Customer's Address", "signatures":  [...]
-    "webhookNotification": { "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } },
-    "creditCardVerification": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures": [ "com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(c [...]
-    "transaction": { "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request)" ] }, "credit": { "description": "Cr [...]
     "report": { "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } },
     "paymentMethod": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token, com.braintreegateway.PaymentM [...]
     "clientToken": { "methods": { "generate": { "description": "", "signatures": [ "String generate()", "String generate(com.braintreegateway.ClientTokenRequest request)" ] } } },
+    "webhookNotification": { "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } },
     "merchantAccount": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> create(com.braintreegateway.MerchantAccountRequest request)" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateForCurrencyRequest request)" ] }, "fetchMerchantAccounts": { "description": "", "signatur [...]
     "customer": { "methods": { "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)" ] }, "delete": { "description": "Deletes a Customer by id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> delete(String id)" ] }, "find": { "description": "Finds a Customer by id", "signatures": [ "com.braintreegateway.Customer find(String id)", "com.b [...]
   },
   "apiProperties": {
     "paymentMethodNonce": { "methods": { "create": { "properties": { "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegatew [...]
     "documentUpload": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string [...]
     "subscription": { "methods": { "cancel": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the Subscription to cancel", "optional": false } } }, "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType" [...]
     "dispute": { "methods": { "accept": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The dispute id to accept", "optional": false } } }, "addFileEvidence": { "properties": { "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "common", "label": "", "required": false, "type": "string", "javaT [...]
+    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "" [...]
     "settlementBatchSummary": { "methods": { "generate": { "properties": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType [...]
     "address": { "methods": { "create": { "properties": { "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Customer", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.Add [...]
-    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
-    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string [...]
-    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "" [...]
     "report": { "methods": { "transactionLevelFees": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } } } },
     "paymentMethod": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "delete": { "properties": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "common", "label": "", "required": false, "type":  [...]
     "clientToken": { "methods": { "generate": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
     "merchantAccount": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "createForCurrency": { "properties": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "common", "label": "", "require [...]
     "customer": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } }, "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType":  [...]
   }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-cache.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-cache.json
index f623e80..20f29f7 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-cache.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-cache.json
@@ -26,7 +26,7 @@
     "action": { "kind": "property", "displayName": "Action", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence." },
     "cacheLoader": { "kind": "property", "displayName": "Cache Loader", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.github.benmanes.caffeine.cache.CacheLoader", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure a CacheLoader in case of a LoadCache use" },
     "createCacheIfNotExist": { "kind": "property", "displayName": "Create Cache If Not Exist", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Configure if a cache need to be created if it does exist or can't be pre-configured." },
-    "evictionType": { "kind": "property", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size_based", "time_based" ], "deprecated": false, "secret": false, "defaultValue": "SIZE_BASED", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for thi [...]
+    "evictionType": { "kind": "property", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size-based", "time-based" ], "deprecated": false, "secret": false, "defaultValue": "size-based", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for thi [...]
     "expireAfterAccessTime": { "kind": "property", "displayName": "Expire After Access Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Time in case of time based Eviction (in seconds)" },
     "expireAfterWriteTime": { "kind": "property", "displayName": "Expire After Write Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Write in case of time based Eviction (in seconds)" },
     "initialCapacity": { "kind": "property", "displayName": "Initial Capacity", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the initial Capacity for the cache" },
@@ -46,7 +46,7 @@
     "action": { "kind": "parameter", "displayName": "Action", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence." },
     "cacheLoader": { "kind": "parameter", "displayName": "Cache Loader", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.github.benmanes.caffeine.cache.CacheLoader", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure a CacheLoader in case of a LoadCache use" },
     "createCacheIfNotExist": { "kind": "parameter", "displayName": "Create Cache If Not Exist", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Configure if a cache need to be created if it does exist or can't be pre-configured." },
-    "evictionType": { "kind": "parameter", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size_based", "time_based" ], "deprecated": false, "secret": false, "defaultValue": "SIZE_BASED", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for th [...]
+    "evictionType": { "kind": "parameter", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size-based", "time-based" ], "deprecated": false, "secret": false, "defaultValue": "size-based", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for th [...]
     "expireAfterAccessTime": { "kind": "parameter", "displayName": "Expire After Access Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Time in case of time based Eviction (in seconds)" },
     "expireAfterWriteTime": { "kind": "parameter", "displayName": "Expire After Write Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Write in case of time based Eviction (in seconds)" },
     "initialCapacity": { "kind": "parameter", "displayName": "Initial Capacity", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the initial Capacity for the cache" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-loadcache.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-loadcache.json
index 33476c9..720b3e6 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-loadcache.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/caffeine-loadcache.json
@@ -26,7 +26,7 @@
     "action": { "kind": "property", "displayName": "Action", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence." },
     "cacheLoader": { "kind": "property", "displayName": "Cache Loader", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.github.benmanes.caffeine.cache.CacheLoader", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure a CacheLoader in case of a LoadCache use" },
     "createCacheIfNotExist": { "kind": "property", "displayName": "Create Cache If Not Exist", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Configure if a cache need to be created if it does exist or can't be pre-configured." },
-    "evictionType": { "kind": "property", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size_based", "time_based" ], "deprecated": false, "secret": false, "defaultValue": "SIZE_BASED", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for thi [...]
+    "evictionType": { "kind": "property", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size-based", "time-based" ], "deprecated": false, "secret": false, "defaultValue": "size-based", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for thi [...]
     "expireAfterAccessTime": { "kind": "property", "displayName": "Expire After Access Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Time in case of time based Eviction (in seconds)" },
     "expireAfterWriteTime": { "kind": "property", "displayName": "Expire After Write Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Write in case of time based Eviction (in seconds)" },
     "initialCapacity": { "kind": "property", "displayName": "Initial Capacity", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the initial Capacity for the cache" },
@@ -46,7 +46,7 @@
     "action": { "kind": "parameter", "displayName": "Action", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence." },
     "cacheLoader": { "kind": "parameter", "displayName": "Cache Loader", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.github.benmanes.caffeine.cache.CacheLoader", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "To configure a CacheLoader in case of a LoadCache use" },
     "createCacheIfNotExist": { "kind": "parameter", "displayName": "Create Cache If Not Exist", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Configure if a cache need to be created if it does exist or can't be pre-configured." },
-    "evictionType": { "kind": "parameter", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size_based", "time_based" ], "deprecated": false, "secret": false, "defaultValue": "SIZE_BASED", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for th [...]
+    "evictionType": { "kind": "parameter", "displayName": "Eviction Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.caffeine.EvictionType", "enum": [ "size-based", "time-based" ], "deprecated": false, "secret": false, "defaultValue": "size-based", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the eviction Type for th [...]
     "expireAfterAccessTime": { "kind": "parameter", "displayName": "Expire After Access Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Time in case of time based Eviction (in seconds)" },
     "expireAfterWriteTime": { "kind": "parameter", "displayName": "Expire After Write Time", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the expire After Access Write in case of time based Eviction (in seconds)" },
     "initialCapacity": { "kind": "parameter", "displayName": "Initial Capacity", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.caffeine.CaffeineConfiguration", "configurationField": "configuration", "description": "Set the initial Capacity for the cache" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/class.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/class.json
index f57ae3b..063a182 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/class.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/class.json
@@ -25,14 +25,14 @@
   "componentProperties": {
     "cache": { "kind": "property", "displayName": "Cache", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": true, "secret": false, "defaultValue": "true", "description": "Use singleton option instead." },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the r [...]
-    "scope": { "kind": "property", "displayName": "Scope", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "Singleton", "Request", "Prototype" ], "deprecated": false, "secret": false, "defaultValue": "Singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurren [...]
+    "scope": { "kind": "property", "displayName": "Scope", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "singleton", "request", "prototype" ], "deprecated": false, "secret": false, "defaultValue": "singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurren [...]
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" }
   },
   "properties": {
     "beanName": { "kind": "path", "displayName": "Bean Name", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "Sets the name of the bean to invoke" },
     "cache": { "kind": "parameter", "displayName": "Cache", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": true, "secret": false, "description": "Use scope option instead." },
     "method": { "kind": "parameter", "displayName": "Method", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Sets the name of the method to invoke on the bean" },
-    "scope": { "kind": "parameter", "displayName": "Scope", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "Singleton", "Request", "Prototype" ], "deprecated": false, "secret": false, "defaultValue": "Singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case conc [...]
+    "scope": { "kind": "parameter", "displayName": "Scope", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.BeanScope", "enum": [ "singleton", "request", "prototype" ], "deprecated": false, "secret": false, "defaultValue": "singleton", "description": "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case conc [...]
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "parameters": { "kind": "parameter", "displayName": "Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "bean.", "multiValue": true, "deprecated": false, "secret": false, "description": "Used for configuring additional properties on the bean" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json
index 18ac40b..29267a5 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json
@@ -32,7 +32,7 @@
     "action": { "kind": "parameter", "displayName": "Action", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "start", "stop", "suspend", "resume", "restart", "status", "stats" ], "deprecated": false, "secret": false, "description": "To denote an action that can be either: start, stop, or status. To either start or stop a route, or to get the status of the route as output in the message body. You can use suspend and resume  [...]
     "async": { "kind": "parameter", "displayName": "Async", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether to execute the control bus task asynchronously. Important: If this option is enabled, then any result from the task is not set on the Exchange. This is only possible if executing tasks synchronously." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "loggingLevel": { "kind": "parameter", "displayName": "Logging Level", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "secret": false, "defaultValue": "INFO", "description": "Logging level used for logging when task is done, or if any exceptions occurred during processing the task." },
+    "loggingLevel": { "kind": "parameter", "displayName": "Logging Level", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "trace", "debug", "info", "warn", "error", "off" ], "deprecated": false, "secret": false, "defaultValue": "info", "description": "Logging level used for logging when task is done, or if any exceptions occurred during processing the task." },
     "restartDelay": { "kind": "parameter", "displayName": "Restart Delay", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "1000", "description": "The delay in millis to use when restarting a route." },
     "routeId": { "kind": "parameter", "displayName": "Route Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To specify a route by its id. The special keyword current indicates the current route." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/exec.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/exec.json
index f4db7c5..5157ea1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/exec.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/exec.json
@@ -31,7 +31,7 @@
     "args": { "kind": "parameter", "displayName": "Args", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The arguments may be one or many whitespace-separated tokens." },
     "binding": { "kind": "parameter", "displayName": "Binding", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.exec.ExecBinding", "deprecated": false, "secret": false, "description": "A reference to a org.apache.commons.exec.ExecBinding in the Registry." },
     "commandExecutor": { "kind": "parameter", "displayName": "Command Executor", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.exec.ExecCommandExecutor", "deprecated": false, "secret": false, "description": "A reference to a org.apache.commons.exec.ExecCommandExecutor in the Registry that customizes the command execution. The default command executor utilizes the commons-exec library, which adds a shutdown hook for every ex [...]
-    "commandLogLevel": { "kind": "parameter", "displayName": "Command Log Level", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level to be used for commands during execution. The default value is DEBUG. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values o [...]
+    "commandLogLevel": { "kind": "parameter", "displayName": "Command Log Level", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "trace", "debug", "info", "warn", "error", "off" ], "deprecated": false, "secret": false, "defaultValue": "debug", "description": "Logging level to be used for commands during execution. The default value is DEBUG. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values o [...]
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "outFile": { "kind": "parameter", "displayName": "Out File", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The name of a file, created by the executable, that should be considered as its output. If no outFile is set, the standard output (stdout) of the executable will be used instead." },
     "timeout": { "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "secret": false, "description": "The timeout, in milliseconds, after which the executable should be terminated. If execution has not completed within the timeout, the component will send a termination request." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json
index 8f4996d..a5b6fb2 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json
@@ -105,30 +105,30 @@
     "update": { "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<o [...]
     "create": { "methods": { "resource": { "description": "Creates a IBaseResource on the server", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, String url, ca.uhn.fhir.rest.api.PreferReturnEnu [...]
     "validate": { "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "operation": { "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBase [...]
-    "search": { "methods": { "searchByUrl": { "description": "Perform a search directly by URL", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "capabilities": { "methods": { "ofType": { "description": "Retrieve the conformance statement using the given model type", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "patch": { "methods": { "patchById": { "description": "Applies the patch to the given resource ID", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum [...]
     "meta": { "methods": { "add": { "description": "Add the elements in the given metadata to the already existing set (do not remove any)", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseMetaType add(org.hl7.fhir.instance.model.api.IBaseMetaType meta, org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "delete": { "description": "Delete the elements in the given metadata from the given id",  [...]
     "history": { "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle onInstance(org.hl7.fhir.instance.model.api.IIdType id, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff, java.util.Map<org.apache.camel.component.fh [...]
+    "operation": { "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBase [...]
     "load-page": { "methods": { "byUrl": { "description": "Load a page of results using the given URL and bundle type and return a DSTU1 Atom bundle", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle byUrl(String url, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "next": { "description": "Load the next page of results using the link with relation next in the bund [...]
+    "search": { "methods": { "searchByUrl": { "description": "Perform a search directly by URL", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
     "transaction": { "methods": { "withBundle": { "description": "Use the given raw text (should be a Bundle resource) as the transaction input", "signatures": [ "String withBundle(String stringBundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.hl7.fhir.instance.model.api.IBaseBundle withBundle(org.hl7.fhir.instance.model.api.IBaseBundle bundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParamete [...]
     "read": { "methods": { "resourceById": { "description": "", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource resourceById(Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, Long longId, String ifVersionMatches, Boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, Boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.hl7.fhir.instance.model.api.IBaseResource resource [...]
+    "capabilities": { "methods": { "ofType": { "description": "Retrieve the conformance statement using the given model type", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
+    "patch": { "methods": { "patchById": { "description": "Applies the patch to the given resource ID", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum [...]
     "delete": { "methods": { "resource": { "description": "Deletes the given resource", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseOperationOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "resourceById": { "description": "Deletes the resource by resource type e", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseOperationOutcome resourceById(String typ [...]
   },
   "apiProperties": {
     "update": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "", "optional": true }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": " [...]
     "create": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "preferReturn": { "kind": "pa [...]
     "validate": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "", "optional": true }, "resource": { "kind": "parameter", "displayName": "Resource", "group": "common", "label": "", "required": fa [...]
-    "operation": { "methods": { "onInstance": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "paramet [...]
-    "search": { "methods": { "searchByUrl": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "url": { "kind": "paramete [...]
-    "capabilities": { "methods": { "ofType": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "type": { "kind": "parame [...]
-    "patch": { "methods": { "patchById": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "parameter",  [...]
     "meta": { "methods": { "add": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "parameter", "displa [...]
     "history": { "methods": { "onInstance": { "properties": { "count": { "kind": "parameter", "displayName": "Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "Request that the server return only up to theCount number of resources, may be NULL", "optional": true }, "cutoff": { "kind": "parameter", "displayName": "Cutoff", "group": "common", "label": "", "required": false, "t [...]
+    "operation": { "methods": { "onInstance": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "paramet [...]
     "load-page": { "methods": { "byUrl": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "returnType": { "kind": "para [...]
+    "search": { "methods": { "searchByUrl": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "url": { "kind": "paramete [...]
     "transaction": { "methods": { "withBundle": { "properties": { "bundle": { "kind": "parameter", "displayName": "Bundle", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IBaseBundle", "deprecated": false, "secret": false, "description": "Bundle to use in the transaction", "optional": false }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "t [...]
     "read": { "methods": { "resourceById": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "", "optional": true }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": [...]
+    "capabilities": { "methods": { "ofType": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "type": { "kind": "parame [...]
+    "patch": { "methods": { "patchById": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "parameter",  [...]
     "delete": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "resource": { "kind": "parame [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/geocoder.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/geocoder.json
index cdfbc50..0824cad 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/geocoder.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/geocoder.json
@@ -33,7 +33,7 @@
     "language": { "kind": "parameter", "displayName": "Language", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "en", "description": "The language to use." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "serverUrl": { "kind": "parameter", "displayName": "Server URL", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "URL to the geocoder server. Mandatory for Nominatim server." },
-    "type": { "kind": "parameter", "displayName": "GeoCoding Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.geocoder.GeoCoderType", "enum": [ "NOMINATIM", "GOOGLE" ], "deprecated": false, "secret": false, "description": "Type of GeoCoding server. Supported Nominatim and Google." },
+    "type": { "kind": "parameter", "displayName": "GeoCoding Type", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.geocoder.GeoCoderType", "enum": [ "nominatim", "google" ], "deprecated": false, "secret": false, "description": "Type of GeoCoding server. Supported Nominatim and Google." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
     "proxyAuthDomain": { "kind": "parameter", "displayName": "Proxy Auth Domain", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy Authentication Domain to access Google GeoCoding server." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json
index f332d03..0761147 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json
@@ -70,31 +70,31 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.drive.GoogleDriveConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expir [...]
   },
   "apis": {
+    "drive-changes": { "methods": { "get": { "description": "Deprecated - Use changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$Get get(String changeId)" ] }, "watch": { "description": "Subscribe to changes for a user", "signatures": [ "com.google.api.services.drive.Drive$Changes$Watch watch(com.google.api.services.drive.model.Channel content)" ] } } },
     "drive-channels": { "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)" ] } } },
     "drive-revisions": { "methods": { "delete": { "description": "Removes a revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Delete delete(String fileId, String revisionId)" ] }, "get": { "description": "Gets a specific revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Get get(String fileId, String revisionId)" ] }, "list": { "description": "Lists a file's revisions", "signatures": [ "com.google.api.services.drive.Drive$Revisions$List list [...]
-    "drive-replies": { "methods": { "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId, String commentId, String replyId)" ] }, "get": { "description": "Gets a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Get get(String fileId, String commentId, String replyId)" ] }, "insert": { "description": "Creates a new reply to the given comment", "signatures": [ "com.google.api.services.driv [...]
-    "drive-permissions": { "methods": { "delete": { "description": "Deletes a permission from a file or Team Drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Delete delete(String fileId, String permissionId)" ] }, "get": { "description": "Gets a permission by ID", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Get get(String fileId, String permissionId)" ] }, "getIdForEmail": { "description": "Returns the permission ID for an email address", "sig [...]
-    "drive-parents": { "methods": { "delete": { "description": "Removes a parent from a file", "signatures": [ "com.google.api.services.drive.Drive$Parents$Delete delete(String fileId, String parentId)" ] }, "get": { "description": "Gets a specific parent reference", "signatures": [ "com.google.api.services.drive.Drive$Parents$Get get(String fileId, String parentId)" ] }, "insert": { "description": "Adds a parent folder for a file", "signatures": [ "com.google.api.services.drive.Drive$Pa [...]
-    "drive-apps": { "methods": { "get": { "description": "Gets a specific app", "signatures": [ "com.google.api.services.drive.Drive$Apps$Get get(String appId)" ] } } },
-    "drive-changes": { "methods": { "get": { "description": "Deprecated - Use changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$Get get(String changeId)" ] }, "watch": { "description": "Subscribe to changes for a user", "signatures": [ "com.google.api.services.drive.Drive$Changes$Watch watch(com.google.api.services.drive.model.Channel content)" ] } } },
     "drive-comments": { "methods": { "delete": { "description": "Deletes a comment", "signatures": [ "com.google.api.services.drive.Drive$Comments$Delete delete(String fileId, String commentId)" ] }, "get": { "description": "Gets a comment by ID", "signatures": [ "com.google.api.services.drive.Drive$Comments$Get get(String fileId, String commentId)" ] }, "insert": { "description": "Creates a new comment on the given file", "signatures": [ "com.google.api.services.drive.Drive$Comments$Ins [...]
+    "drive-replies": { "methods": { "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId, String commentId, String replyId)" ] }, "get": { "description": "Gets a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Get get(String fileId, String commentId, String replyId)" ] }, "insert": { "description": "Creates a new reply to the given comment", "signatures": [ "com.google.api.services.driv [...]
     "drive-properties": { "methods": { "delete": { "description": "Deletes a property", "signatures": [ "com.google.api.services.drive.Drive$Properties$Delete delete(String fileId, String propertyKey)" ] }, "get": { "description": "Gets a property by its key", "signatures": [ "com.google.api.services.drive.Drive$Properties$Get get(String fileId, String propertyKey)" ] }, "insert": { "description": "Adds a property to a file, or updates it if it already exists", "signatures": [ "com.googl [...]
     "drive-realtime": { "methods": { "get": { "description": "Exports the contents of the Realtime API data model associated with this file as JSON", "signatures": [ "com.google.api.services.drive.Drive$Realtime$Get get(String fileId)" ] }, "update": { "description": "Overwrites the Realtime API data model associated with this file with the provided JSON data model", "signatures": [ "com.google.api.services.drive.Drive$Realtime$Update update(String fileId)", "com.google.api.services.driv [...]
+    "drive-permissions": { "methods": { "delete": { "description": "Deletes a permission from a file or Team Drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Delete delete(String fileId, String permissionId)" ] }, "get": { "description": "Gets a permission by ID", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Get get(String fileId, String permissionId)" ] }, "getIdForEmail": { "description": "Returns the permission ID for an email address", "sig [...]
     "drive-children": { "methods": { "delete": { "description": "Removes a child from a folder", "signatures": [ "com.google.api.services.drive.Drive$Children$Delete delete(String folderId, String childId)" ] }, "get": { "description": "Gets a specific child reference", "signatures": [ "com.google.api.services.drive.Drive$Children$Get get(String folderId, String childId)" ] }, "insert": { "description": "Inserts a file into a folder", "signatures": [ "com.google.api.services.drive.Drive$ [...]
-    "drive-files": { "methods": { "copy": { "description": "Creates a copy of the specified file", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "delete": { "description": "Permanently deletes a file by ID", "signatures": [ "com.google.api.services.drive.Drive$Files$Delete delete(String fileId)" ] }, "export": { "description": "Exports a Google Doc to the requested MIME type and returns the expo [...]
+    "drive-files": { "methods": { "copy": { "description": "Creates a copy of the specified file", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "delete": { "description": "Permanently deletes a file by ID", "signatures": [ "com.google.api.services.drive.Drive$Files$Delete delete(String fileId)" ] }, "export": { "description": "Exports a Google Doc to the requested MIME type and returns the expo [...]
+    "drive-parents": { "methods": { "delete": { "description": "Removes a parent from a file", "signatures": [ "com.google.api.services.drive.Drive$Parents$Delete delete(String fileId, String parentId)" ] }, "get": { "description": "Gets a specific parent reference", "signatures": [ "com.google.api.services.drive.Drive$Parents$Get get(String fileId, String parentId)" ] }, "insert": { "description": "Adds a parent folder for a file", "signatures": [ "com.google.api.services.drive.Drive$Pa [...]
+    "drive-apps": { "methods": { "get": { "description": "Gets a specific app", "signatures": [ "com.google.api.services.drive.Drive$Apps$Get get(String appId)" ] } } }
   },
   "apiProperties": {
+    "drive-changes": { "methods": { "get": { "properties": { "changeId": { "kind": "parameter", "displayName": "Change Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the change", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "obj [...]
     "drive-channels": { "methods": { "stop": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Channel", "optional": false } } } } },
     "drive-revisions": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "revisionId": { "kind": "parameter", "displayName": "Revision Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "d [...]
-    "drive-replies": { "methods": { "delete": { "properties": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "de [...]
-    "drive-permissions": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID for the file or Team Drive", "optional": false }, "permissionId": { "kind": "parameter", "displayName": "Permission Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": " [...]
-    "drive-parents": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "parentId": { "kind": "parameter", "displayName": "Parent Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depreca [...]
-    "drive-apps": { "methods": { "get": { "properties": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the app", "optional": false } } } } },
-    "drive-changes": { "methods": { "get": { "properties": { "changeId": { "kind": "parameter", "displayName": "Change Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the change", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "obj [...]
     "drive-comments": { "methods": { "delete": { "properties": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "d [...]
+    "drive-replies": { "methods": { "delete": { "properties": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "de [...]
     "drive-properties": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "propertyKey": { "kind": "parameter", "displayName": "Property Key", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", [...]
     "drive-realtime": { "methods": { "get": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file that the Realtime API data model is associated with", "optional": false } } }, "update": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", [...]
+    "drive-permissions": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID for the file or Team Drive", "optional": false }, "permissionId": { "kind": "parameter", "displayName": "Permission Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": " [...]
     "drive-children": { "methods": { "delete": { "properties": { "childId": { "kind": "parameter", "displayName": "Child Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the child", "optional": false }, "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "dep [...]
-    "drive-files": { "methods": { "copy": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.File", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.File", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string [...]
+    "drive-files": { "methods": { "copy": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.File", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.File", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string [...]
+    "drive-parents": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "parentId": { "kind": "parameter", "displayName": "Parent Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depreca [...]
+    "drive-apps": { "methods": { "get": { "properties": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the app", "optional": false } } } } }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
index 64d99a5..1da2130 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
@@ -63,7 +63,7 @@
     "connectionClose": { "kind": "parameter", "displayName": "Connection Close", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false." },
     "copyHeaders": { "kind": "parameter", "displayName": "Copy Headers", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers)." },
     "customHostHeader": { "kind": "parameter", "displayName": "Custom Host Header", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To use custom host header for producer. When not set in query will be ignored. When set will override host header derived from url." },
-    "httpMethod": { "kind": "parameter", "displayName": "Http Method", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpMethods", "enum": [ "GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "TRACE", "PATCH" ], "deprecated": false, "secret": false, "description": "Configure the HTTP method to use. The HttpMethod header cannot override this option if set." },
+    "httpMethod": { "kind": "parameter", "displayName": "Http Method", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpMethods", "enum": [ "get", "post", "put", "delete", "head", "options", "trace", "patch" ], "deprecated": false, "secret": false, "description": "Configure the HTTP method to use. The HttpMethod header cannot override this option if set." },
     "ignoreResponseBody": { "kind": "parameter", "displayName": "Ignore Response Body", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If this option is true, The http producer won't read response body and cache the input stream" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "preserveHostHeader": { "kind": "parameter", "displayName": "Preserve Host Header", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server t [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
index 6570a2d..826afc4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
@@ -63,7 +63,7 @@
     "connectionClose": { "kind": "parameter", "displayName": "Connection Close", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false." },
     "copyHeaders": { "kind": "parameter", "displayName": "Copy Headers", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers)." },
     "customHostHeader": { "kind": "parameter", "displayName": "Custom Host Header", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To use custom host header for producer. When not set in query will be ignored. When set will override host header derived from url." },
-    "httpMethod": { "kind": "parameter", "displayName": "Http Method", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpMethods", "enum": [ "GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "TRACE", "PATCH" ], "deprecated": false, "secret": false, "description": "Configure the HTTP method to use. The HttpMethod header cannot override this option if set." },
+    "httpMethod": { "kind": "parameter", "displayName": "Http Method", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpMethods", "enum": [ "get", "post", "put", "delete", "head", "options", "trace", "patch" ], "deprecated": false, "secret": false, "description": "Configure the HTTP method to use. The HttpMethod header cannot override this option if set." },
     "ignoreResponseBody": { "kind": "parameter", "displayName": "Ignore Response Body", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If this option is true, The http producer won't read response body and cache the input stream" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "preserveHostHeader": { "kind": "parameter", "displayName": "Preserve Host Header", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server t [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-compute.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-compute.json
index 262259c..a57685a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-compute.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-compute.json
@@ -33,7 +33,7 @@
     "endpointId": { "kind": "path", "displayName": "Endpoint Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The endpoint ID (not used)." },
     "clusterGroupExpression": { "kind": "parameter", "displayName": "Cluster Group Expression", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.ignite.ClusterGroupExpression", "deprecated": false, "secret": false, "description": "An expression that returns the Cluster Group for the IgniteCompute instance." },
     "computeName": { "kind": "parameter", "displayName": "Compute Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The name of the compute job, which will be set via IgniteCompute#withName(String)." },
-    "executionType": { "kind": "parameter", "displayName": "Execution Type", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.ignite.compute.IgniteComputeExecutionType", "enum": [ "CALL", "BROADCAST", "APPLY", "EXECUTE", "RUN", "AFFINITY_CALL", "AFFINITY_RUN" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "The compute operation to perform. Possible values: CALL, BROADCAST, APPLY, EXECUTE, [...]
+    "executionType": { "kind": "parameter", "displayName": "Execution Type", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.ignite.compute.IgniteComputeExecutionType", "enum": [ "call", "broadcast", "apply", "execute", "run", "affinity-call", "affinity-run" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "The compute operation to perform. Possible values: CALL, BROADCAST, APPLY, EXECUTE, [...]
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "propagateIncomingBodyIfNoReturnValue": { "kind": "parameter", "displayName": "Propagate Incoming Body If No Return Value", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void." },
     "taskName": { "kind": "parameter", "displayName": "Task Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The task name, only applicable if using the IgniteComputeExecutionType#EXECUTE execution type." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-idgen.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-idgen.json
index 19e3597..e31be47 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-idgen.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-idgen.json
@@ -34,7 +34,7 @@
     "batchSize": { "kind": "parameter", "displayName": "Batch Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "The batch size." },
     "initialValue": { "kind": "parameter", "displayName": "Initial Value", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "defaultValue": "0", "description": "The initial value." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.ignite.idgen.IgniteIdGenOperation", "enum": [ "ADD_AND_GET", "GET", "GET_AND_ADD", "GET_AND_INCREMENT", "INCREMENT_AND_GET" ], "deprecated": false, "secret": false, "description": "The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the I [...]
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.ignite.idgen.IgniteIdGenOperation", "enum": [ "add-and-get", "get", "get-and-add", "get-and-increment", "increment-and-get" ], "deprecated": false, "secret": false, "description": "The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the I [...]
     "propagateIncomingBodyIfNoReturnValue": { "kind": "parameter", "displayName": "Propagate Incoming Body If No Return Value", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void." },
     "treatCollectionsAsCacheObjects": { "kind": "parameter", "displayName": "Treat Collections As Cache Objects", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Sets whether to treat Collections as cache objects or as Collections of items to insert\/update\/compute, etc." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-queue.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-queue.json
index a716ce9..eead7a8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-queue.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-queue.json
@@ -34,7 +34,7 @@
     "capacity": { "kind": "parameter", "displayName": "Capacity", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "The queue capacity. Default: non-bounded." },
     "configuration": { "kind": "parameter", "displayName": "Configuration", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.ignite.configuration.CollectionConfiguration", "deprecated": false, "secret": false, "description": "The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.ignite.queue.IgniteQueueOperation", "enum": [ "CONTAINS", "ADD", "SIZE", "REMOVE", "ITERATOR", "CLEAR", "RETAIN_ALL", "ARRAY", "DRAIN", "ELEMENT", "PEEK", "OFFER", "POLL", "TAKE", "PUT" ], "deprecated": false, "secret": false, "description": "The operation to invoke on the Ignite Queue. Superseded by the [...]
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.ignite.queue.IgniteQueueOperation", "enum": [ "contains", "add", "size", "remove", "iterator", "clear", "retain-all", "array", "drain", "element", "peek", "offer", "poll", "take", "put" ], "deprecated": false, "secret": false, "description": "The operation to invoke on the Ignite Queue. Superseded by the [...]
     "propagateIncomingBodyIfNoReturnValue": { "kind": "parameter", "displayName": "Propagate Incoming Body If No Return Value", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void." },
     "timeoutMillis": { "kind": "parameter", "displayName": "Timeout Millis", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "description": "The queue timeout in milliseconds. Default: no timeout." },
     "treatCollectionsAsCacheObjects": { "kind": "parameter", "displayName": "Treat Collections As Cache Objects", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Sets whether to treat Collections as cache objects or as Collections of items to insert\/update\/compute, etc." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-set.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-set.json
index 66a9271..fbe74d6 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-set.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ignite-set.json
@@ -33,7 +33,7 @@
     "name": { "kind": "path", "displayName": "Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The set name." },
     "configuration": { "kind": "parameter", "displayName": "Configuration", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.ignite.configuration.CollectionConfiguration", "deprecated": false, "secret": false, "description": "The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.ignite.set.IgniteSetOperation", "enum": [ "CONTAINS", "ADD", "SIZE", "REMOVE", "ITERATOR", "CLEAR", "RETAIN_ALL", "ARRAY" ], "deprecated": false, "secret": false, "description": "The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. P [...]
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.ignite.set.IgniteSetOperation", "enum": [ "contains", "add", "size", "remove", "iterator", "clear", "retain-all", "array" ], "deprecated": false, "secret": false, "description": "The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. P [...]
     "propagateIncomingBodyIfNoReturnValue": { "kind": "parameter", "displayName": "Propagate Incoming Body If No Return Value", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void." },
     "treatCollectionsAsCacheObjects": { "kind": "parameter", "displayName": "Treat Collections As Cache Objects", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Sets whether to treat Collections as cache objects or as Collections of items to insert\/update\/compute, etc." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kudu.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kudu.json
index f3ff696..ba778af 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kudu.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kudu.json
@@ -31,7 +31,7 @@
     "port": { "kind": "path", "displayName": "Port", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Port of the server to connect to" },
     "tableName": { "kind": "path", "displayName": "Table Name", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Table to connect to" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.kudu.KuduOperations", "enum": [ "INSERT", "CREATE_TABLE", "SCAN" ], "deprecated": false, "secret": false, "description": "Operation to perform" },
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.kudu.KuduOperations", "enum": [ "insert", "create-table", "scan" ], "deprecated": false, "secret": false, "description": "Operation to perform" },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." }
   }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/micrometer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/micrometer.json
index 3c6e3d3..efae0b9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/micrometer.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/micrometer.json
@@ -28,7 +28,7 @@
     "metricsRegistry": { "kind": "property", "displayName": "Metrics Registry", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.micrometer.core.instrument.MeterRegistry", "deprecated": false, "secret": false, "description": "To use a custom configured MetricRegistry." }
   },
   "properties": {
-    "metricsType": { "kind": "path", "displayName": "Metrics Type", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "io.micrometer.core.instrument.Meter.Type", "enum": [ "COUNTER", "GAUGE", "LONG_TASK_TIMER", "TIMER", "DISTRIBUTION_SUMMARY", "OTHER" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "Type of metrics" },
+    "metricsType": { "kind": "path", "displayName": "Metrics Type", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "io.micrometer.core.instrument.Meter.Type", "enum": [ "counter", "gauge", "long-task-timer", "timer", "distribution-summary", "other" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "Type of metrics" },
     "metricsName": { "kind": "path", "displayName": "Metrics Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "Name of metrics" },
     "tags": { "kind": "path", "displayName": "Tags", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.lang.Iterable<io.micrometer.core.instrument.Tag>", "deprecated": false, "secret": false, "description": "Tags of metrics" },
     "action": { "kind": "parameter", "displayName": "Action", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Action expression when using timer type" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mybatis-bean.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mybatis-bean.json
index 8df334c..6a8c77f 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mybatis-bean.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mybatis-bean.json
@@ -31,7 +31,7 @@
   "properties": {
     "beanName": { "kind": "path", "displayName": "Bean Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "Name of the bean with the MyBatis annotations. This can either by a type alias or a FQN class name." },
     "methodName": { "kind": "path", "displayName": "Method Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "Name of the method on the bean that has the SQL query to be executed." },
-    "executorType": { "kind": "parameter", "displayName": "Executor Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.ibatis.session.ExecutorType", "enum": [ "SIMPLE", "REUSE", "BATCH" ], "deprecated": false, "secret": false, "defaultValue": "SIMPLE", "description": "The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuse [...]
+    "executorType": { "kind": "parameter", "displayName": "Executor Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.ibatis.session.ExecutorType", "enum": [ "simple", "reuse", "batch" ], "deprecated": false, "secret": false, "defaultValue": "simple", "description": "The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuse [...]
     "inputHeader": { "kind": "parameter", "displayName": "Input Header", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "User the header value for input parameters instead of the message body. By default, inputHeader == null and the input parameters are taken from the message body. If outputHeader is set, the value is used and query parameters will be taken from the header [...]
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "outputHeader": { "kind": "parameter", "displayName": "Output Header", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/nagios.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/nagios.json
index 0f4025e..f066793 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/nagios.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/nagios.json
@@ -28,7 +28,7 @@
     "timeout": { "kind": "property", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "5000", "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "Sending timeout in millis." },
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "configuration": { "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.nagios.NagiosConfiguration", "deprecated": false, "secret": false, "description": "To use a shared NagiosConfiguration" },
-    "encryption": { "kind": "property", "displayName": "Encryption", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.googlecode.jsendnsca.encryption.Encryption", "enum": [ "NONE", "TRIPLE_DES", "XOR", "RIJNDAEL128", "RIJNDAEL192", "RIJNDAEL256", "BLOWFISH" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "To specify a [...]
+    "encryption": { "kind": "property", "displayName": "Encryption", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.googlecode.jsendnsca.encryption.Encryption", "enum": [ "none", "triple-des", "xor", "rijndael128", "rijndael192", "rijndael256", "blowfish" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "To specify a [...]
     "password": { "kind": "property", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "Password to be authenticated when sending checks to Nagios." }
   },
   "properties": {
@@ -40,7 +40,7 @@
     "timeout": { "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "5000", "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "Sending timeout in millis." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
-    "encryption": { "kind": "parameter", "displayName": "Encryption", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.googlecode.jsendnsca.encryption.Encryption", "enum": [ "NONE", "TRIPLE_DES", "XOR", "RIJNDAEL128", "RIJNDAEL192", "RIJNDAEL256", "BLOWFISH" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "To specify  [...]
+    "encryption": { "kind": "parameter", "displayName": "Encryption", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.googlecode.jsendnsca.encryption.Encryption", "enum": [ "none", "triple-des", "xor", "rijndael128", "rijndael192", "rijndael256", "blowfish" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "To specify  [...]
     "password": { "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.nagios.NagiosConfiguration", "configurationField": "configuration", "description": "Password to be authenticated when sending checks to Nagios." }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/saga.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/saga.json
index 204dbc7..1d3df08 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/saga.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/saga.json
@@ -27,7 +27,7 @@
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" }
   },
   "properties": {
-    "action": { "kind": "path", "displayName": "Action", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.saga.SagaEndpoint.SagaEndpointAction", "enum": [ "COMPLETE", "COMPENSATE" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "Action to execute (complete or compensate)" },
+    "action": { "kind": "path", "displayName": "Action", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.saga.SagaEndpoint.SagaEndpointAction", "enum": [ "complete", "compensate" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "Action to execute (complete or compensate)" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ldap.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ldap.json
index 6392aca..a65dc12 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ldap.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ldap.json
@@ -29,7 +29,7 @@
   "properties": {
     "templateName": { "kind": "path", "displayName": "Template Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "Name of the Spring LDAP Template bean" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.springldap.LdapOperation", "enum": [ "SEARCH", "BIND", "UNBIND", "AUTHENTICATE", "MODIFY_ATTRIBUTES", "FUNCTION_DRIVEN" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "The LDAP operation to be performed." },
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.springldap.LdapOperation", "enum": [ "search", "bind", "unbind", "authenticate", "modify-attributes", "function-driven" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "The LDAP operation to be performed." },
     "scope": { "kind": "parameter", "displayName": "Scope", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "object", "onelevel", "subtree" ], "deprecated": false, "secret": false, "defaultValue": "subtree", "description": "The scope of the search operation." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-http.json
index 88038a7..90cca55 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-http.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-http.json
@@ -46,7 +46,7 @@
     "connectTimeout": { "kind": "parameter", "displayName": "Connect Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "60000", "configurationClass": "org.apache.camel.component.vertx.http.VertxHttpConfiguration", "configurationField": "configuration", "description": "The amount of time in milliseconds until a connection is established. A timeout value of zero is interpreted a [...]
     "cookieStore": { "kind": "parameter", "displayName": "Cookie Store", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "io.vertx.ext.web.client.spi.CookieStore", "deprecated": false, "secret": false, "defaultValue": "InMemoryCookieStore", "configurationClass": "org.apache.camel.component.vertx.http.VertxHttpConfiguration", "configurationField": "configuration", "description": "A custom CookieStore to use when session management is enabled. If  [...]
     "headerFilterStrategy": { "kind": "parameter", "displayName": "Header Filter Strategy", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "secret": false, "defaultValue": "VertxHttpHeaderFilterStrategy", "configurationClass": "org.apache.camel.component.vertx.http.VertxHttpConfiguration", "configurationField": "configuration", "description": "A custom org.apache.camel.spi.Header [...]
-    "httpMethod": { "kind": "parameter", "displayName": "Http Method", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "io.vertx.core.http.HttpMethod", "enum": [ "OPTIONS", "GET", "HEAD", "POST", "PUT", "DELETE", "TRACE", "CONNECT", "PATCH", "OTHER" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.http.VertxHttpConfiguration", "configurationField": "configuration", "description": "The HTTP method t [...]
+    "httpMethod": { "kind": "parameter", "displayName": "Http Method", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "io.vertx.core.http.HttpMethod", "enum": [ "options", "get", "head", "post", "put", "delete", "trace", "connect", "patch", "other" ], "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.http.VertxHttpConfiguration", "configurationField": "configuration", "description": "The HTTP method t [...]
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "okStatusCodeRange": { "kind": "parameter", "displayName": "Ok Status Code Range", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "200-299", "configurationClass": "org.apache.camel.component.vertx.http.VertxHttpConfiguration", "configurationField": "configuration", "description": "The status codes which are considered a success response. The values are inclusive. Mult [...]
     "sessionManagement": { "kind": "parameter", "displayName": "Session Management", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.vertx.http.VertxHttpConfiguration", "configurationField": "configuration", "description": "Enables session management via WebClientSession. By default the client is configured to use an in-me [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt-saxon.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt-saxon.json
index 0f9f327..fc455df 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt-saxon.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt-saxon.json
@@ -41,7 +41,7 @@
     "deleteOutputFile": { "kind": "parameter", "displayName": "Delete Output File", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it af [...]
     "failOnNullBody": { "kind": "parameter", "displayName": "Fail On Null Body", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Whether or not to throw an exception if the input body is null." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "output": { "kind": "parameter", "displayName": "Output", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xslt.XsltOutput", "enum": [ "string", "bytes", "DOM", "file" ], "deprecated": false, "secret": false, "defaultValue": "string", "description": "Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly  [...]
+    "output": { "kind": "parameter", "displayName": "Output", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xslt.XsltOutput", "enum": [ "string", "bytes", "dom", "file" ], "deprecated": false, "secret": false, "defaultValue": "string", "description": "Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly  [...]
     "transformerCacheSize": { "kind": "parameter", "displayName": "Transformer Cache Size", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "0", "description": "The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer()." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "entityResolver": { "kind": "parameter", "displayName": "Entity Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.xml.sax.EntityResolver", "deprecated": false, "secret": false, "description": "To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt.json
index bdfc624..04f1b7c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/xslt.json
@@ -37,7 +37,7 @@
     "deleteOutputFile": { "kind": "parameter", "displayName": "Delete Output File", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it af [...]
     "failOnNullBody": { "kind": "parameter", "displayName": "Fail On Null Body", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Whether or not to throw an exception if the input body is null." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "output": { "kind": "parameter", "displayName": "Output", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xslt.XsltOutput", "enum": [ "string", "bytes", "DOM", "file" ], "deprecated": false, "secret": false, "defaultValue": "string", "description": "Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly  [...]
+    "output": { "kind": "parameter", "displayName": "Output", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xslt.XsltOutput", "enum": [ "string", "bytes", "dom", "file" ], "deprecated": false, "secret": false, "defaultValue": "string", "description": "Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly  [...]
     "transformerCacheSize": { "kind": "parameter", "displayName": "Transformer Cache Size", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "0", "description": "The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer()." },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "entityResolver": { "kind": "parameter", "displayName": "Entity Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.xml.sax.EntityResolver", "deprecated": false, "secret": false, "description": "To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/activemq-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/activemq-component.adoc
index 451b91d..81a41e0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/activemq-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/activemq-component.adoc
@@ -276,7 +276,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/amqp-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/amqp-component.adoc
index 0b6541e..238e4b3 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/amqp-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/amqp-component.adoc
@@ -268,7 +268,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc
index 798cc64..df155e4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/arangodb-component.adoc
@@ -51,7 +51,7 @@ The ArangoDb component supports 12 options, which are listed below.
 | *graph* (producer) | Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection. |  | String
 | *host* (producer) | ArangoDB host. If host and port are default, this field is Optional. |  | String
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph. There are 13 enums and the value can be one of: SAVE_DOCUMENT, FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT, AQL_QUERY, SAVE_VERTEX, FIND_VERTEX_BY_KEY, UPDATE_VERTEX, DELETE_VERTEX, SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE |  | ArangoDbOperation
+| *operation* (producer) | Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph. There are 13 enums and the value can be one of: save-document, find-document-by-key, update-document, delete-document, aql-query, save-vertex, find-vertex-by-key, update-vertex, delete-vertex, save-edge, find-edge-by-key, update-edge, delete-edge |  | ArangoDbOperation
 | *port* (producer) | ArangoDB exposed port. If host and port are default, this field is Optional. |  | int
 | *vertexCollection* (producer) | Collection name of vertices, when using ArangoDb as a Graph Database. Set the vertexCollection name to perform CRUD operation on vertices using these operations : SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE. The graph attribute is mandatory. |  | String
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
@@ -90,7 +90,7 @@ with the following path and query parameters:
 | *graph* (producer) | Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection. |  | String
 | *host* (producer) | ArangoDB host. If host and port are default, this field is Optional. |  | String
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph. There are 13 enums and the value can be one of: SAVE_DOCUMENT, FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT, AQL_QUERY, SAVE_VERTEX, FIND_VERTEX_BY_KEY, UPDATE_VERTEX, DELETE_VERTEX, SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE |  | ArangoDbOperation
+| *operation* (producer) | Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph. There are 13 enums and the value can be one of: save-document, find-document-by-key, update-document, delete-document, aql-query, save-vertex, find-vertex-by-key, update-vertex, delete-vertex, save-edge, find-edge-by-key, update-edge, delete-edge |  | ArangoDbOperation
 | *port* (producer) | ArangoDB exposed port. If host and port are default, this field is Optional. |  | int
 | *vertexCollection* (producer) | Collection name of vertices, when using ArangoDb as a Graph Database. Set the vertexCollection name to perform CRUD operation on vertices using these operations : SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE. The graph attribute is mandatory. |  | String
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/atomix-multimap-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/atomix-multimap-component.adoc
index 8fe1b9c..e697aa1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/atomix-multimap-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/atomix-multimap-component.adoc
@@ -43,7 +43,7 @@ The Atomix MultiMap component supports 17 options, which are listed below.
 | *atomix* (producer) | The Atomix instance to use |  | Atomix
 | *configuration* (producer) | The shared component configuration |  | AtomixMultiMapConfiguration
 | *configurationUri* (producer) | The path to the AtomixClient configuration |  | String
-| *defaultAction* (producer) | The default action. There are 8 enums and the value can be one of: PUT, GET, CLEAR, SIZE, CONTAINS_KEY, IS_EMPTY, REMOVE, REMOVE_VALUE | PUT | Action
+| *defaultAction* (producer) | The default action. There are 8 enums and the value can be one of: put, get, clear, size, contains-key, is-empty, remove, remove-value | put | Action
 | *key* (producer) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
 | *lazyStartProducer* (producer) | 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 [...]
 | *nodes* (producer) | The nodes the AtomixClient should connect to |  | List
@@ -54,7 +54,7 @@ The Atomix MultiMap component supports 17 options, which are listed below.
 | *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
 | *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
 | *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
+| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: atomic, atomic-lease, sequential, local |  | ReadConsistency
 | *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
 | *resourceOptions* (advanced) | Local resources configurations |  | Map
 |===
@@ -87,7 +87,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *atomix* (producer) | The Atomix instance to use |  | Atomix
 | *configurationUri* (producer) | The Atomix configuration uri. |  | String
-| *defaultAction* (producer) | The default action. There are 8 enums and the value can be one of: PUT, GET, CLEAR, SIZE, CONTAINS_KEY, IS_EMPTY, REMOVE, REMOVE_VALUE | PUT | Action
+| *defaultAction* (producer) | The default action. There are 8 enums and the value can be one of: put, get, clear, size, contains-key, is-empty, remove, remove-value | put | Action
 | *key* (producer) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
 | *lazyStartProducer* (producer) | 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 [...]
 | *nodes* (producer) | The address of the nodes composing the cluster. |  | String
@@ -98,7 +98,7 @@ with the following path and query parameters:
 | *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
 | *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
 | *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
-| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL |  | ReadConsistency
+| *readConsistency* (advanced) | The read consistency level. There are 4 enums and the value can be one of: atomic, atomic-lease, sequential, local |  | ReadConsistency
 | *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
 | *resourceOptions* (advanced) | Local resources configurations |  | Map
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc
index f841979..a7e8e09 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc
@@ -99,7 +99,7 @@ with the following path and query parameters:
 | *lazyStartProducer* (producer) | 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 [...]
 | *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
 | *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
+| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
@@ -132,7 +132,7 @@ The Azure Event Hubs component supports 21 options, which are listed below.
 | *lazyStartProducer* (producer) | 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 [...]
 | *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
 | *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
+| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
 | *sharedAccessKey* (security) | The generated value for the SharedAccessName |  | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-component.adoc
index 6fe7c89..81fc310 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-component.adoc
@@ -37,7 +37,7 @@ The Bean component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *cache* (producer) | *Deprecated* Use singleton option instead. | true | Boolean
 | *lazyStartProducer* (producer) | 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 [...]
-| *scope* (producer) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while  [...]
+| *scope* (producer) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while  [...]
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -71,7 +71,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *cache* (common) | *Deprecated* Use scope option instead. |  | Boolean
 | *method* (common) | Sets the name of the method to invoke on the bean |  | String
-| *scope* (common) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while pr [...]
+| *scope* (common) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while pr [...]
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *parameters* (advanced) | Used for configuring additional properties on the bean |  | Map
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
index 93c47f7..cff8e6a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
@@ -236,6 +236,59 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
+==== creditCardVerification
+
+
+The creditCardVerification API has 3 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request);
+
+com.braintreegateway.CreditCardVerification find(String id);
+
+com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditCardVerificationSearchRequest query);
+
+----
+
+The creditCardVerification API is defined in the syntax as follows:
+
+----
+braintree:creditCardVerification/methodName?[parameters]
+----
+
+The 3 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *create* |  | 
+| *find* |  | 
+| *search* |  | 
+|===
+
+The creditCardVerification API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| create | *request* |   | CreditCardVerificationRequest
+| find | *id* |   | String
+| search | *query* |   | CreditCardVerificationSearchRequest
+|===
+
+In addition to the parameters above, the creditCardVerification API can also use from the 34 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelBraintree.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelBraintree.myParameterNameHere` header.
+
+
+
 ==== subscription
 
 
@@ -393,157 +446,108 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== settlementBatchSummary
-
-
-The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate);
-
-com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField);
-
-----
-
-The settlementBatchSummary API is defined in the syntax as follows:
-
-----
-braintree:settlementBatchSummary/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *generate* |  | 
-|===
-
-The settlementBatchSummary API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| generate | *groupByCustomField* |   | String
-| generate | *settlementDate* |   | Calendar
-|===
-
-In addition to the parameters above, the settlementBatchSummary API can also use from the 34 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
-
-
-
-==== address
+==== transaction
 
 
-The address API has 4 method(s) which is represented by the following method signatures
+The transaction API has 13 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id);
-
-com.braintreegateway.Address find(String customerId, String id);
+com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id);
 
-com.braintreegateway.Result<com.braintreegateway.Address> update(String customerId, String id, com.braintreegateway.AddressRequest request);
+com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request);
 
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> credit(com.braintreegateway.TransactionRequest request);
 
-The address API is defined in the syntax as follows:
+com.braintreegateway.Transaction find(String id);
 
-----
-braintree:address/methodName?[parameters]
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> holdInEscrow(String id);
 
-The 4 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id);
 
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *create* |  | Creates an Address for a Customer
-| *delete* |  | Deletes a Customer's Address
-| *find* |  | Finds a Customer's Address
-| *update* |  | Updates a Customer's Address
-|===
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, com.braintreegateway.TransactionRefundRequest request);
 
-The address API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| create | *customerId* |  The id of the Customer | String
-| create | *request* |  The request object | AddressRequest
-| delete | *customerId* |  The id of the Customer | String
-| delete | *id* |  The id of the Address to delete | String
-| find | *customerId* |  The id of the Customer | String
-| find | *id* |  The id of the Address | String
-| update | *customerId* |  The id of the Customer | String
-| update | *id* |  The id of the Address | String
-| update | *request* |  The request object containing the AddressRequest parameters | AddressRequest
-|===
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, java.math.BigDecimal amount);
 
-In addition to the parameters above, the address API can also use from the 34 endpoint query option
-which is listed in the _Query Parameters_ section.
+com.braintreegateway.Result<com.braintreegateway.Transaction> releaseFromEscrow(String id);
 
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
+com.braintreegateway.Result<com.braintreegateway.Transaction> sale(com.braintreegateway.TransactionRequest request);
 
+com.braintreegateway.ResourceCollection<com.braintreegateway.Transaction> search(com.braintreegateway.TransactionSearchRequest query);
 
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, com.braintreegateway.TransactionRequest request);
 
-==== webhookNotification
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, java.math.BigDecimal amount);
 
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id);
 
-The webhookNotification API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, com.braintreegateway.TransactionRequest request);
 
-[source,java]
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, java.math.BigDecimal amount);
 
-com.braintreegateway.WebhookNotification parse(String signature, String payload);
+com.braintreegateway.Result<com.braintreegateway.Transaction> updateDetails(String id, com.braintreegateway.TransactionRequest request);
 
-String verify(String challenge);
+com.braintreegateway.Result<com.braintreegateway.Transaction> voidTransaction(String id);
 
 ----
 
-The webhookNotification API is defined in the syntax as follows:
+The transaction API is defined in the syntax as follows:
 
 ----
-braintree:webhookNotification/methodName?[parameters]
+braintree:transaction/methodName?[parameters]
 ----
 
-The 2 method(s) is listed in the table below.
+The 13 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *parse* |  | 
-| *verify* |  | 
+| *cancelRelease* |  | Cancels a pending release of a transaction with the given id from escrow
+| *cloneTransaction* |  | 
+| *credit* |  | Creates a credit Transaction
+| *find* |  | Finds a Transaction by id
+| *holdInEscrow* |  | Holds the transaction with the given id for escrow
+| *refund* |  | Refunds all or part of a previous sale Transaction
+| *releaseFromEscrow* |  | Submits the transaction with the given id for release
+| *sale* |  | Creates a sale Transaction
+| *search* |  | Finds all Transactions that match the query and returns a ResourceCollection
+| *submitForPartialSettlement* |  | Submits a partial settlement transaction for the given id
+| *submitForSettlement* |  | Submits the transaction with the given id to be settled along with a TransactionRequest object
+| *updateDetails* |  | Updates details for a transaction that has been submitted for settlement
+| *voidTransaction* |  | Voids the transaction with the given id
 |===
 
-The webhookNotification API method(s) has the following set of parameters listed in the table below:
+The transaction API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| parse | *payload* |   | String
-| parse | *signature* |   | String
-| verify | *challenge* |   | String
+| cancelRelease | *id* |  Of the transaction to cancel release from escrow of | String
+| cloneTransaction | *cloneRequest* |   | TransactionCloneRequest
+| cloneTransaction | *id* |   | String
+| credit | *request* |  The request | TransactionRequest
+| find | *id* |  The id of the Transaction | String
+| holdInEscrow | *id* |  Of the transaction to hold for escrow | String
+| refund | *amount* |   | BigDecimal
+| refund | *id* |   | String
+| refund | *refundRequest* |   | TransactionRefundRequest
+| releaseFromEscrow | *id* |  Of the transaction to submit for release | String
+| sale | *request* |  The request | TransactionRequest
+| search | *query* |  The search query | TransactionSearchRequest
+| submitForPartialSettlement | *amount* |  Of the partial settlement | BigDecimal
+| submitForPartialSettlement | *id* |  Of the transaction to add the partial settlement transaction for | String
+| submitForPartialSettlement | *request* |  The request | TransactionRequest
+| submitForSettlement | *amount* |  To settle. must be less than or equal to the authorization amount. | BigDecimal
+| submitForSettlement | *id* |  Of the transaction to submit for settlement | String
+| submitForSettlement | *request* |  The request | TransactionRequest
+| updateDetails | *id* |  Of the transaction to update the details for | String
+| updateDetails | *request* |  The request | TransactionRequest
+| voidTransaction | *id* |  Of the transaction to void | String
 |===
 
-In addition to the parameters above, the webhookNotification API can also use from the 34 endpoint query option
+In addition to the parameters above, the transaction API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -553,50 +557,45 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== creditCardVerification
+==== settlementBatchSummary
 
 
-The creditCardVerification API has 3 method(s) which is represented by the following method signatures
+The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request);
-
-com.braintreegateway.CreditCardVerification find(String id);
+com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate);
 
-com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditCardVerificationSearchRequest query);
+com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField);
 
 ----
 
-The creditCardVerification API is defined in the syntax as follows:
+The settlementBatchSummary API is defined in the syntax as follows:
 
 ----
-braintree:creditCardVerification/methodName?[parameters]
+braintree:settlementBatchSummary/methodName?[parameters]
 ----
 
-The 3 method(s) is listed in the table below.
+The 1 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *create* |  | 
-| *find* |  | 
-| *search* |  | 
+| *generate* |  | 
 |===
 
-The creditCardVerification API method(s) has the following set of parameters listed in the table below:
+The settlementBatchSummary API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| create | *request* |   | CreditCardVerificationRequest
-| find | *id* |   | String
-| search | *query* |   | CreditCardVerificationSearchRequest
+| generate | *groupByCustomField* |   | String
+| generate | *settlementDate* |   | Calendar
 |===
 
-In addition to the parameters above, the creditCardVerification API can also use from the 34 endpoint query option
+In addition to the parameters above, the settlementBatchSummary API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -606,108 +605,59 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== transaction
+==== address
 
 
-The transaction API has 13 method(s) which is represented by the following method signatures
+The address API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> credit(com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.Transaction find(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> holdInEscrow(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, com.braintreegateway.TransactionRefundRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, java.math.BigDecimal amount);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> releaseFromEscrow(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> sale(com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.ResourceCollection<com.braintreegateway.Transaction> search(com.braintreegateway.TransactionSearchRequest query);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, java.math.BigDecimal amount);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, com.braintreegateway.TransactionRequest request);
+com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, java.math.BigDecimal amount);
+com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> updateDetails(String id, com.braintreegateway.TransactionRequest request);
+com.braintreegateway.Address find(String customerId, String id);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> voidTransaction(String id);
+com.braintreegateway.Result<com.braintreegateway.Address> update(String customerId, String id, com.braintreegateway.AddressRequest request);
 
 ----
 
-The transaction API is defined in the syntax as follows:
+The address API is defined in the syntax as follows:
 
 ----
-braintree:transaction/methodName?[parameters]
+braintree:address/methodName?[parameters]
 ----
 
-The 13 method(s) is listed in the table below.
+The 4 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *cancelRelease* |  | Cancels a pending release of a transaction with the given id from escrow
-| *cloneTransaction* |  | 
-| *credit* |  | Creates a credit Transaction
-| *find* |  | Finds a Transaction by id
-| *holdInEscrow* |  | Holds the transaction with the given id for escrow
-| *refund* |  | Refunds all or part of a previous sale Transaction
-| *releaseFromEscrow* |  | Submits the transaction with the given id for release
-| *sale* |  | Creates a sale Transaction
-| *search* |  | Finds all Transactions that match the query and returns a ResourceCollection
-| *submitForPartialSettlement* |  | Submits a partial settlement transaction for the given id
-| *submitForSettlement* |  | Submits the transaction with the given id to be settled along with a TransactionRequest object
-| *updateDetails* |  | Updates details for a transaction that has been submitted for settlement
-| *voidTransaction* |  | Voids the transaction with the given id
+| *create* |  | Creates an Address for a Customer
+| *delete* |  | Deletes a Customer's Address
+| *find* |  | Finds a Customer's Address
+| *update* |  | Updates a Customer's Address
 |===
 
-The transaction API method(s) has the following set of parameters listed in the table below:
+The address API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| cancelRelease | *id* |  Of the transaction to cancel release from escrow of | String
-| cloneTransaction | *cloneRequest* |   | TransactionCloneRequest
-| cloneTransaction | *id* |   | String
-| credit | *request* |  The request | TransactionRequest
-| find | *id* |  The id of the Transaction | String
-| holdInEscrow | *id* |  Of the transaction to hold for escrow | String
-| refund | *amount* |   | BigDecimal
-| refund | *id* |   | String
-| refund | *refundRequest* |   | TransactionRefundRequest
-| releaseFromEscrow | *id* |  Of the transaction to submit for release | String
-| sale | *request* |  The request | TransactionRequest
-| search | *query* |  The search query | TransactionSearchRequest
-| submitForPartialSettlement | *amount* |  Of the partial settlement | BigDecimal
-| submitForPartialSettlement | *id* |  Of the transaction to add the partial settlement transaction for | String
-| submitForPartialSettlement | *request* |  The request | TransactionRequest
-| submitForSettlement | *amount* |  To settle. must be less than or equal to the authorization amount. | BigDecimal
-| submitForSettlement | *id* |  Of the transaction to submit for settlement | String
-| submitForSettlement | *request* |  The request | TransactionRequest
-| updateDetails | *id* |  Of the transaction to update the details for | String
-| updateDetails | *request* |  The request | TransactionRequest
-| voidTransaction | *id* |  Of the transaction to void | String
+| create | *customerId* |  The id of the Customer | String
+| create | *request* |  The request object | AddressRequest
+| delete | *customerId* |  The id of the Customer | String
+| delete | *id* |  The id of the Address to delete | String
+| find | *customerId* |  The id of the Customer | String
+| find | *id* |  The id of the Address | String
+| update | *customerId* |  The id of the Customer | String
+| update | *id* |  The id of the Address | String
+| update | *request* |  The request object containing the AddressRequest parameters | AddressRequest
 |===
 
-In addition to the parameters above, the transaction API can also use from the 34 endpoint query option
+In addition to the parameters above, the address API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -881,6 +831,56 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
+==== webhookNotification
+
+
+The webhookNotification API has 2 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.braintreegateway.WebhookNotification parse(String signature, String payload);
+
+String verify(String challenge);
+
+----
+
+The webhookNotification API is defined in the syntax as follows:
+
+----
+braintree:webhookNotification/methodName?[parameters]
+----
+
+The 2 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *parse* |  | 
+| *verify* |  | 
+|===
+
+The webhookNotification API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| parse | *payload* |   | String
+| parse | *signature* |   | String
+| verify | *challenge* |   | String
+|===
+
+In addition to the parameters above, the webhookNotification API can also use from the 34 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelBraintree.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelBraintree.myParameterNameHere` header.
+
+
+
 ==== merchantAccount
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-cache-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-cache-component.adoc
index 72aaff7..a90e8ad 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-cache-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-cache-component.adoc
@@ -51,7 +51,7 @@ The Caffeine Cache component supports 17 options, which are listed below.
 | *action* (producer) | To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence. |  | String
 | *cacheLoader* (producer) | To configure a CacheLoader in case of a LoadCache use |  | CacheLoader
 | *createCacheIfNotExist* (producer) | Configure if a cache need to be created if it does exist or can't be pre-configured. | true | boolean
-| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size_based, time_based | SIZE_BASED | EvictionType
+| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size-based, time-based | size-based | EvictionType
 | *expireAfterAccessTime* (producer) | Set the expire After Access Time in case of time based Eviction (in seconds) | 300 | int
 | *expireAfterWriteTime* (producer) | Set the expire After Access Write in case of time based Eviction (in seconds) | 300 | int
 | *initialCapacity* (producer) | Set the initial Capacity for the cache | 10000 | int
@@ -98,7 +98,7 @@ with the following path and query parameters:
 | *action* (producer) | To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence. |  | String
 | *cacheLoader* (producer) | To configure a CacheLoader in case of a LoadCache use |  | CacheLoader
 | *createCacheIfNotExist* (producer) | Configure if a cache need to be created if it does exist or can't be pre-configured. | true | boolean
-| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size_based, time_based | SIZE_BASED | EvictionType
+| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size-based, time-based | size-based | EvictionType
 | *expireAfterAccessTime* (producer) | Set the expire After Access Time in case of time based Eviction (in seconds) | 300 | int
 | *expireAfterWriteTime* (producer) | Set the expire After Access Write in case of time based Eviction (in seconds) | 300 | int
 | *initialCapacity* (producer) | Set the initial Capacity for the cache | 10000 | int
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-loadcache-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-loadcache-component.adoc
index 32f1316..f594726 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-loadcache-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/caffeine-loadcache-component.adoc
@@ -51,7 +51,7 @@ The Caffeine LoadCache component supports 17 options, which are listed below.
 | *action* (producer) | To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence. |  | String
 | *cacheLoader* (producer) | To configure a CacheLoader in case of a LoadCache use |  | CacheLoader
 | *createCacheIfNotExist* (producer) | Configure if a cache need to be created if it does exist or can't be pre-configured. | true | boolean
-| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size_based, time_based | SIZE_BASED | EvictionType
+| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size-based, time-based | size-based | EvictionType
 | *expireAfterAccessTime* (producer) | Set the expire After Access Time in case of time based Eviction (in seconds) | 300 | int
 | *expireAfterWriteTime* (producer) | Set the expire After Access Write in case of time based Eviction (in seconds) | 300 | int
 | *initialCapacity* (producer) | Set the initial Capacity for the cache | 10000 | int
@@ -98,7 +98,7 @@ with the following path and query parameters:
 | *action* (producer) | To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence. |  | String
 | *cacheLoader* (producer) | To configure a CacheLoader in case of a LoadCache use |  | CacheLoader
 | *createCacheIfNotExist* (producer) | Configure if a cache need to be created if it does exist or can't be pre-configured. | true | boolean
-| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size_based, time_based | SIZE_BASED | EvictionType
+| *evictionType* (producer) | Set the eviction Type for this cache. There are 2 enums and the value can be one of: size-based, time-based | size-based | EvictionType
 | *expireAfterAccessTime* (producer) | Set the expire After Access Time in case of time based Eviction (in seconds) | 300 | int
 | *expireAfterWriteTime* (producer) | Set the expire After Access Write in case of time based Eviction (in seconds) | 300 | int
 | *initialCapacity* (producer) | Set the initial Capacity for the cache | 10000 | int
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/class-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/class-component.adoc
index e06567d..1893720 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/class-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/class-component.adoc
@@ -40,7 +40,7 @@ The Class component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *cache* (producer) | *Deprecated* Use singleton option instead. | true | Boolean
 | *lazyStartProducer* (producer) | 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 [...]
-| *scope* (producer) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while  [...]
+| *scope* (producer) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while  [...]
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -74,7 +74,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *cache* (common) | *Deprecated* Use scope option instead. |  | Boolean
 | *method* (common) | Sets the name of the method to invoke on the bean |  | String
-| *scope* (common) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while pr [...]
+| *scope* (common) | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while pr [...]
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *parameters* (advanced) | Used for configuring additional properties on the bean |  | Map
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/controlbus-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/controlbus-component.adoc
index c7dc6b2..4d50556 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/controlbus-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/controlbus-component.adoc
@@ -105,7 +105,7 @@ with the following path and query parameters:
 | *action* (producer) | To denote an action that can be either: start, stop, or status. To either start or stop a route, or to get the status of the route as output in the message body. You can use suspend and resume from Camel 2.11.1 onwards to either suspend or resume a route. And from Camel 2.11.1 onwards you can use stats to get performance statics returned in XML format; the routeId option can be used to define which route to get the performance stats for, if routeId is not defined, [...]
 | *async* (producer) | Whether to execute the control bus task asynchronously. Important: If this option is enabled, then any result from the task is not set on the Exchange. This is only possible if executing tasks synchronously. | false | boolean
 | *lazyStartProducer* (producer) | 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 [...]
-| *loggingLevel* (producer) | Logging level used for logging when task is done, or if any exceptions occurred during processing the task. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | INFO | LoggingLevel
+| *loggingLevel* (producer) | Logging level used for logging when task is done, or if any exceptions occurred during processing the task. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | info | LoggingLevel
 | *restartDelay* (producer) | The delay in millis to use when restarting a route. | 1000 | int
 | *routeId* (producer) | To specify a route by its id. The special keyword current indicates the current route. |  | String
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/exec-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/exec-component.adoc
index 8c8f3f0..b6355b3 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/exec-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/exec-component.adoc
@@ -82,7 +82,7 @@ with the following path and query parameters:
 | *args* (producer) | The arguments may be one or many whitespace-separated tokens. |  | String
 | *binding* (producer) | A reference to a org.apache.commons.exec.ExecBinding in the Registry. |  | ExecBinding
 | *commandExecutor* (producer) | A reference to a org.apache.commons.exec.ExecCommandExecutor in the Registry that customizes the command execution. The default command executor utilizes the commons-exec library, which adds a shutdown hook for every executed command. |  | ExecCommandExecutor
-| *commandLogLevel* (producer) | Logging level to be used for commands during execution. The default value is DEBUG. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values of ExecCommandLogLevelType enum). There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
+| *commandLogLevel* (producer) | Logging level to be used for commands during execution. The default value is DEBUG. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values of ExecCommandLogLevelType enum). There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
 | *lazyStartProducer* (producer) | 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 [...]
 | *outFile* (producer) | The name of a file, created by the executable, that should be considered as its output. If no outFile is set, the standard output (stdout) of the executable will be used instead. |  | String
 | *timeout* (producer) | The timeout, in milliseconds, after which the executable should be terminated. If execution has not completed within the timeout, the component will send a termination request. |  | long
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc
index 76345b2..26721d9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc
@@ -348,244 +348,6 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
-==== operation
-
-
-The operation API has 5 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onInstanceVersion(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onServer(String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onType(Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseBundle processMessage(String respondToUri, org.hl7.fhir.instance.model.api.IBaseBundle msgBundle, boolean asynchronous, Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The operation API is defined in the syntax as follows:
-
-----
-fhir:operation/methodName?[parameters]
-----
-
-The 5 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *onInstance* |  | Perform the operation across all versions of a specific resource (by ID and type) on the server
-| *onInstanceVersion* |  | This operation operates on a specific version of a resource
-| *onServer* |  | Perform the operation across all versions of all resources of all types on the server
-| *onType* |  | Perform the operation across all versions of all resources of the given type on the server
-| *processMessage* |  | This operation is called $process-message as defined by the FHIR specification
-|===
-
-The operation API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| onInstance | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onInstance | *id* |  Resource (version will be stripped) | IIdType
-| onInstance | *name* |  Operation name | String
-| onInstance | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onInstance | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onInstance | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onInstance | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onInstanceVersion | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onInstanceVersion | *id* |  Resource version | IIdType
-| onInstanceVersion | *name* |  Operation name | String
-| onInstanceVersion | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onInstanceVersion | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onInstanceVersion | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onInstanceVersion | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onServer | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onServer | *name* |  Operation name | String
-| onServer | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onServer | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onServer | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onServer | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onType | *name* |  Operation name | String
-| onType | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onType | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onType | *resourceType* |  The resource type to operate on | Class
-| onType | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onType | *useHttpGet* |  Use HTTP GET verb | Boolean
-| processMessage | *asynchronous* |  Whether to process the message asynchronously or synchronously, defaults to synchronous. | Boolean
-| processMessage | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| processMessage | *msgBundle* |  Set the Message Bundle to POST to the messaging server | IBaseBundle
-| processMessage | *respondToUri* | *Optional*  An optional query parameter indicating that responses from the receiving server should be sent to this URI, may be NULL | String
-| processMessage | *responseClass* |  The response class | Class
-|===
-
-In addition to the parameters above, the operation API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== search
-
-
-The search API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The search API is defined in the syntax as follows:
-
-----
-fhir:search/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *searchByUrl* |  | Perform a search directly by URL
-|===
-
-The search API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| searchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| searchByUrl | *url* |  The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
-|===
-
-In addition to the parameters above, the search API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== capabilities
-
-
-The capabilities API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The capabilities API is defined in the syntax as follows:
-
-----
-fhir:capabilities/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *ofType* |  | Retrieve the conformance statement using the given model type
-|===
-
-The capabilities API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| ofType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| ofType | *type* |  The model type | Class
-|===
-
-In addition to the parameters above, the capabilities API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== patch
-
-
-The patch API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-ca.uhn.fhir.rest.api.MethodOutcome patchByUrl(String patchBody, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The patch API is defined in the syntax as follows:
-
-----
-fhir:patch/methodName?[parameters]
-----
-
-The 2 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *patchById* |  | Applies the patch to the given resource ID
-| *patchByUrl* |  | Specifies that the update should be performed as a conditional create against a given search URL
-|===
-
-The patch API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| patchById | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| patchById | *id* |  The resource ID to patch | IIdType
-| patchById | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| patchById | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| patchById | *stringId* |  The resource ID to patch | String
-| patchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| patchByUrl | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| patchByUrl | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| patchByUrl | *url* |  The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
-|===
-
-In addition to the parameters above, the patch API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
 ==== meta
 
 
@@ -723,6 +485,94 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== operation
+
+
+The operation API has 5 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onInstanceVersion(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onServer(String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onType(Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseBundle processMessage(String respondToUri, org.hl7.fhir.instance.model.api.IBaseBundle msgBundle, boolean asynchronous, Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The operation API is defined in the syntax as follows:
+
+----
+fhir:operation/methodName?[parameters]
+----
+
+The 5 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *onInstance* |  | Perform the operation across all versions of a specific resource (by ID and type) on the server
+| *onInstanceVersion* |  | This operation operates on a specific version of a resource
+| *onServer* |  | Perform the operation across all versions of all resources of all types on the server
+| *onType* |  | Perform the operation across all versions of all resources of the given type on the server
+| *processMessage* |  | This operation is called $process-message as defined by the FHIR specification
+|===
+
+The operation API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| onInstance | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onInstance | *id* |  Resource (version will be stripped) | IIdType
+| onInstance | *name* |  Operation name | String
+| onInstance | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onInstance | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onInstance | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onInstance | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onInstanceVersion | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onInstanceVersion | *id* |  Resource version | IIdType
+| onInstanceVersion | *name* |  Operation name | String
+| onInstanceVersion | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onInstanceVersion | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onInstanceVersion | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onInstanceVersion | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onServer | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onServer | *name* |  Operation name | String
+| onServer | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onServer | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onServer | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onServer | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onType | *name* |  Operation name | String
+| onType | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onType | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onType | *resourceType* |  The resource type to operate on | Class
+| onType | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onType | *useHttpGet* |  Use HTTP GET verb | Boolean
+| processMessage | *asynchronous* |  Whether to process the message asynchronously or synchronously, defaults to synchronous. | Boolean
+| processMessage | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| processMessage | *msgBundle* |  Set the Message Bundle to POST to the messaging server | IBaseBundle
+| processMessage | *respondToUri* | *Optional*  An optional query parameter indicating that responses from the receiving server should be sent to this URI, may be NULL | String
+| processMessage | *responseClass* |  The response class | Class
+|===
+
+In addition to the parameters above, the operation API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== load-page
 
 
@@ -780,6 +630,52 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== search
+
+
+The search API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The search API is defined in the syntax as follows:
+
+----
+fhir:search/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *searchByUrl* |  | Perform a search directly by URL
+|===
+
+The search API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| searchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| searchByUrl | *url* |  The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
+|===
+
+In addition to the parameters above, the search API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== transaction
 
 
@@ -917,6 +813,110 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== capabilities
+
+
+The capabilities API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The capabilities API is defined in the syntax as follows:
+
+----
+fhir:capabilities/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *ofType* |  | Retrieve the conformance statement using the given model type
+|===
+
+The capabilities API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| ofType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| ofType | *type* |  The model type | Class
+|===
+
+In addition to the parameters above, the capabilities API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
+==== patch
+
+
+The patch API has 2 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+ca.uhn.fhir.rest.api.MethodOutcome patchByUrl(String patchBody, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The patch API is defined in the syntax as follows:
+
+----
+fhir:patch/methodName?[parameters]
+----
+
+The 2 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *patchById* |  | Applies the patch to the given resource ID
+| *patchByUrl* |  | Specifies that the update should be performed as a conditional create against a given search URL
+|===
+
+The patch API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| patchById | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| patchById | *id* |  The resource ID to patch | IIdType
+| patchById | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
+| patchById | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
+| patchById | *stringId* |  The resource ID to patch | String
+| patchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| patchByUrl | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
+| patchByUrl | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
+| patchByUrl | *url* |  The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
+|===
+
+In addition to the parameters above, the patch API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== delete
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/file-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/file-component.adoc
index 2fd5537..24d5d5a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/file-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/file-component.adoc
@@ -169,7 +169,7 @@ with the following path and query parameters:
 | *readLockIdempotentReleaseAsync{zwsp}PoolSize* (lock) | The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more det [...]
 | *readLockIdempotentReleaseDelay* (lock) | Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if [...]
 | *readLockIdempotentRelease{zwsp}ExecutorService* (lock) | To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option. |  | ScheduledExecutorService
-| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
+| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
 | *readLockMarkerFile* (lock) | Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application. | true | boolean
 | *readLockMinAge* (lock) | This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age. | 0 | long
 | *readLockMinLength* (lock) | This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files. | 1 | long
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftp-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftp-component.adoc
index 9d19765..3b238d2 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftp-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftp-component.adoc
@@ -140,7 +140,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *handleDirectoryParserAbsolute{zwsp}Result* (consumer) | Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path. | false | boolean
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftps-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftps-component.adoc
index 96787eb..0f5a894 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftps-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ftps-component.adoc
@@ -99,7 +99,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *handleDirectoryParserAbsolute{zwsp}Result* (consumer) | Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path. | false | boolean
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/geocoder-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/geocoder-component.adoc
index 0a496e5..32bfd60 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/geocoder-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/geocoder-component.adoc
@@ -87,7 +87,7 @@ with the following path and query parameters:
 | *language* (producer) | The language to use. | en | String
 | *lazyStartProducer* (producer) | 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 [...]
 | *serverUrl* (producer) | URL to the geocoder server. Mandatory for Nominatim server. |  | String
-| *type* (producer) | Type of GeoCoding server. Supported Nominatim and Google. There are 2 enums and the value can be one of: NOMINATIM, GOOGLE |  | GeoCoderType
+| *type* (producer) | Type of GeoCoding server. Supported Nominatim and Google. There are 2 enums and the value can be one of: nominatim, google |  | GeoCoderType
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *proxyAuthDomain* (proxy) | Proxy Authentication Domain to access Google GeoCoding server. |  | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc
index f313362..6a19aaa 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc
@@ -148,109 +148,46 @@ google-drive:apiName/methodName
 The following lists each API name and method and its additional parameters.
 
 
-==== drive-channels
-
-
-The drive-channels API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.google.api.services.drive.Drive.Channels.Stop stop(com.google.api.services.drive.model.Channel content);
-
-----
-
-The drive-channels API is defined in the syntax as follows:
-
-----
-google-drive:drive-channels/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *stop* |  | Stop watching resources through this channel
-|===
-
-The drive-channels API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| stop | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
-|===
-
-In addition to the parameters above, the drive-channels API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-revisions
+==== drive-changes
 
 
-The drive-revisions API has 5 method(s) which is represented by the following method signatures
+The drive-changes API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Revisions.Delete delete(String fileId, String revisionId);
-
-com.google.api.services.drive.Drive.Revisions.Get get(String fileId, String revisionId);
-
-com.google.api.services.drive.Drive.Revisions.List list(String fileId);
-
-com.google.api.services.drive.Drive.Revisions.Patch patch(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
+com.google.api.services.drive.Drive.Changes.Get get(String changeId);
 
-com.google.api.services.drive.Drive.Revisions.Update update(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
+com.google.api.services.drive.Drive.Changes.Watch watch(com.google.api.services.drive.model.Channel content);
 
 ----
 
-The drive-revisions API is defined in the syntax as follows:
+The drive-changes API is defined in the syntax as follows:
 
 ----
-google-drive:drive-revisions/methodName?[parameters]
+google-drive:drive-changes/methodName?[parameters]
 ----
 
-The 5 method(s) is listed in the table below.
+The 2 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Removes a revision
-| *get* |  | Gets a specific revision
-| *list* |  | Lists a file's revisions
-| *patch* |  | Updates a revision
-| *update* |  | Updates a revision
+| *get* |  | Deprecated - Use changes
+| *watch* |  | Subscribe to changes for a user
 |===
 
-The drive-revisions API method(s) has the following set of parameters listed in the table below:
+The drive-changes API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| delete | *fileId* |  The ID of the file | String
-| delete | *revisionId* |  The ID of the revision | String
-| get | *fileId* |  The ID of the file | String
-| get | *revisionId* |  The ID of the revision | String
-| list | *fileId* |  The ID of the file | String
-| patch | *content* |  The com.google.api.services.drive.model.Revision | Revision
-| patch | *fileId* |  The ID for the file | String
-| patch | *revisionId* |  The ID for the revision | String
-| update | *content* |  The com.google.api.services.drive.model.Revision | Revision
-| update | *fileId* |  The ID for the file | String
-| update | *revisionId* |  The ID for the revision | String
+| get | *changeId* |  The ID of the change | String
+| watch | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
 |===
 
-In addition to the parameters above, the drive-revisions API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-changes API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -260,75 +197,42 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-replies
+==== drive-channels
 
 
-The drive-replies API has 6 method(s) which is represented by the following method signatures
+The drive-channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Replies.Delete delete(String fileId, String commentId, String replyId);
-
-com.google.api.services.drive.Drive.Replies.Get get(String fileId, String commentId, String replyId);
-
-com.google.api.services.drive.Drive.Replies.Insert insert(String fileId, String commentId, com.google.api.services.drive.model.CommentReply content);
-
-com.google.api.services.drive.Drive.Replies.List list(String fileId, String commentId);
-
-com.google.api.services.drive.Drive.Replies.Patch patch(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
-
-com.google.api.services.drive.Drive.Replies.Update update(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
+com.google.api.services.drive.Drive.Channels.Stop stop(com.google.api.services.drive.model.Channel content);
 
 ----
 
-The drive-replies API is defined in the syntax as follows:
+The drive-channels API is defined in the syntax as follows:
 
 ----
-google-drive:drive-replies/methodName?[parameters]
+google-drive:drive-channels/methodName?[parameters]
 ----
 
-The 6 method(s) is listed in the table below.
+The 1 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Deletes a reply
-| *get* |  | Gets a reply
-| *insert* |  | Creates a new reply to the given comment
-| *list* |  | Lists all of the replies to a comment
-| *patch* |  | Updates an existing reply
-| *update* |  | Updates an existing reply
+| *stop* |  | Stop watching resources through this channel
 |===
 
-The drive-replies API method(s) has the following set of parameters listed in the table below:
+The drive-channels API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| delete | *commentId* |  The ID of the comment | String
-| delete | *fileId* |  The ID of the file | String
-| delete | *replyId* |  The ID of the reply | String
-| get | *commentId* |  The ID of the comment | String
-| get | *fileId* |  The ID of the file | String
-| get | *replyId* |  The ID of the reply | String
-| insert | *commentId* |  The ID of the comment | String
-| insert | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| insert | *fileId* |  The ID of the file | String
-| list | *commentId* |  The ID of the comment | String
-| list | *fileId* |  The ID of the file | String
-| patch | *commentId* |  The ID of the comment | String
-| patch | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| patch | *fileId* |  The ID of the file | String
-| patch | *replyId* |  The ID of the reply | String
-| update | *commentId* |  The ID of the comment | String
-| update | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| update | *fileId* |  The ID of the file | String
-| update | *replyId* |  The ID of the reply | String
+| stop | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
 |===
 
-In addition to the parameters above, the drive-replies API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-channels API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -338,133 +242,64 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-permissions
+==== drive-revisions
 
 
-The drive-permissions API has 7 method(s) which is represented by the following method signatures
+The drive-revisions API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Permissions.Delete delete(String fileId, String permissionId);
-
-com.google.api.services.drive.Drive.Permissions.Get get(String fileId, String permissionId);
-
-com.google.api.services.drive.Drive.Permissions.GetIdForEmail getIdForEmail(String email);
-
-com.google.api.services.drive.Drive.Permissions.Insert insert(String fileId, com.google.api.services.drive.model.Permission content);
-
-com.google.api.services.drive.Drive.Permissions.List list(String fileId);
-
-com.google.api.services.drive.Drive.Permissions.Patch patch(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
-
-com.google.api.services.drive.Drive.Permissions.Update update(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
-
-----
-
-The drive-permissions API is defined in the syntax as follows:
-
-----
-google-drive:drive-permissions/methodName?[parameters]
-----
-
-The 7 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *delete* |  | Deletes a permission from a file or Team Drive
-| *get* |  | Gets a permission by ID
-| *getIdForEmail* |  | Returns the permission ID for an email address
-| *insert* |  | Inserts a permission for a file or Team Drive
-| *list* |  | Lists a file's or Team Drive's permissions
-| *patch* |  | Updates a permission using patch semantics
-| *update* |  | Updates a permission
-|===
-
-The drive-permissions API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| delete | *fileId* |  The ID for the file or Team Drive | String
-| delete | *permissionId* |  The ID for the permission | String
-| get | *fileId* |  The ID for the file or Team Drive | String
-| get | *permissionId* |  The ID for the permission | String
-| getIdForEmail | *email* |  The email address for which to return a permission ID | String
-| insert | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| insert | *fileId* |  The ID for the file or Team Drive | String
-| list | *fileId* |  The ID for the file or Team Drive | String
-| patch | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| patch | *fileId* |  The ID for the file or Team Drive | String
-| patch | *permissionId* |  The ID for the permission | String
-| update | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| update | *fileId* |  The ID for the file or Team Drive | String
-| update | *permissionId* |  The ID for the permission | String
-|===
-
-In addition to the parameters above, the drive-permissions API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-parents
-
-
-The drive-parents API has 4 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
+com.google.api.services.drive.Drive.Revisions.Delete delete(String fileId, String revisionId);
 
-com.google.api.services.drive.Drive.Parents.Delete delete(String fileId, String parentId);
+com.google.api.services.drive.Drive.Revisions.Get get(String fileId, String revisionId);
 
-com.google.api.services.drive.Drive.Parents.Get get(String fileId, String parentId);
+com.google.api.services.drive.Drive.Revisions.List list(String fileId);
 
-com.google.api.services.drive.Drive.Parents.Insert insert(String fileId, com.google.api.services.drive.model.ParentReference content);
+com.google.api.services.drive.Drive.Revisions.Patch patch(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
 
-com.google.api.services.drive.Drive.Parents.List list(String fileId);
+com.google.api.services.drive.Drive.Revisions.Update update(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
 
 ----
 
-The drive-parents API is defined in the syntax as follows:
+The drive-revisions API is defined in the syntax as follows:
 
 ----
-google-drive:drive-parents/methodName?[parameters]
+google-drive:drive-revisions/methodName?[parameters]
 ----
 
-The 4 method(s) is listed in the table below.
+The 5 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Removes a parent from a file
-| *get* |  | Gets a specific parent reference
-| *insert* |  | Adds a parent folder for a file
-| *list* |  | Lists a file's parents
+| *delete* |  | Removes a revision
+| *get* |  | Gets a specific revision
+| *list* |  | Lists a file's revisions
+| *patch* |  | Updates a revision
+| *update* |  | Updates a revision
 |===
 
-The drive-parents API method(s) has the following set of parameters listed in the table below:
+The drive-revisions API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
 | delete | *fileId* |  The ID of the file | String
-| delete | *parentId* |  The ID of the parent | String
+| delete | *revisionId* |  The ID of the revision | String
 | get | *fileId* |  The ID of the file | String
-| get | *parentId* |  The ID of the parent | String
-| insert | *content* |  The com.google.api.services.drive.model.ParentReference | ParentReference
-| insert | *fileId* |  The ID of the file | String
+| get | *revisionId* |  The ID of the revision | String
 | list | *fileId* |  The ID of the file | String
+| patch | *content* |  The com.google.api.services.drive.model.Revision | Revision
+| patch | *fileId* |  The ID for the file | String
+| patch | *revisionId* |  The ID for the revision | String
+| update | *content* |  The com.google.api.services.drive.model.Revision | Revision
+| update | *fileId* |  The ID for the file | String
+| update | *revisionId* |  The ID for the revision | String
 |===
 
-In addition to the parameters above, the drive-parents API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-revisions API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -474,91 +309,69 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-apps
+==== drive-comments
 
 
-The drive-apps API has 1 method(s) which is represented by the following method signatures
+The drive-comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Apps.Get get(String appId);
-
-----
-
-The drive-apps API is defined in the syntax as follows:
-
-----
-google-drive:drive-apps/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *get* |  | Gets a specific app
-|===
-
-The drive-apps API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| get | *appId* |  The ID of the app | String
-|===
-
-In addition to the parameters above, the drive-apps API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-changes
+com.google.api.services.drive.Drive.Comments.Delete delete(String fileId, String commentId);
 
+com.google.api.services.drive.Drive.Comments.Get get(String fileId, String commentId);
 
-The drive-changes API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
+com.google.api.services.drive.Drive.Comments.Insert insert(String fileId, com.google.api.services.drive.model.Comment content);
 
-[source,java]
-----
+com.google.api.services.drive.Drive.Comments.List list(String fileId);
 
-com.google.api.services.drive.Drive.Changes.Get get(String changeId);
+com.google.api.services.drive.Drive.Comments.Patch patch(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
 
-com.google.api.services.drive.Drive.Changes.Watch watch(com.google.api.services.drive.model.Channel content);
+com.google.api.services.drive.Drive.Comments.Update update(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
 
 ----
 
-The drive-changes API is defined in the syntax as follows:
+The drive-comments API is defined in the syntax as follows:
 
 ----
-google-drive:drive-changes/methodName?[parameters]
+google-drive:drive-comments/methodName?[parameters]
 ----
 
-The 2 method(s) is listed in the table below.
+The 6 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *get* |  | Deprecated - Use changes
-| *watch* |  | Subscribe to changes for a user
+| *delete* |  | Deletes a comment
+| *get* |  | Gets a comment by ID
+| *insert* |  | Creates a new comment on the given file
+| *list* |  | Lists a file's comments
+| *patch* |  | Updates an existing comment
+| *update* |  | Updates an existing comment
 |===
 
-The drive-changes API method(s) has the following set of parameters listed in the table below:
+The drive-comments API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| get | *changeId* |  The ID of the change | String
-| watch | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
+| delete | *commentId* |  The ID of the comment | String
+| delete | *fileId* |  The ID of the file | String
+| get | *commentId* |  The ID of the comment | String
+| get | *fileId* |  The ID of the file | String
+| insert | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| insert | *fileId* |  The ID of the file | String
+| list | *fileId* |  The ID of the file | String
+| patch | *commentId* |  The ID of the comment | String
+| patch | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| patch | *fileId* |  The ID of the file | String
+| update | *commentId* |  The ID of the comment | String
+| update | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| update | *fileId* |  The ID of the file | String
 |===
 
-In addition to the parameters above, the drive-changes API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-comments API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -568,33 +381,33 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-comments
+==== drive-replies
 
 
-The drive-comments API has 6 method(s) which is represented by the following method signatures
+The drive-replies API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Comments.Delete delete(String fileId, String commentId);
+com.google.api.services.drive.Drive.Replies.Delete delete(String fileId, String commentId, String replyId);
 
-com.google.api.services.drive.Drive.Comments.Get get(String fileId, String commentId);
+com.google.api.services.drive.Drive.Replies.Get get(String fileId, String commentId, String replyId);
 
-com.google.api.services.drive.Drive.Comments.Insert insert(String fileId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Insert insert(String fileId, String commentId, com.google.api.services.drive.model.CommentReply content);
 
-com.google.api.services.drive.Drive.Comments.List list(String fileId);
+com.google.api.services.drive.Drive.Replies.List list(String fileId, String commentId);
 
-com.google.api.services.drive.Drive.Comments.Patch patch(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Patch patch(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
 
-com.google.api.services.drive.Drive.Comments.Update update(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Update update(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
 
 ----
 
-The drive-comments API is defined in the syntax as follows:
+The drive-replies API is defined in the syntax as follows:
 
 ----
-google-drive:drive-comments/methodName?[parameters]
+google-drive:drive-replies/methodName?[parameters]
 ----
 
 The 6 method(s) is listed in the table below.
@@ -603,34 +416,40 @@ The 6 method(s) is listed in the table below.
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Deletes a comment
-| *get* |  | Gets a comment by ID
-| *insert* |  | Creates a new comment on the given file
-| *list* |  | Lists a file's comments
-| *patch* |  | Updates an existing comment
-| *update* |  | Updates an existing comment
+| *delete* |  | Deletes a reply
+| *get* |  | Gets a reply
+| *insert* |  | Creates a new reply to the given comment
+| *list* |  | Lists all of the replies to a comment
+| *patch* |  | Updates an existing reply
+| *update* |  | Updates an existing reply
 |===
 
-The drive-comments API method(s) has the following set of parameters listed in the table below:
+The drive-replies API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
 | delete | *commentId* |  The ID of the comment | String
 | delete | *fileId* |  The ID of the file | String
+| delete | *replyId* |  The ID of the reply | String
 | get | *commentId* |  The ID of the comment | String
 | get | *fileId* |  The ID of the file | String
-| insert | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| get | *replyId* |  The ID of the reply | String
+| insert | *commentId* |  The ID of the comment | String
+| insert | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | insert | *fileId* |  The ID of the file | String
+| list | *commentId* |  The ID of the comment | String
 | list | *fileId* |  The ID of the file | String
 | patch | *commentId* |  The ID of the comment | String
-| patch | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| patch | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | patch | *fileId* |  The ID of the file | String
+| patch | *replyId* |  The ID of the reply | String
 | update | *commentId* |  The ID of the comment | String
-| update | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| update | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | update | *fileId* |  The ID of the file | String
+| update | *replyId* |  The ID of the reply | String
 |===
 
-In addition to the parameters above, the drive-comments API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-replies API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -764,6 +583,82 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
+==== drive-permissions
+
+
+The drive-permissions API has 7 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Permissions.Delete delete(String fileId, String permissionId);
+
+com.google.api.services.drive.Drive.Permissions.Get get(String fileId, String permissionId);
+
+com.google.api.services.drive.Drive.Permissions.GetIdForEmail getIdForEmail(String email);
+
+com.google.api.services.drive.Drive.Permissions.Insert insert(String fileId, com.google.api.services.drive.model.Permission content);
+
+com.google.api.services.drive.Drive.Permissions.List list(String fileId);
+
+com.google.api.services.drive.Drive.Permissions.Patch patch(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
+
+com.google.api.services.drive.Drive.Permissions.Update update(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
+
+----
+
+The drive-permissions API is defined in the syntax as follows:
+
+----
+google-drive:drive-permissions/methodName?[parameters]
+----
+
+The 7 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *delete* |  | Deletes a permission from a file or Team Drive
+| *get* |  | Gets a permission by ID
+| *getIdForEmail* |  | Returns the permission ID for an email address
+| *insert* |  | Inserts a permission for a file or Team Drive
+| *list* |  | Lists a file's or Team Drive's permissions
+| *patch* |  | Updates a permission using patch semantics
+| *update* |  | Updates a permission
+|===
+
+The drive-permissions API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| delete | *fileId* |  The ID for the file or Team Drive | String
+| delete | *permissionId* |  The ID for the permission | String
+| get | *fileId* |  The ID for the file or Team Drive | String
+| get | *permissionId* |  The ID for the permission | String
+| getIdForEmail | *email* |  The email address for which to return a permission ID | String
+| insert | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| insert | *fileId* |  The ID for the file or Team Drive | String
+| list | *fileId* |  The ID for the file or Team Drive | String
+| patch | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| patch | *fileId* |  The ID for the file or Team Drive | String
+| patch | *permissionId* |  The ID for the permission | String
+| update | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| update | *fileId* |  The ID for the file or Team Drive | String
+| update | *permissionId* |  The ID for the permission | String
+|===
+
+In addition to the parameters above, the drive-permissions API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
 ==== drive-children
 
 
@@ -917,6 +812,111 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleDrive.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
+==== drive-parents
+
+
+The drive-parents API has 4 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Parents.Delete delete(String fileId, String parentId);
+
+com.google.api.services.drive.Drive.Parents.Get get(String fileId, String parentId);
+
+com.google.api.services.drive.Drive.Parents.Insert insert(String fileId, com.google.api.services.drive.model.ParentReference content);
+
+com.google.api.services.drive.Drive.Parents.List list(String fileId);
+
+----
+
+The drive-parents API is defined in the syntax as follows:
+
+----
+google-drive:drive-parents/methodName?[parameters]
+----
+
+The 4 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *delete* |  | Removes a parent from a file
+| *get* |  | Gets a specific parent reference
+| *insert* |  | Adds a parent folder for a file
+| *list* |  | Lists a file's parents
+|===
+
+The drive-parents API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| delete | *fileId* |  The ID of the file | String
+| delete | *parentId* |  The ID of the parent | String
+| get | *fileId* |  The ID of the file | String
+| get | *parentId* |  The ID of the parent | String
+| insert | *content* |  The com.google.api.services.drive.model.ParentReference | ParentReference
+| insert | *fileId* |  The ID of the file | String
+| list | *fileId* |  The ID of the file | String
+|===
+
+In addition to the parameters above, the drive-parents API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
+==== drive-apps
+
+
+The drive-apps API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Apps.Get get(String appId);
+
+----
+
+The drive-apps API is defined in the syntax as follows:
+
+----
+google-drive:drive-apps/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *get* |  | Gets a specific app
+|===
+
+The drive-apps API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| get | *appId* |  The ID of the app | String
+|===
+
+In addition to the parameters above, the drive-apps API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc
index 9808732..c5b8822 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc
@@ -149,50 +149,6 @@ google-sheets:apiName/methodName
 The following lists each API name and method and its additional parameters.
 
 
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
-// endpoint options: END
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets endpoint is an API based component and has additional parameters based on which API name and method in use.
-The API name and method is located in the endpoint URI as the apiName/methodName path parameters:
-
-----
-google-sheets:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
 ==== spreadsheets
 
 
@@ -238,7 +194,7 @@ The spreadsheets API method(s) has the following set of parameters listed in the
 | batchUpdate | *spreadsheetId* |  The spreadsheet to apply the updates to | String
 | create | *content* |  The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
 | get | *spreadsheetId* |  The spreadsheet to request | String
-| getByDataFilter | *getSpreadsheetByDataFilter Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
+| getByDataFilter | *getSpreadsheetByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
 | getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
@@ -319,11 +275,11 @@ The data API method(s) has the following set of parameters listed in the table b
 | batchClearByDataFilter | *content* |  The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
 | batchClearByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | batchGet | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
-| batchGetByDataFilter | *batchGetValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
+| batchGetByDataFilter | *batchGetValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
 | batchGetByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
 | batchUpdate | *batchUpdateValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
 | batchUpdate | *spreadsheetId* |  The ID of the spreadsheet to update | String
-| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
+| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
 | batchUpdateByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | clear | *clearValuesRequest* |  The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
 | clear | *range* |  The A1 notation of the values to clear. | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
index 1a4f27e..0a13271 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
@@ -158,50 +158,6 @@ google-sheets-stream:apiName
 The following lists each API name and method and its additional parameters.
 
 
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
-// endpoint options: END
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets Stream endpoint is an API based component and has additional parameters based on which API name and method in use.
-The API name and method is located in the endpoint URI as the apiName path parameters:
-
-----
-google-sheets-stream:apiName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
 ==== spreadsheets
 
 
@@ -247,7 +203,7 @@ The spreadsheets API method(s) has the following set of parameters listed in the
 | batchUpdate | *spreadsheetId* |  The spreadsheet to apply the updates to | String
 | create | *content* |  The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
 | get | *spreadsheetId* |  The spreadsheet to request | String
-| getByDataFilter | *getSpreadsheetByDataFilter Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
+| getByDataFilter | *getSpreadsheetByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
 | getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
@@ -328,11 +284,11 @@ The data API method(s) has the following set of parameters listed in the table b
 | batchClearByDataFilter | *content* |  The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
 | batchClearByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | batchGet | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
-| batchGetByDataFilter | *batchGetValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
+| batchGetByDataFilter | *batchGetValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
 | batchGetByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
 | batchUpdate | *batchUpdateValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
 | batchUpdate | *spreadsheetId* |  The ID of the spreadsheet to update | String
-| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
+| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
 | batchUpdateByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | clear | *clearValuesRequest* |  The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
 | clear | *range* |  The A1 notation of the values to clear. | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hdfs-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hdfs-component.adoc
index 91e7ea5..0451911 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hdfs-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hdfs-component.adoc
@@ -110,18 +110,18 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *connectOnStartup* (common) | Whether to connect to the HDFS file system on starting the producer/consumer. If false then the connection is created on-demand. Notice that HDFS may take up till 15 minutes to establish a connection, as it has hardcoded 45 x 20 sec redelivery. By setting this option to false allows your application to startup, and not block for up till 15 minutes. | true | boolean
-| *fileSystemType* (common) | Set to LOCAL to not use HDFS but local java.io.File instead. There are 2 enums and the value can be one of: LOCAL, HDFS | HDFS | HdfsFileSystemType
-| *fileType* (common) | The file type to use. For more details see Hadoop HDFS documentation about the various files types. There are 5 enums and the value can be one of: NORMAL_FILE, SEQUENCE_FILE, MAP_FILE, BLOOMMAP_FILE, ARRAY_FILE | NORMAL_FILE | HdfsFileType
-| *keyType* (common) | The type for the key in case of sequence or map files. There are 9 enums and the value can be one of: NULL, BOOLEAN, BYTE, INT, FLOAT, LONG, DOUBLE, TEXT, BYTES | NULL | WritableType
+| *fileSystemType* (common) | Set to LOCAL to not use HDFS but local java.io.File instead. There are 2 enums and the value can be one of: local, hdfs | hdfs | HdfsFileSystemType
+| *fileType* (common) | The file type to use. For more details see Hadoop HDFS documentation about the various files types. There are 5 enums and the value can be one of: normal-file, sequence-file, map-file, bloommap-file, array-file | normal-file | HdfsFileType
+| *keyType* (common) | The type for the key in case of sequence or map files. There are 9 enums and the value can be one of: null, boolean, byte, int, float, long, double, text, bytes |  | WritableType
 | *namedNodes* (common) | A comma separated list of named nodes (e.g. srv11.example.com:8020,srv12.example.com:8020) |  | String
 | *owner* (common) | The file owner must match this owner for the consumer to pickup the file. Otherwise the file is skipped. |  | String
-| *valueType* (common) | The type for the key in case of sequence or map files. There are 9 enums and the value can be one of: NULL, BOOLEAN, BYTE, INT, FLOAT, LONG, DOUBLE, TEXT, BYTES | BYTES | WritableType
+| *valueType* (common) | The type for the key in case of sequence or map files. There are 9 enums and the value can be one of: null, boolean, byte, int, float, long, double, text, bytes | bytes | WritableType
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *pattern* (consumer) | The pattern used for scanning the directory | * | String
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
 | *append* (producer) | Append to existing file. Notice that not all HDFS file systems support the append option. | false | boolean
 | *lazyStartProducer* (producer) | 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 [...]
@@ -131,8 +131,8 @@ with the following path and query parameters:
 | *bufferSize* (advanced) | The buffer size used by HDFS | 4096 | int
 | *checkIdleInterval* (advanced) | How often (time in millis) in to run the idle checker background task. This option is only in use if the splitter strategy is IDLE. | 500 | int
 | *chunkSize* (advanced) | When reading a normal file, this is split into chunks producing a message per chunk. | 4096 | int
-| *compressionCodec* (advanced) | The compression codec to use. There are 3 enums and the value can be one of: DEFAULT, GZIP, BZIP2 | DEFAULT | HdfsCompressionCodec
-| *compressionType* (advanced) | The compression type to use (is default not in use). There are 3 enums and the value can be one of: NONE, RECORD, BLOCK | NONE | CompressionType
+| *compressionCodec* (advanced) | The compression codec to use. There are 3 enums and the value can be one of: default, gzip, bzip2 | default | HdfsCompressionCodec
+| *compressionType* (advanced) | The compression type to use (is default not in use). There are 3 enums and the value can be one of: none, record, block | none | CompressionType
 | *openedSuffix* (advanced) | When a file is opened for reading/writing the file is renamed with this suffix to avoid to read it during the writing phase. | opened | String
 | *readSuffix* (advanced) | Once the file has been read is renamed with this suffix to avoid to read it again. | read | String
 | *replication* (advanced) | The HDFS replication factor | 3 | short
@@ -146,12 +146,12 @@ with the following path and query parameters:
 | *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
 | *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
 | *repeatCount* (scheduler) | Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
+| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | trace | LoggingLevel
 | *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
 | *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
 | *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
 | *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
+| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: nanoseconds, microseconds, milliseconds, seconds, minutes, hours, days | milliseconds | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 | *kerberosConfigFileLocation* (security) | The location of the kerb5.conf file (\https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html) |  | String
 | *kerberosKeytabLocation* (security) | The location of the keytab file used to authenticate with the kerberos nodes (contains pairs of kerberos principals and encrypted keys (which are derived from the Kerberos password)) |  | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc
index db22802..8dd0cb8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc
@@ -132,7 +132,7 @@ with the following path and query parameters:
 | *connectionClose* (producer) | Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false. | false | boolean
 | *copyHeaders* (producer) | If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers). | true | boolean
 | *customHostHeader* (producer) | To use custom host header for producer. When not set in query will be ignored. When set will override host header derived from url. |  | String
-| *httpMethod* (producer) | Configure the HTTP method to use. The HttpMethod header cannot override this option if set. There are 8 enums and the value can be one of: GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, PATCH |  | HttpMethods
+| *httpMethod* (producer) | Configure the HTTP method to use. The HttpMethod header cannot override this option if set. There are 8 enums and the value can be one of: get, post, put, delete, head, options, trace, patch |  | HttpMethods
 | *ignoreResponseBody* (producer) | If this option is true, The http producer won't read response body and cache the input stream | false | boolean
 | *lazyStartProducer* (producer) | 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 [...]
 | *preserveHostHeader* (producer) | If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-compute-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-compute-component.adoc
index 32cc756..a3d16de 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-compute-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-compute-component.adoc
@@ -66,7 +66,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *clusterGroupExpression* (producer) | An expression that returns the Cluster Group for the IgniteCompute instance. |  | ClusterGroupExpression
 | *computeName* (producer) | The name of the compute job, which will be set via IgniteCompute#withName(String). |  | String
-| *executionType* (producer) | *Required* The compute operation to perform. Possible values: CALL, BROADCAST, APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN. The component expects different payload types depending on the operation. There are 7 enums and the value can be one of: CALL, BROADCAST, APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN |  | IgniteComputeExecutionType
+| *executionType* (producer) | *Required* The compute operation to perform. Possible values: CALL, BROADCAST, APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN. The component expects different payload types depending on the operation. There are 7 enums and the value can be one of: call, broadcast, apply, execute, run, affinity-call, affinity-run |  | IgniteComputeExecutionType
 | *lazyStartProducer* (producer) | 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 [...]
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *taskName* (producer) | The task name, only applicable if using the IgniteComputeExecutionType#EXECUTE execution type. |  | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-idgen-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-idgen-component.adoc
index a930d71..df5fabb 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-idgen-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-idgen-component.adoc
@@ -63,7 +63,7 @@ with the following path and query parameters:
 | *batchSize* (producer) | The batch size. |  | Integer
 | *initialValue* (producer) | The initial value. | 0 | Long
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET. There are 5 enums and the value can be one of: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET |  | IgniteIdGenOperation
+| *operation* (producer) | The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET. There are 5 enums and the value can be one of: add-and-get, get, get-and-add, get-and-increment, increment-and-get |  | IgniteIdGenOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-queue-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-queue-component.adoc
index ca574bb..a41bcd0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-queue-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-queue-component.adoc
@@ -63,7 +63,7 @@ with the following path and query parameters:
 | *capacity* (producer) | The queue capacity. Default: non-bounded. |  | int
 | *configuration* (producer) | The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options. |  | CollectionConfiguration
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT. There are 15 enums and the value can be one of: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT |  | IgniteQueueOperation
+| *operation* (producer) | The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT. There are 15 enums and the value can be one of: contains, add, size, remove, iterator, clear, retain-all, array, drain, element, peek, offer, poll, take, put |  | IgniteQueueOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *timeoutMillis* (producer) | The queue timeout in milliseconds. Default: no timeout. |  | Long
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-set-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-set-component.adoc
index 8260ed1..0b6ac6d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-set-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ignite-set-component.adoc
@@ -62,7 +62,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *configuration* (producer) | The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options. |  | CollectionConfiguration
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform. There are 8 enums and the value can be one of: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY |  | IgniteSetOperation
+| *operation* (producer) | The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform. There are 8 enums and the value can be one of: contains, add, size, remove, iterator, clear, retain-all, array |  | IgniteSetOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jms-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jms-component.adoc
index d8ba41f..0068bf3 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jms-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jms-component.adoc
@@ -420,7 +420,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kudu-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kudu-component.adoc
index 23f6064..a507b1d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kudu-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/kudu-component.adoc
@@ -62,7 +62,7 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | Operation to perform. There are 3 enums and the value can be one of: INSERT, CREATE_TABLE, SCAN |  | KuduOperations
+| *operation* (producer) | Operation to perform. There are 3 enums and the value can be one of: insert, create-table, scan |  | KuduOperations
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/micrometer-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/micrometer-component.adoc
index ec95030..5c58bc7 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/micrometer-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/micrometer-component.adoc
@@ -76,7 +76,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *metricsType* | *Required* Type of metrics. There are 6 enums and the value can be one of: COUNTER, GAUGE, LONG_TASK_TIMER, TIMER, DISTRIBUTION_SUMMARY, OTHER |  | Type
+| *metricsType* | *Required* Type of metrics. There are 6 enums and the value can be one of: counter, gauge, long-task-timer, timer, distribution-summary, other |  | Type
 | *metricsName* | *Required* Name of metrics |  | String
 | *tags* | Tags of metrics |  | Iterable
 |===
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mybatis-bean-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mybatis-bean-component.adoc
index e6caf13..d0ef42b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mybatis-bean-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mybatis-bean-component.adoc
@@ -80,7 +80,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *executorType* (producer) | The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuses statements and batches updates. There are 3 enums and the value can be one of: SIMPLE, REUSE, BATCH | SIMPLE | ExecutorType
+| *executorType* (producer) | The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuses statements and batches updates. There are 3 enums and the value can be one of: simple, reuse, batch | simple | ExecutorType
 | *inputHeader* (producer) | User the header value for input parameters instead of the message body. By default, inputHeader == null and the input parameters are taken from the message body. If outputHeader is set, the value is used and query parameters will be taken from the header instead of the body. |  | String
 | *lazyStartProducer* (producer) | 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 [...]
 | *outputHeader* (producer) | Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. Setting outputHeader will also omit populating the default CamelMyBatisResult header since it would be the same as outpu [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nagios-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nagios-component.adoc
index 464f5ba..210d782 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nagios-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nagios-component.adoc
@@ -59,7 +59,7 @@ The Nagios component supports 7 options, which are listed below.
 | *timeout* (producer) | Sending timeout in millis. | 5000 | int
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *configuration* (advanced) | To use a shared NagiosConfiguration |  | NagiosConfiguration
-| *encryption* (security) | To specify an encryption method. There are 7 enums and the value can be one of: NONE, TRIPLE_DES, XOR, RIJNDAEL128, RIJNDAEL192, RIJNDAEL256, BLOWFISH |  | Encryption
+| *encryption* (security) | To specify an encryption method. There are 7 enums and the value can be one of: none, triple-des, xor, rijndael128, rijndael192, rijndael256, blowfish |  | Encryption
 | *password* (security) | Password to be authenticated when sending checks to Nagios. |  | String
 |===
 // component options: END
@@ -102,7 +102,7 @@ with the following path and query parameters:
 | *timeout* (producer) | Sending timeout in millis. | 5000 | int
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
-| *encryption* (security) | To specify an encryption method. There are 7 enums and the value can be one of: NONE, TRIPLE_DES, XOR, RIJNDAEL128, RIJNDAEL192, RIJNDAEL256, BLOWFISH |  | Encryption
+| *encryption* (security) | To specify an encryption method. There are 7 enums and the value can be one of: none, triple-des, xor, rijndael128, rijndael192, rijndael256, blowfish |  | Encryption
 | *password* (security) | Password to be authenticated when sending checks to Nagios. |  | String
 |===
 // endpoint options: END
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-component.adoc
index 708cf27..734bdce 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-component.adoc
@@ -85,9 +85,9 @@ The Netty component supports 72 options, which are listed below.
 | *maximumPoolSize* (consumer) | Sets a maximum thread pool size for the netty consumer ordered thread pool. The default size is 2 x cpu_core plus 1. Setting this value to eg 10 will then use 10 threads unless 2 x cpu_core plus 1 is a higher value, which then will override and be used. For example if there are 8 cores, then the consumer thread pool will be 17. This thread pool is used to route messages received from Netty by Camel. We use a separate thread pool to ensure ordering of mess [...]
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
@@ -187,9 +187,9 @@ with the following path and query parameters:
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-http-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-http-component.adoc
index 8e8df57..79120bf8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-http-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/netty-http-component.adoc
@@ -123,9 +123,9 @@ The Netty HTTP component supports 75 options, which are listed below.
 | *maximumPoolSize* (consumer) | Sets a maximum thread pool size for the netty consumer ordered thread pool. The default size is 2 x cpu_core plus 1. Setting this value to eg 10 will then use 10 threads unless 2 x cpu_core plus 1 is a higher value, which then will override and be used. For example if there are 8 cores, then the consumer thread pool will be 17. This thread pool is used to route messages received from Netty by Camel. We use a separate thread pool to ensure ordering of mess [...]
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
@@ -243,9 +243,9 @@ with the following path and query parameters:
 | *maxHeaderSize* (consumer) | The maximum length of all headers. If the sum of the length of each header exceeds this value, a io.netty.handler.codec.TooLongFrameException will be raised. | 8192 | int
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *nettySharedHttpServer* (consumer) | To use a shared Netty HTTP server. See Netty HTTP Server Example for more details. |  | NettySharedHttpServer
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *traceEnabled* (consumer) | Specifies whether to enable HTTP TRACE for this Netty HTTP consumer. By default TRACE is turned off. | false | boolean
 | *urlDecodeHeaders* (consumer) | If this option is enabled, then during binding from Netty to Camel Message then the header values will be URL decoded (eg %20 will be a space character. Notice this option is used by the default org.apache.camel.component.netty.http.NettyHttpBinding and therefore if you implement a custom org.apache.camel.component.netty.http.NettyHttpBinding then you would need to decode the headers accordingly to this option. | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc
index 9758b4b..abb2327 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc
@@ -239,7 +239,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | patch | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | patch | *resourcePath* |  Resource path to update | String
 | patch | *responseHandler* | *Optional*  Org.apache.olingo.odata2.api.ep.entry.ODataEntry callback handler | Olingo2ResponseHandler
-| read | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| read | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | read | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | read | *queryParams* | *Optional*  OData query params from \http://www.odata.org/documentation/odata-version-2-0/uri-conventions#SystemQueryOptions | Map
 | read | *resourcePath* |  OData Resource path | String
@@ -249,7 +249,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | update | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | update | *resourcePath* |  Resource path to update | String
 | update | *responseHandler* | *Optional*  Org.apache.olingo.odata2.api.ep.entry.ODataEntry callback handler | Olingo2ResponseHandler
-| uread | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| uread | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | uread | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | uread | *queryParams* | *Optional*  OData query params from \http://www.odata.org/documentation/odata-version-2-0/uri-conventions#SystemQueryOptions | Map
 | uread | *resourcePath* |  OData Resource path | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc
index 140e9ac..4a188fa 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc
@@ -241,7 +241,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | patch | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | patch | *resourcePath* |  Resource path to update | String
 | patch | *responseHandler* | *Optional*  Org.apache.olingo.client.api.domain.ClientEntity callback handler | Olingo4ResponseHandler
-| read | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| read | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | read | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | read | *queryParams* | *Optional*  OData query params \http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map
 | read | *resourcePath* |  OData Resource path | String
@@ -251,7 +251,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | update | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | update | *resourcePath* |  Resource path to update | String
 | update | *responseHandler* | *Optional*  Org.apache.olingo.client.api.domain.ClientEntity callback handler | Olingo4ResponseHandler
-| uread | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| uread | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | uread | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | uread | *queryParams* | *Optional*  OData query params \http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map
 | uread | *resourcePath* |  OData Resource path | String
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/saga-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/saga-component.adoc
index 6f996fc..cb7e612 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/saga-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/saga-component.adoc
@@ -57,7 +57,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *action* | *Required* Action to execute (complete or compensate). There are 2 enums and the value can be one of: COMPLETE, COMPENSATE |  | SagaEndpointAction
+| *action* | *Required* Action to execute (complete or compensate). There are 2 enums and the value can be one of: complete, compensate |  | SagaEndpointAction
 |===
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/sftp-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/sftp-component.adoc
index 7df3ad8..710ced8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/sftp-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/sftp-component.adoc
@@ -80,9 +80,9 @@ with the following path and query parameters:
 | *disconnect* (common) | Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead. | false | boolean
 | *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
 | *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
-| *jschLoggingLevel* (common) | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *jschLoggingLevel* (common) | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *passiveMode* (common) | Sets passive mode connections. Default is active mode connections. | false | boolean
-| *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name. There are 3 enums and the value can be one of: UNIX, Windows, Auto | UNIX | PathSeparator
+| *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name. There are 3 enums and the value can be one of: unix, windows, auto | unix | PathSeparator
 | *fastExistsCheck* (common) | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has  [...]
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *delete* (consumer) | If true, the file will be deleted after it is processed successfully. | false | boolean
@@ -95,7 +95,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
 | *localWorkDirectory* (consumer) | When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory. |  | String
@@ -158,7 +158,7 @@ with the following path and query parameters:
 | *readLockIdempotentReleaseAsync{zwsp}PoolSize* (lock) | The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more det [...]
 | *readLockIdempotentReleaseDelay* (lock) | Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if [...]
 | *readLockIdempotentRelease{zwsp}ExecutorService* (lock) | To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option. |  | ScheduledExecutorService
-| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
+| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
 | *readLockMarkerFile* (lock) | Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application. | true | boolean
 | *readLockMinAge* (lock) | This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age. | 0 | long
 | *readLockMinLength* (lock) | This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files. | 1 | long
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ldap-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ldap-component.adoc
index 60070b4..b8f73b5 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ldap-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ldap-component.adoc
@@ -85,7 +85,7 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | *Required* The LDAP operation to be performed. There are 6 enums and the value can be one of: SEARCH, BIND, UNBIND, AUTHENTICATE, MODIFY_ATTRIBUTES, FUNCTION_DRIVEN |  | LdapOperation
+| *operation* (producer) | *Required* The LDAP operation to be performed. There are 6 enums and the value can be one of: search, bind, unbind, authenticate, modify-attributes, function-driven |  | LdapOperation
 | *scope* (producer) | The scope of the search operation. There are 3 enums and the value can be one of: object, onelevel, subtree | subtree | String
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ws-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ws-component.adoc
index aade168..c8a7f4c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ws-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/spring-ws-component.adoc
@@ -144,7 +144,7 @@ with the following path and query parameters:
 | *endpointMapping* (consumer) | Reference to an instance of org.apache.camel.component.spring.ws.bean.CamelEndpointMapping in the Registry/ApplicationContext. Only one bean is required in the registry to serve all Camel/Spring-WS endpoints. This bean is auto-discovered by the MessageDispatcher and used to map requests to Camel endpoints based on characteristics specified on the endpoint (like root QName, SOAP action, etc) |  | CamelSpringWSEndpointMapping
 | *messageIdStrategy* (consumer) | Option to provide a custom MessageIdStrategy to control generation of WS-Addressing unique message ids. |  | MessageIdStrategy
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *allowResponseAttachment{zwsp}Override* (producer) | Option to override soap response attachments in in/out exchange with attachments from the actual service layer. If the invoked service appends or rewrites the soap attachments this option when set to true, allows the modified soap attachments to be overwritten in in/out message attachments | false | boolean
 | *allowResponseHeaderOverride* (producer) | Option to override soap response header in in/out exchange with header info from the actual service layer. If the invoked service appends or rewrites the soap header this option when set to true, allows the modified soap header to be overwritten in in/out message headers | false | boolean
 | *faultAction* (producer) | Signifies the value for the faultAction response WS-Addressing Fault Action header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details. |  | URI
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/vertx-http-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/vertx-http-component.adoc
index 8e3e61a..9b7e7ff 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/vertx-http-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/vertx-http-component.adoc
@@ -91,7 +91,7 @@ with the following path and query parameters:
 | *connectTimeout* (producer) | The amount of time in milliseconds until a connection is established. A timeout value of zero is interpreted as an infinite timeout. | 60000 | int
 | *cookieStore* (producer) | A custom CookieStore to use when session management is enabled. If this option is not set then an in-memory CookieStore is used | InMemoryCookieStore | CookieStore
 | *headerFilterStrategy* (producer) | A custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. | VertxHttpHeaderFilterStrategy | HeaderFilterStrategy
-| *httpMethod* (producer) | The HTTP method to use. The HttpMethod header cannot override this option if set. There are 10 enums and the value can be one of: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, PATCH, OTHER |  | HttpMethod
+| *httpMethod* (producer) | The HTTP method to use. The HttpMethod header cannot override this option if set. There are 10 enums and the value can be one of: options, get, head, post, put, delete, trace, connect, patch, other |  | HttpMethod
 | *lazyStartProducer* (producer) | 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 [...]
 | *okStatusCodeRange* (producer) | The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included | 200-299 | String
 | *sessionManagement* (producer) | Enables session management via WebClientSession. By default the client is configured to use an in-memory CookieStore. The cookieStore option can be used to override this | false | boolean
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-component.adoc
index 0bd9550..8e2894b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-component.adoc
@@ -91,7 +91,7 @@ with the following path and query parameters:
 | *deleteOutputFile* (producer) | If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use. | false | boolean
 | *failOnNullBody* (producer) | Whether or not to throw an exception if the input body is null. | true | boolean
 | *lazyStartProducer* (producer) | 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 [...]
-| *output* (producer) | Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key Exchange.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime. There are 4 enums and the value can  [...]
+| *output* (producer) | Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key Exchange.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime. There are 4 enums and the value can  [...]
 | *transformerCacheSize* (producer) | The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer(). | 0 | int
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *entityResolver* (advanced) | To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource. |  | EntityResolver
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-saxon-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-saxon-component.adoc
index f0f29a3..57805cf 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-saxon-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/xslt-saxon-component.adoc
@@ -95,7 +95,7 @@ with the following path and query parameters:
 | *deleteOutputFile* (producer) | If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use. | false | boolean
 | *failOnNullBody* (producer) | Whether or not to throw an exception if the input body is null. | true | boolean
 | *lazyStartProducer* (producer) | 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 [...]
-| *output* (producer) | Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key Exchange.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime. There are 4 enums and the value can  [...]
+| *output* (producer) | Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key Exchange.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime. There are 4 enums and the value can  [...]
 | *transformerCacheSize* (producer) | The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer(). | 0 | int
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *entityResolver* (advanced) | To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource. |  | EntityResolver
diff --git a/components/camel-activemq/src/main/docs/activemq-component.adoc b/components/camel-activemq/src/main/docs/activemq-component.adoc
index 451b91d..81a41e0 100644
--- a/components/camel-activemq/src/main/docs/activemq-component.adoc
+++ b/components/camel-activemq/src/main/docs/activemq-component.adoc
@@ -276,7 +276,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 0b6541e..238e4b3 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -268,7 +268,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/components/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc b/components/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
index f841979..a7e8e09 100644
--- a/components/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
+++ b/components/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
@@ -99,7 +99,7 @@ with the following path and query parameters:
 | *lazyStartProducer* (producer) | 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 [...]
 | *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
 | *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
+| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
@@ -132,7 +132,7 @@ The Azure Event Hubs component supports 21 options, which are listed below.
 | *lazyStartProducer* (producer) | 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 [...]
 | *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
 | *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
+| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
 | *sharedAccessKey* (security) | The generated value for the SharedAccessName |  | String
diff --git a/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json b/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
index 7391981..6a12a4d 100644
--- a/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
+++ b/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
@@ -69,32 +69,32 @@
   "apis": {
     "paymentMethodNonce": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.PaymentMethodNonce find(String paymentMethodNonce)" ] } } },
     "documentUpload": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } },
+    "creditCardVerification": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures": [ "com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(c [...]
     "subscription": { "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.SubscriptionRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.brai [...]
     "dispute": { "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DisputeEvidence> addFileEvidence(String disputeId, String documentId)", "com.braintreegateway.Resul [...]
+    "transaction": { "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request)" ] }, "credit": { "description": "Cr [...]
     "settlementBatchSummary": { "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } },
     "address": { "methods": { "create": { "description": "Creates an Address for a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)" ] }, "delete": { "description": "Deletes a Customer's Address", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id)" ] }, "find": { "description": "Finds a Customer's Address", "signatures":  [...]
-    "webhookNotification": { "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } },
-    "creditCardVerification": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures": [ "com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(c [...]
-    "transaction": { "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request)" ] }, "credit": { "description": "Cr [...]
     "report": { "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } },
     "paymentMethod": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token, com.braintreegateway.PaymentM [...]
     "clientToken": { "methods": { "generate": { "description": "", "signatures": [ "String generate()", "String generate(com.braintreegateway.ClientTokenRequest request)" ] } } },
+    "webhookNotification": { "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } },
     "merchantAccount": { "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> create(com.braintreegateway.MerchantAccountRequest request)" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateForCurrencyRequest request)" ] }, "fetchMerchantAccounts": { "description": "", "signatur [...]
     "customer": { "methods": { "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)" ] }, "delete": { "description": "Deletes a Customer by id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> delete(String id)" ] }, "find": { "description": "Finds a Customer by id", "signatures": [ "com.braintreegateway.Customer find(String id)", "com.b [...]
   },
   "apiProperties": {
     "paymentMethodNonce": { "methods": { "create": { "properties": { "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegatew [...]
     "documentUpload": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string [...]
     "subscription": { "methods": { "cancel": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the Subscription to cancel", "optional": false } } }, "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType" [...]
     "dispute": { "methods": { "accept": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The dispute id to accept", "optional": false } } }, "addFileEvidence": { "properties": { "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "common", "label": "", "required": false, "type": "string", "javaT [...]
+    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "" [...]
     "settlementBatchSummary": { "methods": { "generate": { "properties": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType [...]
     "address": { "methods": { "create": { "properties": { "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Customer", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.Add [...]
-    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
-    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string [...]
-    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "" [...]
     "report": { "methods": { "transactionLevelFees": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } } } },
     "paymentMethod": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "delete": { "properties": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "common", "label": "", "required": false, "type":  [...]
     "clientToken": { "methods": { "generate": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
     "merchantAccount": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "createForCurrency": { "properties": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "common", "label": "", "require [...]
     "customer": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } }, "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType":  [...]
   }
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 93c47f7..cff8e6a 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -236,6 +236,59 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
+==== creditCardVerification
+
+
+The creditCardVerification API has 3 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request);
+
+com.braintreegateway.CreditCardVerification find(String id);
+
+com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditCardVerificationSearchRequest query);
+
+----
+
+The creditCardVerification API is defined in the syntax as follows:
+
+----
+braintree:creditCardVerification/methodName?[parameters]
+----
+
+The 3 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *create* |  | 
+| *find* |  | 
+| *search* |  | 
+|===
+
+The creditCardVerification API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| create | *request* |   | CreditCardVerificationRequest
+| find | *id* |   | String
+| search | *query* |   | CreditCardVerificationSearchRequest
+|===
+
+In addition to the parameters above, the creditCardVerification API can also use from the 34 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelBraintree.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelBraintree.myParameterNameHere` header.
+
+
+
 ==== subscription
 
 
@@ -393,157 +446,108 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== settlementBatchSummary
-
-
-The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate);
-
-com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField);
-
-----
-
-The settlementBatchSummary API is defined in the syntax as follows:
-
-----
-braintree:settlementBatchSummary/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *generate* |  | 
-|===
-
-The settlementBatchSummary API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| generate | *groupByCustomField* |   | String
-| generate | *settlementDate* |   | Calendar
-|===
-
-In addition to the parameters above, the settlementBatchSummary API can also use from the 34 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
-
-
-
-==== address
+==== transaction
 
 
-The address API has 4 method(s) which is represented by the following method signatures
+The transaction API has 13 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id);
-
-com.braintreegateway.Address find(String customerId, String id);
+com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id);
 
-com.braintreegateway.Result<com.braintreegateway.Address> update(String customerId, String id, com.braintreegateway.AddressRequest request);
+com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request);
 
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> credit(com.braintreegateway.TransactionRequest request);
 
-The address API is defined in the syntax as follows:
+com.braintreegateway.Transaction find(String id);
 
-----
-braintree:address/methodName?[parameters]
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> holdInEscrow(String id);
 
-The 4 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id);
 
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *create* |  | Creates an Address for a Customer
-| *delete* |  | Deletes a Customer's Address
-| *find* |  | Finds a Customer's Address
-| *update* |  | Updates a Customer's Address
-|===
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, com.braintreegateway.TransactionRefundRequest request);
 
-The address API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| create | *customerId* |  The id of the Customer | String
-| create | *request* |  The request object | AddressRequest
-| delete | *customerId* |  The id of the Customer | String
-| delete | *id* |  The id of the Address to delete | String
-| find | *customerId* |  The id of the Customer | String
-| find | *id* |  The id of the Address | String
-| update | *customerId* |  The id of the Customer | String
-| update | *id* |  The id of the Address | String
-| update | *request* |  The request object containing the AddressRequest parameters | AddressRequest
-|===
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, java.math.BigDecimal amount);
 
-In addition to the parameters above, the address API can also use from the 34 endpoint query option
-which is listed in the _Query Parameters_ section.
+com.braintreegateway.Result<com.braintreegateway.Transaction> releaseFromEscrow(String id);
 
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
+com.braintreegateway.Result<com.braintreegateway.Transaction> sale(com.braintreegateway.TransactionRequest request);
 
+com.braintreegateway.ResourceCollection<com.braintreegateway.Transaction> search(com.braintreegateway.TransactionSearchRequest query);
 
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, com.braintreegateway.TransactionRequest request);
 
-==== webhookNotification
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, java.math.BigDecimal amount);
 
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id);
 
-The webhookNotification API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, com.braintreegateway.TransactionRequest request);
 
-[source,java]
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, java.math.BigDecimal amount);
 
-com.braintreegateway.WebhookNotification parse(String signature, String payload);
+com.braintreegateway.Result<com.braintreegateway.Transaction> updateDetails(String id, com.braintreegateway.TransactionRequest request);
 
-String verify(String challenge);
+com.braintreegateway.Result<com.braintreegateway.Transaction> voidTransaction(String id);
 
 ----
 
-The webhookNotification API is defined in the syntax as follows:
+The transaction API is defined in the syntax as follows:
 
 ----
-braintree:webhookNotification/methodName?[parameters]
+braintree:transaction/methodName?[parameters]
 ----
 
-The 2 method(s) is listed in the table below.
+The 13 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *parse* |  | 
-| *verify* |  | 
+| *cancelRelease* |  | Cancels a pending release of a transaction with the given id from escrow
+| *cloneTransaction* |  | 
+| *credit* |  | Creates a credit Transaction
+| *find* |  | Finds a Transaction by id
+| *holdInEscrow* |  | Holds the transaction with the given id for escrow
+| *refund* |  | Refunds all or part of a previous sale Transaction
+| *releaseFromEscrow* |  | Submits the transaction with the given id for release
+| *sale* |  | Creates a sale Transaction
+| *search* |  | Finds all Transactions that match the query and returns a ResourceCollection
+| *submitForPartialSettlement* |  | Submits a partial settlement transaction for the given id
+| *submitForSettlement* |  | Submits the transaction with the given id to be settled along with a TransactionRequest object
+| *updateDetails* |  | Updates details for a transaction that has been submitted for settlement
+| *voidTransaction* |  | Voids the transaction with the given id
 |===
 
-The webhookNotification API method(s) has the following set of parameters listed in the table below:
+The transaction API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| parse | *payload* |   | String
-| parse | *signature* |   | String
-| verify | *challenge* |   | String
+| cancelRelease | *id* |  Of the transaction to cancel release from escrow of | String
+| cloneTransaction | *cloneRequest* |   | TransactionCloneRequest
+| cloneTransaction | *id* |   | String
+| credit | *request* |  The request | TransactionRequest
+| find | *id* |  The id of the Transaction | String
+| holdInEscrow | *id* |  Of the transaction to hold for escrow | String
+| refund | *amount* |   | BigDecimal
+| refund | *id* |   | String
+| refund | *refundRequest* |   | TransactionRefundRequest
+| releaseFromEscrow | *id* |  Of the transaction to submit for release | String
+| sale | *request* |  The request | TransactionRequest
+| search | *query* |  The search query | TransactionSearchRequest
+| submitForPartialSettlement | *amount* |  Of the partial settlement | BigDecimal
+| submitForPartialSettlement | *id* |  Of the transaction to add the partial settlement transaction for | String
+| submitForPartialSettlement | *request* |  The request | TransactionRequest
+| submitForSettlement | *amount* |  To settle. must be less than or equal to the authorization amount. | BigDecimal
+| submitForSettlement | *id* |  Of the transaction to submit for settlement | String
+| submitForSettlement | *request* |  The request | TransactionRequest
+| updateDetails | *id* |  Of the transaction to update the details for | String
+| updateDetails | *request* |  The request | TransactionRequest
+| voidTransaction | *id* |  Of the transaction to void | String
 |===
 
-In addition to the parameters above, the webhookNotification API can also use from the 34 endpoint query option
+In addition to the parameters above, the transaction API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -553,50 +557,45 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== creditCardVerification
+==== settlementBatchSummary
 
 
-The creditCardVerification API has 3 method(s) which is represented by the following method signatures
+The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request);
-
-com.braintreegateway.CreditCardVerification find(String id);
+com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate);
 
-com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditCardVerificationSearchRequest query);
+com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField);
 
 ----
 
-The creditCardVerification API is defined in the syntax as follows:
+The settlementBatchSummary API is defined in the syntax as follows:
 
 ----
-braintree:creditCardVerification/methodName?[parameters]
+braintree:settlementBatchSummary/methodName?[parameters]
 ----
 
-The 3 method(s) is listed in the table below.
+The 1 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *create* |  | 
-| *find* |  | 
-| *search* |  | 
+| *generate* |  | 
 |===
 
-The creditCardVerification API method(s) has the following set of parameters listed in the table below:
+The settlementBatchSummary API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| create | *request* |   | CreditCardVerificationRequest
-| find | *id* |   | String
-| search | *query* |   | CreditCardVerificationSearchRequest
+| generate | *groupByCustomField* |   | String
+| generate | *settlementDate* |   | Calendar
 |===
 
-In addition to the parameters above, the creditCardVerification API can also use from the 34 endpoint query option
+In addition to the parameters above, the settlementBatchSummary API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -606,108 +605,59 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== transaction
+==== address
 
 
-The transaction API has 13 method(s) which is represented by the following method signatures
+The address API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> credit(com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.Transaction find(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> holdInEscrow(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, com.braintreegateway.TransactionRefundRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, java.math.BigDecimal amount);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> releaseFromEscrow(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> sale(com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.ResourceCollection<com.braintreegateway.Transaction> search(com.braintreegateway.TransactionSearchRequest query);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, java.math.BigDecimal amount);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, com.braintreegateway.TransactionRequest request);
+com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, java.math.BigDecimal amount);
+com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> updateDetails(String id, com.braintreegateway.TransactionRequest request);
+com.braintreegateway.Address find(String customerId, String id);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> voidTransaction(String id);
+com.braintreegateway.Result<com.braintreegateway.Address> update(String customerId, String id, com.braintreegateway.AddressRequest request);
 
 ----
 
-The transaction API is defined in the syntax as follows:
+The address API is defined in the syntax as follows:
 
 ----
-braintree:transaction/methodName?[parameters]
+braintree:address/methodName?[parameters]
 ----
 
-The 13 method(s) is listed in the table below.
+The 4 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *cancelRelease* |  | Cancels a pending release of a transaction with the given id from escrow
-| *cloneTransaction* |  | 
-| *credit* |  | Creates a credit Transaction
-| *find* |  | Finds a Transaction by id
-| *holdInEscrow* |  | Holds the transaction with the given id for escrow
-| *refund* |  | Refunds all or part of a previous sale Transaction
-| *releaseFromEscrow* |  | Submits the transaction with the given id for release
-| *sale* |  | Creates a sale Transaction
-| *search* |  | Finds all Transactions that match the query and returns a ResourceCollection
-| *submitForPartialSettlement* |  | Submits a partial settlement transaction for the given id
-| *submitForSettlement* |  | Submits the transaction with the given id to be settled along with a TransactionRequest object
-| *updateDetails* |  | Updates details for a transaction that has been submitted for settlement
-| *voidTransaction* |  | Voids the transaction with the given id
+| *create* |  | Creates an Address for a Customer
+| *delete* |  | Deletes a Customer's Address
+| *find* |  | Finds a Customer's Address
+| *update* |  | Updates a Customer's Address
 |===
 
-The transaction API method(s) has the following set of parameters listed in the table below:
+The address API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| cancelRelease | *id* |  Of the transaction to cancel release from escrow of | String
-| cloneTransaction | *cloneRequest* |   | TransactionCloneRequest
-| cloneTransaction | *id* |   | String
-| credit | *request* |  The request | TransactionRequest
-| find | *id* |  The id of the Transaction | String
-| holdInEscrow | *id* |  Of the transaction to hold for escrow | String
-| refund | *amount* |   | BigDecimal
-| refund | *id* |   | String
-| refund | *refundRequest* |   | TransactionRefundRequest
-| releaseFromEscrow | *id* |  Of the transaction to submit for release | String
-| sale | *request* |  The request | TransactionRequest
-| search | *query* |  The search query | TransactionSearchRequest
-| submitForPartialSettlement | *amount* |  Of the partial settlement | BigDecimal
-| submitForPartialSettlement | *id* |  Of the transaction to add the partial settlement transaction for | String
-| submitForPartialSettlement | *request* |  The request | TransactionRequest
-| submitForSettlement | *amount* |  To settle. must be less than or equal to the authorization amount. | BigDecimal
-| submitForSettlement | *id* |  Of the transaction to submit for settlement | String
-| submitForSettlement | *request* |  The request | TransactionRequest
-| updateDetails | *id* |  Of the transaction to update the details for | String
-| updateDetails | *request* |  The request | TransactionRequest
-| voidTransaction | *id* |  Of the transaction to void | String
+| create | *customerId* |  The id of the Customer | String
+| create | *request* |  The request object | AddressRequest
+| delete | *customerId* |  The id of the Customer | String
+| delete | *id* |  The id of the Address to delete | String
+| find | *customerId* |  The id of the Customer | String
+| find | *id* |  The id of the Address | String
+| update | *customerId* |  The id of the Customer | String
+| update | *id* |  The id of the Address | String
+| update | *request* |  The request object containing the AddressRequest parameters | AddressRequest
 |===
 
-In addition to the parameters above, the transaction API can also use from the 34 endpoint query option
+In addition to the parameters above, the address API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -881,6 +831,56 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
+==== webhookNotification
+
+
+The webhookNotification API has 2 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.braintreegateway.WebhookNotification parse(String signature, String payload);
+
+String verify(String challenge);
+
+----
+
+The webhookNotification API is defined in the syntax as follows:
+
+----
+braintree:webhookNotification/methodName?[parameters]
+----
+
+The 2 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *parse* |  | 
+| *verify* |  | 
+|===
+
+The webhookNotification API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| parse | *payload* |   | String
+| parse | *signature* |   | String
+| verify | *challenge* |   | String
+|===
+
+In addition to the parameters above, the webhookNotification API can also use from the 34 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelBraintree.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelBraintree.myParameterNameHere` header.
+
+
+
 ==== merchantAccount
 
 
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json b/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json
index 8f4996d..a5b6fb2 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json
+++ b/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json
@@ -105,30 +105,30 @@
     "update": { "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<o [...]
     "create": { "methods": { "resource": { "description": "Creates a IBaseResource on the server", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, String url, ca.uhn.fhir.rest.api.PreferReturnEnu [...]
     "validate": { "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "operation": { "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBase [...]
-    "search": { "methods": { "searchByUrl": { "description": "Perform a search directly by URL", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "capabilities": { "methods": { "ofType": { "description": "Retrieve the conformance statement using the given model type", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "patch": { "methods": { "patchById": { "description": "Applies the patch to the given resource ID", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum [...]
     "meta": { "methods": { "add": { "description": "Add the elements in the given metadata to the already existing set (do not remove any)", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseMetaType add(org.hl7.fhir.instance.model.api.IBaseMetaType meta, org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "delete": { "description": "Delete the elements in the given metadata from the given id",  [...]
     "history": { "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle onInstance(org.hl7.fhir.instance.model.api.IIdType id, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff, java.util.Map<org.apache.camel.component.fh [...]
+    "operation": { "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBase [...]
     "load-page": { "methods": { "byUrl": { "description": "Load a page of results using the given URL and bundle type and return a DSTU1 Atom bundle", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle byUrl(String url, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "next": { "description": "Load the next page of results using the link with relation next in the bund [...]
+    "search": { "methods": { "searchByUrl": { "description": "Perform a search directly by URL", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
     "transaction": { "methods": { "withBundle": { "description": "Use the given raw text (should be a Bundle resource) as the transaction input", "signatures": [ "String withBundle(String stringBundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.hl7.fhir.instance.model.api.IBaseBundle withBundle(org.hl7.fhir.instance.model.api.IBaseBundle bundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParamete [...]
     "read": { "methods": { "resourceById": { "description": "", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource resourceById(Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, Long longId, String ifVersionMatches, Boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, Boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.hl7.fhir.instance.model.api.IBaseResource resource [...]
+    "capabilities": { "methods": { "ofType": { "description": "Retrieve the conformance statement using the given model type", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
+    "patch": { "methods": { "patchById": { "description": "Applies the patch to the given resource ID", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum [...]
     "delete": { "methods": { "resource": { "description": "Deletes the given resource", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseOperationOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "resourceById": { "description": "Deletes the resource by resource type e", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseOperationOutcome resourceById(String typ [...]
   },
   "apiProperties": {
     "update": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "", "optional": true }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": " [...]
     "create": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "preferReturn": { "kind": "pa [...]
     "validate": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "", "optional": true }, "resource": { "kind": "parameter", "displayName": "Resource", "group": "common", "label": "", "required": fa [...]
-    "operation": { "methods": { "onInstance": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "paramet [...]
-    "search": { "methods": { "searchByUrl": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "url": { "kind": "paramete [...]
-    "capabilities": { "methods": { "ofType": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "type": { "kind": "parame [...]
-    "patch": { "methods": { "patchById": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "parameter",  [...]
     "meta": { "methods": { "add": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "parameter", "displa [...]
     "history": { "methods": { "onInstance": { "properties": { "count": { "kind": "parameter", "displayName": "Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "Request that the server return only up to theCount number of resources, may be NULL", "optional": true }, "cutoff": { "kind": "parameter", "displayName": "Cutoff", "group": "common", "label": "", "required": false, "t [...]
+    "operation": { "methods": { "onInstance": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "paramet [...]
     "load-page": { "methods": { "byUrl": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "returnType": { "kind": "para [...]
+    "search": { "methods": { "searchByUrl": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "url": { "kind": "paramete [...]
     "transaction": { "methods": { "withBundle": { "properties": { "bundle": { "kind": "parameter", "displayName": "Bundle", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IBaseBundle", "deprecated": false, "secret": false, "description": "Bundle to use in the transaction", "optional": false }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "t [...]
     "read": { "methods": { "resourceById": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "", "optional": true }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": [...]
+    "capabilities": { "methods": { "ofType": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "type": { "kind": "parame [...]
+    "patch": { "methods": { "patchById": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "id": { "kind": "parameter",  [...]
     "delete": { "methods": { "resource": { "properties": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL", "optional": true }, "resource": { "kind": "parame [...]
   }
 }
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
index 76345b2..26721d9 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
@@ -348,244 +348,6 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
-==== operation
-
-
-The operation API has 5 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onInstanceVersion(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onServer(String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onType(Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseBundle processMessage(String respondToUri, org.hl7.fhir.instance.model.api.IBaseBundle msgBundle, boolean asynchronous, Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The operation API is defined in the syntax as follows:
-
-----
-fhir:operation/methodName?[parameters]
-----
-
-The 5 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *onInstance* |  | Perform the operation across all versions of a specific resource (by ID and type) on the server
-| *onInstanceVersion* |  | This operation operates on a specific version of a resource
-| *onServer* |  | Perform the operation across all versions of all resources of all types on the server
-| *onType* |  | Perform the operation across all versions of all resources of the given type on the server
-| *processMessage* |  | This operation is called $process-message as defined by the FHIR specification
-|===
-
-The operation API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| onInstance | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onInstance | *id* |  Resource (version will be stripped) | IIdType
-| onInstance | *name* |  Operation name | String
-| onInstance | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onInstance | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onInstance | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onInstance | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onInstanceVersion | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onInstanceVersion | *id* |  Resource version | IIdType
-| onInstanceVersion | *name* |  Operation name | String
-| onInstanceVersion | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onInstanceVersion | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onInstanceVersion | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onInstanceVersion | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onServer | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onServer | *name* |  Operation name | String
-| onServer | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onServer | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onServer | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onServer | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onType | *name* |  Operation name | String
-| onType | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onType | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onType | *resourceType* |  The resource type to operate on | Class
-| onType | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onType | *useHttpGet* |  Use HTTP GET verb | Boolean
-| processMessage | *asynchronous* |  Whether to process the message asynchronously or synchronously, defaults to synchronous. | Boolean
-| processMessage | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| processMessage | *msgBundle* |  Set the Message Bundle to POST to the messaging server | IBaseBundle
-| processMessage | *respondToUri* | *Optional*  An optional query parameter indicating that responses from the receiving server should be sent to this URI, may be NULL | String
-| processMessage | *responseClass* |  The response class | Class
-|===
-
-In addition to the parameters above, the operation API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== search
-
-
-The search API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The search API is defined in the syntax as follows:
-
-----
-fhir:search/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *searchByUrl* |  | Perform a search directly by URL
-|===
-
-The search API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| searchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| searchByUrl | *url* |  The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
-|===
-
-In addition to the parameters above, the search API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== capabilities
-
-
-The capabilities API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The capabilities API is defined in the syntax as follows:
-
-----
-fhir:capabilities/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *ofType* |  | Retrieve the conformance statement using the given model type
-|===
-
-The capabilities API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| ofType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| ofType | *type* |  The model type | Class
-|===
-
-In addition to the parameters above, the capabilities API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== patch
-
-
-The patch API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-ca.uhn.fhir.rest.api.MethodOutcome patchByUrl(String patchBody, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The patch API is defined in the syntax as follows:
-
-----
-fhir:patch/methodName?[parameters]
-----
-
-The 2 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *patchById* |  | Applies the patch to the given resource ID
-| *patchByUrl* |  | Specifies that the update should be performed as a conditional create against a given search URL
-|===
-
-The patch API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| patchById | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| patchById | *id* |  The resource ID to patch | IIdType
-| patchById | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| patchById | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| patchById | *stringId* |  The resource ID to patch | String
-| patchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| patchByUrl | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| patchByUrl | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| patchByUrl | *url* |  The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
-|===
-
-In addition to the parameters above, the patch API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
 ==== meta
 
 
@@ -723,6 +485,94 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== operation
+
+
+The operation API has 5 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onInstanceVersion(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onServer(String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onType(Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseBundle processMessage(String respondToUri, org.hl7.fhir.instance.model.api.IBaseBundle msgBundle, boolean asynchronous, Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The operation API is defined in the syntax as follows:
+
+----
+fhir:operation/methodName?[parameters]
+----
+
+The 5 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *onInstance* |  | Perform the operation across all versions of a specific resource (by ID and type) on the server
+| *onInstanceVersion* |  | This operation operates on a specific version of a resource
+| *onServer* |  | Perform the operation across all versions of all resources of all types on the server
+| *onType* |  | Perform the operation across all versions of all resources of the given type on the server
+| *processMessage* |  | This operation is called $process-message as defined by the FHIR specification
+|===
+
+The operation API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| onInstance | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onInstance | *id* |  Resource (version will be stripped) | IIdType
+| onInstance | *name* |  Operation name | String
+| onInstance | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onInstance | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onInstance | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onInstance | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onInstanceVersion | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onInstanceVersion | *id* |  Resource version | IIdType
+| onInstanceVersion | *name* |  Operation name | String
+| onInstanceVersion | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onInstanceVersion | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onInstanceVersion | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onInstanceVersion | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onServer | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onServer | *name* |  Operation name | String
+| onServer | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onServer | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onServer | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onServer | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onType | *name* |  Operation name | String
+| onType | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onType | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onType | *resourceType* |  The resource type to operate on | Class
+| onType | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onType | *useHttpGet* |  Use HTTP GET verb | Boolean
+| processMessage | *asynchronous* |  Whether to process the message asynchronously or synchronously, defaults to synchronous. | Boolean
+| processMessage | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| processMessage | *msgBundle* |  Set the Message Bundle to POST to the messaging server | IBaseBundle
+| processMessage | *respondToUri* | *Optional*  An optional query parameter indicating that responses from the receiving server should be sent to this URI, may be NULL | String
+| processMessage | *responseClass* |  The response class | Class
+|===
+
+In addition to the parameters above, the operation API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== load-page
 
 
@@ -780,6 +630,52 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== search
+
+
+The search API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The search API is defined in the syntax as follows:
+
+----
+fhir:search/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *searchByUrl* |  | Perform a search directly by URL
+|===
+
+The search API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| searchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| searchByUrl | *url* |  The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
+|===
+
+In addition to the parameters above, the search API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== transaction
 
 
@@ -917,6 +813,110 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== capabilities
+
+
+The capabilities API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The capabilities API is defined in the syntax as follows:
+
+----
+fhir:capabilities/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *ofType* |  | Retrieve the conformance statement using the given model type
+|===
+
+The capabilities API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| ofType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| ofType | *type* |  The model type | Class
+|===
+
+In addition to the parameters above, the capabilities API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
+==== patch
+
+
+The patch API has 2 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+ca.uhn.fhir.rest.api.MethodOutcome patchByUrl(String patchBody, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The patch API is defined in the syntax as follows:
+
+----
+fhir:patch/methodName?[parameters]
+----
+
+The 2 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *patchById* |  | Applies the patch to the given resource ID
+| *patchByUrl* |  | Specifies that the update should be performed as a conditional create against a given search URL
+|===
+
+The patch API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| patchById | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| patchById | *id* |  The resource ID to patch | IIdType
+| patchById | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
+| patchById | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
+| patchById | *stringId* |  The resource ID to patch | String
+| patchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| patchByUrl | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
+| patchByUrl | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
+| patchByUrl | *url* |  The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
+|===
+
+In addition to the parameters above, the patch API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== delete
 
 
diff --git a/components/camel-file/src/main/docs/file-component.adoc b/components/camel-file/src/main/docs/file-component.adoc
index 2fd5537..24d5d5a 100644
--- a/components/camel-file/src/main/docs/file-component.adoc
+++ b/components/camel-file/src/main/docs/file-component.adoc
@@ -169,7 +169,7 @@ with the following path and query parameters:
 | *readLockIdempotentReleaseAsync{zwsp}PoolSize* (lock) | The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more det [...]
 | *readLockIdempotentReleaseDelay* (lock) | Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if [...]
 | *readLockIdempotentRelease{zwsp}ExecutorService* (lock) | To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option. |  | ScheduledExecutorService
-| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
+| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
 | *readLockMarkerFile* (lock) | Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application. | true | boolean
 | *readLockMinAge* (lock) | This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age. | 0 | long
 | *readLockMinLength* (lock) | This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files. | 1 | long
diff --git a/components/camel-ftp/src/main/docs/ftp-component.adoc b/components/camel-ftp/src/main/docs/ftp-component.adoc
index 9d19765..3b238d2 100644
--- a/components/camel-ftp/src/main/docs/ftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftp-component.adoc
@@ -140,7 +140,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *handleDirectoryParserAbsolute{zwsp}Result* (consumer) | Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path. | false | boolean
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
diff --git a/components/camel-ftp/src/main/docs/ftps-component.adoc b/components/camel-ftp/src/main/docs/ftps-component.adoc
index 96787eb..0f5a894 100644
--- a/components/camel-ftp/src/main/docs/ftps-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftps-component.adoc
@@ -99,7 +99,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *handleDirectoryParserAbsolute{zwsp}Result* (consumer) | Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path. | false | boolean
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
diff --git a/components/camel-ftp/src/main/docs/sftp-component.adoc b/components/camel-ftp/src/main/docs/sftp-component.adoc
index 7df3ad8..710ced8 100644
--- a/components/camel-ftp/src/main/docs/sftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/sftp-component.adoc
@@ -80,9 +80,9 @@ with the following path and query parameters:
 | *disconnect* (common) | Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead. | false | boolean
 | *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
 | *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
-| *jschLoggingLevel* (common) | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *jschLoggingLevel* (common) | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *passiveMode* (common) | Sets passive mode connections. Default is active mode connections. | false | boolean
-| *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name. There are 3 enums and the value can be one of: UNIX, Windows, Auto | UNIX | PathSeparator
+| *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name. There are 3 enums and the value can be one of: unix, windows, auto | unix | PathSeparator
 | *fastExistsCheck* (common) | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has  [...]
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *delete* (consumer) | If true, the file will be deleted after it is processed successfully. | false | boolean
@@ -95,7 +95,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
 | *localWorkDirectory* (consumer) | When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory. |  | String
@@ -158,7 +158,7 @@ with the following path and query parameters:
 | *readLockIdempotentReleaseAsync{zwsp}PoolSize* (lock) | The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more det [...]
 | *readLockIdempotentReleaseDelay* (lock) | Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if [...]
 | *readLockIdempotentRelease{zwsp}ExecutorService* (lock) | To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option. |  | ScheduledExecutorService
-| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
+| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
 | *readLockMarkerFile* (lock) | Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application. | true | boolean
 | *readLockMinAge* (lock) | This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age. | 0 | long
 | *readLockMinLength* (lock) | This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files. | 1 | long
diff --git a/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json b/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json
index f332d03..0761147 100644
--- a/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json
+++ b/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json
@@ -70,31 +70,31 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.drive.GoogleDriveConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expir [...]
   },
   "apis": {
+    "drive-changes": { "methods": { "get": { "description": "Deprecated - Use changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$Get get(String changeId)" ] }, "watch": { "description": "Subscribe to changes for a user", "signatures": [ "com.google.api.services.drive.Drive$Changes$Watch watch(com.google.api.services.drive.model.Channel content)" ] } } },
     "drive-channels": { "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)" ] } } },
     "drive-revisions": { "methods": { "delete": { "description": "Removes a revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Delete delete(String fileId, String revisionId)" ] }, "get": { "description": "Gets a specific revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Get get(String fileId, String revisionId)" ] }, "list": { "description": "Lists a file's revisions", "signatures": [ "com.google.api.services.drive.Drive$Revisions$List list [...]
-    "drive-replies": { "methods": { "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId, String commentId, String replyId)" ] }, "get": { "description": "Gets a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Get get(String fileId, String commentId, String replyId)" ] }, "insert": { "description": "Creates a new reply to the given comment", "signatures": [ "com.google.api.services.driv [...]
-    "drive-permissions": { "methods": { "delete": { "description": "Deletes a permission from a file or Team Drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Delete delete(String fileId, String permissionId)" ] }, "get": { "description": "Gets a permission by ID", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Get get(String fileId, String permissionId)" ] }, "getIdForEmail": { "description": "Returns the permission ID for an email address", "sig [...]
-    "drive-parents": { "methods": { "delete": { "description": "Removes a parent from a file", "signatures": [ "com.google.api.services.drive.Drive$Parents$Delete delete(String fileId, String parentId)" ] }, "get": { "description": "Gets a specific parent reference", "signatures": [ "com.google.api.services.drive.Drive$Parents$Get get(String fileId, String parentId)" ] }, "insert": { "description": "Adds a parent folder for a file", "signatures": [ "com.google.api.services.drive.Drive$Pa [...]
-    "drive-apps": { "methods": { "get": { "description": "Gets a specific app", "signatures": [ "com.google.api.services.drive.Drive$Apps$Get get(String appId)" ] } } },
-    "drive-changes": { "methods": { "get": { "description": "Deprecated - Use changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$Get get(String changeId)" ] }, "watch": { "description": "Subscribe to changes for a user", "signatures": [ "com.google.api.services.drive.Drive$Changes$Watch watch(com.google.api.services.drive.model.Channel content)" ] } } },
     "drive-comments": { "methods": { "delete": { "description": "Deletes a comment", "signatures": [ "com.google.api.services.drive.Drive$Comments$Delete delete(String fileId, String commentId)" ] }, "get": { "description": "Gets a comment by ID", "signatures": [ "com.google.api.services.drive.Drive$Comments$Get get(String fileId, String commentId)" ] }, "insert": { "description": "Creates a new comment on the given file", "signatures": [ "com.google.api.services.drive.Drive$Comments$Ins [...]
+    "drive-replies": { "methods": { "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId, String commentId, String replyId)" ] }, "get": { "description": "Gets a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Get get(String fileId, String commentId, String replyId)" ] }, "insert": { "description": "Creates a new reply to the given comment", "signatures": [ "com.google.api.services.driv [...]
     "drive-properties": { "methods": { "delete": { "description": "Deletes a property", "signatures": [ "com.google.api.services.drive.Drive$Properties$Delete delete(String fileId, String propertyKey)" ] }, "get": { "description": "Gets a property by its key", "signatures": [ "com.google.api.services.drive.Drive$Properties$Get get(String fileId, String propertyKey)" ] }, "insert": { "description": "Adds a property to a file, or updates it if it already exists", "signatures": [ "com.googl [...]
     "drive-realtime": { "methods": { "get": { "description": "Exports the contents of the Realtime API data model associated with this file as JSON", "signatures": [ "com.google.api.services.drive.Drive$Realtime$Get get(String fileId)" ] }, "update": { "description": "Overwrites the Realtime API data model associated with this file with the provided JSON data model", "signatures": [ "com.google.api.services.drive.Drive$Realtime$Update update(String fileId)", "com.google.api.services.driv [...]
+    "drive-permissions": { "methods": { "delete": { "description": "Deletes a permission from a file or Team Drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Delete delete(String fileId, String permissionId)" ] }, "get": { "description": "Gets a permission by ID", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Get get(String fileId, String permissionId)" ] }, "getIdForEmail": { "description": "Returns the permission ID for an email address", "sig [...]
     "drive-children": { "methods": { "delete": { "description": "Removes a child from a folder", "signatures": [ "com.google.api.services.drive.Drive$Children$Delete delete(String folderId, String childId)" ] }, "get": { "description": "Gets a specific child reference", "signatures": [ "com.google.api.services.drive.Drive$Children$Get get(String folderId, String childId)" ] }, "insert": { "description": "Inserts a file into a folder", "signatures": [ "com.google.api.services.drive.Drive$ [...]
-    "drive-files": { "methods": { "copy": { "description": "Creates a copy of the specified file", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "delete": { "description": "Permanently deletes a file by ID", "signatures": [ "com.google.api.services.drive.Drive$Files$Delete delete(String fileId)" ] }, "export": { "description": "Exports a Google Doc to the requested MIME type and returns the expo [...]
+    "drive-files": { "methods": { "copy": { "description": "Creates a copy of the specified file", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "delete": { "description": "Permanently deletes a file by ID", "signatures": [ "com.google.api.services.drive.Drive$Files$Delete delete(String fileId)" ] }, "export": { "description": "Exports a Google Doc to the requested MIME type and returns the expo [...]
+    "drive-parents": { "methods": { "delete": { "description": "Removes a parent from a file", "signatures": [ "com.google.api.services.drive.Drive$Parents$Delete delete(String fileId, String parentId)" ] }, "get": { "description": "Gets a specific parent reference", "signatures": [ "com.google.api.services.drive.Drive$Parents$Get get(String fileId, String parentId)" ] }, "insert": { "description": "Adds a parent folder for a file", "signatures": [ "com.google.api.services.drive.Drive$Pa [...]
+    "drive-apps": { "methods": { "get": { "description": "Gets a specific app", "signatures": [ "com.google.api.services.drive.Drive$Apps$Get get(String appId)" ] } } }
   },
   "apiProperties": {
+    "drive-changes": { "methods": { "get": { "properties": { "changeId": { "kind": "parameter", "displayName": "Change Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the change", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "obj [...]
     "drive-channels": { "methods": { "stop": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Channel", "optional": false } } } } },
     "drive-revisions": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "revisionId": { "kind": "parameter", "displayName": "Revision Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "d [...]
-    "drive-replies": { "methods": { "delete": { "properties": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "de [...]
-    "drive-permissions": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID for the file or Team Drive", "optional": false }, "permissionId": { "kind": "parameter", "displayName": "Permission Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": " [...]
-    "drive-parents": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "parentId": { "kind": "parameter", "displayName": "Parent Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depreca [...]
-    "drive-apps": { "methods": { "get": { "properties": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the app", "optional": false } } } } },
-    "drive-changes": { "methods": { "get": { "properties": { "changeId": { "kind": "parameter", "displayName": "Change Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the change", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "obj [...]
     "drive-comments": { "methods": { "delete": { "properties": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "d [...]
+    "drive-replies": { "methods": { "delete": { "properties": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "de [...]
     "drive-properties": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "propertyKey": { "kind": "parameter", "displayName": "Property Key", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", [...]
     "drive-realtime": { "methods": { "get": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file that the Realtime API data model is associated with", "optional": false } } }, "update": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", [...]
+    "drive-permissions": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID for the file or Team Drive", "optional": false }, "permissionId": { "kind": "parameter", "displayName": "Permission Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": " [...]
     "drive-children": { "methods": { "delete": { "properties": { "childId": { "kind": "parameter", "displayName": "Child Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the child", "optional": false }, "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "dep [...]
-    "drive-files": { "methods": { "copy": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.File", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.File", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string [...]
+    "drive-files": { "methods": { "copy": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.File", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.File", "optional": false }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string [...]
+    "drive-parents": { "methods": { "delete": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file", "optional": false }, "parentId": { "kind": "parameter", "displayName": "Parent Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depreca [...]
+    "drive-apps": { "methods": { "get": { "properties": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the app", "optional": false } } } } }
   }
 }
diff --git a/components/camel-google-drive/src/main/docs/google-drive-component.adoc b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
index f313362..6a19aaa 100644
--- a/components/camel-google-drive/src/main/docs/google-drive-component.adoc
+++ b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
@@ -148,109 +148,46 @@ google-drive:apiName/methodName
 The following lists each API name and method and its additional parameters.
 
 
-==== drive-channels
-
-
-The drive-channels API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.google.api.services.drive.Drive.Channels.Stop stop(com.google.api.services.drive.model.Channel content);
-
-----
-
-The drive-channels API is defined in the syntax as follows:
-
-----
-google-drive:drive-channels/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *stop* |  | Stop watching resources through this channel
-|===
-
-The drive-channels API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| stop | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
-|===
-
-In addition to the parameters above, the drive-channels API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-revisions
+==== drive-changes
 
 
-The drive-revisions API has 5 method(s) which is represented by the following method signatures
+The drive-changes API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Revisions.Delete delete(String fileId, String revisionId);
-
-com.google.api.services.drive.Drive.Revisions.Get get(String fileId, String revisionId);
-
-com.google.api.services.drive.Drive.Revisions.List list(String fileId);
-
-com.google.api.services.drive.Drive.Revisions.Patch patch(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
+com.google.api.services.drive.Drive.Changes.Get get(String changeId);
 
-com.google.api.services.drive.Drive.Revisions.Update update(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
+com.google.api.services.drive.Drive.Changes.Watch watch(com.google.api.services.drive.model.Channel content);
 
 ----
 
-The drive-revisions API is defined in the syntax as follows:
+The drive-changes API is defined in the syntax as follows:
 
 ----
-google-drive:drive-revisions/methodName?[parameters]
+google-drive:drive-changes/methodName?[parameters]
 ----
 
-The 5 method(s) is listed in the table below.
+The 2 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Removes a revision
-| *get* |  | Gets a specific revision
-| *list* |  | Lists a file's revisions
-| *patch* |  | Updates a revision
-| *update* |  | Updates a revision
+| *get* |  | Deprecated - Use changes
+| *watch* |  | Subscribe to changes for a user
 |===
 
-The drive-revisions API method(s) has the following set of parameters listed in the table below:
+The drive-changes API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| delete | *fileId* |  The ID of the file | String
-| delete | *revisionId* |  The ID of the revision | String
-| get | *fileId* |  The ID of the file | String
-| get | *revisionId* |  The ID of the revision | String
-| list | *fileId* |  The ID of the file | String
-| patch | *content* |  The com.google.api.services.drive.model.Revision | Revision
-| patch | *fileId* |  The ID for the file | String
-| patch | *revisionId* |  The ID for the revision | String
-| update | *content* |  The com.google.api.services.drive.model.Revision | Revision
-| update | *fileId* |  The ID for the file | String
-| update | *revisionId* |  The ID for the revision | String
+| get | *changeId* |  The ID of the change | String
+| watch | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
 |===
 
-In addition to the parameters above, the drive-revisions API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-changes API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -260,75 +197,42 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-replies
+==== drive-channels
 
 
-The drive-replies API has 6 method(s) which is represented by the following method signatures
+The drive-channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Replies.Delete delete(String fileId, String commentId, String replyId);
-
-com.google.api.services.drive.Drive.Replies.Get get(String fileId, String commentId, String replyId);
-
-com.google.api.services.drive.Drive.Replies.Insert insert(String fileId, String commentId, com.google.api.services.drive.model.CommentReply content);
-
-com.google.api.services.drive.Drive.Replies.List list(String fileId, String commentId);
-
-com.google.api.services.drive.Drive.Replies.Patch patch(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
-
-com.google.api.services.drive.Drive.Replies.Update update(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
+com.google.api.services.drive.Drive.Channels.Stop stop(com.google.api.services.drive.model.Channel content);
 
 ----
 
-The drive-replies API is defined in the syntax as follows:
+The drive-channels API is defined in the syntax as follows:
 
 ----
-google-drive:drive-replies/methodName?[parameters]
+google-drive:drive-channels/methodName?[parameters]
 ----
 
-The 6 method(s) is listed in the table below.
+The 1 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Deletes a reply
-| *get* |  | Gets a reply
-| *insert* |  | Creates a new reply to the given comment
-| *list* |  | Lists all of the replies to a comment
-| *patch* |  | Updates an existing reply
-| *update* |  | Updates an existing reply
+| *stop* |  | Stop watching resources through this channel
 |===
 
-The drive-replies API method(s) has the following set of parameters listed in the table below:
+The drive-channels API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| delete | *commentId* |  The ID of the comment | String
-| delete | *fileId* |  The ID of the file | String
-| delete | *replyId* |  The ID of the reply | String
-| get | *commentId* |  The ID of the comment | String
-| get | *fileId* |  The ID of the file | String
-| get | *replyId* |  The ID of the reply | String
-| insert | *commentId* |  The ID of the comment | String
-| insert | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| insert | *fileId* |  The ID of the file | String
-| list | *commentId* |  The ID of the comment | String
-| list | *fileId* |  The ID of the file | String
-| patch | *commentId* |  The ID of the comment | String
-| patch | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| patch | *fileId* |  The ID of the file | String
-| patch | *replyId* |  The ID of the reply | String
-| update | *commentId* |  The ID of the comment | String
-| update | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| update | *fileId* |  The ID of the file | String
-| update | *replyId* |  The ID of the reply | String
+| stop | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
 |===
 
-In addition to the parameters above, the drive-replies API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-channels API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -338,133 +242,64 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-permissions
+==== drive-revisions
 
 
-The drive-permissions API has 7 method(s) which is represented by the following method signatures
+The drive-revisions API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Permissions.Delete delete(String fileId, String permissionId);
-
-com.google.api.services.drive.Drive.Permissions.Get get(String fileId, String permissionId);
-
-com.google.api.services.drive.Drive.Permissions.GetIdForEmail getIdForEmail(String email);
-
-com.google.api.services.drive.Drive.Permissions.Insert insert(String fileId, com.google.api.services.drive.model.Permission content);
-
-com.google.api.services.drive.Drive.Permissions.List list(String fileId);
-
-com.google.api.services.drive.Drive.Permissions.Patch patch(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
-
-com.google.api.services.drive.Drive.Permissions.Update update(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
-
-----
-
-The drive-permissions API is defined in the syntax as follows:
-
-----
-google-drive:drive-permissions/methodName?[parameters]
-----
-
-The 7 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *delete* |  | Deletes a permission from a file or Team Drive
-| *get* |  | Gets a permission by ID
-| *getIdForEmail* |  | Returns the permission ID for an email address
-| *insert* |  | Inserts a permission for a file or Team Drive
-| *list* |  | Lists a file's or Team Drive's permissions
-| *patch* |  | Updates a permission using patch semantics
-| *update* |  | Updates a permission
-|===
-
-The drive-permissions API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| delete | *fileId* |  The ID for the file or Team Drive | String
-| delete | *permissionId* |  The ID for the permission | String
-| get | *fileId* |  The ID for the file or Team Drive | String
-| get | *permissionId* |  The ID for the permission | String
-| getIdForEmail | *email* |  The email address for which to return a permission ID | String
-| insert | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| insert | *fileId* |  The ID for the file or Team Drive | String
-| list | *fileId* |  The ID for the file or Team Drive | String
-| patch | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| patch | *fileId* |  The ID for the file or Team Drive | String
-| patch | *permissionId* |  The ID for the permission | String
-| update | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| update | *fileId* |  The ID for the file or Team Drive | String
-| update | *permissionId* |  The ID for the permission | String
-|===
-
-In addition to the parameters above, the drive-permissions API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-parents
-
-
-The drive-parents API has 4 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
+com.google.api.services.drive.Drive.Revisions.Delete delete(String fileId, String revisionId);
 
-com.google.api.services.drive.Drive.Parents.Delete delete(String fileId, String parentId);
+com.google.api.services.drive.Drive.Revisions.Get get(String fileId, String revisionId);
 
-com.google.api.services.drive.Drive.Parents.Get get(String fileId, String parentId);
+com.google.api.services.drive.Drive.Revisions.List list(String fileId);
 
-com.google.api.services.drive.Drive.Parents.Insert insert(String fileId, com.google.api.services.drive.model.ParentReference content);
+com.google.api.services.drive.Drive.Revisions.Patch patch(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
 
-com.google.api.services.drive.Drive.Parents.List list(String fileId);
+com.google.api.services.drive.Drive.Revisions.Update update(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
 
 ----
 
-The drive-parents API is defined in the syntax as follows:
+The drive-revisions API is defined in the syntax as follows:
 
 ----
-google-drive:drive-parents/methodName?[parameters]
+google-drive:drive-revisions/methodName?[parameters]
 ----
 
-The 4 method(s) is listed in the table below.
+The 5 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Removes a parent from a file
-| *get* |  | Gets a specific parent reference
-| *insert* |  | Adds a parent folder for a file
-| *list* |  | Lists a file's parents
+| *delete* |  | Removes a revision
+| *get* |  | Gets a specific revision
+| *list* |  | Lists a file's revisions
+| *patch* |  | Updates a revision
+| *update* |  | Updates a revision
 |===
 
-The drive-parents API method(s) has the following set of parameters listed in the table below:
+The drive-revisions API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
 | delete | *fileId* |  The ID of the file | String
-| delete | *parentId* |  The ID of the parent | String
+| delete | *revisionId* |  The ID of the revision | String
 | get | *fileId* |  The ID of the file | String
-| get | *parentId* |  The ID of the parent | String
-| insert | *content* |  The com.google.api.services.drive.model.ParentReference | ParentReference
-| insert | *fileId* |  The ID of the file | String
+| get | *revisionId* |  The ID of the revision | String
 | list | *fileId* |  The ID of the file | String
+| patch | *content* |  The com.google.api.services.drive.model.Revision | Revision
+| patch | *fileId* |  The ID for the file | String
+| patch | *revisionId* |  The ID for the revision | String
+| update | *content* |  The com.google.api.services.drive.model.Revision | Revision
+| update | *fileId* |  The ID for the file | String
+| update | *revisionId* |  The ID for the revision | String
 |===
 
-In addition to the parameters above, the drive-parents API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-revisions API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -474,91 +309,69 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-apps
+==== drive-comments
 
 
-The drive-apps API has 1 method(s) which is represented by the following method signatures
+The drive-comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Apps.Get get(String appId);
-
-----
-
-The drive-apps API is defined in the syntax as follows:
-
-----
-google-drive:drive-apps/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *get* |  | Gets a specific app
-|===
-
-The drive-apps API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| get | *appId* |  The ID of the app | String
-|===
-
-In addition to the parameters above, the drive-apps API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-changes
+com.google.api.services.drive.Drive.Comments.Delete delete(String fileId, String commentId);
 
+com.google.api.services.drive.Drive.Comments.Get get(String fileId, String commentId);
 
-The drive-changes API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
+com.google.api.services.drive.Drive.Comments.Insert insert(String fileId, com.google.api.services.drive.model.Comment content);
 
-[source,java]
-----
+com.google.api.services.drive.Drive.Comments.List list(String fileId);
 
-com.google.api.services.drive.Drive.Changes.Get get(String changeId);
+com.google.api.services.drive.Drive.Comments.Patch patch(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
 
-com.google.api.services.drive.Drive.Changes.Watch watch(com.google.api.services.drive.model.Channel content);
+com.google.api.services.drive.Drive.Comments.Update update(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
 
 ----
 
-The drive-changes API is defined in the syntax as follows:
+The drive-comments API is defined in the syntax as follows:
 
 ----
-google-drive:drive-changes/methodName?[parameters]
+google-drive:drive-comments/methodName?[parameters]
 ----
 
-The 2 method(s) is listed in the table below.
+The 6 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *get* |  | Deprecated - Use changes
-| *watch* |  | Subscribe to changes for a user
+| *delete* |  | Deletes a comment
+| *get* |  | Gets a comment by ID
+| *insert* |  | Creates a new comment on the given file
+| *list* |  | Lists a file's comments
+| *patch* |  | Updates an existing comment
+| *update* |  | Updates an existing comment
 |===
 
-The drive-changes API method(s) has the following set of parameters listed in the table below:
+The drive-comments API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| get | *changeId* |  The ID of the change | String
-| watch | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
+| delete | *commentId* |  The ID of the comment | String
+| delete | *fileId* |  The ID of the file | String
+| get | *commentId* |  The ID of the comment | String
+| get | *fileId* |  The ID of the file | String
+| insert | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| insert | *fileId* |  The ID of the file | String
+| list | *fileId* |  The ID of the file | String
+| patch | *commentId* |  The ID of the comment | String
+| patch | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| patch | *fileId* |  The ID of the file | String
+| update | *commentId* |  The ID of the comment | String
+| update | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| update | *fileId* |  The ID of the file | String
 |===
 
-In addition to the parameters above, the drive-changes API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-comments API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -568,33 +381,33 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-comments
+==== drive-replies
 
 
-The drive-comments API has 6 method(s) which is represented by the following method signatures
+The drive-replies API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Comments.Delete delete(String fileId, String commentId);
+com.google.api.services.drive.Drive.Replies.Delete delete(String fileId, String commentId, String replyId);
 
-com.google.api.services.drive.Drive.Comments.Get get(String fileId, String commentId);
+com.google.api.services.drive.Drive.Replies.Get get(String fileId, String commentId, String replyId);
 
-com.google.api.services.drive.Drive.Comments.Insert insert(String fileId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Insert insert(String fileId, String commentId, com.google.api.services.drive.model.CommentReply content);
 
-com.google.api.services.drive.Drive.Comments.List list(String fileId);
+com.google.api.services.drive.Drive.Replies.List list(String fileId, String commentId);
 
-com.google.api.services.drive.Drive.Comments.Patch patch(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Patch patch(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
 
-com.google.api.services.drive.Drive.Comments.Update update(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Update update(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
 
 ----
 
-The drive-comments API is defined in the syntax as follows:
+The drive-replies API is defined in the syntax as follows:
 
 ----
-google-drive:drive-comments/methodName?[parameters]
+google-drive:drive-replies/methodName?[parameters]
 ----
 
 The 6 method(s) is listed in the table below.
@@ -603,34 +416,40 @@ The 6 method(s) is listed in the table below.
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Deletes a comment
-| *get* |  | Gets a comment by ID
-| *insert* |  | Creates a new comment on the given file
-| *list* |  | Lists a file's comments
-| *patch* |  | Updates an existing comment
-| *update* |  | Updates an existing comment
+| *delete* |  | Deletes a reply
+| *get* |  | Gets a reply
+| *insert* |  | Creates a new reply to the given comment
+| *list* |  | Lists all of the replies to a comment
+| *patch* |  | Updates an existing reply
+| *update* |  | Updates an existing reply
 |===
 
-The drive-comments API method(s) has the following set of parameters listed in the table below:
+The drive-replies API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
 | delete | *commentId* |  The ID of the comment | String
 | delete | *fileId* |  The ID of the file | String
+| delete | *replyId* |  The ID of the reply | String
 | get | *commentId* |  The ID of the comment | String
 | get | *fileId* |  The ID of the file | String
-| insert | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| get | *replyId* |  The ID of the reply | String
+| insert | *commentId* |  The ID of the comment | String
+| insert | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | insert | *fileId* |  The ID of the file | String
+| list | *commentId* |  The ID of the comment | String
 | list | *fileId* |  The ID of the file | String
 | patch | *commentId* |  The ID of the comment | String
-| patch | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| patch | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | patch | *fileId* |  The ID of the file | String
+| patch | *replyId* |  The ID of the reply | String
 | update | *commentId* |  The ID of the comment | String
-| update | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| update | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | update | *fileId* |  The ID of the file | String
+| update | *replyId* |  The ID of the reply | String
 |===
 
-In addition to the parameters above, the drive-comments API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-replies API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -764,6 +583,82 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
+==== drive-permissions
+
+
+The drive-permissions API has 7 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Permissions.Delete delete(String fileId, String permissionId);
+
+com.google.api.services.drive.Drive.Permissions.Get get(String fileId, String permissionId);
+
+com.google.api.services.drive.Drive.Permissions.GetIdForEmail getIdForEmail(String email);
+
+com.google.api.services.drive.Drive.Permissions.Insert insert(String fileId, com.google.api.services.drive.model.Permission content);
+
+com.google.api.services.drive.Drive.Permissions.List list(String fileId);
+
+com.google.api.services.drive.Drive.Permissions.Patch patch(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
+
+com.google.api.services.drive.Drive.Permissions.Update update(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
+
+----
+
+The drive-permissions API is defined in the syntax as follows:
+
+----
+google-drive:drive-permissions/methodName?[parameters]
+----
+
+The 7 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *delete* |  | Deletes a permission from a file or Team Drive
+| *get* |  | Gets a permission by ID
+| *getIdForEmail* |  | Returns the permission ID for an email address
+| *insert* |  | Inserts a permission for a file or Team Drive
+| *list* |  | Lists a file's or Team Drive's permissions
+| *patch* |  | Updates a permission using patch semantics
+| *update* |  | Updates a permission
+|===
+
+The drive-permissions API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| delete | *fileId* |  The ID for the file or Team Drive | String
+| delete | *permissionId* |  The ID for the permission | String
+| get | *fileId* |  The ID for the file or Team Drive | String
+| get | *permissionId* |  The ID for the permission | String
+| getIdForEmail | *email* |  The email address for which to return a permission ID | String
+| insert | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| insert | *fileId* |  The ID for the file or Team Drive | String
+| list | *fileId* |  The ID for the file or Team Drive | String
+| patch | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| patch | *fileId* |  The ID for the file or Team Drive | String
+| patch | *permissionId* |  The ID for the permission | String
+| update | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| update | *fileId* |  The ID for the file or Team Drive | String
+| update | *permissionId* |  The ID for the permission | String
+|===
+
+In addition to the parameters above, the drive-permissions API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
 ==== drive-children
 
 
@@ -917,6 +812,111 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleDrive.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
+==== drive-parents
+
+
+The drive-parents API has 4 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Parents.Delete delete(String fileId, String parentId);
+
+com.google.api.services.drive.Drive.Parents.Get get(String fileId, String parentId);
+
+com.google.api.services.drive.Drive.Parents.Insert insert(String fileId, com.google.api.services.drive.model.ParentReference content);
+
+com.google.api.services.drive.Drive.Parents.List list(String fileId);
+
+----
+
+The drive-parents API is defined in the syntax as follows:
+
+----
+google-drive:drive-parents/methodName?[parameters]
+----
+
+The 4 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *delete* |  | Removes a parent from a file
+| *get* |  | Gets a specific parent reference
+| *insert* |  | Adds a parent folder for a file
+| *list* |  | Lists a file's parents
+|===
+
+The drive-parents API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| delete | *fileId* |  The ID of the file | String
+| delete | *parentId* |  The ID of the parent | String
+| get | *fileId* |  The ID of the file | String
+| get | *parentId* |  The ID of the parent | String
+| insert | *content* |  The com.google.api.services.drive.model.ParentReference | ParentReference
+| insert | *fileId* |  The ID of the file | String
+| list | *fileId* |  The ID of the file | String
+|===
+
+In addition to the parameters above, the drive-parents API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
+==== drive-apps
+
+
+The drive-apps API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Apps.Get get(String appId);
+
+----
+
+The drive-apps API is defined in the syntax as follows:
+
+----
+google-drive:drive-apps/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *get* |  | Gets a specific app
+|===
+
+The drive-apps API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| get | *appId* |  The ID of the app | String
+|===
+
+In addition to the parameters above, the drive-apps API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
 // endpoint options: END
 
 
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
index 5187394..c5b8822 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
@@ -149,34 +149,146 @@ google-sheets:apiName/methodName
 The following lists each API name and method and its additional parameters.
 
 
-==== data
+==== spreadsheets
+
+
+The spreadsheets API has 4 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content);
 
-[width="100%",cols="2,5,3",options="header"]
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Create create(com.google.api.services.sheets.v4.model.Spreadsheet content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Get get(String spreadsheetId);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.GetByDataFilter getByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest content);
+
+----
+
+The spreadsheets API is defined in the syntax as follows:
+
+----
+google-sheets:spreadsheets/methodName?[parameters]
+----
+
+The 4 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
 |===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
+| Method | Alias | Description
+| *batchUpdate* |  | Applies one or more updates to the spreadsheet
+| *create* |  | Creates a spreadsheet, returning the newly created spreadsheet
+| *get* |  | Returns the spreadsheet at the given ID
+| *getByDataFilter* |  | Returns the spreadsheet at the given ID
+|===
+
+The spreadsheets API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| batchUpdate | *batchUpdateSpreadsheetRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
+| batchUpdate | *spreadsheetId* |  The spreadsheet to apply the updates to | String
+| create | *content* |  The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
+| get | *spreadsheetId* |  The spreadsheet to request | String
+| getByDataFilter | *getSpreadsheetByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
+| getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
 In addition to the parameters above, the spreadsheets API can also use from the 28 endpoint query option
 which is listed in the _Query Parameters_ section.
 
-==== spreadsheets
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleSheets.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleSheets.myParameterNameHere` header.
+
+
+
+==== data
+
+
+The data API has 10 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchClear batchClear(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchClearValuesRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchClearByDataFilter batchClearByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchGet batchGet(String spreadsheetId);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchGetByDataFilter batchGetByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter batchUpdateByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Clear clear(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ClearValuesRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Get get(String spreadsheetId, String range);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Update update(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content);
+
+----
+
+The data API is defined in the syntax as follows:
+
+----
+google-sheets:data/methodName?[parameters]
+----
+
+The 10 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *append* |  | Appends values to a spreadsheet
+| *batchClear* |  | Clears one or more ranges of values from a spreadsheet
+| *batchClearByDataFilter* |  | Clears one or more ranges of values from a spreadsheet
+| *batchGet* |  | Returns one or more ranges of values from a spreadsheet
+| *batchGetByDataFilter* |  | Returns one or more ranges of values that match the specified data filters
+| *batchUpdate* |  | Sets values in one or more ranges of a spreadsheet
+| *batchUpdateByDataFilter* |  | Sets values in one or more ranges of a spreadsheet
+| *clear* |  | Clears values from a spreadsheet
+| *get* |  | Returns a range of values from a spreadsheet
+| *update* |  | Sets values in a range of a spreadsheet
+|===
 
-[width="100%",cols="2,5,3",options="header"]
+The data API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
 |===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
+| Method | Parameter | Description | Type
+| append | *range* |  The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
+| append | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| append | *values* |  The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
+| batchClear | *batchClearValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
+| batchClear | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| batchClearByDataFilter | *content* |  The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
+| batchClearByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| batchGet | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
+| batchGetByDataFilter | *batchGetValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
+| batchGetByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
+| batchUpdate | *batchUpdateValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
+| batchUpdate | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
+| batchUpdateByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| clear | *clearValuesRequest* |  The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
+| clear | *range* |  The A1 notation of the values to clear. | String
+| clear | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| get | *range* |  The A1 notation of the values to retrieve. | String
+| get | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
+| update | *range* |  The A1 notation of the values to update. | String
+| update | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| update | *values* |  The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
 |===
 
 In addition to the parameters above, the data API can also use from the 28 endpoint query option
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index 4bbf667..0a13271 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -158,34 +158,146 @@ google-sheets-stream:apiName
 The following lists each API name and method and its additional parameters.
 
 
-==== data
+==== spreadsheets
+
+
+The spreadsheets API has 4 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content);
 
-[width="100%",cols="2,5,3",options="header"]
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Create create(com.google.api.services.sheets.v4.model.Spreadsheet content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Get get(String spreadsheetId);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.GetByDataFilter getByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest content);
+
+----
+
+The spreadsheets API is defined in the syntax as follows:
+
+----
+google-sheets-stream:spreadsheets/methodName?[parameters]
+----
+
+The 4 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
 |===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
+| Method | Alias | Description
+| *batchUpdate* |  | Applies one or more updates to the spreadsheet
+| *create* |  | Creates a spreadsheet, returning the newly created spreadsheet
+| *get* |  | Returns the spreadsheet at the given ID
+| *getByDataFilter* |  | Returns the spreadsheet at the given ID
+|===
+
+The spreadsheets API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| batchUpdate | *batchUpdateSpreadsheetRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
+| batchUpdate | *spreadsheetId* |  The spreadsheet to apply the updates to | String
+| create | *content* |  The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
+| get | *spreadsheetId* |  The spreadsheet to request | String
+| getByDataFilter | *getSpreadsheetByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
+| getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
 In addition to the parameters above, the spreadsheets API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
-==== spreadsheets
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleSheetsStream.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
+
+
+
+==== data
+
+
+The data API has 10 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchClear batchClear(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchClearValuesRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchClearByDataFilter batchClearByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchGet batchGet(String spreadsheetId);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchGetByDataFilter batchGetByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter batchUpdateByDataFilter(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Clear clear(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ClearValuesRequest content);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Get get(String spreadsheetId, String range);
+
+com.google.api.services.sheets.v4.Sheets.Spreadsheets.Values.Update update(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content);
+
+----
+
+The data API is defined in the syntax as follows:
+
+----
+google-sheets-stream:data/methodName?[parameters]
+----
+
+The 10 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *append* |  | Appends values to a spreadsheet
+| *batchClear* |  | Clears one or more ranges of values from a spreadsheet
+| *batchClearByDataFilter* |  | Clears one or more ranges of values from a spreadsheet
+| *batchGet* |  | Returns one or more ranges of values from a spreadsheet
+| *batchGetByDataFilter* |  | Returns one or more ranges of values that match the specified data filters
+| *batchUpdate* |  | Sets values in one or more ranges of a spreadsheet
+| *batchUpdateByDataFilter* |  | Sets values in one or more ranges of a spreadsheet
+| *clear* |  | Clears values from a spreadsheet
+| *get* |  | Returns a range of values from a spreadsheet
+| *update* |  | Sets values in a range of a spreadsheet
+|===
 
-[width="100%",cols="2,5,3",options="header"]
+The data API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
 |===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
+| Method | Parameter | Description | Type
+| append | *range* |  The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
+| append | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| append | *values* |  The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
+| batchClear | *batchClearValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
+| batchClear | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| batchClearByDataFilter | *content* |  The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
+| batchClearByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| batchGet | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
+| batchGetByDataFilter | *batchGetValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
+| batchGetByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
+| batchUpdate | *batchUpdateValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
+| batchUpdate | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
+| batchUpdateByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| clear | *clearValuesRequest* |  The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
+| clear | *range* |  The A1 notation of the values to clear. | String
+| clear | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| get | *range* |  The A1 notation of the values to retrieve. | String
+| get | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
+| update | *range* |  The A1 notation of the values to update. | String
+| update | *spreadsheetId* |  The ID of the spreadsheet to update | String
+| update | *values* |  The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
 |===
 
 In addition to the parameters above, the data API can also use from the 34 endpoint query option
diff --git a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
index a930d71..df5fabb 100644
--- a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
@@ -63,7 +63,7 @@ with the following path and query parameters:
 | *batchSize* (producer) | The batch size. |  | Integer
 | *initialValue* (producer) | The initial value. | 0 | Long
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET. There are 5 enums and the value can be one of: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET |  | IgniteIdGenOperation
+| *operation* (producer) | The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET. There are 5 enums and the value can be one of: add-and-get, get, get-and-add, get-and-increment, increment-and-get |  | IgniteIdGenOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
index ca574bb..a41bcd0 100644
--- a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
@@ -63,7 +63,7 @@ with the following path and query parameters:
 | *capacity* (producer) | The queue capacity. Default: non-bounded. |  | int
 | *configuration* (producer) | The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options. |  | CollectionConfiguration
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT. There are 15 enums and the value can be one of: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT |  | IgniteQueueOperation
+| *operation* (producer) | The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT. There are 15 enums and the value can be one of: contains, add, size, remove, iterator, clear, retain-all, array, drain, element, peek, offer, poll, take, put |  | IgniteQueueOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *timeoutMillis* (producer) | The queue timeout in milliseconds. Default: no timeout. |  | Long
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
diff --git a/components/camel-ignite/src/main/docs/ignite-set-component.adoc b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
index 8260ed1..0b6ac6d 100644
--- a/components/camel-ignite/src/main/docs/ignite-set-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
@@ -62,7 +62,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *configuration* (producer) | The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options. |  | CollectionConfiguration
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform. There are 8 enums and the value can be one of: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY |  | IgniteSetOperation
+| *operation* (producer) | The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform. There are 8 enums and the value can be one of: contains, add, size, remove, iterator, clear, retain-all, array |  | IgniteSetOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index d8ba41f..0068bf3 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -420,7 +420,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index 8e8df57..79120bf8 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -123,9 +123,9 @@ The Netty HTTP component supports 75 options, which are listed below.
 | *maximumPoolSize* (consumer) | Sets a maximum thread pool size for the netty consumer ordered thread pool. The default size is 2 x cpu_core plus 1. Setting this value to eg 10 will then use 10 threads unless 2 x cpu_core plus 1 is a higher value, which then will override and be used. For example if there are 8 cores, then the consumer thread pool will be 17. This thread pool is used to route messages received from Netty by Camel. We use a separate thread pool to ensure ordering of mess [...]
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
@@ -243,9 +243,9 @@ with the following path and query parameters:
 | *maxHeaderSize* (consumer) | The maximum length of all headers. If the sum of the length of each header exceeds this value, a io.netty.handler.codec.TooLongFrameException will be raised. | 8192 | int
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *nettySharedHttpServer* (consumer) | To use a shared Netty HTTP server. See Netty HTTP Server Example for more details. |  | NettySharedHttpServer
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *traceEnabled* (consumer) | Specifies whether to enable HTTP TRACE for this Netty HTTP consumer. By default TRACE is turned off. | false | boolean
 | *urlDecodeHeaders* (consumer) | If this option is enabled, then during binding from Netty to Camel Message then the header values will be URL decoded (eg %20 will be a space character. Notice this option is used by the default org.apache.camel.component.netty.http.NettyHttpBinding and therefore if you implement a custom org.apache.camel.component.netty.http.NettyHttpBinding then you would need to decode the headers accordingly to this option. | false | boolean
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index 708cf27..734bdce 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -85,9 +85,9 @@ The Netty component supports 72 options, which are listed below.
 | *maximumPoolSize* (consumer) | Sets a maximum thread pool size for the netty consumer ordered thread pool. The default size is 2 x cpu_core plus 1. Setting this value to eg 10 will then use 10 threads unless 2 x cpu_core plus 1 is a higher value, which then will override and be used. For example if there are 8 cores, then the consumer thread pool will be 17. This thread pool is used to route messages received from Netty by Camel. We use a separate thread pool to ensure ordering of mess [...]
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
@@ -187,9 +187,9 @@ with the following path and query parameters:
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
index 9758b4b..abb2327 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
@@ -239,7 +239,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | patch | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | patch | *resourcePath* |  Resource path to update | String
 | patch | *responseHandler* | *Optional*  Org.apache.olingo.odata2.api.ep.entry.ODataEntry callback handler | Olingo2ResponseHandler
-| read | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| read | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | read | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | read | *queryParams* | *Optional*  OData query params from \http://www.odata.org/documentation/odata-version-2-0/uri-conventions#SystemQueryOptions | Map
 | read | *resourcePath* |  OData Resource path | String
@@ -249,7 +249,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | update | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | update | *resourcePath* |  Resource path to update | String
 | update | *responseHandler* | *Optional*  Org.apache.olingo.odata2.api.ep.entry.ODataEntry callback handler | Olingo2ResponseHandler
-| uread | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| uread | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | uread | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | uread | *queryParams* | *Optional*  OData query params from \http://www.odata.org/documentation/odata-version-2-0/uri-conventions#SystemQueryOptions | Map
 | uread | *resourcePath* |  OData Resource path | String
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
index 140e9ac..4a188fa 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
@@ -241,7 +241,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | patch | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | patch | *resourcePath* |  Resource path to update | String
 | patch | *responseHandler* | *Optional*  Org.apache.olingo.client.api.domain.ClientEntity callback handler | Olingo4ResponseHandler
-| read | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| read | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | read | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | read | *queryParams* | *Optional*  OData query params \http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map
 | read | *resourcePath* |  OData Resource path | String
@@ -251,7 +251,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | update | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | update | *resourcePath* |  Resource path to update | String
 | update | *responseHandler* | *Optional*  Org.apache.olingo.client.api.domain.ClientEntity callback handler | Olingo4ResponseHandler
-| uread | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| uread | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | uread | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | uread | *queryParams* | *Optional*  OData query params \http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map
 | uread | *resourcePath* |  OData Resource path | String
diff --git a/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc b/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
index aade168..c8a7f4c 100644
--- a/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
+++ b/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
@@ -144,7 +144,7 @@ with the following path and query parameters:
 | *endpointMapping* (consumer) | Reference to an instance of org.apache.camel.component.spring.ws.bean.CamelEndpointMapping in the Registry/ApplicationContext. Only one bean is required in the registry to serve all Camel/Spring-WS endpoints. This bean is auto-discovered by the MessageDispatcher and used to map requests to Camel endpoints based on characteristics specified on the endpoint (like root QName, SOAP action, etc) |  | CamelSpringWSEndpointMapping
 | *messageIdStrategy* (consumer) | Option to provide a custom MessageIdStrategy to control generation of WS-Addressing unique message ids. |  | MessageIdStrategy
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *allowResponseAttachment{zwsp}Override* (producer) | Option to override soap response attachments in in/out exchange with attachments from the actual service layer. If the invoked service appends or rewrites the soap attachments this option when set to true, allows the modified soap attachments to be overwritten in in/out message attachments | false | boolean
 | *allowResponseHeaderOverride* (producer) | Option to override soap response header in in/out exchange with header info from the actual service layer. If the invoked service appends or rewrites the soap header this option when set to true, allows the modified soap header to be overwritten in in/out message headers | false | boolean
 | *faultAction* (producer) | Signifies the value for the faultAction response WS-Addressing Fault Action header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details. |  | URI
diff --git a/docs/components/modules/ROOT/pages/activemq-component.adoc b/docs/components/modules/ROOT/pages/activemq-component.adoc
index ad58168..59d1766 100644
--- a/docs/components/modules/ROOT/pages/activemq-component.adoc
+++ b/docs/components/modules/ROOT/pages/activemq-component.adoc
@@ -278,7 +278,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc b/docs/components/modules/ROOT/pages/amqp-component.adoc
index 5e3824f..116cd67 100644
--- a/docs/components/modules/ROOT/pages/amqp-component.adoc
+++ b/docs/components/modules/ROOT/pages/amqp-component.adoc
@@ -270,7 +270,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/docs/components/modules/ROOT/pages/azure-eventhubs-component.adoc b/docs/components/modules/ROOT/pages/azure-eventhubs-component.adoc
index 782c9bf..19fb517 100644
--- a/docs/components/modules/ROOT/pages/azure-eventhubs-component.adoc
+++ b/docs/components/modules/ROOT/pages/azure-eventhubs-component.adoc
@@ -101,7 +101,7 @@ with the following path and query parameters:
 | *lazyStartProducer* (producer) | 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 [...]
 | *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
 | *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
+| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
@@ -134,7 +134,7 @@ The Azure Event Hubs component supports 21 options, which are listed below.
 | *lazyStartProducer* (producer) | 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 [...]
 | *partitionId* (producer) | Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. |  | String
 | *partitionKey* (producer) | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is fl [...]
-| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
+| *producerAsyncClient* (producer) | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. |  | EventHubProducerAsyncClient
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *connectionString* (security) | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string |  | String
 | *sharedAccessKey* (security) | The generated value for the SharedAccessName |  | String
diff --git a/docs/components/modules/ROOT/pages/braintree-component.adoc b/docs/components/modules/ROOT/pages/braintree-component.adoc
index 2f84886..70f1ed5 100644
--- a/docs/components/modules/ROOT/pages/braintree-component.adoc
+++ b/docs/components/modules/ROOT/pages/braintree-component.adoc
@@ -238,6 +238,59 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
+==== creditCardVerification
+
+
+The creditCardVerification API has 3 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request);
+
+com.braintreegateway.CreditCardVerification find(String id);
+
+com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditCardVerificationSearchRequest query);
+
+----
+
+The creditCardVerification API is defined in the syntax as follows:
+
+----
+braintree:creditCardVerification/methodName?[parameters]
+----
+
+The 3 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *create* |  | 
+| *find* |  | 
+| *search* |  | 
+|===
+
+The creditCardVerification API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| create | *request* |   | CreditCardVerificationRequest
+| find | *id* |   | String
+| search | *query* |   | CreditCardVerificationSearchRequest
+|===
+
+In addition to the parameters above, the creditCardVerification API can also use from the 34 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelBraintree.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelBraintree.myParameterNameHere` header.
+
+
+
 ==== subscription
 
 
@@ -395,157 +448,108 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== settlementBatchSummary
-
-
-The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate);
-
-com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField);
-
-----
-
-The settlementBatchSummary API is defined in the syntax as follows:
-
-----
-braintree:settlementBatchSummary/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *generate* |  | 
-|===
-
-The settlementBatchSummary API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| generate | *groupByCustomField* |   | String
-| generate | *settlementDate* |   | Calendar
-|===
-
-In addition to the parameters above, the settlementBatchSummary API can also use from the 34 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
-
-
-
-==== address
+==== transaction
 
 
-The address API has 4 method(s) which is represented by the following method signatures
+The transaction API has 13 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id);
-
-com.braintreegateway.Address find(String customerId, String id);
+com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id);
 
-com.braintreegateway.Result<com.braintreegateway.Address> update(String customerId, String id, com.braintreegateway.AddressRequest request);
+com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request);
 
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> credit(com.braintreegateway.TransactionRequest request);
 
-The address API is defined in the syntax as follows:
+com.braintreegateway.Transaction find(String id);
 
-----
-braintree:address/methodName?[parameters]
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> holdInEscrow(String id);
 
-The 4 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id);
 
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *create* |  | Creates an Address for a Customer
-| *delete* |  | Deletes a Customer's Address
-| *find* |  | Finds a Customer's Address
-| *update* |  | Updates a Customer's Address
-|===
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, com.braintreegateway.TransactionRefundRequest request);
 
-The address API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| create | *customerId* |  The id of the Customer | String
-| create | *request* |  The request object | AddressRequest
-| delete | *customerId* |  The id of the Customer | String
-| delete | *id* |  The id of the Address to delete | String
-| find | *customerId* |  The id of the Customer | String
-| find | *id* |  The id of the Address | String
-| update | *customerId* |  The id of the Customer | String
-| update | *id* |  The id of the Address | String
-| update | *request* |  The request object containing the AddressRequest parameters | AddressRequest
-|===
+com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, java.math.BigDecimal amount);
 
-In addition to the parameters above, the address API can also use from the 34 endpoint query option
-which is listed in the _Query Parameters_ section.
+com.braintreegateway.Result<com.braintreegateway.Transaction> releaseFromEscrow(String id);
 
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelBraintree.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelBraintree.myParameterNameHere` header.
+com.braintreegateway.Result<com.braintreegateway.Transaction> sale(com.braintreegateway.TransactionRequest request);
 
+com.braintreegateway.ResourceCollection<com.braintreegateway.Transaction> search(com.braintreegateway.TransactionSearchRequest query);
 
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, com.braintreegateway.TransactionRequest request);
 
-==== webhookNotification
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, java.math.BigDecimal amount);
 
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id);
 
-The webhookNotification API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, com.braintreegateway.TransactionRequest request);
 
-[source,java]
-----
+com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, java.math.BigDecimal amount);
 
-com.braintreegateway.WebhookNotification parse(String signature, String payload);
+com.braintreegateway.Result<com.braintreegateway.Transaction> updateDetails(String id, com.braintreegateway.TransactionRequest request);
 
-String verify(String challenge);
+com.braintreegateway.Result<com.braintreegateway.Transaction> voidTransaction(String id);
 
 ----
 
-The webhookNotification API is defined in the syntax as follows:
+The transaction API is defined in the syntax as follows:
 
 ----
-braintree:webhookNotification/methodName?[parameters]
+braintree:transaction/methodName?[parameters]
 ----
 
-The 2 method(s) is listed in the table below.
+The 13 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *parse* |  | 
-| *verify* |  | 
+| *cancelRelease* |  | Cancels a pending release of a transaction with the given id from escrow
+| *cloneTransaction* |  | 
+| *credit* |  | Creates a credit Transaction
+| *find* |  | Finds a Transaction by id
+| *holdInEscrow* |  | Holds the transaction with the given id for escrow
+| *refund* |  | Refunds all or part of a previous sale Transaction
+| *releaseFromEscrow* |  | Submits the transaction with the given id for release
+| *sale* |  | Creates a sale Transaction
+| *search* |  | Finds all Transactions that match the query and returns a ResourceCollection
+| *submitForPartialSettlement* |  | Submits a partial settlement transaction for the given id
+| *submitForSettlement* |  | Submits the transaction with the given id to be settled along with a TransactionRequest object
+| *updateDetails* |  | Updates details for a transaction that has been submitted for settlement
+| *voidTransaction* |  | Voids the transaction with the given id
 |===
 
-The webhookNotification API method(s) has the following set of parameters listed in the table below:
+The transaction API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| parse | *payload* |   | String
-| parse | *signature* |   | String
-| verify | *challenge* |   | String
+| cancelRelease | *id* |  Of the transaction to cancel release from escrow of | String
+| cloneTransaction | *cloneRequest* |   | TransactionCloneRequest
+| cloneTransaction | *id* |   | String
+| credit | *request* |  The request | TransactionRequest
+| find | *id* |  The id of the Transaction | String
+| holdInEscrow | *id* |  Of the transaction to hold for escrow | String
+| refund | *amount* |   | BigDecimal
+| refund | *id* |   | String
+| refund | *refundRequest* |   | TransactionRefundRequest
+| releaseFromEscrow | *id* |  Of the transaction to submit for release | String
+| sale | *request* |  The request | TransactionRequest
+| search | *query* |  The search query | TransactionSearchRequest
+| submitForPartialSettlement | *amount* |  Of the partial settlement | BigDecimal
+| submitForPartialSettlement | *id* |  Of the transaction to add the partial settlement transaction for | String
+| submitForPartialSettlement | *request* |  The request | TransactionRequest
+| submitForSettlement | *amount* |  To settle. must be less than or equal to the authorization amount. | BigDecimal
+| submitForSettlement | *id* |  Of the transaction to submit for settlement | String
+| submitForSettlement | *request* |  The request | TransactionRequest
+| updateDetails | *id* |  Of the transaction to update the details for | String
+| updateDetails | *request* |  The request | TransactionRequest
+| voidTransaction | *id* |  Of the transaction to void | String
 |===
 
-In addition to the parameters above, the webhookNotification API can also use from the 34 endpoint query option
+In addition to the parameters above, the transaction API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -555,50 +559,45 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== creditCardVerification
+==== settlementBatchSummary
 
 
-The creditCardVerification API has 3 method(s) which is represented by the following method signatures
+The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request);
-
-com.braintreegateway.CreditCardVerification find(String id);
+com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate);
 
-com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditCardVerificationSearchRequest query);
+com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField);
 
 ----
 
-The creditCardVerification API is defined in the syntax as follows:
+The settlementBatchSummary API is defined in the syntax as follows:
 
 ----
-braintree:creditCardVerification/methodName?[parameters]
+braintree:settlementBatchSummary/methodName?[parameters]
 ----
 
-The 3 method(s) is listed in the table below.
+The 1 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *create* |  | 
-| *find* |  | 
-| *search* |  | 
+| *generate* |  | 
 |===
 
-The creditCardVerification API method(s) has the following set of parameters listed in the table below:
+The settlementBatchSummary API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| create | *request* |   | CreditCardVerificationRequest
-| find | *id* |   | String
-| search | *query* |   | CreditCardVerificationSearchRequest
+| generate | *groupByCustomField* |   | String
+| generate | *settlementDate* |   | Calendar
 |===
 
-In addition to the parameters above, the creditCardVerification API can also use from the 34 endpoint query option
+In addition to the parameters above, the settlementBatchSummary API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -608,108 +607,59 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
-==== transaction
+==== address
 
 
-The transaction API has 13 method(s) which is represented by the following method signatures
+The address API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> credit(com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.Transaction find(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> holdInEscrow(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, com.braintreegateway.TransactionRefundRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> refund(String id, java.math.BigDecimal amount);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> releaseFromEscrow(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> sale(com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.ResourceCollection<com.braintreegateway.Transaction> search(com.braintreegateway.TransactionSearchRequest query);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, com.braintreegateway.TransactionRequest request);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForPartialSettlement(String id, java.math.BigDecimal amount);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id);
-
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, com.braintreegateway.TransactionRequest request);
+com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> submitForSettlement(String id, java.math.BigDecimal amount);
+com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> updateDetails(String id, com.braintreegateway.TransactionRequest request);
+com.braintreegateway.Address find(String customerId, String id);
 
-com.braintreegateway.Result<com.braintreegateway.Transaction> voidTransaction(String id);
+com.braintreegateway.Result<com.braintreegateway.Address> update(String customerId, String id, com.braintreegateway.AddressRequest request);
 
 ----
 
-The transaction API is defined in the syntax as follows:
+The address API is defined in the syntax as follows:
 
 ----
-braintree:transaction/methodName?[parameters]
+braintree:address/methodName?[parameters]
 ----
 
-The 13 method(s) is listed in the table below.
+The 4 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *cancelRelease* |  | Cancels a pending release of a transaction with the given id from escrow
-| *cloneTransaction* |  | 
-| *credit* |  | Creates a credit Transaction
-| *find* |  | Finds a Transaction by id
-| *holdInEscrow* |  | Holds the transaction with the given id for escrow
-| *refund* |  | Refunds all or part of a previous sale Transaction
-| *releaseFromEscrow* |  | Submits the transaction with the given id for release
-| *sale* |  | Creates a sale Transaction
-| *search* |  | Finds all Transactions that match the query and returns a ResourceCollection
-| *submitForPartialSettlement* |  | Submits a partial settlement transaction for the given id
-| *submitForSettlement* |  | Submits the transaction with the given id to be settled along with a TransactionRequest object
-| *updateDetails* |  | Updates details for a transaction that has been submitted for settlement
-| *voidTransaction* |  | Voids the transaction with the given id
+| *create* |  | Creates an Address for a Customer
+| *delete* |  | Deletes a Customer's Address
+| *find* |  | Finds a Customer's Address
+| *update* |  | Updates a Customer's Address
 |===
 
-The transaction API method(s) has the following set of parameters listed in the table below:
+The address API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| cancelRelease | *id* |  Of the transaction to cancel release from escrow of | String
-| cloneTransaction | *cloneRequest* |   | TransactionCloneRequest
-| cloneTransaction | *id* |   | String
-| credit | *request* |  The request | TransactionRequest
-| find | *id* |  The id of the Transaction | String
-| holdInEscrow | *id* |  Of the transaction to hold for escrow | String
-| refund | *amount* |   | BigDecimal
-| refund | *id* |   | String
-| refund | *refundRequest* |   | TransactionRefundRequest
-| releaseFromEscrow | *id* |  Of the transaction to submit for release | String
-| sale | *request* |  The request | TransactionRequest
-| search | *query* |  The search query | TransactionSearchRequest
-| submitForPartialSettlement | *amount* |  Of the partial settlement | BigDecimal
-| submitForPartialSettlement | *id* |  Of the transaction to add the partial settlement transaction for | String
-| submitForPartialSettlement | *request* |  The request | TransactionRequest
-| submitForSettlement | *amount* |  To settle. must be less than or equal to the authorization amount. | BigDecimal
-| submitForSettlement | *id* |  Of the transaction to submit for settlement | String
-| submitForSettlement | *request* |  The request | TransactionRequest
-| updateDetails | *id* |  Of the transaction to update the details for | String
-| updateDetails | *request* |  The request | TransactionRequest
-| voidTransaction | *id* |  Of the transaction to void | String
+| create | *customerId* |  The id of the Customer | String
+| create | *request* |  The request object | AddressRequest
+| delete | *customerId* |  The id of the Customer | String
+| delete | *id* |  The id of the Address to delete | String
+| find | *customerId* |  The id of the Customer | String
+| find | *id* |  The id of the Address | String
+| update | *customerId* |  The id of the Customer | String
+| update | *id* |  The id of the Address | String
+| update | *request* |  The request object containing the AddressRequest parameters | AddressRequest
 |===
 
-In addition to the parameters above, the transaction API can also use from the 34 endpoint query option
+In addition to the parameters above, the address API can also use from the 34 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -883,6 +833,56 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 
 
+==== webhookNotification
+
+
+The webhookNotification API has 2 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.braintreegateway.WebhookNotification parse(String signature, String payload);
+
+String verify(String challenge);
+
+----
+
+The webhookNotification API is defined in the syntax as follows:
+
+----
+braintree:webhookNotification/methodName?[parameters]
+----
+
+The 2 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *parse* |  | 
+| *verify* |  | 
+|===
+
+The webhookNotification API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| parse | *payload* |   | String
+| parse | *signature* |   | String
+| verify | *challenge* |   | String
+|===
+
+In addition to the parameters above, the webhookNotification API can also use from the 34 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelBraintree.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelBraintree.myParameterNameHere` header.
+
+
+
 ==== merchantAccount
 
 
diff --git a/docs/components/modules/ROOT/pages/fhir-component.adoc b/docs/components/modules/ROOT/pages/fhir-component.adoc
index 0b451f4..72e0ff7 100644
--- a/docs/components/modules/ROOT/pages/fhir-component.adoc
+++ b/docs/components/modules/ROOT/pages/fhir-component.adoc
@@ -350,244 +350,6 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
-==== operation
-
-
-The operation API has 5 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onInstanceVersion(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onServer(String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseResource onType(Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-org.hl7.fhir.instance.model.api.IBaseBundle processMessage(String respondToUri, org.hl7.fhir.instance.model.api.IBaseBundle msgBundle, boolean asynchronous, Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The operation API is defined in the syntax as follows:
-
-----
-fhir:operation/methodName?[parameters]
-----
-
-The 5 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *onInstance* |  | Perform the operation across all versions of a specific resource (by ID and type) on the server
-| *onInstanceVersion* |  | This operation operates on a specific version of a resource
-| *onServer* |  | Perform the operation across all versions of all resources of all types on the server
-| *onType* |  | Perform the operation across all versions of all resources of the given type on the server
-| *processMessage* |  | This operation is called $process-message as defined by the FHIR specification
-|===
-
-The operation API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| onInstance | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onInstance | *id* |  Resource (version will be stripped) | IIdType
-| onInstance | *name* |  Operation name | String
-| onInstance | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onInstance | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onInstance | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onInstance | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onInstanceVersion | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onInstanceVersion | *id* |  Resource version | IIdType
-| onInstanceVersion | *name* |  Operation name | String
-| onInstanceVersion | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onInstanceVersion | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onInstanceVersion | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onInstanceVersion | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onServer | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onServer | *name* |  Operation name | String
-| onServer | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onServer | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onServer | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onServer | *useHttpGet* |  Use HTTP GET verb | Boolean
-| onType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| onType | *name* |  Operation name | String
-| onType | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
-| onType | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
-| onType | *resourceType* |  The resource type to operate on | Class
-| onType | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/\$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
-| onType | *useHttpGet* |  Use HTTP GET verb | Boolean
-| processMessage | *asynchronous* |  Whether to process the message asynchronously or synchronously, defaults to synchronous. | Boolean
-| processMessage | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| processMessage | *msgBundle* |  Set the Message Bundle to POST to the messaging server | IBaseBundle
-| processMessage | *respondToUri* | *Optional*  An optional query parameter indicating that responses from the receiving server should be sent to this URI, may be NULL | String
-| processMessage | *responseClass* |  The response class | Class
-|===
-
-In addition to the parameters above, the operation API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== search
-
-
-The search API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The search API is defined in the syntax as follows:
-
-----
-fhir:search/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *searchByUrl* |  | Perform a search directly by URL
-|===
-
-The search API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| searchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| searchByUrl | *url* |  The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
-|===
-
-In addition to the parameters above, the search API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== capabilities
-
-
-The capabilities API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The capabilities API is defined in the syntax as follows:
-
-----
-fhir:capabilities/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *ofType* |  | Retrieve the conformance statement using the given model type
-|===
-
-The capabilities API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| ofType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| ofType | *type* |  The model type | Class
-|===
-
-In addition to the parameters above, the capabilities API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
-==== patch
-
-
-The patch API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-ca.uhn.fhir.rest.api.MethodOutcome patchByUrl(String patchBody, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
-
-----
-
-The patch API is defined in the syntax as follows:
-
-----
-fhir:patch/methodName?[parameters]
-----
-
-The 2 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *patchById* |  | Applies the patch to the given resource ID
-| *patchByUrl* |  | Specifies that the update should be performed as a conditional create against a given search URL
-|===
-
-The patch API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| patchById | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| patchById | *id* |  The resource ID to patch | IIdType
-| patchById | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| patchById | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| patchById | *stringId* |  The resource ID to patch | String
-| patchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| patchByUrl | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| patchByUrl | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| patchByUrl | *url* |  The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
-|===
-
-In addition to the parameters above, the patch API can also use from the 46 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelFhir.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelFhir.myParameterNameHere` header.
-
-
-
 ==== meta
 
 
@@ -725,6 +487,94 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== operation
+
+
+The operation API has 5 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onInstanceVersion(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onServer(String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseResource onType(Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+org.hl7.fhir.instance.model.api.IBaseBundle processMessage(String respondToUri, org.hl7.fhir.instance.model.api.IBaseBundle msgBundle, boolean asynchronous, Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The operation API is defined in the syntax as follows:
+
+----
+fhir:operation/methodName?[parameters]
+----
+
+The 5 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *onInstance* |  | Perform the operation across all versions of a specific resource (by ID and type) on the server
+| *onInstanceVersion* |  | This operation operates on a specific version of a resource
+| *onServer* |  | Perform the operation across all versions of all resources of all types on the server
+| *onType* |  | Perform the operation across all versions of all resources of the given type on the server
+| *processMessage* |  | This operation is called $process-message as defined by the FHIR specification
+|===
+
+The operation API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| onInstance | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onInstance | *id* |  Resource (version will be stripped) | IIdType
+| onInstance | *name* |  Operation name | String
+| onInstance | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onInstance | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onInstance | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onInstance | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onInstanceVersion | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onInstanceVersion | *id* |  Resource version | IIdType
+| onInstanceVersion | *name* |  Operation name | String
+| onInstanceVersion | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onInstanceVersion | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onInstanceVersion | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onInstanceVersion | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onServer | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onServer | *name* |  Operation name | String
+| onServer | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onServer | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onServer | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onServer | *useHttpGet* |  Use HTTP GET verb | Boolean
+| onType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| onType | *name* |  Operation name | String
+| onType | *outputParameterType* | *Optional*  The type to use for the output parameters (this should be set to Parameters.class drawn from the version of the FHIR structures you are using), may be NULL | Class
+| onType | *parameters* | *Optional*  The parameters to use as input. May also be null if the operation does not require any input parameters. | IBaseParameters
+| onType | *resourceType* |  The resource type to operate on | Class
+| onType | *returnType* | *Optional*  If this operation returns a single resource body as its return type instead of a Parameters resource, use this method to specify that resource type. This is useful for certain operations (e.g. Patient/NNN/$everything) which return a bundle instead of a Parameters resource, may be NULL | Class
+| onType | *useHttpGet* |  Use HTTP GET verb | Boolean
+| processMessage | *asynchronous* |  Whether to process the message asynchronously or synchronously, defaults to synchronous. | Boolean
+| processMessage | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| processMessage | *msgBundle* |  Set the Message Bundle to POST to the messaging server | IBaseBundle
+| processMessage | *respondToUri* | *Optional*  An optional query parameter indicating that responses from the receiving server should be sent to this URI, may be NULL | String
+| processMessage | *responseClass* |  The response class | Class
+|===
+
+In addition to the parameters above, the operation API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== load-page
 
 
@@ -782,6 +632,52 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== search
+
+
+The search API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The search API is defined in the syntax as follows:
+
+----
+fhir:search/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *searchByUrl* |  | Perform a search directly by URL
+|===
+
+The search API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| searchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| searchByUrl | *url* |  The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
+|===
+
+In addition to the parameters above, the search API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== transaction
 
 
@@ -919,6 +815,110 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 
 
+==== capabilities
+
+
+The capabilities API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The capabilities API is defined in the syntax as follows:
+
+----
+fhir:capabilities/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *ofType* |  | Retrieve the conformance statement using the given model type
+|===
+
+The capabilities API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| ofType | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| ofType | *type* |  The model type | Class
+|===
+
+In addition to the parameters above, the capabilities API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
+==== patch
+
+
+The patch API has 2 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+ca.uhn.fhir.rest.api.MethodOutcome patchByUrl(String patchBody, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
+
+----
+
+The patch API is defined in the syntax as follows:
+
+----
+fhir:patch/methodName?[parameters]
+----
+
+The 2 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *patchById* |  | Applies the patch to the given resource ID
+| *patchByUrl* |  | Specifies that the update should be performed as a conditional create against a given search URL
+|===
+
+The patch API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| patchById | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| patchById | *id* |  The resource ID to patch | IIdType
+| patchById | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
+| patchById | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
+| patchById | *stringId* |  The resource ID to patch | String
+| patchByUrl | *extraParameters* | *Optional*  See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
+| patchByUrl | *patchBody* |  The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
+| patchByUrl | *preferReturn* | *Optional*  Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
+| patchByUrl | *url* |  The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
+|===
+
+In addition to the parameters above, the patch API can also use from the 46 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelFhir.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelFhir.myParameterNameHere` header.
+
+
+
 ==== delete
 
 
diff --git a/docs/components/modules/ROOT/pages/file-component.adoc b/docs/components/modules/ROOT/pages/file-component.adoc
index d21ae4d..9127699 100644
--- a/docs/components/modules/ROOT/pages/file-component.adoc
+++ b/docs/components/modules/ROOT/pages/file-component.adoc
@@ -171,7 +171,7 @@ with the following path and query parameters:
 | *readLockIdempotentReleaseAsync{zwsp}PoolSize* (lock) | The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more det [...]
 | *readLockIdempotentReleaseDelay* (lock) | Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if [...]
 | *readLockIdempotentRelease{zwsp}ExecutorService* (lock) | To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option. |  | ScheduledExecutorService
-| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
+| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
 | *readLockMarkerFile* (lock) | Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application. | true | boolean
 | *readLockMinAge* (lock) | This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age. | 0 | long
 | *readLockMinLength* (lock) | This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files. | 1 | long
diff --git a/docs/components/modules/ROOT/pages/ftp-component.adoc b/docs/components/modules/ROOT/pages/ftp-component.adoc
index b6d8d90..052c68b 100644
--- a/docs/components/modules/ROOT/pages/ftp-component.adoc
+++ b/docs/components/modules/ROOT/pages/ftp-component.adoc
@@ -142,7 +142,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *handleDirectoryParserAbsolute{zwsp}Result* (consumer) | Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path. | false | boolean
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
diff --git a/docs/components/modules/ROOT/pages/ftps-component.adoc b/docs/components/modules/ROOT/pages/ftps-component.adoc
index 7172ab3..ab88c71 100644
--- a/docs/components/modules/ROOT/pages/ftps-component.adoc
+++ b/docs/components/modules/ROOT/pages/ftps-component.adoc
@@ -101,7 +101,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *handleDirectoryParserAbsolute{zwsp}Result* (consumer) | Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path. | false | boolean
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
diff --git a/docs/components/modules/ROOT/pages/google-drive-component.adoc b/docs/components/modules/ROOT/pages/google-drive-component.adoc
index aafae4e..83ebbf4 100644
--- a/docs/components/modules/ROOT/pages/google-drive-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-drive-component.adoc
@@ -150,109 +150,46 @@ google-drive:apiName/methodName
 The following lists each API name and method and its additional parameters.
 
 
-==== drive-channels
-
-
-The drive-channels API has 1 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
-
-com.google.api.services.drive.Drive.Channels.Stop stop(com.google.api.services.drive.model.Channel content);
-
-----
-
-The drive-channels API is defined in the syntax as follows:
-
-----
-google-drive:drive-channels/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *stop* |  | Stop watching resources through this channel
-|===
-
-The drive-channels API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| stop | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
-|===
-
-In addition to the parameters above, the drive-channels API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-revisions
+==== drive-changes
 
 
-The drive-revisions API has 5 method(s) which is represented by the following method signatures
+The drive-changes API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Revisions.Delete delete(String fileId, String revisionId);
-
-com.google.api.services.drive.Drive.Revisions.Get get(String fileId, String revisionId);
-
-com.google.api.services.drive.Drive.Revisions.List list(String fileId);
-
-com.google.api.services.drive.Drive.Revisions.Patch patch(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
+com.google.api.services.drive.Drive.Changes.Get get(String changeId);
 
-com.google.api.services.drive.Drive.Revisions.Update update(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
+com.google.api.services.drive.Drive.Changes.Watch watch(com.google.api.services.drive.model.Channel content);
 
 ----
 
-The drive-revisions API is defined in the syntax as follows:
+The drive-changes API is defined in the syntax as follows:
 
 ----
-google-drive:drive-revisions/methodName?[parameters]
+google-drive:drive-changes/methodName?[parameters]
 ----
 
-The 5 method(s) is listed in the table below.
+The 2 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Removes a revision
-| *get* |  | Gets a specific revision
-| *list* |  | Lists a file's revisions
-| *patch* |  | Updates a revision
-| *update* |  | Updates a revision
+| *get* |  | Deprecated - Use changes
+| *watch* |  | Subscribe to changes for a user
 |===
 
-The drive-revisions API method(s) has the following set of parameters listed in the table below:
+The drive-changes API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| delete | *fileId* |  The ID of the file | String
-| delete | *revisionId* |  The ID of the revision | String
-| get | *fileId* |  The ID of the file | String
-| get | *revisionId* |  The ID of the revision | String
-| list | *fileId* |  The ID of the file | String
-| patch | *content* |  The com.google.api.services.drive.model.Revision | Revision
-| patch | *fileId* |  The ID for the file | String
-| patch | *revisionId* |  The ID for the revision | String
-| update | *content* |  The com.google.api.services.drive.model.Revision | Revision
-| update | *fileId* |  The ID for the file | String
-| update | *revisionId* |  The ID for the revision | String
+| get | *changeId* |  The ID of the change | String
+| watch | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
 |===
 
-In addition to the parameters above, the drive-revisions API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-changes API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -262,75 +199,42 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-replies
+==== drive-channels
 
 
-The drive-replies API has 6 method(s) which is represented by the following method signatures
+The drive-channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Replies.Delete delete(String fileId, String commentId, String replyId);
-
-com.google.api.services.drive.Drive.Replies.Get get(String fileId, String commentId, String replyId);
-
-com.google.api.services.drive.Drive.Replies.Insert insert(String fileId, String commentId, com.google.api.services.drive.model.CommentReply content);
-
-com.google.api.services.drive.Drive.Replies.List list(String fileId, String commentId);
-
-com.google.api.services.drive.Drive.Replies.Patch patch(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
-
-com.google.api.services.drive.Drive.Replies.Update update(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
+com.google.api.services.drive.Drive.Channels.Stop stop(com.google.api.services.drive.model.Channel content);
 
 ----
 
-The drive-replies API is defined in the syntax as follows:
+The drive-channels API is defined in the syntax as follows:
 
 ----
-google-drive:drive-replies/methodName?[parameters]
+google-drive:drive-channels/methodName?[parameters]
 ----
 
-The 6 method(s) is listed in the table below.
+The 1 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Deletes a reply
-| *get* |  | Gets a reply
-| *insert* |  | Creates a new reply to the given comment
-| *list* |  | Lists all of the replies to a comment
-| *patch* |  | Updates an existing reply
-| *update* |  | Updates an existing reply
+| *stop* |  | Stop watching resources through this channel
 |===
 
-The drive-replies API method(s) has the following set of parameters listed in the table below:
+The drive-channels API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| delete | *commentId* |  The ID of the comment | String
-| delete | *fileId* |  The ID of the file | String
-| delete | *replyId* |  The ID of the reply | String
-| get | *commentId* |  The ID of the comment | String
-| get | *fileId* |  The ID of the file | String
-| get | *replyId* |  The ID of the reply | String
-| insert | *commentId* |  The ID of the comment | String
-| insert | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| insert | *fileId* |  The ID of the file | String
-| list | *commentId* |  The ID of the comment | String
-| list | *fileId* |  The ID of the file | String
-| patch | *commentId* |  The ID of the comment | String
-| patch | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| patch | *fileId* |  The ID of the file | String
-| patch | *replyId* |  The ID of the reply | String
-| update | *commentId* |  The ID of the comment | String
-| update | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
-| update | *fileId* |  The ID of the file | String
-| update | *replyId* |  The ID of the reply | String
+| stop | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
 |===
 
-In addition to the parameters above, the drive-replies API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-channels API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -340,133 +244,64 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-permissions
+==== drive-revisions
 
 
-The drive-permissions API has 7 method(s) which is represented by the following method signatures
+The drive-revisions API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Permissions.Delete delete(String fileId, String permissionId);
-
-com.google.api.services.drive.Drive.Permissions.Get get(String fileId, String permissionId);
-
-com.google.api.services.drive.Drive.Permissions.GetIdForEmail getIdForEmail(String email);
-
-com.google.api.services.drive.Drive.Permissions.Insert insert(String fileId, com.google.api.services.drive.model.Permission content);
-
-com.google.api.services.drive.Drive.Permissions.List list(String fileId);
-
-com.google.api.services.drive.Drive.Permissions.Patch patch(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
-
-com.google.api.services.drive.Drive.Permissions.Update update(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
-
-----
-
-The drive-permissions API is defined in the syntax as follows:
-
-----
-google-drive:drive-permissions/methodName?[parameters]
-----
-
-The 7 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *delete* |  | Deletes a permission from a file or Team Drive
-| *get* |  | Gets a permission by ID
-| *getIdForEmail* |  | Returns the permission ID for an email address
-| *insert* |  | Inserts a permission for a file or Team Drive
-| *list* |  | Lists a file's or Team Drive's permissions
-| *patch* |  | Updates a permission using patch semantics
-| *update* |  | Updates a permission
-|===
-
-The drive-permissions API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| delete | *fileId* |  The ID for the file or Team Drive | String
-| delete | *permissionId* |  The ID for the permission | String
-| get | *fileId* |  The ID for the file or Team Drive | String
-| get | *permissionId* |  The ID for the permission | String
-| getIdForEmail | *email* |  The email address for which to return a permission ID | String
-| insert | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| insert | *fileId* |  The ID for the file or Team Drive | String
-| list | *fileId* |  The ID for the file or Team Drive | String
-| patch | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| patch | *fileId* |  The ID for the file or Team Drive | String
-| patch | *permissionId* |  The ID for the permission | String
-| update | *content* |  The com.google.api.services.drive.model.Permission | Permission
-| update | *fileId* |  The ID for the file or Team Drive | String
-| update | *permissionId* |  The ID for the permission | String
-|===
-
-In addition to the parameters above, the drive-permissions API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-parents
-
-
-The drive-parents API has 4 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
-
-[source,java]
-----
+com.google.api.services.drive.Drive.Revisions.Delete delete(String fileId, String revisionId);
 
-com.google.api.services.drive.Drive.Parents.Delete delete(String fileId, String parentId);
+com.google.api.services.drive.Drive.Revisions.Get get(String fileId, String revisionId);
 
-com.google.api.services.drive.Drive.Parents.Get get(String fileId, String parentId);
+com.google.api.services.drive.Drive.Revisions.List list(String fileId);
 
-com.google.api.services.drive.Drive.Parents.Insert insert(String fileId, com.google.api.services.drive.model.ParentReference content);
+com.google.api.services.drive.Drive.Revisions.Patch patch(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
 
-com.google.api.services.drive.Drive.Parents.List list(String fileId);
+com.google.api.services.drive.Drive.Revisions.Update update(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);
 
 ----
 
-The drive-parents API is defined in the syntax as follows:
+The drive-revisions API is defined in the syntax as follows:
 
 ----
-google-drive:drive-parents/methodName?[parameters]
+google-drive:drive-revisions/methodName?[parameters]
 ----
 
-The 4 method(s) is listed in the table below.
+The 5 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Removes a parent from a file
-| *get* |  | Gets a specific parent reference
-| *insert* |  | Adds a parent folder for a file
-| *list* |  | Lists a file's parents
+| *delete* |  | Removes a revision
+| *get* |  | Gets a specific revision
+| *list* |  | Lists a file's revisions
+| *patch* |  | Updates a revision
+| *update* |  | Updates a revision
 |===
 
-The drive-parents API method(s) has the following set of parameters listed in the table below:
+The drive-revisions API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
 | delete | *fileId* |  The ID of the file | String
-| delete | *parentId* |  The ID of the parent | String
+| delete | *revisionId* |  The ID of the revision | String
 | get | *fileId* |  The ID of the file | String
-| get | *parentId* |  The ID of the parent | String
-| insert | *content* |  The com.google.api.services.drive.model.ParentReference | ParentReference
-| insert | *fileId* |  The ID of the file | String
+| get | *revisionId* |  The ID of the revision | String
 | list | *fileId* |  The ID of the file | String
+| patch | *content* |  The com.google.api.services.drive.model.Revision | Revision
+| patch | *fileId* |  The ID for the file | String
+| patch | *revisionId* |  The ID for the revision | String
+| update | *content* |  The com.google.api.services.drive.model.Revision | Revision
+| update | *fileId* |  The ID for the file | String
+| update | *revisionId* |  The ID for the revision | String
 |===
 
-In addition to the parameters above, the drive-parents API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-revisions API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -476,91 +311,69 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-apps
+==== drive-comments
 
 
-The drive-apps API has 1 method(s) which is represented by the following method signatures
+The drive-comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Apps.Get get(String appId);
-
-----
-
-The drive-apps API is defined in the syntax as follows:
-
-----
-google-drive:drive-apps/methodName?[parameters]
-----
-
-The 1 method(s) is listed in the table below.
-(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
-
-[width="100%",cols="2,2,6",options="header"]
-|===
-| Method | Alias | Description
-| *get* |  | Gets a specific app
-|===
-
-The drive-apps API method(s) has the following set of parameters listed in the table below:
-[width="100%",cols="2,2,4,2",options="header"]
-|===
-| Method | Parameter | Description | Type
-| get | *appId* |  The ID of the app | String
-|===
-
-In addition to the parameters above, the drive-apps API can also use from the 30 endpoint query option
-which is listed in the _Query Parameters_ section.
-
-Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
-The message header name must be of the format `CamelGoogleDrive.parameter`.
-The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
-would override a `CamelGoogleDrive.myParameterNameHere` header.
-
-
-
-==== drive-changes
+com.google.api.services.drive.Drive.Comments.Delete delete(String fileId, String commentId);
 
+com.google.api.services.drive.Drive.Comments.Get get(String fileId, String commentId);
 
-The drive-changes API has 2 method(s) which is represented by the following method signatures
-(an API method may have multiple signatures due to overloading):
+com.google.api.services.drive.Drive.Comments.Insert insert(String fileId, com.google.api.services.drive.model.Comment content);
 
-[source,java]
-----
+com.google.api.services.drive.Drive.Comments.List list(String fileId);
 
-com.google.api.services.drive.Drive.Changes.Get get(String changeId);
+com.google.api.services.drive.Drive.Comments.Patch patch(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
 
-com.google.api.services.drive.Drive.Changes.Watch watch(com.google.api.services.drive.model.Channel content);
+com.google.api.services.drive.Drive.Comments.Update update(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
 
 ----
 
-The drive-changes API is defined in the syntax as follows:
+The drive-comments API is defined in the syntax as follows:
 
 ----
-google-drive:drive-changes/methodName?[parameters]
+google-drive:drive-comments/methodName?[parameters]
 ----
 
-The 2 method(s) is listed in the table below.
+The 6 method(s) is listed in the table below.
 (API methods can have a shorthand alias name which can be used in the syntax instead of the name)
 
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *get* |  | Deprecated - Use changes
-| *watch* |  | Subscribe to changes for a user
+| *delete* |  | Deletes a comment
+| *get* |  | Gets a comment by ID
+| *insert* |  | Creates a new comment on the given file
+| *list* |  | Lists a file's comments
+| *patch* |  | Updates an existing comment
+| *update* |  | Updates an existing comment
 |===
 
-The drive-changes API method(s) has the following set of parameters listed in the table below:
+The drive-comments API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
-| get | *changeId* |  The ID of the change | String
-| watch | *contentChannel* |  The com.google.api.services.drive.model.Channel | Channel
+| delete | *commentId* |  The ID of the comment | String
+| delete | *fileId* |  The ID of the file | String
+| get | *commentId* |  The ID of the comment | String
+| get | *fileId* |  The ID of the file | String
+| insert | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| insert | *fileId* |  The ID of the file | String
+| list | *fileId* |  The ID of the file | String
+| patch | *commentId* |  The ID of the comment | String
+| patch | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| patch | *fileId* |  The ID of the file | String
+| update | *commentId* |  The ID of the comment | String
+| update | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| update | *fileId* |  The ID of the file | String
 |===
 
-In addition to the parameters above, the drive-changes API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-comments API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -570,33 +383,33 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
-==== drive-comments
+==== drive-replies
 
 
-The drive-comments API has 6 method(s) which is represented by the following method signatures
+The drive-replies API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
 
 [source,java]
 ----
 
-com.google.api.services.drive.Drive.Comments.Delete delete(String fileId, String commentId);
+com.google.api.services.drive.Drive.Replies.Delete delete(String fileId, String commentId, String replyId);
 
-com.google.api.services.drive.Drive.Comments.Get get(String fileId, String commentId);
+com.google.api.services.drive.Drive.Replies.Get get(String fileId, String commentId, String replyId);
 
-com.google.api.services.drive.Drive.Comments.Insert insert(String fileId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Insert insert(String fileId, String commentId, com.google.api.services.drive.model.CommentReply content);
 
-com.google.api.services.drive.Drive.Comments.List list(String fileId);
+com.google.api.services.drive.Drive.Replies.List list(String fileId, String commentId);
 
-com.google.api.services.drive.Drive.Comments.Patch patch(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Patch patch(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
 
-com.google.api.services.drive.Drive.Comments.Update update(String fileId, String commentId, com.google.api.services.drive.model.Comment content);
+com.google.api.services.drive.Drive.Replies.Update update(String fileId, String commentId, String replyId, com.google.api.services.drive.model.CommentReply content);
 
 ----
 
-The drive-comments API is defined in the syntax as follows:
+The drive-replies API is defined in the syntax as follows:
 
 ----
-google-drive:drive-comments/methodName?[parameters]
+google-drive:drive-replies/methodName?[parameters]
 ----
 
 The 6 method(s) is listed in the table below.
@@ -605,34 +418,40 @@ The 6 method(s) is listed in the table below.
 [width="100%",cols="2,2,6",options="header"]
 |===
 | Method | Alias | Description
-| *delete* |  | Deletes a comment
-| *get* |  | Gets a comment by ID
-| *insert* |  | Creates a new comment on the given file
-| *list* |  | Lists a file's comments
-| *patch* |  | Updates an existing comment
-| *update* |  | Updates an existing comment
+| *delete* |  | Deletes a reply
+| *get* |  | Gets a reply
+| *insert* |  | Creates a new reply to the given comment
+| *list* |  | Lists all of the replies to a comment
+| *patch* |  | Updates an existing reply
+| *update* |  | Updates an existing reply
 |===
 
-The drive-comments API method(s) has the following set of parameters listed in the table below:
+The drive-replies API method(s) has the following set of parameters listed in the table below:
 [width="100%",cols="2,2,4,2",options="header"]
 |===
 | Method | Parameter | Description | Type
 | delete | *commentId* |  The ID of the comment | String
 | delete | *fileId* |  The ID of the file | String
+| delete | *replyId* |  The ID of the reply | String
 | get | *commentId* |  The ID of the comment | String
 | get | *fileId* |  The ID of the file | String
-| insert | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| get | *replyId* |  The ID of the reply | String
+| insert | *commentId* |  The ID of the comment | String
+| insert | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | insert | *fileId* |  The ID of the file | String
+| list | *commentId* |  The ID of the comment | String
 | list | *fileId* |  The ID of the file | String
 | patch | *commentId* |  The ID of the comment | String
-| patch | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| patch | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | patch | *fileId* |  The ID of the file | String
+| patch | *replyId* |  The ID of the reply | String
 | update | *commentId* |  The ID of the comment | String
-| update | *content* |  The com.google.api.services.drive.model.Comment | Comment
+| update | *content* |  The com.google.api.services.drive.model.CommentReply | CommentReply
 | update | *fileId* |  The ID of the file | String
+| update | *replyId* |  The ID of the reply | String
 |===
 
-In addition to the parameters above, the drive-comments API can also use from the 30 endpoint query option
+In addition to the parameters above, the drive-replies API can also use from the 30 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -766,6 +585,82 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 
 
+==== drive-permissions
+
+
+The drive-permissions API has 7 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Permissions.Delete delete(String fileId, String permissionId);
+
+com.google.api.services.drive.Drive.Permissions.Get get(String fileId, String permissionId);
+
+com.google.api.services.drive.Drive.Permissions.GetIdForEmail getIdForEmail(String email);
+
+com.google.api.services.drive.Drive.Permissions.Insert insert(String fileId, com.google.api.services.drive.model.Permission content);
+
+com.google.api.services.drive.Drive.Permissions.List list(String fileId);
+
+com.google.api.services.drive.Drive.Permissions.Patch patch(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
+
+com.google.api.services.drive.Drive.Permissions.Update update(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);
+
+----
+
+The drive-permissions API is defined in the syntax as follows:
+
+----
+google-drive:drive-permissions/methodName?[parameters]
+----
+
+The 7 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *delete* |  | Deletes a permission from a file or Team Drive
+| *get* |  | Gets a permission by ID
+| *getIdForEmail* |  | Returns the permission ID for an email address
+| *insert* |  | Inserts a permission for a file or Team Drive
+| *list* |  | Lists a file's or Team Drive's permissions
+| *patch* |  | Updates a permission using patch semantics
+| *update* |  | Updates a permission
+|===
+
+The drive-permissions API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| delete | *fileId* |  The ID for the file or Team Drive | String
+| delete | *permissionId* |  The ID for the permission | String
+| get | *fileId* |  The ID for the file or Team Drive | String
+| get | *permissionId* |  The ID for the permission | String
+| getIdForEmail | *email* |  The email address for which to return a permission ID | String
+| insert | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| insert | *fileId* |  The ID for the file or Team Drive | String
+| list | *fileId* |  The ID for the file or Team Drive | String
+| patch | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| patch | *fileId* |  The ID for the file or Team Drive | String
+| patch | *permissionId* |  The ID for the permission | String
+| update | *content* |  The com.google.api.services.drive.model.Permission | Permission
+| update | *fileId* |  The ID for the file or Team Drive | String
+| update | *permissionId* |  The ID for the permission | String
+|===
+
+In addition to the parameters above, the drive-permissions API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
 ==== drive-children
 
 
@@ -919,6 +814,111 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleDrive.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
+==== drive-parents
+
+
+The drive-parents API has 4 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Parents.Delete delete(String fileId, String parentId);
+
+com.google.api.services.drive.Drive.Parents.Get get(String fileId, String parentId);
+
+com.google.api.services.drive.Drive.Parents.Insert insert(String fileId, com.google.api.services.drive.model.ParentReference content);
+
+com.google.api.services.drive.Drive.Parents.List list(String fileId);
+
+----
+
+The drive-parents API is defined in the syntax as follows:
+
+----
+google-drive:drive-parents/methodName?[parameters]
+----
+
+The 4 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *delete* |  | Removes a parent from a file
+| *get* |  | Gets a specific parent reference
+| *insert* |  | Adds a parent folder for a file
+| *list* |  | Lists a file's parents
+|===
+
+The drive-parents API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| delete | *fileId* |  The ID of the file | String
+| delete | *parentId* |  The ID of the parent | String
+| get | *fileId* |  The ID of the file | String
+| get | *parentId* |  The ID of the parent | String
+| insert | *content* |  The com.google.api.services.drive.model.ParentReference | ParentReference
+| insert | *fileId* |  The ID of the file | String
+| list | *fileId* |  The ID of the file | String
+|===
+
+In addition to the parameters above, the drive-parents API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
+
+
+
+==== drive-apps
+
+
+The drive-apps API has 1 method(s) which is represented by the following method signatures
+(an API method may have multiple signatures due to overloading):
+
+[source,java]
+----
+
+com.google.api.services.drive.Drive.Apps.Get get(String appId);
+
+----
+
+The drive-apps API is defined in the syntax as follows:
+
+----
+google-drive:drive-apps/methodName?[parameters]
+----
+
+The 1 method(s) is listed in the table below.
+(API methods can have a shorthand alias name which can be used in the syntax instead of the name)
+
+[width="100%",cols="2,2,6",options="header"]
+|===
+| Method | Alias | Description
+| *get* |  | Gets a specific app
+|===
+
+The drive-apps API method(s) has the following set of parameters listed in the table below:
+[width="100%",cols="2,2,4,2",options="header"]
+|===
+| Method | Parameter | Description | Type
+| get | *appId* |  The ID of the app | String
+|===
+
+In addition to the parameters above, the drive-apps API can also use from the 30 endpoint query option
+which is listed in the _Query Parameters_ section.
+
+Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
+The message header name must be of the format `CamelGoogleDrive.parameter`.
+The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
+would override a `CamelGoogleDrive.myParameterNameHere` header.
 // endpoint options: END
 
 
diff --git a/docs/components/modules/ROOT/pages/google-sheets-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
index 176fdc0..9807db7 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
@@ -151,50 +151,6 @@ google-sheets:apiName/methodName
 The following lists each API name and method and its additional parameters.
 
 
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
-// endpoint options: END
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets endpoint is an API based component and has additional parameters based on which API name and method in use.
-The API name and method is located in the endpoint URI as the apiName/methodName path parameters:
-
-----
-google-sheets:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
 ==== spreadsheets
 
 
@@ -240,7 +196,7 @@ The spreadsheets API method(s) has the following set of parameters listed in the
 | batchUpdate | *spreadsheetId* |  The spreadsheet to apply the updates to | String
 | create | *content* |  The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
 | get | *spreadsheetId* |  The spreadsheet to request | String
-| getByDataFilter | *getSpreadsheetByDataFilter Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
+| getByDataFilter | *getSpreadsheetByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
 | getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
@@ -321,11 +277,11 @@ The data API method(s) has the following set of parameters listed in the table b
 | batchClearByDataFilter | *content* |  The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
 | batchClearByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | batchGet | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
-| batchGetByDataFilter | *batchGetValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
+| batchGetByDataFilter | *batchGetValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
 | batchGetByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
 | batchUpdate | *batchUpdateValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
 | batchUpdate | *spreadsheetId* |  The ID of the spreadsheet to update | String
-| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
+| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
 | batchUpdateByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | clear | *clearValuesRequest* |  The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
 | clear | *range* |  The A1 notation of the values to clear. | String
diff --git a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
index 86c9027..4204045 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
@@ -160,50 +160,6 @@ google-sheets-stream:apiName
 The following lists each API name and method and its additional parameters.
 
 
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter{zwsp}Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
-// endpoint options: END
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets Stream endpoint is an API based component and has additional parameters based on which API name and method in use.
-The API name and method is located in the endpoint URI as the apiName path parameters:
-
-----
-google-sheets-stream:apiName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
 ==== spreadsheets
 
 
@@ -249,7 +205,7 @@ The spreadsheets API method(s) has the following set of parameters listed in the
 | batchUpdate | *spreadsheetId* |  The spreadsheet to apply the updates to | String
 | create | *content* |  The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
 | get | *spreadsheetId* |  The spreadsheet to request | String
-| getByDataFilter | *getSpreadsheetByDataFilter Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
+| getByDataFilter | *getSpreadsheetByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
 | getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
@@ -330,11 +286,11 @@ The data API method(s) has the following set of parameters listed in the table b
 | batchClearByDataFilter | *content* |  The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
 | batchClearByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | batchGet | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
-| batchGetByDataFilter | *batchGetValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
+| batchGetByDataFilter | *batchGetValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
 | batchGetByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to retrieve data from | String
 | batchUpdate | *batchUpdateValuesRequest* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
 | batchUpdate | *spreadsheetId* |  The ID of the spreadsheet to update | String
-| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
+| batchUpdateByDataFilter | *batchUpdateValuesByDataFilter{zwsp}Request* |  The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
 | batchUpdateByDataFilter | *spreadsheetId* |  The ID of the spreadsheet to update | String
 | clear | *clearValuesRequest* |  The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
 | clear | *range* |  The A1 notation of the values to clear. | String
diff --git a/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc b/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc
index 33d5d66..3a0f97c 100644
--- a/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc
@@ -65,7 +65,7 @@ with the following path and query parameters:
 | *batchSize* (producer) | The batch size. |  | Integer
 | *initialValue* (producer) | The initial value. | 0 | Long
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET. There are 5 enums and the value can be one of: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET |  | IgniteIdGenOperation
+| *operation* (producer) | The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET. There are 5 enums and the value can be one of: add-and-get, get, get-and-add, get-and-increment, increment-and-get |  | IgniteIdGenOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/docs/components/modules/ROOT/pages/ignite-queue-component.adoc b/docs/components/modules/ROOT/pages/ignite-queue-component.adoc
index 0a7fbad..7a81a9b 100644
--- a/docs/components/modules/ROOT/pages/ignite-queue-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-queue-component.adoc
@@ -65,7 +65,7 @@ with the following path and query parameters:
 | *capacity* (producer) | The queue capacity. Default: non-bounded. |  | int
 | *configuration* (producer) | The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options. |  | CollectionConfiguration
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT. There are 15 enums and the value can be one of: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT |  | IgniteQueueOperation
+| *operation* (producer) | The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT. There are 15 enums and the value can be one of: contains, add, size, remove, iterator, clear, retain-all, array, drain, element, peek, offer, poll, take, put |  | IgniteQueueOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *timeoutMillis* (producer) | The queue timeout in milliseconds. Default: no timeout. |  | Long
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
diff --git a/docs/components/modules/ROOT/pages/ignite-set-component.adoc b/docs/components/modules/ROOT/pages/ignite-set-component.adoc
index e7896cc..159495b 100644
--- a/docs/components/modules/ROOT/pages/ignite-set-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-set-component.adoc
@@ -64,7 +64,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *configuration* (producer) | The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options. |  | CollectionConfiguration
 | *lazyStartProducer* (producer) | 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 [...]
-| *operation* (producer) | The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform. There are 8 enums and the value can be one of: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY |  | IgniteSetOperation
+| *operation* (producer) | The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform. There are 8 enums and the value can be one of: contains, add, size, remove, iterator, clear, retain-all, array |  | IgniteSetOperation
 | *propagateIncomingBodyIfNo{zwsp}ReturnValue* (producer) | Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean
 | *treatCollectionsAsCacheObjects* (producer) | Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
diff --git a/docs/components/modules/ROOT/pages/jms-component.adoc b/docs/components/modules/ROOT/pages/jms-component.adoc
index b7248fe..d38eaaf 100644
--- a/docs/components/modules/ROOT/pages/jms-component.adoc
+++ b/docs/components/modules/ROOT/pages/jms-component.adoc
@@ -422,7 +422,7 @@ with the following path and query parameters:
 | *useMessageIDAsCorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
 | *waitForProvisionCorrelationTo{zwsp}BeUpdatedThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
-| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
 | *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
 | *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
diff --git a/docs/components/modules/ROOT/pages/netty-component.adoc b/docs/components/modules/ROOT/pages/netty-component.adoc
index 3a40c0a..6603cd0 100644
--- a/docs/components/modules/ROOT/pages/netty-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty-component.adoc
@@ -87,9 +87,9 @@ The Netty component supports 72 options, which are listed below.
 | *maximumPoolSize* (consumer) | Sets a maximum thread pool size for the netty consumer ordered thread pool. The default size is 2 x cpu_core plus 1. Setting this value to eg 10 will then use 10 threads unless 2 x cpu_core plus 1 is a higher value, which then will override and be used. For example if there are 8 cores, then the consumer thread pool will be 17. This thread pool is used to route messages received from Netty by Camel. We use a separate thread pool to ensure ordering of mess [...]
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
@@ -189,9 +189,9 @@ with the following path and query parameters:
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
diff --git a/docs/components/modules/ROOT/pages/netty-http-component.adoc b/docs/components/modules/ROOT/pages/netty-http-component.adoc
index b2652a8..5d74479 100644
--- a/docs/components/modules/ROOT/pages/netty-http-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty-http-component.adoc
@@ -125,9 +125,9 @@ The Netty HTTP component supports 75 options, which are listed below.
 | *maximumPoolSize* (consumer) | Sets a maximum thread pool size for the netty consumer ordered thread pool. The default size is 2 x cpu_core plus 1. Setting this value to eg 10 will then use 10 threads unless 2 x cpu_core plus 1 is a higher value, which then will override and be used. For example if there are 8 cores, then the consumer thread pool will be 17. This thread pool is used to route messages received from Netty by Camel. We use a separate thread pool to ensure ordering of mess [...]
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *networkInterface* (consumer) | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *usingExecutorService* (consumer) | Whether to use ordered thread pool, to ensure events are processed orderly on the same channel. | true | boolean
 | *connectTimeout* (producer) | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | int
@@ -245,9 +245,9 @@ with the following path and query parameters:
 | *maxHeaderSize* (consumer) | The maximum length of all headers. If the sum of the length of each header exceeds this value, a io.netty.handler.codec.TooLongFrameException will be raised. | 8192 | int
 | *nettyServerBootstrapFactory* (consumer) | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrapFactory
 | *nettySharedHttpServer* (consumer) | To use a shared Netty HTTP server. See Netty HTTP Server Example for more details. |  | NettySharedHttpServer
-| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
-| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
-| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *noReplyLogLevel* (consumer) | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
+| *serverClosedChannelException{zwsp}CaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
+| *serverExceptionCaughtLogLevel* (consumer) | If the server (NettyConsumer) catches an exception then its logged using this logging level. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *serverInitializerFactory* (consumer) | To use a custom ServerInitializerFactory |  | ServerInitializerFactory
 | *traceEnabled* (consumer) | Specifies whether to enable HTTP TRACE for this Netty HTTP consumer. By default TRACE is turned off. | false | boolean
 | *urlDecodeHeaders* (consumer) | If this option is enabled, then during binding from Netty to Camel Message then the header values will be URL decoded (eg %20 will be a space character. Notice this option is used by the default org.apache.camel.component.netty.http.NettyHttpBinding and therefore if you implement a custom org.apache.camel.component.netty.http.NettyHttpBinding then you would need to decode the headers accordingly to this option. | false | boolean
diff --git a/docs/components/modules/ROOT/pages/olingo2-component.adoc b/docs/components/modules/ROOT/pages/olingo2-component.adoc
index 09c524f..1192b67 100644
--- a/docs/components/modules/ROOT/pages/olingo2-component.adoc
+++ b/docs/components/modules/ROOT/pages/olingo2-component.adoc
@@ -241,7 +241,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | patch | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | patch | *resourcePath* |  Resource path to update | String
 | patch | *responseHandler* | *Optional*  Org.apache.olingo.odata2.api.ep.entry.ODataEntry callback handler | Olingo2ResponseHandler
-| read | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| read | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | read | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | read | *queryParams* | *Optional*  OData query params from \http://www.odata.org/documentation/odata-version-2-0/uri-conventions#SystemQueryOptions | Map
 | read | *resourcePath* |  OData Resource path | String
@@ -251,7 +251,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | update | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | update | *resourcePath* |  Resource path to update | String
 | update | *responseHandler* | *Optional*  Org.apache.olingo.odata2.api.ep.entry.ODataEntry callback handler | Olingo2ResponseHandler
-| uread | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| uread | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | uread | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | uread | *queryParams* | *Optional*  OData query params from \http://www.odata.org/documentation/odata-version-2-0/uri-conventions#SystemQueryOptions | Map
 | uread | *resourcePath* |  OData Resource path | String
diff --git a/docs/components/modules/ROOT/pages/olingo4-component.adoc b/docs/components/modules/ROOT/pages/olingo4-component.adoc
index 5f22a85..28954b5 100644
--- a/docs/components/modules/ROOT/pages/olingo4-component.adoc
+++ b/docs/components/modules/ROOT/pages/olingo4-component.adoc
@@ -243,7 +243,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | patch | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | patch | *resourcePath* |  Resource path to update | String
 | patch | *responseHandler* | *Optional*  Org.apache.olingo.client.api.domain.ClientEntity callback handler | Olingo4ResponseHandler
-| read | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| read | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | read | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | read | *queryParams* | *Optional*  OData query params \http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map
 | read | *resourcePath* |  OData Resource path | String
@@ -253,7 +253,7 @@ The DEFAULT API method(s) has the following set of parameters listed in the tabl
 | update | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | update | *resourcePath* |  Resource path to update | String
 | update | *responseHandler* | *Optional*  Org.apache.olingo.client.api.domain.ClientEntity callback handler | Olingo4ResponseHandler
-| uread | *edm* | *Optional*  Service Edm, read from calling read(null, \$metdata, null, responseHandler) | Edm
+| uread | *edm* | *Optional*  Service Edm, read from calling read(null, $metdata, null, responseHandler) | Edm
 | uread | *endpointHttpHeaders* | *Optional*  HTTP Headers to add/override the component versions | Map
 | uread | *queryParams* | *Optional*  OData query params \http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map
 | uread | *resourcePath* |  OData Resource path | String
diff --git a/docs/components/modules/ROOT/pages/sftp-component.adoc b/docs/components/modules/ROOT/pages/sftp-component.adoc
index 44fdf7f..099899a 100644
--- a/docs/components/modules/ROOT/pages/sftp-component.adoc
+++ b/docs/components/modules/ROOT/pages/sftp-component.adoc
@@ -82,9 +82,9 @@ with the following path and query parameters:
 | *disconnect* (common) | Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead. | false | boolean
 | *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
 | *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
-| *jschLoggingLevel* (common) | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | WARN | LoggingLevel
+| *jschLoggingLevel* (common) | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | warn | LoggingLevel
 | *passiveMode* (common) | Sets passive mode connections. Default is active mode connections. | false | boolean
-| *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name. There are 3 enums and the value can be one of: UNIX, Windows, Auto | UNIX | PathSeparator
+| *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name. There are 3 enums and the value can be one of: unix, windows, auto | unix | PathSeparator
 | *fastExistsCheck* (common) | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has  [...]
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *delete* (consumer) | If true, the file will be deleted after it is processed successfully. | false | boolean
@@ -97,7 +97,7 @@ with the following path and query parameters:
 | *streamDownload* (consumer) | Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time. | false | boolean
 | *download* (consumer) | Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *ignoreFileNotFoundOrPermission{zwsp}Error* (consumer) | Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. | false | boolean
 | *inProgressRepository* (consumer) | A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used. |  | IdempotentRepository
 | *localWorkDirectory* (consumer) | When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory. |  | String
@@ -160,7 +160,7 @@ with the following path and query parameters:
 | *readLockIdempotentReleaseAsync{zwsp}PoolSize* (lock) | The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more det [...]
 | *readLockIdempotentReleaseDelay* (lock) | Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if [...]
 | *readLockIdempotentRelease{zwsp}ExecutorService* (lock) | To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option. |  | ScheduledExecutorService
-| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | DEBUG | LoggingLevel
+| *readLockLoggingLevel* (lock) | Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. There are 6 enums and the value can be one of: trace, debug, info, warn, error, off | debug | LoggingLevel
 | *readLockMarkerFile* (lock) | Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application. | true | boolean
 | *readLockMinAge* (lock) | This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age. | 0 | long
 | *readLockMinLength* (lock) | This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files. | 1 | long
diff --git a/docs/components/modules/ROOT/pages/spring-ws-component.adoc b/docs/components/modules/ROOT/pages/spring-ws-component.adoc
index 290e7a2..2c13e2f 100644
--- a/docs/components/modules/ROOT/pages/spring-ws-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-ws-component.adoc
@@ -146,7 +146,7 @@ with the following path and query parameters:
 | *endpointMapping* (consumer) | Reference to an instance of org.apache.camel.component.spring.ws.bean.CamelEndpointMapping in the Registry/ApplicationContext. Only one bean is required in the registry to serve all Camel/Spring-WS endpoints. This bean is auto-discovered by the MessageDispatcher and used to map requests to Camel endpoints based on characteristics specified on the endpoint (like root QName, SOAP action, etc) |  | CamelSpringWSEndpointMapping
 | *messageIdStrategy* (consumer) | Option to provide a custom MessageIdStrategy to control generation of WS-Addressing unique message ids. |  | MessageIdStrategy
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: in-only, in-out, in-optional-out |  | ExchangePattern
 | *allowResponseAttachment{zwsp}Override* (producer) | Option to override soap response attachments in in/out exchange with attachments from the actual service layer. If the invoked service appends or rewrites the soap attachments this option when set to true, allows the modified soap attachments to be overwritten in in/out message attachments | false | boolean
 | *allowResponseHeaderOverride* (producer) | Option to override soap response header in in/out exchange with header info from the actual service layer. If the invoked service appends or rewrites the soap header this option when set to true, allows the modified soap header to be overwritten in in/out message headers | false | boolean
 | *faultAction* (producer) | Signifies the value for the faultAction response WS-Addressing Fault Action header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details. |  | URI