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/12/13 09:36:36 UTC

(camel) branch CAMEL-18590-cosmosdb updated (60171fa494c -> ef04d6c10d0)

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

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


 discard 60171fa494c Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB - Migration docs
 discard e2ff7937176 Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB
     new a774cc542fe CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB
     new ef04d6c10d0 CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB - Migration docs

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   (60171fa494c)
            \
             N -- N -- N   refs/heads/CAMEL-18590-cosmosdb (ef04d6c10d0)

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 2 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/02: CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB

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

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

commit a774cc542fec32dc34debadd9dbcb17e6a1f6c78
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Dec 13 10:28:42 2023 +0100

    CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../camel/catalog/components/azure-cosmosdb.json   | 90 +++++++++++-----------
 .../cosmosdb/CosmosDbComponentConfigurer.java      | 12 +--
 .../azure/cosmosdb/CosmosDbEndpointConfigurer.java | 12 +--
 .../azure/cosmosdb/CosmosDbEndpointUriFactory.java |  2 +-
 .../component/azure/cosmosdb/azure-cosmosdb.json   | 90 +++++++++++-----------
 .../azure/cosmosdb/CosmosDbConfiguration.java      | 22 +++---
 .../component/azure/cosmosdb/CredentialType.java   | 35 +++++++++
 .../cosmosdb/client/CosmosDbClientFactory.java     |  6 +-
 .../azure/cosmosdb/CosmosDbEndpointTest.java       | 28 ++++++-
 .../dsl/AzureCosmosdbComponentBuilderFactory.java  | 36 ++++-----
 10 files changed, 195 insertions(+), 138 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 c0fe0778446..f204be1e4c7 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
@@ -31,28 +31,28 @@
     "cosmosAsyncClient": { "index": 6, "kind": "property", "displayName": "Cosmos Async Client", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.CosmosAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Inject an external CosmosAsyncClient into the  [...]
     "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 (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the lik [...]
-    "changeFeedProcessorOptions": { "index": 15, "kind": "property", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcessor [...]
-    "createLeaseContainerIfNotExists": { "index": 16, "kind": "property", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create [...]
-    "createLeaseDatabaseIfNotExists": { "index": 17, "kind": "property", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create C [...]
-    "hostName": { "index": 18, "kind": "property", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor t [...]
-    "leaseContainerName": { "index": 19, "kind": "property", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state s [...]
-    "leaseDatabaseName": { "index": 20, "kind": "property", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is not [...]
-    "itemId": { "index": 21, "kind": "property", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 22, "kind": "property", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databas [...]
-    "lazyStartProducer": { "index": 23, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...]
-    "operation": { "index": 24, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "del [...]
-    "query": { "index": 25, "kind": "property", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link htt [...]
-    "queryRequestOptions": { "index": 26, "kind": "property", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can  [...]
-    "indexingPolicy": { "index": 27, "kind": "property", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of  [...]
-    "autowiredEnabled": { "index": 28, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
-    "accountKey": { "index": 29, "kind": "property", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for ac [...]
-    "useDefaultIdentity": { "index": 30, "kind": "property", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default iden [...]
+    "credentialType": { "index": 9, "kind": "property", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "AZURE_IDENTITY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField":  [...]
+    "databaseEndpoint": { "index": 10, "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 [...]
+    "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 (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the lik [...]
+    "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  [...]
+    "indexingPolicy": { "index": 28, "kind": "property", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of  [...]
+    "autowiredEnabled": { "index": 29, "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": 30, "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 [...]
   },
   "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,28 +65,28 @@
     "cosmosAsyncClient": { "index": 7, "kind": "parameter", "displayName": "Cosmos Async Client", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.CosmosAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Inject an external CosmosAsyncClient into the [...]
     "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 (if possible) occurred while the Camel consumer is trying to pickup incoming [...]
-    "exceptionHandler": { "index": 22, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 23, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "itemId": { "index": 24, "kind": "parameter", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 25, "kind": "parameter", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databa [...]
-    "operation": { "index": 26, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "de [...]
-    "query": { "index": 27, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link ht [...]
-    "queryRequestOptions": { "index": 28, "kind": "parameter", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can [...]
-    "lazyStartProducer": { "index": 29, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "indexingPolicy": { "index": 30, "kind": "parameter", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of [...]
-    "accountKey": { "index": 31, "kind": "parameter", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for a [...]
-    "useDefaultIdentity": { "index": 32, "kind": "parameter", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default ide [...]
+    "credentialType": { "index": 10, "kind": "parameter", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "AZURE_IDENTITY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField" [...]
+    "databaseEndpoint": { "index": 11, "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": 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 (if possible) occurred while the Camel consumer is trying to pickup incoming [...]
+    "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 [...]
+    "indexingPolicy": { "index": 31, "kind": "parameter", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of [...]
+    "accountKey": { "index": 32, "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 [...]
   }
 }
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 fda22a924ed..defbdb6d68e 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
@@ -57,6 +57,8 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "createLeaseContainerIfNotExists": getOrCreateConfiguration(target).setCreateLeaseContainerIfNotExists(property(camelContext, boolean.class, value)); return true;
         case "createleasedatabaseifnotexists":
         case "createLeaseDatabaseIfNotExists": getOrCreateConfiguration(target).setCreateLeaseDatabaseIfNotExists(property(camelContext, boolean.class, value)); return true;
+        case "credentialtype":
+        case "credentialType": getOrCreateConfiguration(target).setCredentialType(property(camelContext, org.apache.camel.component.azure.cosmosdb.CredentialType.class, value)); return true;
         case "databaseendpoint":
         case "databaseEndpoint": getOrCreateConfiguration(target).setDatabaseEndpoint(property(camelContext, java.lang.String.class, value)); return true;
         case "hostname":
@@ -85,8 +87,6 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "readRequestsFallbackEnabled": getOrCreateConfiguration(target).setReadRequestsFallbackEnabled(property(camelContext, boolean.class, value)); return true;
         case "throughputproperties":
         case "throughputProperties": getOrCreateConfiguration(target).setThroughputProperties(property(camelContext, com.azure.cosmos.models.ThroughputProperties.class, value)); return true;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": getOrCreateConfiguration(target).setUseDefaultIdentity(property(camelContext, boolean.class, value)); return true;
         default: return false;
         }
     }
@@ -128,6 +128,8 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "createLeaseContainerIfNotExists": return boolean.class;
         case "createleasedatabaseifnotexists":
         case "createLeaseDatabaseIfNotExists": return boolean.class;
+        case "credentialtype":
+        case "credentialType": return org.apache.camel.component.azure.cosmosdb.CredentialType.class;
         case "databaseendpoint":
         case "databaseEndpoint": return java.lang.String.class;
         case "hostname":
@@ -156,8 +158,6 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "readRequestsFallbackEnabled": return boolean.class;
         case "throughputproperties":
         case "throughputProperties": return com.azure.cosmos.models.ThroughputProperties.class;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return boolean.class;
         default: return null;
         }
     }
@@ -195,6 +195,8 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "createLeaseContainerIfNotExists": return getOrCreateConfiguration(target).isCreateLeaseContainerIfNotExists();
         case "createleasedatabaseifnotexists":
         case "createLeaseDatabaseIfNotExists": return getOrCreateConfiguration(target).isCreateLeaseDatabaseIfNotExists();
+        case "credentialtype":
+        case "credentialType": return getOrCreateConfiguration(target).getCredentialType();
         case "databaseendpoint":
         case "databaseEndpoint": return getOrCreateConfiguration(target).getDatabaseEndpoint();
         case "hostname":
@@ -223,8 +225,6 @@ public class CosmosDbComponentConfigurer extends PropertyConfigurerSupport imple
         case "readRequestsFallbackEnabled": return getOrCreateConfiguration(target).isReadRequestsFallbackEnabled();
         case "throughputproperties":
         case "throughputProperties": return getOrCreateConfiguration(target).getThroughputProperties();
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return getOrCreateConfiguration(target).isUseDefaultIdentity();
         default: return null;
         }
     }
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 02fd7260198..e5be74e408c 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
@@ -47,6 +47,8 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "createLeaseContainerIfNotExists": target.getConfiguration().setCreateLeaseContainerIfNotExists(property(camelContext, boolean.class, value)); return true;
         case "createleasedatabaseifnotexists":
         case "createLeaseDatabaseIfNotExists": target.getConfiguration().setCreateLeaseDatabaseIfNotExists(property(camelContext, boolean.class, value)); return true;
+        case "credentialtype":
+        case "credentialType": target.getConfiguration().setCredentialType(property(camelContext, org.apache.camel.component.azure.cosmosdb.CredentialType.class, value)); return true;
         case "databaseendpoint":
         case "databaseEndpoint": target.getConfiguration().setDatabaseEndpoint(property(camelContext, java.lang.String.class, value)); return true;
         case "exceptionhandler":
@@ -79,8 +81,6 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "readRequestsFallbackEnabled": target.getConfiguration().setReadRequestsFallbackEnabled(property(camelContext, boolean.class, value)); return true;
         case "throughputproperties":
         case "throughputProperties": target.getConfiguration().setThroughputProperties(property(camelContext, com.azure.cosmos.models.ThroughputProperties.class, value)); return true;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": target.getConfiguration().setUseDefaultIdentity(property(camelContext, boolean.class, value)); return true;
         default: return false;
         }
     }
@@ -119,6 +119,8 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "createLeaseContainerIfNotExists": return boolean.class;
         case "createleasedatabaseifnotexists":
         case "createLeaseDatabaseIfNotExists": return boolean.class;
+        case "credentialtype":
+        case "credentialType": return org.apache.camel.component.azure.cosmosdb.CredentialType.class;
         case "databaseendpoint":
         case "databaseEndpoint": return java.lang.String.class;
         case "exceptionhandler":
@@ -151,8 +153,6 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "readRequestsFallbackEnabled": return boolean.class;
         case "throughputproperties":
         case "throughputProperties": return com.azure.cosmos.models.ThroughputProperties.class;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return boolean.class;
         default: return null;
         }
     }
@@ -187,6 +187,8 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "createLeaseContainerIfNotExists": return target.getConfiguration().isCreateLeaseContainerIfNotExists();
         case "createleasedatabaseifnotexists":
         case "createLeaseDatabaseIfNotExists": return target.getConfiguration().isCreateLeaseDatabaseIfNotExists();
+        case "credentialtype":
+        case "credentialType": return target.getConfiguration().getCredentialType();
         case "databaseendpoint":
         case "databaseEndpoint": return target.getConfiguration().getDatabaseEndpoint();
         case "exceptionhandler":
@@ -219,8 +221,6 @@ public class CosmosDbEndpointConfigurer extends PropertyConfigurerSupport implem
         case "readRequestsFallbackEnabled": return target.getConfiguration().isReadRequestsFallbackEnabled();
         case "throughputproperties":
         case "throughputProperties": return target.getConfiguration().getThroughputProperties();
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return target.getConfiguration().isUseDefaultIdentity();
         default: return null;
         }
     }
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 e152bedec45..f9db0759502 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
@@ -36,6 +36,7 @@ public class CosmosDbEndpointUriFactory extends org.apache.camel.support.compone
         props.add("createDatabaseIfNotExists");
         props.add("createLeaseContainerIfNotExists");
         props.add("createLeaseDatabaseIfNotExists");
+        props.add("credentialType");
         props.add("databaseEndpoint");
         props.add("databaseName");
         props.add("exceptionHandler");
@@ -54,7 +55,6 @@ public class CosmosDbEndpointUriFactory extends org.apache.camel.support.compone
         props.add("queryRequestOptions");
         props.add("readRequestsFallbackEnabled");
         props.add("throughputProperties");
-        props.add("useDefaultIdentity");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
         Set<String> secretProps = new HashSet<>(1);
         secretProps.add("accountKey");
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 c0fe0778446..f204be1e4c7 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
@@ -31,28 +31,28 @@
     "cosmosAsyncClient": { "index": 6, "kind": "property", "displayName": "Cosmos Async Client", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.CosmosAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Inject an external CosmosAsyncClient into the  [...]
     "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 (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the lik [...]
-    "changeFeedProcessorOptions": { "index": 15, "kind": "property", "displayName": "Change Feed Processor Options", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.ChangeFeedProcessorOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the ChangeFeedProcessor [...]
-    "createLeaseContainerIfNotExists": { "index": 16, "kind": "property", "displayName": "Create Lease Container If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create [...]
-    "createLeaseDatabaseIfNotExists": { "index": 17, "kind": "property", "displayName": "Create Lease Database If Not Exists", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets if the component should create C [...]
-    "hostName": { "index": 18, "kind": "property", "displayName": "Host Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the hostname. The host: a host is an application instance that uses the change feed processor t [...]
-    "leaseContainerName": { "index": 19, "kind": "property", "displayName": "Lease Container Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "camel-lease", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease container which acts as a state s [...]
-    "leaseDatabaseName": { "index": 20, "kind": "property", "displayName": "Lease Database Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the lease database where the leaseContainerName will be stored. If it is not [...]
-    "itemId": { "index": 21, "kind": "property", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 22, "kind": "property", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databas [...]
-    "lazyStartProducer": { "index": 23, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...]
-    "operation": { "index": 24, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "del [...]
-    "query": { "index": 25, "kind": "property", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link htt [...]
-    "queryRequestOptions": { "index": 26, "kind": "property", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can  [...]
-    "indexingPolicy": { "index": 27, "kind": "property", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of  [...]
-    "autowiredEnabled": { "index": 28, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
-    "accountKey": { "index": 29, "kind": "property", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for ac [...]
-    "useDefaultIdentity": { "index": 30, "kind": "property", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default iden [...]
+    "credentialType": { "index": 9, "kind": "property", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "AZURE_IDENTITY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField":  [...]
+    "databaseEndpoint": { "index": 10, "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 [...]
+    "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 (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the lik [...]
+    "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  [...]
+    "indexingPolicy": { "index": 28, "kind": "property", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of  [...]
+    "autowiredEnabled": { "index": 29, "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": 30, "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 [...]
   },
   "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,28 +65,28 @@
     "cosmosAsyncClient": { "index": 7, "kind": "parameter", "displayName": "Cosmos Async Client", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "com.azure.cosmos.CosmosAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Inject an external CosmosAsyncClient into the [...]
     "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 (if possible) occurred while the Camel consumer is trying to pickup incoming [...]
-    "exceptionHandler": { "index": 22, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 23, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "itemId": { "index": 24, "kind": "parameter", "displayName": "Item Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets the itemId in case needed for operation on item like delete, replace" },
-    "itemPartitionKey": { "index": 25, "kind": "parameter", "displayName": "Item Partition Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets partition key. Represents a partition key value in the Azure Cosmos DB databa [...]
-    "operation": { "index": 26, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CosmosDbOperationsDefinition", "enum": [ "listDatabases", "createDatabase", "queryDatabases", "deleteDatabase", "createContainer", "replaceDatabaseThroughput", "listContainers", "queryContainers", "deleteContainer", "replaceContainerThroughput", "createItem", "upsertItem", "de [...]
-    "query": { "index": 27, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link ht [...]
-    "queryRequestOptions": { "index": 28, "kind": "parameter", "displayName": "Query Request Options", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.CosmosQueryRequestOptions", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Set additional QueryRequestOptions that can [...]
-    "lazyStartProducer": { "index": 29, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "indexingPolicy": { "index": 30, "kind": "parameter", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of [...]
-    "accountKey": { "index": 31, "kind": "parameter", "displayName": "Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Sets either a master or readonly key used to perform authentication for a [...]
-    "useDefaultIdentity": { "index": 32, "kind": "parameter", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "Indicates whether to use the default ide [...]
+    "credentialType": { "index": 10, "kind": "parameter", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.cosmosdb.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "AZURE_IDENTITY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField" [...]
+    "databaseEndpoint": { "index": 11, "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": 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 (if possible) occurred while the Camel consumer is trying to pickup incoming [...]
+    "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 [...]
+    "indexingPolicy": { "index": 31, "kind": "parameter", "displayName": "Indexing Policy", "group": " advanced", "label": "common, advanced", "required": false, "type": "object", "javaType": "com.azure.cosmos.models.IndexingPolicy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration", "configurationField": "configuration", "description": "The CosmosDB Indexing Policy that will be set in case of [...]
+    "accountKey": { "index": 32, "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 [...]
   }
 }
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 33cd7e4ea7e..172dfd4ff84 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
@@ -28,6 +28,8 @@ import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
 
+import static org.apache.camel.component.azure.cosmosdb.CredentialType.SHARED_ACCOUNT_KEY;
+
 @UriParams
 public class CosmosDbConfiguration implements Cloneable {
 
@@ -38,9 +40,6 @@ public class CosmosDbConfiguration implements Cloneable {
     @UriParam(label = "security", secret = true)
     @Metadata(required = false)
     private String accountKey;
-    @UriParam(label = "security", secret = false)
-    @Metadata(required = false)
-    private boolean useDefaultIdentity;
     @UriParam(label = "common")
     @Metadata(required = true)
     private String databaseEndpoint;
@@ -93,6 +92,9 @@ public class CosmosDbConfiguration implements Cloneable {
     private CosmosQueryRequestOptions queryRequestOptions;
     @UriParam(label = "producer", defaultValue = "listDatabases")
     private CosmosDbOperationsDefinition operation = CosmosDbOperationsDefinition.listDatabases;
+    @UriParam(label = "common", enums = "SHARED_ACCOUNT_KEY,AZURE_IDENTITY",
+              defaultValue = "AZURE_IDENTITY")
+    private CredentialType credentialType = SHARED_ACCOUNT_KEY;
 
     public CosmosDbConfiguration() {
     }
@@ -132,15 +134,15 @@ public class CosmosDbConfiguration implements Cloneable {
         this.accountKey = accountKey;
     }
 
-    /**
-     * Indicates whether to use the default identity mechanism instead of the access key.
-     */
-    public boolean isUseDefaultIdentity() {
-        return useDefaultIdentity;
+    public CredentialType getCredentialType() {
+        return credentialType;
     }
 
-    public void setUseDefaultIdentity(boolean useDefaultIdentity) {
-        this.useDefaultIdentity = useDefaultIdentity;
+    /**
+     * Determines the credential strategy to adopt
+     */
+    public void setCredentialType(CredentialType credentialType) {
+        this.credentialType = credentialType;
     }
 
     /**
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CredentialType.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CredentialType.java
new file mode 100644
index 00000000000..2ee476684bc
--- /dev/null
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CredentialType.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.cosmosdb;
+
+public enum CredentialType {
+    /**
+     * storage shared account key
+     */
+    SHARED_ACCOUNT_KEY,
+    /**
+     * Includes:
+     * <uL>
+     * <li>Service principal with secret</li>
+     * <li>Service principal with certificate</li>
+     * <li>username and password</li>
+     * </uL>
+     *
+     * @see com.azure.identity.DefaultAzureCredentialBuilder
+     */
+    AZURE_IDENTITY
+}
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java
index eba3a1f7b2a..195af0f0324 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java
@@ -23,6 +23,7 @@ import com.azure.cosmos.CosmosClient;
 import com.azure.cosmos.CosmosClientBuilder;
 import com.azure.identity.DefaultAzureCredentialBuilder;
 import org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration;
+import org.apache.camel.component.azure.cosmosdb.CredentialType;
 import org.apache.camel.util.ObjectHelper;
 
 public final class CosmosDbClientFactory {
@@ -55,9 +56,8 @@ public final class CosmosDbClientFactory {
                     .map(String::trim)
                     .toList());
         }
-        if (configuration.isUseDefaultIdentity()) {
-            final DefaultAzureCredentialBuilder defaultAzureCredentialBuilder = new DefaultAzureCredentialBuilder();
-            builder.credential(defaultAzureCredentialBuilder.build());
+        if (configuration.getCredentialType().equals(CredentialType.AZURE_IDENTITY)) {
+            builder.credential(new DefaultAzureCredentialBuilder().build());
         } else {
             builder.key(configuration.getAccountKey());
         }
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 0c235680e51..13f411aed5d 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
@@ -25,10 +25,7 @@ import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
 
 class CosmosDbEndpointTest extends CamelTestSupport {
 
@@ -60,6 +57,28 @@ class CosmosDbEndpointTest extends CamelTestSupport {
         assertEquals("myContainer", endpoint.getConfiguration().getContainerName());
         assertEquals("https://test.com:443", endpoint.getConfiguration().getDatabaseEndpoint());
         assertEquals("myKey", endpoint.getConfiguration().getAccountKey());
+        assertEquals(CredentialType.SHARED_ACCOUNT_KEY, endpoint.getConfiguration().getCredentialType());
+        assertTrue(endpoint.getConfiguration().isCreateDatabaseIfNotExists());
+    }
+
+    @Test
+    void testCreateEndpointWithIdentityConfig() 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("credentialType", CredentialType.AZURE_IDENTITY);
+
+        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(CredentialType.AZURE_IDENTITY, endpoint.getConfiguration().getCredentialType());
         assertTrue(endpoint.getConfiguration().isCreateDatabaseIfNotExists());
     }
 
@@ -81,6 +100,7 @@ class CosmosDbEndpointTest extends CamelTestSupport {
         assertEquals("https://test.com:443", endpoint.getConfiguration().getDatabaseEndpoint());
         assertEquals("myKey", endpoint.getConfiguration().getAccountKey());
         assertEquals("Lazy", endpoint.getConfiguration().getIndexingPolicy().getIndexingMode().toString());
+        assertEquals(CredentialType.SHARED_ACCOUNT_KEY, endpoint.getConfiguration().getCredentialType());
         assertTrue(endpoint.getConfiguration().isCreateDatabaseIfNotExists());
 
     }
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 1400da1876c..8f05c4e9485 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
@@ -223,6 +223,23 @@ public interface AzureCosmosdbComponentBuilderFactory {
             doSetProperty("createDatabaseIfNotExists", createDatabaseIfNotExists);
             return this;
         }
+        /**
+         * Determines the credential strategy to adopt.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.component.azure.cosmosdb.CredentialType&lt;/code&gt; type.
+         * 
+         * Default: AZURE_IDENTITY
+         * Group: common
+         * 
+         * @param credentialType the value to set
+         * @return the dsl builder
+         */
+        default AzureCosmosdbComponentBuilder credentialType(
+                org.apache.camel.component.azure.cosmosdb.CredentialType credentialType) {
+            doSetProperty("credentialType", credentialType);
+            return this;
+        }
         /**
          * Sets the Azure Cosmos database endpoint the component will connect
          * to.
@@ -620,23 +637,6 @@ public interface AzureCosmosdbComponentBuilderFactory {
             doSetProperty("accountKey", accountKey);
             return this;
         }
-        /**
-         * Indicates whether to use the default identity mechanism instead of
-         * the access key.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: security
-         * 
-         * @param useDefaultIdentity the value to set
-         * @return the dsl builder
-         */
-        default AzureCosmosdbComponentBuilder useDefaultIdentity(
-                boolean useDefaultIdentity) {
-            doSetProperty("useDefaultIdentity", useDefaultIdentity);
-            return this;
-        }
     }
 
     class AzureCosmosdbComponentBuilderImpl
@@ -670,6 +670,7 @@ public interface AzureCosmosdbComponentBuilderFactory {
             case "cosmosAsyncClient": getOrCreateConfiguration((CosmosDbComponent) component).setCosmosAsyncClient((com.azure.cosmos.CosmosAsyncClient) value); return true;
             case "createContainerIfNotExists": getOrCreateConfiguration((CosmosDbComponent) component).setCreateContainerIfNotExists((boolean) value); return true;
             case "createDatabaseIfNotExists": getOrCreateConfiguration((CosmosDbComponent) component).setCreateDatabaseIfNotExists((boolean) value); return true;
+            case "credentialType": getOrCreateConfiguration((CosmosDbComponent) component).setCredentialType((org.apache.camel.component.azure.cosmosdb.CredentialType) value); return true;
             case "databaseEndpoint": getOrCreateConfiguration((CosmosDbComponent) component).setDatabaseEndpoint((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;
@@ -691,7 +692,6 @@ public interface AzureCosmosdbComponentBuilderFactory {
             case "indexingPolicy": getOrCreateConfiguration((CosmosDbComponent) component).setIndexingPolicy((com.azure.cosmos.models.IndexingPolicy) value); return true;
             case "autowiredEnabled": ((CosmosDbComponent) component).setAutowiredEnabled((boolean) value); return true;
             case "accountKey": getOrCreateConfiguration((CosmosDbComponent) component).setAccountKey((java.lang.String) value); return true;
-            case "useDefaultIdentity": getOrCreateConfiguration((CosmosDbComponent) component).setUseDefaultIdentity((boolean) value); return true;
             default: return false;
             }
         }


(camel) 02/02: CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB - Migration docs

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

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

commit ef04d6c10d0da703a66657a950f124f01efb6385
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Dec 13 10:34:36 2023 +0100

    CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure CosmosDB - Migration docs
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_4.adoc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_4.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_4.adoc
index 2e53cdc5e7f..136a310b11e 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_4.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_4.adoc
@@ -9,4 +9,9 @@ from both 4.0 to 4.1 and 4.1 to 4.2.
 === camel-core
 
 Removed the deprecated constructor from the internal class `org.apache.camel.util.StopWatch`. Users of this class are advised to
-use the default constructor if necessary.
\ No newline at end of file
+use the default constructor if necessary.
+
+=== camel-azure-cosmosdb
+
+The useDefaultIdentity parameter has been removed in favor of the credentialType parameter. Now user should select between SHARED_ACCOUNT_KEY and AZURE_IDENTITY.
+This is part of the effort explained in CAMEL-18590.