You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/09/25 10:19:32 UTC

[camel] branch main updated: CAMEL-19911 - Camel-Azure-CosmosDB: IndexingPolicy should be directly a POJO in configuration (#11546)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new d1f5726d896 CAMEL-19911 - Camel-Azure-CosmosDB: IndexingPolicy should be directly a POJO in configuration (#11546)
d1f5726d896 is described below

commit d1f5726d896720f903311384c982706b6dda41b0
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Sep 25 12:19:26 2023 +0200

    CAMEL-19911 - Camel-Azure-CosmosDB: IndexingPolicy should be directly a POJO in configuration (#11546)
---
 .../camel/catalog/components/azure-cosmosdb.json   |  76 +++++-----
 .../cosmosdb/CosmosDbComponentConfigurer.java      |   4 +-
 .../azure/cosmosdb/CosmosDbEndpointConfigurer.java |   4 +-
 .../component/azure/cosmosdb/azure-cosmosdb.json   |  76 +++++-----
 .../azure/cosmosdb/CosmosDbConfiguration.java      |   9 +-
 .../CosmosDbConfigurationOptionsProxy.java         |  11 +-
 .../operations/CosmosDbDatabaseOperations.java     |  10 +-
 .../operations/CosmosDbOperationsBuilder.java      |   5 +-
 .../azure/cosmosdb/CosmosDbEndpointTest.java       |   6 +-
 .../operations/CosmosDbDatabaseOperationsIT.java   |   5 +-
 .../operations/CosmosDbDatabaseOperationsTest.java |  12 +-
 .../dsl/AzureCosmosdbComponentBuilderFactory.java  |  38 ++---
 .../dsl/CosmosDbEndpointBuilderFactory.java        | 161 ++++++++++++++-------
 13 files changed, 236 insertions(+), 181 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-cosmosdb.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-cosmosdb.json
index 13ed1d57119..0ee25bc025d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-cosmosdb.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-cosmosdb.json
@@ -32,24 +32,24 @@
     "createContainerIfNotExists": { "index": 7, "kind": "property", "displayName": "Create Container If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos containe [...]
     "createDatabaseIfNotExists": { "index": 8, "kind": "property", "displayName": "Create Database If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos database a [...]
     "databaseEndpoint": { "index": 9, "kind": "property", "displayName": "Database Endpoint", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the Azure Cosmos database endpoint the component will connect to." },
-    "indexingPolicy": { "index": 10, "kind": "property", "displayName": "Indexing Policy", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CONSISTENT", "LAZY", "NONE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CONSISTENT", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexin [...]
-    "multipleWriteRegionsEnabled": { "index": 11, "kind": "property", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for  [...]
-    "preferredRegions": { "index": 12, "kind": "property", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For exa [...]
-    "readRequestsFallbackEnabled": { "index": 13, "kind": "property", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple  [...]
-    "throughputProperties": { "index": 14, "kind": "property", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmos [...]
-    "bridgeErrorHandler": { "index": 15, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 proc [...]
-    "changeFeedProcessorOptions": { "index": 16, "kind": "property", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcessor [...]
-    "createLeaseContainerIfNotExists": { "index": 17, "kind": "property", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create [...]
-    "createLeaseDatabaseIfNotExists": { "index": 18, "kind": "property", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create C [...]
-    "hostName": { "index": 19, "kind": "property", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor t [...]
-    "leaseContainerName": { "index": 20, "kind": "property", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state s [...]
-    "leaseDatabaseName": { "index": 21, "kind": "property", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is not [...]
-    "itemId": { "index": 22, "kind": "property", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 23, "kind": "property", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databas [...]
-    "lazyStartProducer": { "index": 24, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...]
-    "operation": { "index": 25, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "del [...]
-    "query": { "index": 26, "kind": "property", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link htt [...]
-    "queryRequestOptions": { "index": 27, "kind": "property", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can  [...]
+    "multipleWriteRegionsEnabled": { "index": 10, "kind": "property", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for  [...]
+    "preferredRegions": { "index": 11, "kind": "property", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For exa [...]
+    "readRequestsFallbackEnabled": { "index": 12, "kind": "property", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple  [...]
+    "throughputProperties": { "index": 13, "kind": "property", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmos [...]
+    "bridgeErrorHandler": { "index": 14, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 proc [...]
+    "changeFeedProcessorOptions": { "index": 15, "kind": "property", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcessor [...]
+    "createLeaseContainerIfNotExists": { "index": 16, "kind": "property", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create [...]
+    "createLeaseDatabaseIfNotExists": { "index": 17, "kind": "property", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create C [...]
+    "hostName": { "index": 18, "kind": "property", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor t [...]
+    "leaseContainerName": { "index": 19, "kind": "property", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state s [...]
+    "leaseDatabaseName": { "index": 20, "kind": "property", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is not [...]
+    "itemId": { "index": 21, "kind": "property", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
+    "itemPartitionKey": { "index": 22, "kind": "property", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databas [...]
+    "lazyStartProducer": { "index": 23, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...]
+    "operation": { "index": 24, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "del [...]
+    "query": { "index": 25, "kind": "property", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link htt [...]
+    "queryRequestOptions": { "index": 26, "kind": "property", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can  [...]
+    "indexingPolicy": { "index": 27, "kind": "property", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of  [...]
     "autowiredEnabled": { "index": 28, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
     "accountKey": { "index": 29, "kind": "property", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for ac [...]
     "useDefaultIdentity": { "index": 30, "kind": "property", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default iden [...]
@@ -66,26 +66,26 @@
     "createContainerIfNotExists": { "index": 8, "kind": "parameter", "displayName": "Create Container If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos contain [...]
     "createDatabaseIfNotExists": { "index": 9, "kind": "parameter", "displayName": "Create Database If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos database  [...]
     "databaseEndpoint": { "index": 10, "kind": "parameter", "displayName": "Database Endpoint", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the Azure Cosmos database endpoint the component will connec [...]
-    "indexingPolicy": { "index": 11, "kind": "parameter", "displayName": "Indexing Policy", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CONSISTENT", "LAZY", "NONE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CONSISTENT", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexi [...]
-    "multipleWriteRegionsEnabled": { "index": 12, "kind": "parameter", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for [...]
-    "preferredRegions": { "index": 13, "kind": "parameter", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For ex [...]
-    "readRequestsFallbackEnabled": { "index": 14, "kind": "parameter", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple [...]
-    "throughputProperties": { "index": 15, "kind": "parameter", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmo [...]
-    "changeFeedProcessorOptions": { "index": 16, "kind": "parameter", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcesso [...]
-    "createLeaseContainerIfNotExists": { "index": 17, "kind": "parameter", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should creat [...]
-    "createLeaseDatabaseIfNotExists": { "index": 18, "kind": "parameter", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create  [...]
-    "hostName": { "index": 19, "kind": "parameter", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor  [...]
-    "leaseContainerName": { "index": 20, "kind": "parameter", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state  [...]
-    "leaseDatabaseName": { "index": 21, "kind": "parameter", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is no [...]
-    "bridgeErrorHandler": { "index": 22, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 li [...]
-    "exceptionHandler": { "index": 23, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 24, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "itemId": { "index": 25, "kind": "parameter", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 26, "kind": "parameter", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databa [...]
-    "operation": { "index": 27, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "de [...]
-    "query": { "index": 28, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link ht [...]
-    "queryRequestOptions": { "index": 29, "kind": "parameter", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can [...]
-    "lazyStartProducer": { "index": 30, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "multipleWriteRegionsEnabled": { "index": 11, "kind": "parameter", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for [...]
+    "preferredRegions": { "index": 12, "kind": "parameter", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For ex [...]
+    "readRequestsFallbackEnabled": { "index": 13, "kind": "parameter", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple [...]
+    "throughputProperties": { "index": 14, "kind": "parameter", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmo [...]
+    "changeFeedProcessorOptions": { "index": 15, "kind": "parameter", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcesso [...]
+    "createLeaseContainerIfNotExists": { "index": 16, "kind": "parameter", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should creat [...]
+    "createLeaseDatabaseIfNotExists": { "index": 17, "kind": "parameter", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create  [...]
+    "hostName": { "index": 18, "kind": "parameter", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor  [...]
+    "leaseContainerName": { "index": 19, "kind": "parameter", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state  [...]
+    "leaseDatabaseName": { "index": 20, "kind": "parameter", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is no [...]
+    "bridgeErrorHandler": { "index": 21, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 li [...]
+    "exceptionHandler": { "index": 22, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 23, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
+    "itemId": { "index": 24, "kind": "parameter", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
+    "itemPartitionKey": { "index": 25, "kind": "parameter", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databa [...]
+    "operation": { "index": 26, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "de [...]
+    "query": { "index": 27, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link ht [...]
+    "queryRequestOptions": { "index": 28, "kind": "parameter", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can [...]
+    "lazyStartProducer": { "index": 29, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "indexingPolicy": { "index": 30, "kind": "parameter", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of [...]
     "accountKey": { "index": 31, "kind": "parameter", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for a [...]
     "useDefaultIdentity": { "index": 32, "kind": "parameter", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default ide [...]
   }
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponentConfigurer.java b/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponentConfigurer.java
index a6b6af6d083..fda22a924ed 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponentConfigurer.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponentConfigurer.java
@@ -62,7 +62,7 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "hostname":
         case "hostName": getOrCreateConfiguration(target).setHostName(property(camelContext, java.lang.String.class, value)); return true;
         case "indexingpolicy":
-        case "indexingPolicy": getOrCreateConfiguration(target).setIndexingPolicy(property(camelContext, java.lang.String.class, value)); return true;
+        case "indexingPolicy": getOrCreateConfiguration(target).setIndexingPolicy(property(camelContext, com.azure.cosmos.models.IndexingPolicy.class, value)); return true;
         case "itemid":
         case "itemId": getOrCreateConfiguration(target).setItemId(property(camelContext, java.lang.String.class, value)); return true;
         case "itempartitionkey":
@@ -133,7 +133,7 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "hostname":
         case "hostName": return java.lang.String.class;
         case "indexingpolicy":
-        case "indexingPolicy": return java.lang.String.class;
+        case "indexingPolicy": return com.azure.cosmos.models.IndexingPolicy.class;
         case "itemid":
         case "itemId": return java.lang.String.class;
         case "itempartitionkey":
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointConfigurer.java b/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointConfigurer.java
index 0c661cecde8..02fd7260198 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointConfigurer.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointConfigurer.java
@@ -56,7 +56,7 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "hostname":
         case "hostName": target.getConfiguration().setHostName(property(camelContext, java.lang.String.class, value)); return true;
         case "indexingpolicy":
-        case "indexingPolicy": target.getConfiguration().setIndexingPolicy(property(camelContext, java.lang.String.class, value)); return true;
+        case "indexingPolicy": target.getConfiguration().setIndexingPolicy(property(camelContext, com.azure.cosmos.models.IndexingPolicy.class, value)); return true;
         case "itemid":
         case "itemId": target.getConfiguration().setItemId(property(camelContext, java.lang.String.class, value)); return true;
         case "itempartitionkey":
@@ -128,7 +128,7 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "hostname":
         case "hostName": return java.lang.String.class;
         case "indexingpolicy":
-        case "indexingPolicy": return java.lang.String.class;
+        case "indexingPolicy": return com.azure.cosmos.models.IndexingPolicy.class;
         case "itemid":
         case "itemId": return java.lang.String.class;
         case "itempartitionkey":
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/generated/resources/org/apache/camel/component/azure/cosmosdb/azure-cosmosdb.json b/components/camel-azure/camel-azure-cosmosdb/src/generated/resources/org/apache/camel/component/azure/cosmosdb/azure-cosmosdb.json
index 13ed1d57119..0ee25bc025d 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/generated/resources/org/apache/camel/component/azure/cosmosdb/azure-cosmosdb.json
+++ b/components/camel-azure/camel-azure-cosmosdb/src/generated/resources/org/apache/camel/component/azure/cosmosdb/azure-cosmosdb.json
@@ -32,24 +32,24 @@
     "createContainerIfNotExists": { "index": 7, "kind": "property", "displayName": "Create Container If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos containe [...]
     "createDatabaseIfNotExists": { "index": 8, "kind": "property", "displayName": "Create Database If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos database a [...]
     "databaseEndpoint": { "index": 9, "kind": "property", "displayName": "Database Endpoint", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the Azure Cosmos database endpoint the component will connect to." },
-    "indexingPolicy": { "index": 10, "kind": "property", "displayName": "Indexing Policy", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CONSISTENT", "LAZY", "NONE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CONSISTENT", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexin [...]
-    "multipleWriteRegionsEnabled": { "index": 11, "kind": "property", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for  [...]
-    "preferredRegions": { "index": 12, "kind": "property", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For exa [...]
-    "readRequestsFallbackEnabled": { "index": 13, "kind": "property", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple  [...]
-    "throughputProperties": { "index": 14, "kind": "property", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmos [...]
-    "bridgeErrorHandler": { "index": 15, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 proc [...]
-    "changeFeedProcessorOptions": { "index": 16, "kind": "property", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcessor [...]
-    "createLeaseContainerIfNotExists": { "index": 17, "kind": "property", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create [...]
-    "createLeaseDatabaseIfNotExists": { "index": 18, "kind": "property", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create C [...]
-    "hostName": { "index": 19, "kind": "property", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor t [...]
-    "leaseContainerName": { "index": 20, "kind": "property", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state s [...]
-    "leaseDatabaseName": { "index": 21, "kind": "property", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is not [...]
-    "itemId": { "index": 22, "kind": "property", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 23, "kind": "property", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databas [...]
-    "lazyStartProducer": { "index": 24, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...]
-    "operation": { "index": 25, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "del [...]
-    "query": { "index": 26, "kind": "property", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link htt [...]
-    "queryRequestOptions": { "index": 27, "kind": "property", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can  [...]
+    "multipleWriteRegionsEnabled": { "index": 10, "kind": "property", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for  [...]
+    "preferredRegions": { "index": 11, "kind": "property", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For exa [...]
+    "readRequestsFallbackEnabled": { "index": 12, "kind": "property", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple  [...]
+    "throughputProperties": { "index": 13, "kind": "property", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmos [...]
+    "bridgeErrorHandler": { "index": 14, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 proc [...]
+    "changeFeedProcessorOptions": { "index": 15, "kind": "property", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcessor [...]
+    "createLeaseContainerIfNotExists": { "index": 16, "kind": "property", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create [...]
+    "createLeaseDatabaseIfNotExists": { "index": 17, "kind": "property", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create C [...]
+    "hostName": { "index": 18, "kind": "property", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor t [...]
+    "leaseContainerName": { "index": 19, "kind": "property", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state s [...]
+    "leaseDatabaseName": { "index": 20, "kind": "property", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is not [...]
+    "itemId": { "index": 21, "kind": "property", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
+    "itemPartitionKey": { "index": 22, "kind": "property", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databas [...]
+    "lazyStartProducer": { "index": 23, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...]
+    "operation": { "index": 24, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "del [...]
+    "query": { "index": 25, "kind": "property", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link htt [...]
+    "queryRequestOptions": { "index": 26, "kind": "property", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can  [...]
+    "indexingPolicy": { "index": 27, "kind": "property", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of  [...]
     "autowiredEnabled": { "index": 28, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
     "accountKey": { "index": 29, "kind": "property", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for ac [...]
     "useDefaultIdentity": { "index": 30, "kind": "property", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default iden [...]
@@ -66,26 +66,26 @@
     "createContainerIfNotExists": { "index": 8, "kind": "parameter", "displayName": "Create Container If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos contain [...]
     "createDatabaseIfNotExists": { "index": 9, "kind": "parameter", "displayName": "Create Database If Not Exists", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create Cosmos database  [...]
     "databaseEndpoint": { "index": 10, "kind": "parameter", "displayName": "Database Endpoint", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the Azure Cosmos database endpoint the component will connec [...]
-    "indexingPolicy": { "index": 11, "kind": "parameter", "displayName": "Indexing Policy", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CONSISTENT", "LAZY", "NONE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CONSISTENT", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexi [...]
-    "multipleWriteRegionsEnabled": { "index": 12, "kind": "parameter", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for [...]
-    "preferredRegions": { "index": 13, "kind": "parameter", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For ex [...]
-    "readRequestsFallbackEnabled": { "index": 14, "kind": "parameter", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple [...]
-    "throughputProperties": { "index": 15, "kind": "parameter", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmo [...]
-    "changeFeedProcessorOptions": { "index": 16, "kind": "parameter", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcesso [...]
-    "createLeaseContainerIfNotExists": { "index": 17, "kind": "parameter", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should creat [...]
-    "createLeaseDatabaseIfNotExists": { "index": 18, "kind": "parameter", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create  [...]
-    "hostName": { "index": 19, "kind": "parameter", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor  [...]
-    "leaseContainerName": { "index": 20, "kind": "parameter", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state  [...]
-    "leaseDatabaseName": { "index": 21, "kind": "parameter", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is no [...]
-    "bridgeErrorHandler": { "index": 22, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 li [...]
-    "exceptionHandler": { "index": 23, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 24, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "itemId": { "index": 25, "kind": "parameter", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 26, "kind": "parameter", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databa [...]
-    "operation": { "index": 27, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "de [...]
-    "query": { "index": 28, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link ht [...]
-    "queryRequestOptions": { "index": 29, "kind": "parameter", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can [...]
-    "lazyStartProducer": { "index": 30, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "multipleWriteRegionsEnabled": { "index": 11, "kind": "parameter", "displayName": "Multiple Write Regions Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the flag to enable writes on any regions for [...]
+    "preferredRegions": { "index": 12, "kind": "parameter", "displayName": "Preferred Regions", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the comma separated preferred regions for geo-replicated database accounts. For ex [...]
+    "readRequestsFallbackEnabled": { "index": 13, "kind": "parameter", "displayName": "Read Requests Fallback Enabled", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets whether to allow for reads to go to multiple [...]
+    "throughputProperties": { "index": 14, "kind": "parameter", "displayName": "Throughput Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ThroughputProperties", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets throughput of the resources in the Azure Cosmo [...]
+    "changeFeedProcessorOptions": { "index": 15, "kind": "parameter", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcesso [...]
+    "createLeaseContainerIfNotExists": { "index": 16, "kind": "parameter", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should creat [...]
+    "createLeaseDatabaseIfNotExists": { "index": 17, "kind": "parameter", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create  [...]
+    "hostName": { "index": 18, "kind": "parameter", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor  [...]
+    "leaseContainerName": { "index": 19, "kind": "parameter", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state  [...]
+    "leaseDatabaseName": { "index": 20, "kind": "parameter", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is no [...]
+    "bridgeErrorHandler": { "index": 21, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 li [...]
+    "exceptionHandler": { "index": 22, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 23, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
+    "itemId": { "index": 24, "kind": "parameter", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
+    "itemPartitionKey": { "index": 25, "kind": "parameter", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databa [...]
+    "operation": { "index": 26, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "de [...]
+    "query": { "index": 27, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link ht [...]
+    "queryRequestOptions": { "index": 28, "kind": "parameter", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can [...]
+    "lazyStartProducer": { "index": 29, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "indexingPolicy": { "index": 30, "kind": "parameter", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of [...]
     "accountKey": { "index": 31, "kind": "parameter", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for a [...]
     "useDefaultIdentity": { "index": 32, "kind": "parameter", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default ide [...]
   }
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java
index 99cb9fe05ee..33cd7e4ea7e 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java
@@ -20,6 +20,7 @@ import com.azure.cosmos.ConsistencyLevel;
 import com.azure.cosmos.CosmosAsyncClient;
 import com.azure.cosmos.models.ChangeFeedProcessorOptions;
 import com.azure.cosmos.models.CosmosQueryRequestOptions;
+import com.azure.cosmos.models.IndexingPolicy;
 import com.azure.cosmos.models.ThroughputProperties;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.Metadata;
@@ -66,8 +67,8 @@ public class CosmosDbConfiguration implements Cloneable {
     private boolean createDatabaseIfNotExists;
     @UriParam(label = "common", defaultValue = "false")
     private boolean createContainerIfNotExists;
-    @UriParam(label = "common", defaultValue = "CONSISTENT", enums = "CONSISTENT, LAZY, NONE")
-    private String indexingPolicy = "CONSISTENT";
+    @UriParam(label = "common, advanced")
+    private IndexingPolicy indexingPolicy;
     @UriParam(label = "common")
     private ThroughputProperties throughputProperties;
     @UriParam(label = "consumer", defaultValue = "false")
@@ -475,11 +476,11 @@ public class CosmosDbConfiguration implements Cloneable {
      * The CosmosDB Indexing Policy that will be set in case of container creation, this option is related to
      * {@link createLeaseContainerIfNotExists} and it will be taken into account when the latter is true.
      */
-    public String getIndexingPolicy() {
+    public IndexingPolicy getIndexingPolicy() {
         return indexingPolicy;
     }
 
-    public void setIndexingPolicy(String indexingPolicy) {
+    public void setIndexingPolicy(IndexingPolicy indexingPolicy) {
         this.indexingPolicy = indexingPolicy;
     }
 
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfigurationOptionsProxy.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfigurationOptionsProxy.java
index da125f9467b..8fb6704b814 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfigurationOptionsProxy.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfigurationOptionsProxy.java
@@ -20,12 +20,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.function.Supplier;
 
-import com.azure.cosmos.models.CosmosContainerRequestOptions;
-import com.azure.cosmos.models.CosmosDatabaseRequestOptions;
-import com.azure.cosmos.models.CosmosItemRequestOptions;
-import com.azure.cosmos.models.CosmosQueryRequestOptions;
-import com.azure.cosmos.models.PartitionKey;
-import com.azure.cosmos.models.ThroughputProperties;
+import com.azure.cosmos.models.*;
 import org.apache.camel.Exchange;
 import org.apache.camel.util.ObjectHelper;
 
@@ -88,9 +83,9 @@ public class CosmosDbConfigurationOptionsProxy {
                 String.class);
     }
 
-    public String getIndexingPolicy(final Exchange exchange) {
+    public IndexingPolicy getIndexingPolicy(final Exchange exchange) {
         return getOption(exchange, CosmosDbConstants.INDEXING_POLICY, configuration::getIndexingPolicy,
-                String.class);
+                IndexingPolicy.class);
     }
 
     public CosmosContainerRequestOptions getContainerRequestOptions(final Exchange exchange) {
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperations.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperations.java
index c8f4f213257..2089c50549d 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperations.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperations.java
@@ -45,7 +45,7 @@ public class CosmosDbDatabaseOperations {
 
     public Mono<CosmosContainerResponse> createContainer(
             final String containerId, final String containerPartitionKeyPath, final ThroughputProperties throughputProperties,
-            final String indexingPolicy) {
+            final IndexingPolicy indexingPolicy) {
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerId, "containerId");
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerPartitionKeyPath, "containerPartitionKeyPath");
 
@@ -60,9 +60,7 @@ public class CosmosDbDatabaseOperations {
         if (ObjectHelper.isNotEmpty(indexingPolicy)) {
             CosmosContainerProperties cosmosProp
                     = new CosmosContainerProperties(containerId, enhancedContainerPartitionKeyPath);
-            IndexingPolicy indexPolicy = new IndexingPolicy();
-            indexPolicy.setIndexingMode(IndexingMode.valueOf(indexingPolicy));
-            cosmosProp.setIndexingPolicy(indexPolicy);
+            cosmosProp.setIndexingPolicy(indexingPolicy);
 
             return applyToDatabase(database -> database.createContainerIfNotExists(cosmosProp,
                     throughputProperties));
@@ -74,7 +72,7 @@ public class CosmosDbDatabaseOperations {
 
     public CosmosDbContainerOperations createContainerIfNotExistAndGetContainerOperations(
             final String containerId, final String containerPartitionKeyPath, final ThroughputProperties throughputProperties,
-            final String indexingPolicy) {
+            final IndexingPolicy indexingPolicy) {
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerId, "containerId");
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerPartitionKeyPath, "containerPartitionKeyPath");
 
@@ -111,7 +109,7 @@ public class CosmosDbDatabaseOperations {
 
     private Mono<CosmosAsyncContainer> getAndCreateContainerIfNotExist(
             final String containerId, final String containerPartitionKeyPath, final boolean createContainerIfNotExist,
-            final ThroughputProperties throughputProperties, final String indexingPolicy) {
+            final ThroughputProperties throughputProperties, final IndexingPolicy indexingPolicy) {
         if (createContainerIfNotExist) {
             return createContainer(containerId, containerPartitionKeyPath, throughputProperties, indexingPolicy)
                     .then(database)
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbOperationsBuilder.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbOperationsBuilder.java
index 5779eee11a2..b684734479f 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbOperationsBuilder.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbOperationsBuilder.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.azure.cosmosdb.operations;
 
+import com.azure.cosmos.models.IndexingPolicy;
 import com.azure.cosmos.models.ThroughputProperties;
 import org.apache.camel.component.azure.cosmosdb.client.CosmosAsyncClientWrapper;
 
@@ -29,7 +30,7 @@ public final class CosmosDbOperationsBuilder {
     private boolean createContainerIfNotExist;
     private ThroughputProperties throughputProperties;
 
-    private String indexingPolicy;
+    private IndexingPolicy indexingPolicy;
 
     private CosmosDbOperationsBuilder(CosmosAsyncClientWrapper clientWrapper) {
         this.clientWrapper = clientWrapper;
@@ -69,7 +70,7 @@ public final class CosmosDbOperationsBuilder {
         return this;
     }
 
-    public CosmosDbOperationsBuilder withIndexingPolicy(String indexingPolicy) {
+    public CosmosDbOperationsBuilder withIndexingPolicy(IndexingPolicy indexingPolicy) {
         this.indexingPolicy = indexingPolicy;
         return this;
     }
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointTest.java b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointTest.java
index 7e8d6406565..0c235680e51 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointTest.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointTest.java
@@ -19,6 +19,8 @@ package org.apache.camel.component.azure.cosmosdb;
 import java.util.HashMap;
 import java.util.Map;
 
+import com.azure.cosmos.models.IndexingMode;
+import com.azure.cosmos.models.IndexingPolicy;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
@@ -69,7 +71,7 @@ class CosmosDbEndpointTest extends CamelTestSupport {
         params.put("databaseEndpoint", "https://test.com:443");
         params.put("createDatabaseIfNotExists", "true");
         params.put("accountKey", "myKey");
-        params.put("indexingPolicy", "LAZY");
+        params.put("indexingPolicy", new IndexingPolicy().setIndexingMode(IndexingMode.LAZY));
 
         final CosmosDbEndpoint endpoint = (CosmosDbEndpoint) context.getComponent("azure-cosmosdb", CosmosDbComponent.class)
                 .createEndpoint(uri, remaining, params);
@@ -78,7 +80,7 @@ class CosmosDbEndpointTest extends CamelTestSupport {
         assertEquals("myContainer", endpoint.getConfiguration().getContainerName());
         assertEquals("https://test.com:443", endpoint.getConfiguration().getDatabaseEndpoint());
         assertEquals("myKey", endpoint.getConfiguration().getAccountKey());
-        assertEquals("LAZY", endpoint.getConfiguration().getIndexingPolicy());
+        assertEquals("Lazy", endpoint.getConfiguration().getIndexingPolicy().getIndexingMode().toString());
         assertTrue(endpoint.getConfiguration().isCreateDatabaseIfNotExists());
 
     }
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbDatabaseOperationsIT.java b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbDatabaseOperationsIT.java
index 0e19e980fbe..b6654ea2b11 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbDatabaseOperationsIT.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbDatabaseOperationsIT.java
@@ -22,6 +22,8 @@ import com.azure.cosmos.CosmosAsyncClient;
 import com.azure.cosmos.CosmosClientBuilder;
 import com.azure.cosmos.models.CosmosContainerProperties;
 import com.azure.cosmos.models.CosmosContainerResponse;
+import com.azure.cosmos.models.IndexingMode;
+import com.azure.cosmos.models.IndexingPolicy;
 import org.apache.camel.component.azure.cosmosdb.CosmosDbTestUtils;
 import org.apache.camel.component.azure.cosmosdb.client.CosmosAsyncClientWrapper;
 import org.apache.camel.component.azure.cosmosdb.operations.CosmosDbClientOperations;
@@ -116,7 +118,8 @@ class CosmosDbDatabaseOperationsIT {
 
         // second we test if we want to create a container when we get container operations
         operations
-                .createContainerIfNotExistAndGetContainerOperations(containerId, "/path", null, "Consistent")
+                .createContainerIfNotExistAndGetContainerOperations(containerId, "/path", null,
+                        new IndexingPolicy().setIndexingMode(IndexingMode.CONSISTENT))
                 .getContainerId()
                 .block();
 
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperationsTest.java b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperationsTest.java
index 7630abb9503..46bcc099e50 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperationsTest.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/operations/CosmosDbDatabaseOperationsTest.java
@@ -44,14 +44,14 @@ class CosmosDbDatabaseOperationsTest {
 
         // assert params
         CosmosDbTestUtils
-                .assertIllegalArgumentException(() -> databaseOperations.createContainer(null, null, null, "CONSISTENT"));
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer(null, null, null, null));
         CosmosDbTestUtils
-                .assertIllegalArgumentException(() -> databaseOperations.createContainer("", null, null, "CONSISTENT"));
-        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer("", "", null, "CONSISTENT"));
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer("", null, null, null));
+        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer("", "", null, null));
         CosmosDbTestUtils
-                .assertIllegalArgumentException(() -> databaseOperations.createContainer("test", "", null, "CONSISTENT"));
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer("test", "", null, null));
         CosmosDbTestUtils
-                .assertIllegalArgumentException(() -> databaseOperations.createContainer("", "test", null, "CONSISTENT"));
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer("", "test", null, null));
 
         // assert key path
         final CosmosContainerResponse returnedContainerResponseFirstCase
@@ -85,7 +85,7 @@ class CosmosDbDatabaseOperationsTest {
 
         // assert params
         CosmosDbTestUtils.assertIllegalArgumentException(
-                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations(null, null, null, "Consistent"));
+                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations(null, null, null, null));
         CosmosDbTestUtils.assertIllegalArgumentException(
                 () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("", null, null, null));
         CosmosDbTestUtils.assertIllegalArgumentException(
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureCosmosdbComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureCosmosdbComponentBuilderFactory.java
index b71fa2e2a88..6a8c2c247e4 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureCosmosdbComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureCosmosdbComponentBuilderFactory.java
@@ -239,24 +239,6 @@ public interface AzureCosmosdbComponentBuilderFactory {
             doSetProperty("databaseEndpoint", databaseEndpoint);
             return this;
         }
-        /**
-         * The CosmosDB Indexing Policy that will be set in case of container
-         * creation, this option is related to createLeaseContainerIfNotExists
-         * and it will be taken into account when the latter is true.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: CONSISTENT
-         * Group: common
-         * 
-         * @param indexingPolicy the value to set
-         * @return the dsl builder
-         */
-        default AzureCosmosdbComponentBuilder indexingPolicy(
-                java.lang.String indexingPolicy) {
-            doSetProperty("indexingPolicy", indexingPolicy);
-            return this;
-        }
         /**
          * Sets the flag to enable writes on any regions for geo-replicated
          * database accounts in the Azure Cosmos DB service. When the value of
@@ -578,6 +560,24 @@ public interface AzureCosmosdbComponentBuilderFactory {
             doSetProperty("queryRequestOptions", queryRequestOptions);
             return this;
         }
+        /**
+         * The CosmosDB Indexing Policy that will be set in case of container
+         * creation, this option is related to createLeaseContainerIfNotExists
+         * and it will be taken into account when the latter is true.
+         * 
+         * The option is a:
+         * &lt;code&gt;com.azure.cosmos.models.IndexingPolicy&lt;/code&gt; type.
+         * 
+         * Group:  advanced
+         * 
+         * @param indexingPolicy the value to set
+         * @return the dsl builder
+         */
+        default AzureCosmosdbComponentBuilder indexingPolicy(
+                com.azure.cosmos.models.IndexingPolicy indexingPolicy) {
+            doSetProperty("indexingPolicy", indexingPolicy);
+            return this;
+        }
         /**
          * Whether autowiring is enabled. This is used for automatic autowiring
          * options (the option must be marked as autowired) by looking up in the
@@ -666,7 +666,6 @@ public interface AzureCosmosdbComponentBuilderFactory {
             case "createContainerIfNotExists": getOrCreateConfiguration((CosmosDbComponent) component).setCreateContainerIfNotExists((boolean) value); return true;
             case "createDatabaseIfNotExists": getOrCreateConfiguration((CosmosDbComponent) component).setCreateDatabaseIfNotExists((boolean) value); return true;
             case "databaseEndpoint": getOrCreateConfiguration((CosmosDbComponent) component).setDatabaseEndpoint((java.lang.String) value); return true;
-            case "indexingPolicy": getOrCreateConfiguration((CosmosDbComponent) component).setIndexingPolicy((java.lang.String) value); return true;
             case "multipleWriteRegionsEnabled": getOrCreateConfiguration((CosmosDbComponent) component).setMultipleWriteRegionsEnabled((boolean) value); return true;
             case "preferredRegions": getOrCreateConfiguration((CosmosDbComponent) component).setPreferredRegions((java.lang.String) value); return true;
             case "readRequestsFallbackEnabled": getOrCreateConfiguration((CosmosDbComponent) component).setReadRequestsFallbackEnabled((boolean) value); return true;
@@ -684,6 +683,7 @@ public interface AzureCosmosdbComponentBuilderFactory {
             case "operation": getOrCreateConfiguration((CosmosDbComponent) component).setOperation((org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition) value); return true;
             case "query": getOrCreateConfiguration((CosmosDbComponent) component).setQuery((java.lang.String) value); return true;
             case "queryRequestOptions": getOrCreateConfiguration((CosmosDbComponent) component).setQueryRequestOptions((com.azure.cosmos.models.CosmosQueryRequestOptions) value); return true;
+            case "indexingPolicy": getOrCreateConfiguration((CosmosDbComponent) component).setIndexingPolicy((com.azure.cosmos.models.IndexingPolicy) value); return true;
             case "autowiredEnabled": ((CosmosDbComponent) component).setAutowiredEnabled((boolean) value); return true;
             case "accountKey": getOrCreateConfiguration((CosmosDbComponent) component).setAccountKey((java.lang.String) value); return true;
             case "useDefaultIdentity": getOrCreateConfiguration((CosmosDbComponent) component).setUseDefaultIdentity((boolean) value); return true;
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CosmosDbEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CosmosDbEndpointBuilderFactory.java
index 90e6912f9ec..e0668d9ed8a 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CosmosDbEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CosmosDbEndpointBuilderFactory.java
@@ -362,24 +362,6 @@ public interface CosmosDbEndpointBuilderFactory {
             doSetProperty("databaseEndpoint", databaseEndpoint);
             return this;
         }
-        /**
-         * The CosmosDB Indexing Policy that will be set in case of container
-         * creation, this option is related to createLeaseContainerIfNotExists
-         * and it will be taken into account when the latter is true.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: CONSISTENT
-         * Group: common
-         * 
-         * @param indexingPolicy the value to set
-         * @return the dsl builder
-         */
-        default CosmosDbEndpointConsumerBuilder indexingPolicy(
-                String indexingPolicy) {
-            doSetProperty("indexingPolicy", indexingPolicy);
-            return this;
-        }
         /**
          * Sets the flag to enable writes on any regions for geo-replicated
          * database accounts in the Azure Cosmos DB service. When the value of
@@ -867,6 +849,42 @@ public interface CosmosDbEndpointBuilderFactory {
             doSetProperty("exchangePattern", exchangePattern);
             return this;
         }
+        /**
+         * The CosmosDB Indexing Policy that will be set in case of container
+         * creation, this option is related to createLeaseContainerIfNotExists
+         * and it will be taken into account when the latter is true.
+         * 
+         * The option is a:
+         * &lt;code&gt;com.azure.cosmos.models.IndexingPolicy&lt;/code&gt; type.
+         * 
+         * Group:  advanced
+         * 
+         * @param indexingPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCosmosDbEndpointConsumerBuilder indexingPolicy(
+                com.azure.cosmos.models.IndexingPolicy indexingPolicy) {
+            doSetProperty("indexingPolicy", indexingPolicy);
+            return this;
+        }
+        /**
+         * The CosmosDB Indexing Policy that will be set in case of container
+         * creation, this option is related to createLeaseContainerIfNotExists
+         * and it will be taken into account when the latter is true.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;com.azure.cosmos.models.IndexingPolicy&lt;/code&gt; type.
+         * 
+         * Group:  advanced
+         * 
+         * @param indexingPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCosmosDbEndpointConsumerBuilder indexingPolicy(
+                String indexingPolicy) {
+            doSetProperty("indexingPolicy", indexingPolicy);
+            return this;
+        }
     }
 
     /**
@@ -1197,24 +1215,6 @@ public interface CosmosDbEndpointBuilderFactory {
             doSetProperty("databaseEndpoint", databaseEndpoint);
             return this;
         }
-        /**
-         * The CosmosDB Indexing Policy that will be set in case of container
-         * creation, this option is related to createLeaseContainerIfNotExists
-         * and it will be taken into account when the latter is true.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: CONSISTENT
-         * Group: common
-         * 
-         * @param indexingPolicy the value to set
-         * @return the dsl builder
-         */
-        default CosmosDbEndpointProducerBuilder indexingPolicy(
-                String indexingPolicy) {
-            doSetProperty("indexingPolicy", indexingPolicy);
-            return this;
-        }
         /**
          * Sets the flag to enable writes on any regions for geo-replicated
          * database accounts in the Azure Cosmos DB service. When the value of
@@ -1589,6 +1589,42 @@ public interface CosmosDbEndpointBuilderFactory {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * The CosmosDB Indexing Policy that will be set in case of container
+         * creation, this option is related to createLeaseContainerIfNotExists
+         * and it will be taken into account when the latter is true.
+         * 
+         * The option is a:
+         * &lt;code&gt;com.azure.cosmos.models.IndexingPolicy&lt;/code&gt; type.
+         * 
+         * Group:  advanced
+         * 
+         * @param indexingPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCosmosDbEndpointProducerBuilder indexingPolicy(
+                com.azure.cosmos.models.IndexingPolicy indexingPolicy) {
+            doSetProperty("indexingPolicy", indexingPolicy);
+            return this;
+        }
+        /**
+         * The CosmosDB Indexing Policy that will be set in case of container
+         * creation, this option is related to createLeaseContainerIfNotExists
+         * and it will be taken into account when the latter is true.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;com.azure.cosmos.models.IndexingPolicy&lt;/code&gt; type.
+         * 
+         * Group:  advanced
+         * 
+         * @param indexingPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCosmosDbEndpointProducerBuilder indexingPolicy(
+                String indexingPolicy) {
+            doSetProperty("indexingPolicy", indexingPolicy);
+            return this;
+        }
     }
 
     /**
@@ -1918,23 +1954,6 @@ public interface CosmosDbEndpointBuilderFactory {
             doSetProperty("databaseEndpoint", databaseEndpoint);
             return this;
         }
-        /**
-         * The CosmosDB Indexing Policy that will be set in case of container
-         * creation, this option is related to createLeaseContainerIfNotExists
-         * and it will be taken into account when the latter is true.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Default: CONSISTENT
-         * Group: common
-         * 
-         * @param indexingPolicy the value to set
-         * @return the dsl builder
-         */
-        default CosmosDbEndpointBuilder indexingPolicy(String indexingPolicy) {
-            doSetProperty("indexingPolicy", indexingPolicy);
-            return this;
-        }
         /**
          * Sets the flag to enable writes on any regions for geo-replicated
          * database accounts in the Azure Cosmos DB service. When the value of
@@ -2141,6 +2160,42 @@ public interface CosmosDbEndpointBuilderFactory {
         default CosmosDbEndpointBuilder basic() {
             return (CosmosDbEndpointBuilder) this;
         }
+        /**
+         * The CosmosDB Indexing Policy that will be set in case of container
+         * creation, this option is related to createLeaseContainerIfNotExists
+         * and it will be taken into account when the latter is true.
+         * 
+         * The option is a:
+         * &lt;code&gt;com.azure.cosmos.models.IndexingPolicy&lt;/code&gt; type.
+         * 
+         * Group:  advanced
+         * 
+         * @param indexingPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCosmosDbEndpointBuilder indexingPolicy(
+                com.azure.cosmos.models.IndexingPolicy indexingPolicy) {
+            doSetProperty("indexingPolicy", indexingPolicy);
+            return this;
+        }
+        /**
+         * The CosmosDB Indexing Policy that will be set in case of container
+         * creation, this option is related to createLeaseContainerIfNotExists
+         * and it will be taken into account when the latter is true.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;com.azure.cosmos.models.IndexingPolicy&lt;/code&gt; type.
+         * 
+         * Group:  advanced
+         * 
+         * @param indexingPolicy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCosmosDbEndpointBuilder indexingPolicy(
+                String indexingPolicy) {
+            doSetProperty("indexingPolicy", indexingPolicy);
+            return this;
+        }
     }
 
     public interface CosmosDbBuilders {