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/22 09:32:48 UTC

[camel] branch CAMEL-19902 updated (631e4190178 -> 57dfd198bee)

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

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


    omit 631e4190178 Azure CosmosDB: Expose an IndexingPolicy parameter for createContainer operation
     new 57dfd198bee CAMEL-19902 - Azure CosmosDB: Expose an IndexingPolicy parameter for createContainer operation

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (631e4190178)
            \
             N -- N -- N   refs/heads/CAMEL-19902 (57dfd198bee)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

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


Summary of changes:


[camel] 01/01: CAMEL-19902 - Azure CosmosDB: Expose an IndexingPolicy parameter for createContainer operation

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 57dfd198bee1d2820aebf0a0c94483d4f58ace4e
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Sep 22 11:17:31 2023 +0200

    CAMEL-19902 - Azure CosmosDB: Expose an IndexingPolicy parameter for createContainer operation
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../camel/catalog/components/azure-cosmosdb.json   | 84 +++++++++++-----------
 .../cosmosdb/CosmosDbComponentConfigurer.java      |  6 ++
 .../azure/cosmosdb/CosmosDbEndpointConfigurer.java |  6 ++
 .../azure/cosmosdb/CosmosDbEndpointUriFactory.java |  3 +-
 .../component/azure/cosmosdb/azure-cosmosdb.json   | 84 +++++++++++-----------
 .../azure/cosmosdb/CosmosDbConfiguration.java      | 14 ++++
 .../CosmosDbConfigurationOptionsProxy.java         |  5 ++
 .../azure/cosmosdb/CosmosDbConstants.java          |  1 +
 .../component/azure/cosmosdb/CosmosDbProducer.java |  4 +-
 .../operations/CosmosDbDatabaseOperations.java     | 39 ++++++----
 .../operations/CosmosDbOperationsBuilder.java      | 10 ++-
 .../azure/cosmosdb/CosmosDbEndpointTest.java       | 22 ++++++
 .../operations/CosmosDbContainerOperationsIT.java  |  2 +-
 .../operations/CosmosDbDatabaseOperationsIT.java   |  4 +-
 .../operations/CosmosDbDatabaseOperationsTest.java | 31 ++++----
 .../dsl/AzureCosmosdbComponentBuilderFactory.java  | 19 +++++
 .../dsl/CosmosDbEndpointBuilderFactory.java        | 53 ++++++++++++++
 17 files changed, 271 insertions(+), 116 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 20c6f026029..13ed1d57119 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,26 +32,27 @@
     "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." },
-    "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  [...]
-    "autowiredEnabled": { "index": 27, "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": 28, "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": 29, "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 [...]
+    "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  [...]
+    "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 [...]
   },
   "properties": {
     "databaseName": { "index": 0, "kind": "path", "displayName": "Database Name", "group": "common", "label": "", "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": "The name of the Cosmos database that component should connect to. In case you are producing data and have c [...]
@@ -65,26 +66,27 @@
     "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 [...]
-    "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 [...]
-    "accountKey": { "index": 30, "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": 31, "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 [...]
+    "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 [...]
+    "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 2928772486c..a6b6af6d083 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
@@ -61,6 +61,8 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "databaseEndpoint": getOrCreateConfiguration(target).setDatabaseEndpoint(property(camelContext, java.lang.String.class, value)); return true;
         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 "itemid":
         case "itemId": getOrCreateConfiguration(target).setItemId(property(camelContext, java.lang.String.class, value)); return true;
         case "itempartitionkey":
@@ -130,6 +132,8 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "databaseEndpoint": return java.lang.String.class;
         case "hostname":
         case "hostName": return java.lang.String.class;
+        case "indexingpolicy":
+        case "indexingPolicy": return java.lang.String.class;
         case "itemid":
         case "itemId": return java.lang.String.class;
         case "itempartitionkey":
@@ -195,6 +199,8 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "databaseEndpoint": return getOrCreateConfiguration(target).getDatabaseEndpoint();
         case "hostname":
         case "hostName": return getOrCreateConfiguration(target).getHostName();
+        case "indexingpolicy":
+        case "indexingPolicy": return getOrCreateConfiguration(target).getIndexingPolicy();
         case "itemid":
         case "itemId": return getOrCreateConfiguration(target).getItemId();
         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 b673dc85e9d..0c661cecde8 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
@@ -55,6 +55,8 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
         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 "itemid":
         case "itemId": target.getConfiguration().setItemId(property(camelContext, java.lang.String.class, value)); return true;
         case "itempartitionkey":
@@ -125,6 +127,8 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "exchangePattern": return org.apache.camel.ExchangePattern.class;
         case "hostname":
         case "hostName": return java.lang.String.class;
+        case "indexingpolicy":
+        case "indexingPolicy": return java.lang.String.class;
         case "itemid":
         case "itemId": return java.lang.String.class;
         case "itempartitionkey":
@@ -191,6 +195,8 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "exchangePattern": return target.getExchangePattern();
         case "hostname":
         case "hostName": return target.getConfiguration().getHostName();
+        case "indexingpolicy":
+        case "indexingPolicy": return target.getConfiguration().getIndexingPolicy();
         case "itemid":
         case "itemId": return target.getConfiguration().getItemId();
         case "itempartitionkey":
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointUriFactory.java b/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointUriFactory.java
index 5213b8bc710..e152bedec45 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointUriFactory.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/generated/java/org/apache/camel/component/azure/cosmosdb/CosmosDbEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class CosmosDbEndpointUriFactory extends org.apache.camel.support.compone
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(32);
+        Set<String> props = new HashSet<>(33);
         props.add("accountKey");
         props.add("bridgeErrorHandler");
         props.add("changeFeedProcessorOptions");
@@ -41,6 +41,7 @@ public class CosmosDbEndpointUriFactory extends org.apache.camel.support.compone
         props.add("exceptionHandler");
         props.add("exchangePattern");
         props.add("hostName");
+        props.add("indexingPolicy");
         props.add("itemId");
         props.add("itemPartitionKey");
         props.add("lazyStartProducer");
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 20c6f026029..13ed1d57119 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,26 +32,27 @@
     "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." },
-    "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  [...]
-    "autowiredEnabled": { "index": 27, "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": 28, "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": 29, "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 [...]
+    "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  [...]
+    "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 [...]
   },
   "properties": {
     "databaseName": { "index": 0, "kind": "path", "displayName": "Database Name", "group": "common", "label": "", "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": "The name of the Cosmos database that component should connect to. In case you are producing data and have c [...]
@@ -65,26 +66,27 @@
     "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 [...]
-    "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 [...]
-    "accountKey": { "index": 30, "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": 31, "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 [...]
+    "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 [...]
+    "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 a504dae6976..99cb9fe05ee 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
@@ -66,6 +66,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")
     private ThroughputProperties throughputProperties;
     @UriParam(label = "consumer", defaultValue = "false")
@@ -469,6 +471,18 @@ public class CosmosDbConfiguration implements Cloneable {
         this.operation = operation;
     }
 
+    /**
+     * 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() {
+        return indexingPolicy;
+    }
+
+    public void setIndexingPolicy(String 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 7c22ccba580..da125f9467b 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
@@ -88,6 +88,11 @@ public class CosmosDbConfigurationOptionsProxy {
                 String.class);
     }
 
+    public String getIndexingPolicy(final Exchange exchange) {
+        return getOption(exchange, CosmosDbConstants.INDEXING_POLICY, configuration::getIndexingPolicy,
+                String.class);
+    }
+
     public CosmosContainerRequestOptions getContainerRequestOptions(final Exchange exchange) {
         return getOption(exchange, CosmosDbConstants.CONTAINER_REQUEST_OPTIONS, nullFallback(),
                 CosmosContainerRequestOptions.class);
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConstants.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConstants.java
index 58da7f2ea97..12c21986191 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConstants.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConstants.java
@@ -27,6 +27,7 @@ public final class CosmosDbConstants {
     public static final String QUERY_REQUEST_OPTIONS = HEADER_PREFIX + "QueryRequestOptions";
     public static final String CREATE_DATABASE_IF_NOT_EXIST = HEADER_PREFIX + "CreateDatabaseIfNotExist";
     public static final String CREATE_CONTAINER_IF_NOT_EXIST = HEADER_PREFIX + "CreateContainerIfNotExist";
+    public static final String INDEXING_POLICY = HEADER_PREFIX + "IndexingPolicy";
     public static final String THROUGHPUT_PROPERTIES = HEADER_PREFIX + "ThroughputProperties";
     public static final String DATABASE_REQUEST_OPTIONS = HEADER_PREFIX + "DatabaseRequestOptions";
     public static final String CONTAINER_PARTITION_KEY_PATH = HEADER_PREFIX + "ContainerPartitionKeyPath";
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
index e8e3fc9c055..ebe22a53a2a 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
@@ -178,7 +178,8 @@ public class CosmosDbProducer extends DefaultAsyncProducer {
             final Mono<CosmosContainerResponse> operation = getDatabaseOperations(exchange)
                     .createContainer(configurationOptionsProxy.getContainerName(exchange),
                             configurationOptionsProxy.getContainerPartitionKeyPath(exchange),
-                            configurationOptionsProxy.getThroughputProperties(exchange));
+                            configurationOptionsProxy.getThroughputProperties(exchange),
+                            configurationOptionsProxy.getIndexingPolicy(exchange));
 
             subscribeToMono(operation, exchange, setCosmosContainerResponseOnExchange(exchange), callback);
         };
@@ -341,6 +342,7 @@ public class CosmosDbProducer extends DefaultAsyncProducer {
                 .withContainerName(configurationOptionsProxy.getContainerName(exchange))
                 .withContainerPartitionKeyPath(configurationOptionsProxy.getContainerPartitionKeyPath(exchange))
                 .withCreateContainerIfNotExist(configurationOptionsProxy.isCreateContainerIfNotExist(exchange))
+                .withIndexingPolicy(configurationOptionsProxy.getIndexingPolicy(exchange))
                 .buildContainerOperations();
     }
 
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 84077fc98e1..c8f4f213257 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
@@ -20,14 +20,9 @@ import java.util.function.Function;
 
 import com.azure.cosmos.CosmosAsyncContainer;
 import com.azure.cosmos.CosmosAsyncDatabase;
-import com.azure.cosmos.models.CosmosContainerProperties;
-import com.azure.cosmos.models.CosmosContainerResponse;
-import com.azure.cosmos.models.CosmosDatabaseRequestOptions;
-import com.azure.cosmos.models.CosmosDatabaseResponse;
-import com.azure.cosmos.models.CosmosQueryRequestOptions;
-import com.azure.cosmos.models.ThroughputProperties;
-import com.azure.cosmos.models.ThroughputResponse;
+import com.azure.cosmos.models.*;
 import org.apache.camel.component.azure.cosmosdb.CosmosDbUtils;
+import org.apache.camel.util.ObjectHelper;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
@@ -49,7 +44,8 @@ public class CosmosDbDatabaseOperations {
     }
 
     public Mono<CosmosContainerResponse> createContainer(
-            final String containerId, final String containerPartitionKeyPath, final ThroughputProperties throughputProperties) {
+            final String containerId, final String containerPartitionKeyPath, final ThroughputProperties throughputProperties,
+            final String indexingPolicy) {
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerId, "containerId");
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerPartitionKeyPath, "containerPartitionKeyPath");
 
@@ -61,23 +57,36 @@ public class CosmosDbDatabaseOperations {
             enhancedContainerPartitionKeyPath = containerPartitionKeyPath;
         }
 
-        return applyToDatabase(database -> database.createContainerIfNotExists(containerId, enhancedContainerPartitionKeyPath,
-                throughputProperties));
+        if (ObjectHelper.isNotEmpty(indexingPolicy)) {
+            CosmosContainerProperties cosmosProp
+                    = new CosmosContainerProperties(containerId, enhancedContainerPartitionKeyPath);
+            IndexingPolicy indexPolicy = new IndexingPolicy();
+            indexPolicy.setIndexingMode(IndexingMode.valueOf(indexingPolicy));
+            cosmosProp.setIndexingPolicy(indexPolicy);
+
+            return applyToDatabase(database -> database.createContainerIfNotExists(cosmosProp,
+                    throughputProperties));
+        } else {
+            return applyToDatabase(database -> database.createContainerIfNotExists(containerId, containerPartitionKeyPath,
+                    throughputProperties));
+        }
     }
 
     public CosmosDbContainerOperations createContainerIfNotExistAndGetContainerOperations(
-            final String containerId, final String containerPartitionKeyPath, final ThroughputProperties throughputProperties) {
+            final String containerId, final String containerPartitionKeyPath, final ThroughputProperties throughputProperties,
+            final String indexingPolicy) {
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerId, "containerId");
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerPartitionKeyPath, "containerPartitionKeyPath");
 
         return new CosmosDbContainerOperations(
-                getAndCreateContainerIfNotExist(containerId, containerPartitionKeyPath, true, throughputProperties));
+                getAndCreateContainerIfNotExist(containerId, containerPartitionKeyPath, true, throughputProperties,
+                        indexingPolicy));
     }
 
     public CosmosDbContainerOperations getContainerOperations(final String containerId) {
         CosmosDbUtils.validateIfParameterIsNotEmpty(containerId, "containerId");
 
-        return new CosmosDbContainerOperations(getAndCreateContainerIfNotExist(containerId, null, false, null));
+        return new CosmosDbContainerOperations(getAndCreateContainerIfNotExist(containerId, null, false, null, null));
     }
 
     public Mono<ThroughputResponse> replaceDatabaseThroughput(final ThroughputProperties throughputProperties) {
@@ -102,9 +111,9 @@ public class CosmosDbDatabaseOperations {
 
     private Mono<CosmosAsyncContainer> getAndCreateContainerIfNotExist(
             final String containerId, final String containerPartitionKeyPath, final boolean createContainerIfNotExist,
-            final ThroughputProperties throughputProperties) {
+            final ThroughputProperties throughputProperties, final String indexingPolicy) {
         if (createContainerIfNotExist) {
-            return createContainer(containerId, containerPartitionKeyPath, throughputProperties)
+            return createContainer(containerId, containerPartitionKeyPath, throughputProperties, indexingPolicy)
                     .then(database)
                     .map(database -> getContainer(database, containerId));
         }
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 00c1d3c14a5..5779eee11a2 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
@@ -29,6 +29,8 @@ public final class CosmosDbOperationsBuilder {
     private boolean createContainerIfNotExist;
     private ThroughputProperties throughputProperties;
 
+    private String indexingPolicy;
+
     private CosmosDbOperationsBuilder(CosmosAsyncClientWrapper clientWrapper) {
         this.clientWrapper = clientWrapper;
     }
@@ -67,6 +69,11 @@ public final class CosmosDbOperationsBuilder {
         return this;
     }
 
+    public CosmosDbOperationsBuilder withIndexingPolicy(String indexingPolicy) {
+        this.indexingPolicy = indexingPolicy;
+        return this;
+    }
+
     public CosmosDbDatabaseOperations buildDatabaseOperations() {
         // if we enabled this flag, we create a database first before running the operation
         if (createDatabaseIfNotExist) {
@@ -85,7 +92,8 @@ public final class CosmosDbOperationsBuilder {
             return buildDatabaseOperations()
                     .createContainerIfNotExistAndGetContainerOperations(containerName,
                             containerPartitionKeyPath,
-                            throughputProperties);
+                            throughputProperties,
+                            indexingPolicy);
         }
 
         // otherwise just return the operation without creating a container if it is not existing
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 9d27c27cb54..7e8d6406565 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
@@ -61,6 +61,28 @@ class CosmosDbEndpointTest extends CamelTestSupport {
         assertTrue(endpoint.getConfiguration().isCreateDatabaseIfNotExists());
     }
 
+    @Test
+    void testCreateEndpointWithIndexingPolicyConfig() throws Exception {
+        final String uri = "azure-cosmosdb://mydb/myContainer";
+        final String remaining = "mydb/myContainer";
+        final Map<String, Object> params = new HashMap<>();
+        params.put("databaseEndpoint", "https://test.com:443");
+        params.put("createDatabaseIfNotExists", "true");
+        params.put("accountKey", "myKey");
+        params.put("indexingPolicy", "LAZY");
+
+        final CosmosDbEndpoint endpoint = (CosmosDbEndpoint) context.getComponent("azure-cosmosdb", CosmosDbComponent.class)
+                .createEndpoint(uri, remaining, params);
+
+        assertEquals("mydb", endpoint.getConfiguration().getDatabaseName());
+        assertEquals("myContainer", endpoint.getConfiguration().getContainerName());
+        assertEquals("https://test.com:443", endpoint.getConfiguration().getDatabaseEndpoint());
+        assertEquals("myKey", endpoint.getConfiguration().getAccountKey());
+        assertEquals("LAZY", endpoint.getConfiguration().getIndexingPolicy());
+        assertTrue(endpoint.getConfiguration().isCreateDatabaseIfNotExists());
+
+    }
+
     @Test
     void testCreateConsumerWithInvalidConfig() throws Exception {
         final String uri = "azure-cosmosdb://mydb/myContainer";
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbContainerOperationsIT.java b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbContainerOperationsIT.java
index 31e697f02d5..8112b276068 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbContainerOperationsIT.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/test/java/org/apache/camel/component/azure/cosmosdb/integration/operations/CosmosDbContainerOperationsIT.java
@@ -90,7 +90,7 @@ class CosmosDbContainerOperationsIT {
 
         containerOperations = CosmosDbClientOperations.withClient(clientWrapper)
                 .createDatabaseIfNotExistAndGetDatabaseOperations(DATABASE_NAME, null)
-                .createContainerIfNotExistAndGetContainerOperations(containerId, "partition", null);
+                .createContainerIfNotExistAndGetContainerOperations(containerId, "partition", null, null);
 
         // make sure container is created
         containerOperations.getContainerId().block();
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 fffbbe1225c..0e19e980fbe 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
@@ -80,7 +80,7 @@ class CosmosDbDatabaseOperationsIT {
 
         // test create container
         final CosmosContainerResponse createdContainer = operations
-                .createContainer(containerId, "/test", null)
+                .createContainer(containerId, "/test", null, null)
                 .block();
 
         assertNotNull(createdContainer);
@@ -116,7 +116,7 @@ class CosmosDbDatabaseOperationsIT {
 
         // second we test if we want to create a container when we get container operations
         operations
-                .createContainerIfNotExistAndGetContainerOperations(containerId, "/path", null)
+                .createContainerIfNotExistAndGetContainerOperations(containerId, "/path", null, "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 2a6b19425c0..7630abb9503 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
@@ -43,17 +43,21 @@ class CosmosDbDatabaseOperationsTest {
         final CosmosDbDatabaseOperations databaseOperations = new CosmosDbDatabaseOperations(Mono.just(database));
 
         // assert params
-        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer(null, null, null));
-        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer("", null, null));
-        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer("", "", null));
-        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer("test", "", null));
-        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer("", "test", null));
+        CosmosDbTestUtils
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer(null, null, null, "CONSISTENT"));
+        CosmosDbTestUtils
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer("", null, null, "CONSISTENT"));
+        CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.createContainer("", "", null, "CONSISTENT"));
+        CosmosDbTestUtils
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer("test", "", null, "CONSISTENT"));
+        CosmosDbTestUtils
+                .assertIllegalArgumentException(() -> databaseOperations.createContainer("", "test", null, "CONSISTENT"));
 
         // assert key path
         final CosmosContainerResponse returnedContainerResponseFirstCase
-                = databaseOperations.createContainer("test-container", "path", null).block();
+                = databaseOperations.createContainer("test-container", "path", null, null).block();
         final CosmosContainerResponse returnedContainerResponseSecondCase
-                = databaseOperations.createContainer("test-container", "/path", null).block();
+                = databaseOperations.createContainer("test-container", "/path", null, null).block();
 
         assertNotNull(returnedContainerResponseFirstCase);
         assertNotNull(returnedContainerResponseSecondCase);
@@ -81,20 +85,21 @@ class CosmosDbDatabaseOperationsTest {
 
         // assert params
         CosmosDbTestUtils.assertIllegalArgumentException(
-                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations(null, null, null));
+                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations(null, null, null, "Consistent"));
         CosmosDbTestUtils.assertIllegalArgumentException(
-                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("", null, null));
+                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("", null, null, null));
         CosmosDbTestUtils.assertIllegalArgumentException(
-                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("", "", null));
+                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("", "", null, null));
         CosmosDbTestUtils.assertIllegalArgumentException(
-                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("test", "", null));
+                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("test", "", null, null));
         CosmosDbTestUtils.assertIllegalArgumentException(
-                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("", "test", null));
+                () -> databaseOperations.createContainerIfNotExistAndGetContainerOperations("", "test", null, null));
         CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.getContainerOperations(null));
         CosmosDbTestUtils.assertIllegalArgumentException(() -> databaseOperations.getContainerOperations(""));
 
         assertEquals("container-new", databaseOperations
-                .createContainerIfNotExistAndGetContainerOperations("container-new", "/path", null).getContainerId().block());
+                .createContainerIfNotExistAndGetContainerOperations("container-new", "/path", null, null).getContainerId()
+                .block());
         assertEquals("container-existing",
                 databaseOperations.getContainerOperations("container-existing").getContainerId().block());
     }
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 d7464d9aae0..b71fa2e2a88 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,6 +239,24 @@ 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
@@ -648,6 +666,7 @@ 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;
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 97947928f7d..90e6912f9ec 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,6 +362,24 @@ 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
@@ -1179,6 +1197,24 @@ 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
@@ -1882,6 +1918,23 @@ 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