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

(camel) branch main updated: CAMEL-17530: azure-storage-blob: add support for lease blob option (#17717)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 04bfcaf5d3b CAMEL-17530: azure-storage-blob: add support for lease blob option (#17717)
04bfcaf5d3b is described below

commit 04bfcaf5d3ba8090a7b54892120bd72681eae142
Author: anirudh-04 <10...@users.noreply.github.com>
AuthorDate: Fri Apr 11 20:41:31 2025 +0530

    CAMEL-17530: azure-storage-blob: add support for lease blob option (#17717)
---
 .../catalog/components/azure-storage-blob.json     | 236 +++++++++++----------
 .../storage/blob/BlobComponentConfigurer.java      |  12 ++
 .../azure/storage/blob/BlobEndpointConfigurer.java |  12 ++
 .../azure/storage/blob/BlobEndpointUriFactory.java |   4 +-
 .../azure/storage/blob/azure-storage-blob.json     | 236 +++++++++++----------
 .../azure/storage/blob/BlobConfiguration.java      |  38 ++++
 .../blob/BlobConfigurationOptionsProxy.java        |   9 +
 .../azure/storage/blob/BlobConstants.java          |  10 +
 .../azure/storage/blob/BlobExchangeHeaders.java    |   8 +
 .../storage/blob/client/BlobClientWrapper.java     |   6 +
 .../storage/blob/operations/BlobOperations.java    |  75 +++++--
 .../blob/operations/BlobOperationsTest.java        |  36 ++++
 .../AzureStorageBlobComponentBuilderFactory.java   |  39 ++++
 .../endpoint/dsl/BlobEndpointBuilderFactory.java   | 230 ++++++++++++++++++++
 14 files changed, 704 insertions(+), 247 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-storage-blob.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-storage-blob.json
index fed8a016b7c..59bc501e1c5 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-storage-blob.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-storage-blob.json
@@ -33,32 +33,34 @@
     "credentialType": { "index": 6, "kind": "property", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.storage.blob. [...]
     "dataCount": { "index": 7, "kind": "property", "displayName": "Data Count", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "How many bytes to include in the range. Must be greater than or equal to 0 if specified." },
     "fileDir": { "index": 8, "kind": "property", "displayName": "File Dir", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and cons [...]
-    "maxResultsPerPage": { "index": 9, "kind": "property", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix elements. [...]
-    "maxRetryRequests": { "index": 10, "kind": "property", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made w [...]
-    "prefix": { "index": 11, "kind": "property", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return a [...]
-    "regex": { "index": 12, "kind": "property", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to ret [...]
-    "sasToken": { "index": 13, "kind": "property", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
-    "serviceClient": { "index": 14, "kind": "property", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hold [...]
-    "timeout": { "index": 15, "kind": "property", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
-    "bridgeErrorHandler": { "index": 16, "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 [...]
-    "blobSequenceNumber": { "index": 17, "kind": "property", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests. [...]
-    "blockListType": { "index": 18, "kind": "property", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "d [...]
-    "changeFeedContext": { "index": 19, "kind": "property", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional con [...]
-    "changeFeedEndTime": { "index": 20, "kind": "property", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results to [...]
-    "changeFeedStartTime": { "index": 21, "kind": "property", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the result [...]
-    "closeStreamAfterWrite": { "index": 22, "kind": "property", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is true" },
-    "commitBlockListLater": { "index": 23, "kind": "property", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committed [...]
-    "createAppendBlob": { "index": 24, "kind": "property", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committin [...]
-    "createPageBlob": { "index": 25, "kind": "property", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page blob." },
-    "downloadLinkExpiration": { "index": 26, "kind": "property", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
-    "lazyStartProducer": { "index": 27, "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": 28, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createAp [...]
-    "pageBlobSize": { "index": 29, "kind": "property", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page bl [...]
-    "autowiredEnabled": { "index": 30, "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  [...]
-    "healthCheckConsumerEnabled": { "index": 31, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
-    "healthCheckProducerEnabled": { "index": 32, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
-    "accessKey": { "index": 33, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob serv [...]
-    "sourceBlobAccessKey": { "index": 34, "kind": "property", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an acc [...]
+    "leaseBlob": { "index": 9, "kind": "property", "displayName": "Lease Blob", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets whether a lease should be acquired when accessing the blob. When set to true, the c [...]
+    "leaseDurationInSeconds": { "index": 10, "kind": "property", "displayName": "Lease Duration In Seconds", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "60", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets the lease duration in seconds. Use -1 for inf [...]
+    "maxResultsPerPage": { "index": 11, "kind": "property", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix elements [...]
+    "maxRetryRequests": { "index": 12, "kind": "property", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made w [...]
+    "prefix": { "index": 13, "kind": "property", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return a [...]
+    "regex": { "index": 14, "kind": "property", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to ret [...]
+    "sasToken": { "index": 15, "kind": "property", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
+    "serviceClient": { "index": 16, "kind": "property", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hold [...]
+    "timeout": { "index": 17, "kind": "property", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
+    "bridgeErrorHandler": { "index": 18, "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 [...]
+    "blobSequenceNumber": { "index": 19, "kind": "property", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests. [...]
+    "blockListType": { "index": 20, "kind": "property", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "d [...]
+    "changeFeedContext": { "index": 21, "kind": "property", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional con [...]
+    "changeFeedEndTime": { "index": 22, "kind": "property", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results to [...]
+    "changeFeedStartTime": { "index": 23, "kind": "property", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the result [...]
+    "closeStreamAfterWrite": { "index": 24, "kind": "property", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is true" },
+    "commitBlockListLater": { "index": 25, "kind": "property", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committed [...]
+    "createAppendBlob": { "index": 26, "kind": "property", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committin [...]
+    "createPageBlob": { "index": 27, "kind": "property", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page blob." },
+    "downloadLinkExpiration": { "index": 28, "kind": "property", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
+    "lazyStartProducer": { "index": 29, "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": 30, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createAp [...]
+    "pageBlobSize": { "index": 31, "kind": "property", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page bl [...]
+    "autowiredEnabled": { "index": 32, "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  [...]
+    "healthCheckConsumerEnabled": { "index": 33, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+    "healthCheckProducerEnabled": { "index": 34, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
+    "accessKey": { "index": 35, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob serv [...]
+    "sourceBlobAccessKey": { "index": 36, "kind": "property", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an acc [...]
   },
   "headers": {
     "CamelAzureStorageBlobOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createAppendBlob" [...]
@@ -76,54 +78,56 @@
     "CamelAzureStorageBlobBlobUploadSize": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When uploading a blob with the uploadBlockBlob-operation this can be used to tell the client what the length of an InputStream is.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_UPLO [...]
     "CamelAzureStorageBlobSequenceNumber": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (createPageBlob) A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1. The default value is 0. (consumer) The current sequence number for a page blo [...]
     "CamelAzureStorageBlobBlobType": { "index": 14, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "org.apache.camel.component.azure.storage.blob.BlobType", "enum": [ "blockblob", "appendblob", "pageblob" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The type of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_TYPE" },
-    "CamelAzureStorageBlobLeaseStatus": { "index": 15, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStatusType", "enum": [ "locked", "unlocked" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_STATUS" },
-    "CamelAzureStorageBlobLeaseState": { "index": 16, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStateType", "enum": [ "available", "leased", "expired", "breaking", "broken" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "State of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEAS [...]
-    "CamelAzureStorageBlobLeaseDuration": { "index": 17, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseDurationType", "enum": [ "infinite", "fixed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Type of lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_DURATION" },
-    "CamelAzureStorageBlobCopyId": { "index": 18, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Identifier of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_ID" },
-    "CamelAzureStorageBlobCopyStatus": { "index": 19, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.CopyStatusType", "enum": [ "pending", "success", "aborted", "failed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
-    "CamelAzureStorageBlobCopySource": { "index": 20, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Source of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_SOURCE" },
-    "CamelAzureStorageBlobCopyProgress": { "index": 21, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Progress of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_PROGRESS" },
-    "CamelAzureStorageBlobCopyCompletionTime": { "index": 22, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the last copy operation on the blob completed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_COMPILATION_TIME" },
-    "CamelAzureStorageBlobCopyStatusDescription": { "index": 23, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Description of the last copy operation on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_STATUS_DESCRIPTION" },
-    "CamelAzureStorageBlobCopyDestinationSnapshot": { "index": 24, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Snapshot identifier of the last incremental copy snapshot for the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_DESTINATION_SNAPSHOT" },
-    "CamelAzureStorageBlobIsServerEncrypted": { "index": 25, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob's content is encrypted on the server.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_SERVER_ENCRYPTED" },
-    "CamelAzureStorageBlobIsIncrementalCopy": { "index": 26, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob was incrementally copied.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_INCREMENTAL_COPY" },
-    "CamelAzureStorageBlobAccessTier": { "index": 27, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "AccessTier", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (uploadBlockBlob, commitBlobBlockList) Defines values for AccessTier. (consumer) Access tier of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER" },
-    "CamelAzureStorageBlobIsAccessTierInferred": { "index": 28, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the access tier of the blob was inferred from properties of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_ACCESS_TIER_INFRRRED" },
-    "CamelAzureStorageBlobArchiveStatus": { "index": 29, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "ArchiveStatus", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Archive status of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ARCHIVE_STATUS" },
-    "CamelAzureStorageBlobaccessTierChangeTime": { "index": 30, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the access tier of the blob last changed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER_CHANGE_TIME" },
-    "CamelAzureStorageBlobMetadata": { "index": 31, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Map<String,String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (Operations related to container and blob) Operations related to container and blob Metadata to associate with the container or blob. (consumer) Additional metadata associated with the blob.", "constantName": " [...]
-    "CamelAzureStorageBlobCommittedBlockCount": { "index": 32, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of blocks committed to an append blob", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMITTED_BLOCK_COUNT" },
-    "CamelAzureStorageBlobAppendOffset": { "index": 33, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The offset at which the block was committed to the block blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#APPEND_OFFSET" },
-    "CamelAzureStorageBlobRawHttpHeaders": { "index": 34, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "HttpHeaders", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Returns non-parsed httpHeaders that can be used by the user.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#RAW_HTTP_HEADERS" },
-    "CamelAzureStorageBlobFileName": { "index": 35, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The downloaded filename from the operation downloadBlobToFile.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_NAME" },
-    "CamelAzureStorageBlobDownloadLink": { "index": 36, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The download link generated by downloadLink operation.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK" },
-    "CamelAzureStorageBlobListBlobOptions": { "index": 37, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobsOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Defines options available to configure the behavior of a call to listBlobsFlatSegment on a BlobContainerClient object.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConsta [...]
-    "CamelAzureStorageBlobListDetails": { "index": 38, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobListDetails", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) The details for listing specific blobs", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_LIST_DETAILS" },
-    "CamelAzureStorageBlobPrefix": { "index": 39, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PREFIX" },
-    "CamelAzureStorageBlobRegex": { "index": 40, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names match the specified regular expression. May be null to return all. If both prefix and regex are set, regex takes the priority and prefix is ignored.", "c [...]
-    "CamelAzureStorageBlobMaxResultsPerPage": { "index": 41, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up  [...]
-    "CamelAzureStorageBlobTimeout": { "index": 42, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Duration", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(All) An optional timeout value beyond which a RuntimeException will be raised.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#TIMEOUT" },
-    "CamelAzureStorageBlobPublicAccessType": { "index": 43, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PublicAccessType", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createContainer) Specifies how the data in this container is available to the public. Pass null for no public access.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PUBLIC_ [...]
-    "CamelAzureStorageBlobRequestCondition": { "index": 44, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobRequestConditions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) This contains values which will restrict the successful operation of a variety of requests to the conditions present. These conditions are entirely optional. [...]
-    "CamelAzureStorageBlobBlobContainerName": { "index": 45, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) Override\/set the container name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_CONTAINER_NAME" },
-    "CamelAzureStorageBlobBlobName": { "index": 46, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to blob) Override\/set the blob name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_NAME" },
-    "CamelAzureStorageBlobFileDir": { "index": 47, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) The file directory where the downloaded blobs will be saved to.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_DIR" },
-    "CamelAzureStorageBlobPageBlobRange": { "index": 48, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PageRange", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to page blob) A PageRange object. Given that pages must be aligned with 512-byte boundaries, the start offset must be a modulus of 512 and the end offset must be a modulus of 512 - 1. Examples of [...]
-    "CamelAzureStorageBlobPageBlobSize": { "index": 49, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createPageBlob, resizePageBlob) Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
-    "CamelAzureStorageBlobCommitBlobBlockListLater": { "index": 50, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(stageBlockBlobList) When is set to true, the staged blocks will not be committed directly.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMIT_BLOCK_LIST_LATER" },
-    "CamelAzureStorageBlobBlockListType": { "index": 51, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getBlobBlockList) Specifies which type of blocks to return.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCons [...]
-    "CamelAzureStorageBlobCreateAppendBlob": { "index": 52, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(commitAppendBlob) When is set to true, the append blocks will be created when committing append blocks.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_APPEND_BLOB" },
-    "CamelAzureStorageBlobCreatePageBlob": { "index": 53, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(uploadPageBlob) When is set to true, the page blob will be created when uploading page blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_PAGE_BLOB" },
-    "CamelAzureStorageBlobDeleteSnapshotsOptionType": { "index": 54, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.DeleteSnapshotsOptionType", "enum": [ "include", "only" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(deleteBlob) Specifies the behavior for deleting the snapshots on this blob. Include will delete the base blob and all snapsho [...]
-    "CamelAzureStorageBlobListBlobContainersOptions": { "index": 55, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobContainersOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobContainers) A ListBlobContainersOptions which specifies what data should be returned by the service.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstant [...]
-    "CamelAzureStorageBlobParallelTransferOptions": { "index": 56, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ParallelTransferOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) ParallelTransferOptions to use to download to file. Number of parallel transfers parameter is ignored.", "constantName": "org.apache.camel.component.azure.storage.blob.Bl [...]
-    "CamelAzureStorageBlobDownloadLinkExpiration": { "index": 57, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadLink) Override the default expiration (millis) of URL download link.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK_EXPIRATION" },
-    "CamelAzureStorageBlobSourceBlobAccountName": { "index": 58, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob account name to be used as source account name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_ACCOUNT_NAME" },
-    "CamelAzureStorageBlobSourceBlobContainerName": { "index": 59, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob container name to be used as source container name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_CONTAINER_NAME" },
-    "CamelAzureStorageBlobChangeFeedStartTime": { "index": 60, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can  [...]
-    "CamelAzureStorageBlobChangeFeedEndTime": { "index": 61, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be miss [...]
-    "CamelAzureStorageBlobContext": { "index": 62, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Context", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) This gives additional context that is passed through the Http pipeline during the service call.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CHANGE_FEED_CONTEXT" }
+    "CamelAzureStorageBlobLeaseBlob": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "common", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Specifies whether blob leasing is enabled for the operation. When set to true, the component will acquire an exclusive lease on the target blob to prevent concurrent processing by multiple routes or applications.", "constantN [...]
+    "CamelAzureStorageBlobLeaseDurationInSeconds": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "common", "required": false, "javaType": "java.lang.Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Specifies the lease duration in seconds. Valid values are between 15 and 60 for fixed duration, or -1 for infinite duration.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstant [...]
+    "CamelAzureStorageBlobLeaseStatus": { "index": 17, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStatusType", "enum": [ "locked", "unlocked" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_STATUS" },
+    "CamelAzureStorageBlobLeaseState": { "index": 18, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStateType", "enum": [ "available", "leased", "expired", "breaking", "broken" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "State of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEAS [...]
+    "CamelAzureStorageBlobLeaseDuration": { "index": 19, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseDurationType", "enum": [ "infinite", "fixed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Type of lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_DURATION" },
+    "CamelAzureStorageBlobCopyId": { "index": 20, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Identifier of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_ID" },
+    "CamelAzureStorageBlobCopyStatus": { "index": 21, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.CopyStatusType", "enum": [ "pending", "success", "aborted", "failed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
+    "CamelAzureStorageBlobCopySource": { "index": 22, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Source of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_SOURCE" },
+    "CamelAzureStorageBlobCopyProgress": { "index": 23, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Progress of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_PROGRESS" },
+    "CamelAzureStorageBlobCopyCompletionTime": { "index": 24, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the last copy operation on the blob completed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_COMPILATION_TIME" },
+    "CamelAzureStorageBlobCopyStatusDescription": { "index": 25, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Description of the last copy operation on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_STATUS_DESCRIPTION" },
+    "CamelAzureStorageBlobCopyDestinationSnapshot": { "index": 26, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Snapshot identifier of the last incremental copy snapshot for the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_DESTINATION_SNAPSHOT" },
+    "CamelAzureStorageBlobIsServerEncrypted": { "index": 27, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob's content is encrypted on the server.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_SERVER_ENCRYPTED" },
+    "CamelAzureStorageBlobIsIncrementalCopy": { "index": 28, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob was incrementally copied.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_INCREMENTAL_COPY" },
+    "CamelAzureStorageBlobAccessTier": { "index": 29, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "AccessTier", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (uploadBlockBlob, commitBlobBlockList) Defines values for AccessTier. (consumer) Access tier of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER" },
+    "CamelAzureStorageBlobIsAccessTierInferred": { "index": 30, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the access tier of the blob was inferred from properties of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_ACCESS_TIER_INFRRRED" },
+    "CamelAzureStorageBlobArchiveStatus": { "index": 31, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "ArchiveStatus", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Archive status of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ARCHIVE_STATUS" },
+    "CamelAzureStorageBlobaccessTierChangeTime": { "index": 32, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the access tier of the blob last changed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER_CHANGE_TIME" },
+    "CamelAzureStorageBlobMetadata": { "index": 33, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Map<String,String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (Operations related to container and blob) Operations related to container and blob Metadata to associate with the container or blob. (consumer) Additional metadata associated with the blob.", "constantName": " [...]
+    "CamelAzureStorageBlobCommittedBlockCount": { "index": 34, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of blocks committed to an append blob", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMITTED_BLOCK_COUNT" },
+    "CamelAzureStorageBlobAppendOffset": { "index": 35, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The offset at which the block was committed to the block blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#APPEND_OFFSET" },
+    "CamelAzureStorageBlobRawHttpHeaders": { "index": 36, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "HttpHeaders", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Returns non-parsed httpHeaders that can be used by the user.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#RAW_HTTP_HEADERS" },
+    "CamelAzureStorageBlobFileName": { "index": 37, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The downloaded filename from the operation downloadBlobToFile.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_NAME" },
+    "CamelAzureStorageBlobDownloadLink": { "index": 38, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The download link generated by downloadLink operation.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK" },
+    "CamelAzureStorageBlobListBlobOptions": { "index": 39, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobsOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Defines options available to configure the behavior of a call to listBlobsFlatSegment on a BlobContainerClient object.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConsta [...]
+    "CamelAzureStorageBlobListDetails": { "index": 40, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobListDetails", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) The details for listing specific blobs", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_LIST_DETAILS" },
+    "CamelAzureStorageBlobPrefix": { "index": 41, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PREFIX" },
+    "CamelAzureStorageBlobRegex": { "index": 42, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names match the specified regular expression. May be null to return all. If both prefix and regex are set, regex takes the priority and prefix is ignored.", "c [...]
+    "CamelAzureStorageBlobMaxResultsPerPage": { "index": 43, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up  [...]
+    "CamelAzureStorageBlobTimeout": { "index": 44, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Duration", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(All) An optional timeout value beyond which a RuntimeException will be raised.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#TIMEOUT" },
+    "CamelAzureStorageBlobPublicAccessType": { "index": 45, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PublicAccessType", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createContainer) Specifies how the data in this container is available to the public. Pass null for no public access.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PUBLIC_ [...]
+    "CamelAzureStorageBlobRequestCondition": { "index": 46, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobRequestConditions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) This contains values which will restrict the successful operation of a variety of requests to the conditions present. These conditions are entirely optional. [...]
+    "CamelAzureStorageBlobBlobContainerName": { "index": 47, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) Override\/set the container name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_CONTAINER_NAME" },
+    "CamelAzureStorageBlobBlobName": { "index": 48, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to blob) Override\/set the blob name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_NAME" },
+    "CamelAzureStorageBlobFileDir": { "index": 49, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) The file directory where the downloaded blobs will be saved to.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_DIR" },
+    "CamelAzureStorageBlobPageBlobRange": { "index": 50, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PageRange", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to page blob) A PageRange object. Given that pages must be aligned with 512-byte boundaries, the start offset must be a modulus of 512 and the end offset must be a modulus of 512 - 1. Examples of [...]
+    "CamelAzureStorageBlobPageBlobSize": { "index": 51, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createPageBlob, resizePageBlob) Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
+    "CamelAzureStorageBlobCommitBlobBlockListLater": { "index": 52, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(stageBlockBlobList) When is set to true, the staged blocks will not be committed directly.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMIT_BLOCK_LIST_LATER" },
+    "CamelAzureStorageBlobBlockListType": { "index": 53, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getBlobBlockList) Specifies which type of blocks to return.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCons [...]
+    "CamelAzureStorageBlobCreateAppendBlob": { "index": 54, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(commitAppendBlob) When is set to true, the append blocks will be created when committing append blocks.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_APPEND_BLOB" },
+    "CamelAzureStorageBlobCreatePageBlob": { "index": 55, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(uploadPageBlob) When is set to true, the page blob will be created when uploading page blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_PAGE_BLOB" },
+    "CamelAzureStorageBlobDeleteSnapshotsOptionType": { "index": 56, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.DeleteSnapshotsOptionType", "enum": [ "include", "only" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(deleteBlob) Specifies the behavior for deleting the snapshots on this blob. Include will delete the base blob and all snapsho [...]
+    "CamelAzureStorageBlobListBlobContainersOptions": { "index": 57, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobContainersOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobContainers) A ListBlobContainersOptions which specifies what data should be returned by the service.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstant [...]
+    "CamelAzureStorageBlobParallelTransferOptions": { "index": 58, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ParallelTransferOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) ParallelTransferOptions to use to download to file. Number of parallel transfers parameter is ignored.", "constantName": "org.apache.camel.component.azure.storage.blob.Bl [...]
+    "CamelAzureStorageBlobDownloadLinkExpiration": { "index": 59, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadLink) Override the default expiration (millis) of URL download link.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK_EXPIRATION" },
+    "CamelAzureStorageBlobSourceBlobAccountName": { "index": 60, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob account name to be used as source account name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_ACCOUNT_NAME" },
+    "CamelAzureStorageBlobSourceBlobContainerName": { "index": 61, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob container name to be used as source container name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_CONTAINER_NAME" },
+    "CamelAzureStorageBlobChangeFeedStartTime": { "index": 62, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can  [...]
+    "CamelAzureStorageBlobChangeFeedEndTime": { "index": 63, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be miss [...]
+    "CamelAzureStorageBlobContext": { "index": 64, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Context", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) This gives additional context that is passed through the Http pipeline during the service call.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CHANGE_FEED_CONTEXT" }
   },
   "properties": {
     "accountName": { "index": 0, "kind": "path", "displayName": "Account Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Azure account name to be used for authentication with azure blob services" },
@@ -137,46 +141,48 @@
     "credentialType": { "index": 8, "kind": "parameter", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.storage.blob [...]
     "dataCount": { "index": 9, "kind": "parameter", "displayName": "Data Count", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "How many bytes to include in the range. Must be greater than or equal to 0 if specified." },
     "fileDir": { "index": 10, "kind": "parameter", "displayName": "File Dir", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and co [...]
-    "maxResultsPerPage": { "index": 11, "kind": "parameter", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix element [...]
-    "maxRetryRequests": { "index": 12, "kind": "parameter", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made  [...]
-    "prefix": { "index": 13, "kind": "parameter", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return  [...]
-    "regex": { "index": 14, "kind": "parameter", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to re [...]
-    "sasToken": { "index": 15, "kind": "parameter", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
-    "serviceClient": { "index": 16, "kind": "parameter", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hol [...]
-    "timeout": { "index": 17, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
-    "sendEmptyMessageWhenIdle": { "index": 18, "kind": "parameter", "displayName": "Send Empty Message When Idle", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead." },
-    "bridgeErrorHandler": { "index": 19, "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": 20, "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": 21, "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." },
-    "pollStrategy": { "index": 22, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
-    "blobSequenceNumber": { "index": 23, "kind": "parameter", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests [...]
-    "blockListType": { "index": 24, "kind": "parameter", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", " [...]
-    "changeFeedContext": { "index": 25, "kind": "parameter", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional co [...]
-    "changeFeedEndTime": { "index": 26, "kind": "parameter", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results t [...]
-    "changeFeedStartTime": { "index": 27, "kind": "parameter", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the resul [...]
-    "closeStreamAfterWrite": { "index": 28, "kind": "parameter", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is  [...]
-    "commitBlockListLater": { "index": 29, "kind": "parameter", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committe [...]
-    "createAppendBlob": { "index": 30, "kind": "parameter", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committi [...]
-    "createPageBlob": { "index": 31, "kind": "parameter", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page b [...]
-    "downloadLinkExpiration": { "index": 32, "kind": "parameter", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
-    "operation": { "index": 33, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createA [...]
-    "pageBlobSize": { "index": 34, "kind": "parameter", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page b [...]
-    "lazyStartProducer": { "index": 35, "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 [...]
-    "backoffErrorThreshold": { "index": 36, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 37, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 38, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 39, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 40, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 41, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 42, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 43, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 44, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 45, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 46, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 47, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 48, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 49, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "accessKey": { "index": 50, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob ser [...]
-    "sourceBlobAccessKey": { "index": 51, "kind": "parameter", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an ac [...]
+    "leaseBlob": { "index": 11, "kind": "parameter", "displayName": "Lease Blob", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets whether a lease should be acquired when accessing the blob. When set to true, the [...]
+    "leaseDurationInSeconds": { "index": 12, "kind": "parameter", "displayName": "Lease Duration In Seconds", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "60", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets the lease duration in seconds. Use -1 for in [...]
+    "maxResultsPerPage": { "index": 13, "kind": "parameter", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix element [...]
+    "maxRetryRequests": { "index": 14, "kind": "parameter", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made  [...]
+    "prefix": { "index": 15, "kind": "parameter", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return  [...]
+    "regex": { "index": 16, "kind": "parameter", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to re [...]
+    "sasToken": { "index": 17, "kind": "parameter", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
+    "serviceClient": { "index": 18, "kind": "parameter", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hol [...]
+    "timeout": { "index": 19, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
+    "sendEmptyMessageWhenIdle": { "index": 20, "kind": "parameter", "displayName": "Send Empty Message When Idle", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead." },
+    "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." },
+    "pollStrategy": { "index": 24, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
+    "blobSequenceNumber": { "index": 25, "kind": "parameter", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests [...]
+    "blockListType": { "index": 26, "kind": "parameter", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", " [...]
+    "changeFeedContext": { "index": 27, "kind": "parameter", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional co [...]
+    "changeFeedEndTime": { "index": 28, "kind": "parameter", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results t [...]
+    "changeFeedStartTime": { "index": 29, "kind": "parameter", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the resul [...]
+    "closeStreamAfterWrite": { "index": 30, "kind": "parameter", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is  [...]
+    "commitBlockListLater": { "index": 31, "kind": "parameter", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committe [...]
+    "createAppendBlob": { "index": 32, "kind": "parameter", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committi [...]
+    "createPageBlob": { "index": 33, "kind": "parameter", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page b [...]
+    "downloadLinkExpiration": { "index": 34, "kind": "parameter", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
+    "operation": { "index": 35, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createA [...]
+    "pageBlobSize": { "index": 36, "kind": "parameter", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page b [...]
+    "lazyStartProducer": { "index": 37, "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 [...]
+    "backoffErrorThreshold": { "index": 38, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 39, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 40, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 41, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 42, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 43, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 44, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 45, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
+    "scheduledExecutorService": { "index": 46, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 47, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 48, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 49, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 50, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 51, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "accessKey": { "index": 52, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob ser [...]
+    "sourceBlobAccessKey": { "index": 53, "kind": "parameter", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an ac [...]
   }
 }
diff --git a/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java b/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java
index 73d2da5c7e2..add68ce02d7 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java
@@ -78,6 +78,10 @@ public class BlobComponentConfigurer extends PropertyConfigurerSupport implement
         case "healthCheckProducerEnabled": target.setHealthCheckProducerEnabled(property(camelContext, boolean.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
+        case "leaseblob":
+        case "leaseBlob": getOrCreateConfiguration(target).setLeaseBlob(property(camelContext, boolean.class, value)); return true;
+        case "leasedurationinseconds":
+        case "leaseDurationInSeconds": getOrCreateConfiguration(target).setLeaseDurationInSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
         case "maxresultsperpage":
         case "maxResultsPerPage": getOrCreateConfiguration(target).setMaxResultsPerPage(property(camelContext, java.lang.Integer.class, value)); return true;
         case "maxretryrequests":
@@ -154,6 +158,10 @@ public class BlobComponentConfigurer extends PropertyConfigurerSupport implement
         case "healthCheckProducerEnabled": return boolean.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
+        case "leaseblob":
+        case "leaseBlob": return boolean.class;
+        case "leasedurationinseconds":
+        case "leaseDurationInSeconds": return java.lang.Integer.class;
         case "maxresultsperpage":
         case "maxResultsPerPage": return java.lang.Integer.class;
         case "maxretryrequests":
@@ -226,6 +234,10 @@ public class BlobComponentConfigurer extends PropertyConfigurerSupport implement
         case "healthCheckProducerEnabled": return target.isHealthCheckProducerEnabled();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "leaseblob":
+        case "leaseBlob": return getOrCreateConfiguration(target).isLeaseBlob();
+        case "leasedurationinseconds":
+        case "leaseDurationInSeconds": return getOrCreateConfiguration(target).getLeaseDurationInSeconds();
         case "maxresultsperpage":
         case "maxResultsPerPage": return getOrCreateConfiguration(target).getMaxResultsPerPage();
         case "maxretryrequests":
diff --git a/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java b/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java
index 3d78f0b7ed0..49cec3eb0ee 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java
@@ -80,6 +80,10 @@ public class BlobEndpointConfigurer extends PropertyConfigurerSupport implements
         case "initialDelay": target.setInitialDelay(property(camelContext, long.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
+        case "leaseblob":
+        case "leaseBlob": target.getConfiguration().setLeaseBlob(property(camelContext, boolean.class, value)); return true;
+        case "leasedurationinseconds":
+        case "leaseDurationInSeconds": target.getConfiguration().setLeaseDurationInSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
         case "maxresultsperpage":
         case "maxResultsPerPage": target.getConfiguration().setMaxResultsPerPage(property(camelContext, java.lang.Integer.class, value)); return true;
         case "maxretryrequests":
@@ -184,6 +188,10 @@ public class BlobEndpointConfigurer extends PropertyConfigurerSupport implements
         case "initialDelay": return long.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
+        case "leaseblob":
+        case "leaseBlob": return boolean.class;
+        case "leasedurationinseconds":
+        case "leaseDurationInSeconds": return java.lang.Integer.class;
         case "maxresultsperpage":
         case "maxResultsPerPage": return java.lang.Integer.class;
         case "maxretryrequests":
@@ -284,6 +292,10 @@ public class BlobEndpointConfigurer extends PropertyConfigurerSupport implements
         case "initialDelay": return target.getInitialDelay();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "leaseblob":
+        case "leaseBlob": return target.getConfiguration().isLeaseBlob();
+        case "leasedurationinseconds":
+        case "leaseDurationInSeconds": return target.getConfiguration().getLeaseDurationInSeconds();
         case "maxresultsperpage":
         case "maxResultsPerPage": return target.getConfiguration().getMaxResultsPerPage();
         case "maxretryrequests":
diff --git a/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointUriFactory.java b/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointUriFactory.java
index 5b285b4f113..e5b0bb4b85b 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointUriFactory.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointUriFactory.java
@@ -23,7 +23,7 @@ public class BlobEndpointUriFactory extends org.apache.camel.support.component.E
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(52);
+        Set<String> props = new HashSet<>(54);
         props.add("accessKey");
         props.add("accountName");
         props.add("backoffErrorThreshold");
@@ -56,6 +56,8 @@ public class BlobEndpointUriFactory extends org.apache.camel.support.component.E
         props.add("greedy");
         props.add("initialDelay");
         props.add("lazyStartProducer");
+        props.add("leaseBlob");
+        props.add("leaseDurationInSeconds");
         props.add("maxResultsPerPage");
         props.add("maxRetryRequests");
         props.add("operation");
diff --git a/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json b/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json
index fed8a016b7c..59bc501e1c5 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json
+++ b/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json
@@ -33,32 +33,34 @@
     "credentialType": { "index": 6, "kind": "property", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.storage.blob. [...]
     "dataCount": { "index": 7, "kind": "property", "displayName": "Data Count", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "How many bytes to include in the range. Must be greater than or equal to 0 if specified." },
     "fileDir": { "index": 8, "kind": "property", "displayName": "File Dir", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and cons [...]
-    "maxResultsPerPage": { "index": 9, "kind": "property", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix elements. [...]
-    "maxRetryRequests": { "index": 10, "kind": "property", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made w [...]
-    "prefix": { "index": 11, "kind": "property", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return a [...]
-    "regex": { "index": 12, "kind": "property", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to ret [...]
-    "sasToken": { "index": 13, "kind": "property", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
-    "serviceClient": { "index": 14, "kind": "property", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hold [...]
-    "timeout": { "index": 15, "kind": "property", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
-    "bridgeErrorHandler": { "index": 16, "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 [...]
-    "blobSequenceNumber": { "index": 17, "kind": "property", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests. [...]
-    "blockListType": { "index": 18, "kind": "property", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "d [...]
-    "changeFeedContext": { "index": 19, "kind": "property", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional con [...]
-    "changeFeedEndTime": { "index": 20, "kind": "property", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results to [...]
-    "changeFeedStartTime": { "index": 21, "kind": "property", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the result [...]
-    "closeStreamAfterWrite": { "index": 22, "kind": "property", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is true" },
-    "commitBlockListLater": { "index": 23, "kind": "property", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committed [...]
-    "createAppendBlob": { "index": 24, "kind": "property", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committin [...]
-    "createPageBlob": { "index": 25, "kind": "property", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page blob." },
-    "downloadLinkExpiration": { "index": 26, "kind": "property", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
-    "lazyStartProducer": { "index": 27, "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": 28, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createAp [...]
-    "pageBlobSize": { "index": 29, "kind": "property", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page bl [...]
-    "autowiredEnabled": { "index": 30, "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  [...]
-    "healthCheckConsumerEnabled": { "index": 31, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
-    "healthCheckProducerEnabled": { "index": 32, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
-    "accessKey": { "index": 33, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob serv [...]
-    "sourceBlobAccessKey": { "index": 34, "kind": "property", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an acc [...]
+    "leaseBlob": { "index": 9, "kind": "property", "displayName": "Lease Blob", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets whether a lease should be acquired when accessing the blob. When set to true, the c [...]
+    "leaseDurationInSeconds": { "index": 10, "kind": "property", "displayName": "Lease Duration In Seconds", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "60", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets the lease duration in seconds. Use -1 for inf [...]
+    "maxResultsPerPage": { "index": 11, "kind": "property", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix elements [...]
+    "maxRetryRequests": { "index": 12, "kind": "property", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made w [...]
+    "prefix": { "index": 13, "kind": "property", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return a [...]
+    "regex": { "index": 14, "kind": "property", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to ret [...]
+    "sasToken": { "index": 15, "kind": "property", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
+    "serviceClient": { "index": 16, "kind": "property", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hold [...]
+    "timeout": { "index": 17, "kind": "property", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
+    "bridgeErrorHandler": { "index": 18, "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 [...]
+    "blobSequenceNumber": { "index": 19, "kind": "property", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests. [...]
+    "blockListType": { "index": 20, "kind": "property", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "d [...]
+    "changeFeedContext": { "index": 21, "kind": "property", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional con [...]
+    "changeFeedEndTime": { "index": 22, "kind": "property", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results to [...]
+    "changeFeedStartTime": { "index": 23, "kind": "property", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the result [...]
+    "closeStreamAfterWrite": { "index": 24, "kind": "property", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is true" },
+    "commitBlockListLater": { "index": 25, "kind": "property", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committed [...]
+    "createAppendBlob": { "index": 26, "kind": "property", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committin [...]
+    "createPageBlob": { "index": 27, "kind": "property", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page blob." },
+    "downloadLinkExpiration": { "index": 28, "kind": "property", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
+    "lazyStartProducer": { "index": 29, "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": 30, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createAp [...]
+    "pageBlobSize": { "index": 31, "kind": "property", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page bl [...]
+    "autowiredEnabled": { "index": 32, "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  [...]
+    "healthCheckConsumerEnabled": { "index": 33, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+    "healthCheckProducerEnabled": { "index": 34, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
+    "accessKey": { "index": 35, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob serv [...]
+    "sourceBlobAccessKey": { "index": 36, "kind": "property", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an acc [...]
   },
   "headers": {
     "CamelAzureStorageBlobOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createAppendBlob" [...]
@@ -76,54 +78,56 @@
     "CamelAzureStorageBlobBlobUploadSize": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When uploading a blob with the uploadBlockBlob-operation this can be used to tell the client what the length of an InputStream is.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_UPLO [...]
     "CamelAzureStorageBlobSequenceNumber": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (createPageBlob) A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1. The default value is 0. (consumer) The current sequence number for a page blo [...]
     "CamelAzureStorageBlobBlobType": { "index": 14, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "org.apache.camel.component.azure.storage.blob.BlobType", "enum": [ "blockblob", "appendblob", "pageblob" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The type of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_TYPE" },
-    "CamelAzureStorageBlobLeaseStatus": { "index": 15, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStatusType", "enum": [ "locked", "unlocked" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_STATUS" },
-    "CamelAzureStorageBlobLeaseState": { "index": 16, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStateType", "enum": [ "available", "leased", "expired", "breaking", "broken" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "State of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEAS [...]
-    "CamelAzureStorageBlobLeaseDuration": { "index": 17, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseDurationType", "enum": [ "infinite", "fixed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Type of lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_DURATION" },
-    "CamelAzureStorageBlobCopyId": { "index": 18, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Identifier of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_ID" },
-    "CamelAzureStorageBlobCopyStatus": { "index": 19, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.CopyStatusType", "enum": [ "pending", "success", "aborted", "failed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
-    "CamelAzureStorageBlobCopySource": { "index": 20, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Source of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_SOURCE" },
-    "CamelAzureStorageBlobCopyProgress": { "index": 21, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Progress of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_PROGRESS" },
-    "CamelAzureStorageBlobCopyCompletionTime": { "index": 22, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the last copy operation on the blob completed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_COMPILATION_TIME" },
-    "CamelAzureStorageBlobCopyStatusDescription": { "index": 23, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Description of the last copy operation on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_STATUS_DESCRIPTION" },
-    "CamelAzureStorageBlobCopyDestinationSnapshot": { "index": 24, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Snapshot identifier of the last incremental copy snapshot for the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_DESTINATION_SNAPSHOT" },
-    "CamelAzureStorageBlobIsServerEncrypted": { "index": 25, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob's content is encrypted on the server.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_SERVER_ENCRYPTED" },
-    "CamelAzureStorageBlobIsIncrementalCopy": { "index": 26, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob was incrementally copied.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_INCREMENTAL_COPY" },
-    "CamelAzureStorageBlobAccessTier": { "index": 27, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "AccessTier", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (uploadBlockBlob, commitBlobBlockList) Defines values for AccessTier. (consumer) Access tier of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER" },
-    "CamelAzureStorageBlobIsAccessTierInferred": { "index": 28, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the access tier of the blob was inferred from properties of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_ACCESS_TIER_INFRRRED" },
-    "CamelAzureStorageBlobArchiveStatus": { "index": 29, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "ArchiveStatus", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Archive status of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ARCHIVE_STATUS" },
-    "CamelAzureStorageBlobaccessTierChangeTime": { "index": 30, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the access tier of the blob last changed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER_CHANGE_TIME" },
-    "CamelAzureStorageBlobMetadata": { "index": 31, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Map<String,String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (Operations related to container and blob) Operations related to container and blob Metadata to associate with the container or blob. (consumer) Additional metadata associated with the blob.", "constantName": " [...]
-    "CamelAzureStorageBlobCommittedBlockCount": { "index": 32, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of blocks committed to an append blob", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMITTED_BLOCK_COUNT" },
-    "CamelAzureStorageBlobAppendOffset": { "index": 33, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The offset at which the block was committed to the block blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#APPEND_OFFSET" },
-    "CamelAzureStorageBlobRawHttpHeaders": { "index": 34, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "HttpHeaders", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Returns non-parsed httpHeaders that can be used by the user.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#RAW_HTTP_HEADERS" },
-    "CamelAzureStorageBlobFileName": { "index": 35, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The downloaded filename from the operation downloadBlobToFile.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_NAME" },
-    "CamelAzureStorageBlobDownloadLink": { "index": 36, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The download link generated by downloadLink operation.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK" },
-    "CamelAzureStorageBlobListBlobOptions": { "index": 37, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobsOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Defines options available to configure the behavior of a call to listBlobsFlatSegment on a BlobContainerClient object.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConsta [...]
-    "CamelAzureStorageBlobListDetails": { "index": 38, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobListDetails", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) The details for listing specific blobs", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_LIST_DETAILS" },
-    "CamelAzureStorageBlobPrefix": { "index": 39, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PREFIX" },
-    "CamelAzureStorageBlobRegex": { "index": 40, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names match the specified regular expression. May be null to return all. If both prefix and regex are set, regex takes the priority and prefix is ignored.", "c [...]
-    "CamelAzureStorageBlobMaxResultsPerPage": { "index": 41, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up  [...]
-    "CamelAzureStorageBlobTimeout": { "index": 42, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Duration", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(All) An optional timeout value beyond which a RuntimeException will be raised.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#TIMEOUT" },
-    "CamelAzureStorageBlobPublicAccessType": { "index": 43, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PublicAccessType", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createContainer) Specifies how the data in this container is available to the public. Pass null for no public access.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PUBLIC_ [...]
-    "CamelAzureStorageBlobRequestCondition": { "index": 44, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobRequestConditions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) This contains values which will restrict the successful operation of a variety of requests to the conditions present. These conditions are entirely optional. [...]
-    "CamelAzureStorageBlobBlobContainerName": { "index": 45, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) Override\/set the container name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_CONTAINER_NAME" },
-    "CamelAzureStorageBlobBlobName": { "index": 46, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to blob) Override\/set the blob name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_NAME" },
-    "CamelAzureStorageBlobFileDir": { "index": 47, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) The file directory where the downloaded blobs will be saved to.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_DIR" },
-    "CamelAzureStorageBlobPageBlobRange": { "index": 48, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PageRange", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to page blob) A PageRange object. Given that pages must be aligned with 512-byte boundaries, the start offset must be a modulus of 512 and the end offset must be a modulus of 512 - 1. Examples of [...]
-    "CamelAzureStorageBlobPageBlobSize": { "index": 49, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createPageBlob, resizePageBlob) Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
-    "CamelAzureStorageBlobCommitBlobBlockListLater": { "index": 50, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(stageBlockBlobList) When is set to true, the staged blocks will not be committed directly.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMIT_BLOCK_LIST_LATER" },
-    "CamelAzureStorageBlobBlockListType": { "index": 51, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getBlobBlockList) Specifies which type of blocks to return.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCons [...]
-    "CamelAzureStorageBlobCreateAppendBlob": { "index": 52, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(commitAppendBlob) When is set to true, the append blocks will be created when committing append blocks.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_APPEND_BLOB" },
-    "CamelAzureStorageBlobCreatePageBlob": { "index": 53, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(uploadPageBlob) When is set to true, the page blob will be created when uploading page blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_PAGE_BLOB" },
-    "CamelAzureStorageBlobDeleteSnapshotsOptionType": { "index": 54, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.DeleteSnapshotsOptionType", "enum": [ "include", "only" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(deleteBlob) Specifies the behavior for deleting the snapshots on this blob. Include will delete the base blob and all snapsho [...]
-    "CamelAzureStorageBlobListBlobContainersOptions": { "index": 55, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobContainersOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobContainers) A ListBlobContainersOptions which specifies what data should be returned by the service.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstant [...]
-    "CamelAzureStorageBlobParallelTransferOptions": { "index": 56, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ParallelTransferOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) ParallelTransferOptions to use to download to file. Number of parallel transfers parameter is ignored.", "constantName": "org.apache.camel.component.azure.storage.blob.Bl [...]
-    "CamelAzureStorageBlobDownloadLinkExpiration": { "index": 57, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadLink) Override the default expiration (millis) of URL download link.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK_EXPIRATION" },
-    "CamelAzureStorageBlobSourceBlobAccountName": { "index": 58, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob account name to be used as source account name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_ACCOUNT_NAME" },
-    "CamelAzureStorageBlobSourceBlobContainerName": { "index": 59, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob container name to be used as source container name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_CONTAINER_NAME" },
-    "CamelAzureStorageBlobChangeFeedStartTime": { "index": 60, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can  [...]
-    "CamelAzureStorageBlobChangeFeedEndTime": { "index": 61, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be miss [...]
-    "CamelAzureStorageBlobContext": { "index": 62, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Context", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) This gives additional context that is passed through the Http pipeline during the service call.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CHANGE_FEED_CONTEXT" }
+    "CamelAzureStorageBlobLeaseBlob": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "common", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Specifies whether blob leasing is enabled for the operation. When set to true, the component will acquire an exclusive lease on the target blob to prevent concurrent processing by multiple routes or applications.", "constantN [...]
+    "CamelAzureStorageBlobLeaseDurationInSeconds": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "common", "required": false, "javaType": "java.lang.Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Specifies the lease duration in seconds. Valid values are between 15 and 60 for fixed duration, or -1 for infinite duration.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstant [...]
+    "CamelAzureStorageBlobLeaseStatus": { "index": 17, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStatusType", "enum": [ "locked", "unlocked" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_STATUS" },
+    "CamelAzureStorageBlobLeaseState": { "index": 18, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseStateType", "enum": [ "available", "leased", "expired", "breaking", "broken" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "State of the lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEAS [...]
+    "CamelAzureStorageBlobLeaseDuration": { "index": 19, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.LeaseDurationType", "enum": [ "infinite", "fixed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Type of lease on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#LEASE_DURATION" },
+    "CamelAzureStorageBlobCopyId": { "index": 20, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Identifier of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_ID" },
+    "CamelAzureStorageBlobCopyStatus": { "index": 21, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.azure.storage.blob.models.CopyStatusType", "enum": [ "pending", "success", "aborted", "failed" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Status of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
+    "CamelAzureStorageBlobCopySource": { "index": 22, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Source of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_SOURCE" },
+    "CamelAzureStorageBlobCopyProgress": { "index": 23, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Progress of the last copy operation performed on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_PROGRESS" },
+    "CamelAzureStorageBlobCopyCompletionTime": { "index": 24, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the last copy operation on the blob completed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_COMPILATION_TIME" },
+    "CamelAzureStorageBlobCopyStatusDescription": { "index": 25, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Description of the last copy operation on the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_STATUS_DESCRIPTION" },
+    "CamelAzureStorageBlobCopyDestinationSnapshot": { "index": 26, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Snapshot identifier of the last incremental copy snapshot for the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COPY_DESTINATION_SNAPSHOT" },
+    "CamelAzureStorageBlobIsServerEncrypted": { "index": 27, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob's content is encrypted on the server.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_SERVER_ENCRYPTED" },
+    "CamelAzureStorageBlobIsIncrementalCopy": { "index": 28, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the blob was incrementally copied.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_INCREMENTAL_COPY" },
+    "CamelAzureStorageBlobAccessTier": { "index": 29, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "AccessTier", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (uploadBlockBlob, commitBlobBlockList) Defines values for AccessTier. (consumer) Access tier of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER" },
+    "CamelAzureStorageBlobIsAccessTierInferred": { "index": 30, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Flag indicating if the access tier of the blob was inferred from properties of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#IS_ACCESS_TIER_INFRRRED" },
+    "CamelAzureStorageBlobArchiveStatus": { "index": 31, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "ArchiveStatus", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Archive status of the blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ARCHIVE_STATUS" },
+    "CamelAzureStorageBlobaccessTierChangeTime": { "index": 32, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Datetime when the access tier of the blob last changed.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#ACCESS_TIER_CHANGE_TIME" },
+    "CamelAzureStorageBlobMetadata": { "index": 33, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Map<String,String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(producer) (Operations related to container and blob) Operations related to container and blob Metadata to associate with the container or blob. (consumer) Additional metadata associated with the blob.", "constantName": " [...]
+    "CamelAzureStorageBlobCommittedBlockCount": { "index": 34, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of blocks committed to an append blob", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMITTED_BLOCK_COUNT" },
+    "CamelAzureStorageBlobAppendOffset": { "index": 35, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The offset at which the block was committed to the block blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#APPEND_OFFSET" },
+    "CamelAzureStorageBlobRawHttpHeaders": { "index": 36, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "HttpHeaders", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Returns non-parsed httpHeaders that can be used by the user.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#RAW_HTTP_HEADERS" },
+    "CamelAzureStorageBlobFileName": { "index": 37, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The downloaded filename from the operation downloadBlobToFile.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_NAME" },
+    "CamelAzureStorageBlobDownloadLink": { "index": 38, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The download link generated by downloadLink operation.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK" },
+    "CamelAzureStorageBlobListBlobOptions": { "index": 39, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobsOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Defines options available to configure the behavior of a call to listBlobsFlatSegment on a BlobContainerClient object.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConsta [...]
+    "CamelAzureStorageBlobListDetails": { "index": 40, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobListDetails", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) The details for listing specific blobs", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_LIST_DETAILS" },
+    "CamelAzureStorageBlobPrefix": { "index": 41, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PREFIX" },
+    "CamelAzureStorageBlobRegex": { "index": 42, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs,getBlob) Filters the results to return only blobs whose names match the specified regular expression. May be null to return all. If both prefix and regex are set, regex takes the priority and prefix is ignored.", "c [...]
+    "CamelAzureStorageBlobMaxResultsPerPage": { "index": 43, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobs) Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up  [...]
+    "CamelAzureStorageBlobTimeout": { "index": 44, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Duration", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(All) An optional timeout value beyond which a RuntimeException will be raised.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#TIMEOUT" },
+    "CamelAzureStorageBlobPublicAccessType": { "index": 45, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PublicAccessType", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createContainer) Specifies how the data in this container is available to the public. Pass null for no public access.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#PUBLIC_ [...]
+    "CamelAzureStorageBlobRequestCondition": { "index": 46, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "BlobRequestConditions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) This contains values which will restrict the successful operation of a variety of requests to the conditions present. These conditions are entirely optional. [...]
+    "CamelAzureStorageBlobBlobContainerName": { "index": 47, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to container and blob) Override\/set the container name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_CONTAINER_NAME" },
+    "CamelAzureStorageBlobBlobName": { "index": 48, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to blob) Override\/set the blob name on the exchange headers.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#BLOB_NAME" },
+    "CamelAzureStorageBlobFileDir": { "index": 49, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) The file directory where the downloaded blobs will be saved to.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#FILE_DIR" },
+    "CamelAzureStorageBlobPageBlobRange": { "index": 50, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "PageRange", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(Operations related to page blob) A PageRange object. Given that pages must be aligned with 512-byte boundaries, the start offset must be a modulus of 512 and the end offset must be a modulus of 512 - 1. Examples of [...]
+    "CamelAzureStorageBlobPageBlobSize": { "index": 51, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(createPageBlob, resizePageBlob) Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCo [...]
+    "CamelAzureStorageBlobCommitBlobBlockListLater": { "index": 52, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(stageBlockBlobList) When is set to true, the staged blocks will not be committed directly.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#COMMIT_BLOCK_LIST_LATER" },
+    "CamelAzureStorageBlobBlockListType": { "index": 53, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getBlobBlockList) Specifies which type of blocks to return.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobCons [...]
+    "CamelAzureStorageBlobCreateAppendBlob": { "index": 54, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(commitAppendBlob) When is set to true, the append blocks will be created when committing append blocks.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_APPEND_BLOB" },
+    "CamelAzureStorageBlobCreatePageBlob": { "index": 55, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(uploadPageBlob) When is set to true, the page blob will be created when uploading page blob.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CREATE_PAGE_BLOB" },
+    "CamelAzureStorageBlobDeleteSnapshotsOptionType": { "index": 56, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "com.azure.storage.blob.models.DeleteSnapshotsOptionType", "enum": [ "include", "only" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(deleteBlob) Specifies the behavior for deleting the snapshots on this blob. Include will delete the base blob and all snapsho [...]
+    "CamelAzureStorageBlobListBlobContainersOptions": { "index": 57, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListBlobContainersOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(listBlobContainers) A ListBlobContainersOptions which specifies what data should be returned by the service.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstant [...]
+    "CamelAzureStorageBlobParallelTransferOptions": { "index": 58, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ParallelTransferOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadBlobToFile) ParallelTransferOptions to use to download to file. Number of parallel transfers parameter is ignored.", "constantName": "org.apache.camel.component.azure.storage.blob.Bl [...]
+    "CamelAzureStorageBlobDownloadLinkExpiration": { "index": 59, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(downloadLink) Override the default expiration (millis) of URL download link.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#DOWNLOAD_LINK_EXPIRATION" },
+    "CamelAzureStorageBlobSourceBlobAccountName": { "index": 60, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob account name to be used as source account name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_ACCOUNT_NAME" },
+    "CamelAzureStorageBlobSourceBlobContainerName": { "index": 61, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(copyBlob) The source blob container name to be used as source container name in a copy blob operation", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#SOURCE_BLOB_CONTAINER_NAME" },
+    "CamelAzureStorageBlobChangeFeedStartTime": { "index": 62, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can  [...]
+    "CamelAzureStorageBlobChangeFeedEndTime": { "index": 63, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) It filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be miss [...]
+    "CamelAzureStorageBlobContext": { "index": 64, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Context", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "(getChangeFeed) This gives additional context that is passed through the Http pipeline during the service call.", "constantName": "org.apache.camel.component.azure.storage.blob.BlobConstants#CHANGE_FEED_CONTEXT" }
   },
   "properties": {
     "accountName": { "index": 0, "kind": "path", "displayName": "Account Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Azure account name to be used for authentication with azure blob services" },
@@ -137,46 +141,48 @@
     "credentialType": { "index": 8, "kind": "parameter", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.CredentialType", "enum": [ "SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AZURE_IDENTITY", "configurationClass": "org.apache.camel.component.azure.storage.blob [...]
     "dataCount": { "index": 9, "kind": "parameter", "displayName": "Data Count", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "How many bytes to include in the range. Must be greater than or equal to 0 if specified." },
     "fileDir": { "index": 10, "kind": "parameter", "displayName": "File Dir", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and co [...]
-    "maxResultsPerPage": { "index": 11, "kind": "parameter", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix element [...]
-    "maxRetryRequests": { "index": 12, "kind": "parameter", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made  [...]
-    "prefix": { "index": 13, "kind": "parameter", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return  [...]
-    "regex": { "index": 14, "kind": "parameter", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to re [...]
-    "sasToken": { "index": 15, "kind": "parameter", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
-    "serviceClient": { "index": 16, "kind": "parameter", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hol [...]
-    "timeout": { "index": 17, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
-    "sendEmptyMessageWhenIdle": { "index": 18, "kind": "parameter", "displayName": "Send Empty Message When Idle", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead." },
-    "bridgeErrorHandler": { "index": 19, "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": 20, "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": 21, "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." },
-    "pollStrategy": { "index": 22, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
-    "blobSequenceNumber": { "index": 23, "kind": "parameter", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests [...]
-    "blockListType": { "index": 24, "kind": "parameter", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", " [...]
-    "changeFeedContext": { "index": 25, "kind": "parameter", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional co [...]
-    "changeFeedEndTime": { "index": 26, "kind": "parameter", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results t [...]
-    "changeFeedStartTime": { "index": 27, "kind": "parameter", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the resul [...]
-    "closeStreamAfterWrite": { "index": 28, "kind": "parameter", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is  [...]
-    "commitBlockListLater": { "index": 29, "kind": "parameter", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committe [...]
-    "createAppendBlob": { "index": 30, "kind": "parameter", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committi [...]
-    "createPageBlob": { "index": 31, "kind": "parameter", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page b [...]
-    "downloadLinkExpiration": { "index": 32, "kind": "parameter", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
-    "operation": { "index": 33, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createA [...]
-    "pageBlobSize": { "index": 34, "kind": "parameter", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page b [...]
-    "lazyStartProducer": { "index": 35, "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 [...]
-    "backoffErrorThreshold": { "index": 36, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 37, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 38, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 39, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 40, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 41, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 42, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 43, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 44, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 45, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 46, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 47, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 48, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 49, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "accessKey": { "index": 50, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob ser [...]
-    "sourceBlobAccessKey": { "index": 51, "kind": "parameter", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an ac [...]
+    "leaseBlob": { "index": 11, "kind": "parameter", "displayName": "Lease Blob", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets whether a lease should be acquired when accessing the blob. When set to true, the [...]
+    "leaseDurationInSeconds": { "index": 12, "kind": "parameter", "displayName": "Lease Duration In Seconds", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "60", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Sets the lease duration in seconds. Use -1 for in [...]
+    "maxResultsPerPage": { "index": 13, "kind": "parameter", "displayName": "Max Results Per Page", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of blobs to return, including all BlobPrefix element [...]
+    "maxRetryRequests": { "index": 14, "kind": "parameter", "displayName": "Max Retry Requests", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of additional HTTP Get requests that will be made  [...]
+    "prefix": { "index": 15, "kind": "parameter", "displayName": "Prefix", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return  [...]
+    "regex": { "index": 16, "kind": "parameter", "displayName": "Regex", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to re [...]
+    "sasToken": { "index": 17, "kind": "parameter", "displayName": "Sas Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "In case of usage of Shared Access Signature we'll need to set a SAS Token" },
+    "serviceClient": { "index": 18, "kind": "parameter", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Client to a storage account. This client does not hol [...]
+    "timeout": { "index": 19, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "An optional timeout value beyond which a RuntimeException will be raised." },
+    "sendEmptyMessageWhenIdle": { "index": 20, "kind": "parameter", "displayName": "Send Empty Message When Idle", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead." },
+    "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." },
+    "pollStrategy": { "index": 24, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
+    "blobSequenceNumber": { "index": 25, "kind": "parameter", "displayName": "Blob Sequence Number", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "A user-controlled value that you can use to track requests [...]
+    "blockListType": { "index": 26, "kind": "parameter", "displayName": "Block List Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.storage.blob.models.BlockListType", "enum": [ "committed", "uncommitted", "all" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "COMMITTED", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", " [...]
+    "changeFeedContext": { "index": 27, "kind": "parameter", "displayName": "Change Feed Context", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.azure.core.util.Context", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this gives additional co [...]
+    "changeFeedEndTime": { "index": 28, "kind": "parameter", "displayName": "Change Feed End Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the results t [...]
+    "changeFeedStartTime": { "index": 29, "kind": "parameter", "displayName": "Change Feed Start Time", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When using getChangeFeed producer operation, this filters the resul [...]
+    "closeStreamAfterWrite": { "index": 30, "kind": "parameter", "displayName": "Close Stream After Write", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Close the stream after write or keep it open, default is  [...]
+    "commitBlockListLater": { "index": 31, "kind": "parameter", "displayName": "Commit Block List Later", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the staged blocks will not be committe [...]
+    "createAppendBlob": { "index": 32, "kind": "parameter", "displayName": "Create Append Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the append blocks will be created when committi [...]
+    "createPageBlob": { "index": 33, "kind": "parameter", "displayName": "Create Page Blob", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "When is set to true, the page blob will be created when uploading page b [...]
+    "downloadLinkExpiration": { "index": 34, "kind": "parameter", "displayName": "Download Link Expiration", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Override the default expiration (millis) of URL download link." },
+    "operation": { "index": 35, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition", "enum": [ "listBlobContainers", "createBlobContainer", "deleteBlobContainer", "listBlobs", "getBlob", "deleteBlob", "downloadBlobToFile", "downloadLink", "uploadBlockBlob", "stageBlockBlobList", "commitBlobBlockList", "getBlobBlockList", "createA [...]
+    "pageBlobSize": { "index": 36, "kind": "parameter", "displayName": "Page Blob Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "512", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Specifies the maximum size for the page blob, up to 8 TB. The page b [...]
+    "lazyStartProducer": { "index": 37, "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 [...]
+    "backoffErrorThreshold": { "index": 38, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 39, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 40, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 41, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 42, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 43, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 44, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 45, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
+    "scheduledExecutorService": { "index": 46, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 47, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 48, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 49, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 50, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 51, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "accessKey": { "index": 52, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Access key for the associated azure account name to be used for authentication with azure blob ser [...]
+    "sourceBlobAccessKey": { "index": 53, "kind": "parameter", "displayName": "Source Blob Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Source Blob Access Key: for copyblob operation, sadly, we need to have an ac [...]
   }
 }
diff --git a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java
index 50cdda3ab8f..3af1ef49ab6 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java
@@ -104,6 +104,10 @@ public class BlobConfiguration implements Cloneable {
     @UriParam(label = "common", enums = "SHARED_ACCOUNT_KEY,SHARED_KEY_CREDENTIAL,AZURE_IDENTITY,AZURE_SAS",
               defaultValue = "AZURE_IDENTITY")
     private CredentialType credentialType = AZURE_IDENTITY;
+    @UriParam(label = "common")
+    private boolean leaseBlob;
+    @UriParam(label = "common", defaultValue = "60")
+    private Integer leaseDurationInSeconds = 60;
 
     /**
      * Azure account name to be used for authentication with azure blob services
@@ -466,6 +470,40 @@ public class BlobConfiguration implements Cloneable {
         this.sasToken = sasToken;
     }
 
+    /**
+     * Gets whether a lease should be acquired when accessing the blob. When enabled, a lease is acquired before
+     * performing blob operations that require exclusive access (e.g., uploading or deleting).
+     *
+     * @return true if a lease should be used; false otherwise
+     */
+    public boolean isLeaseBlob() {
+        return leaseBlob;
+    }
+
+    /**
+     * Sets whether a lease should be acquired when accessing the blob. When set to true, the component will acquire a
+     * lease before performing blob operations that require exclusive access.
+     *
+     * @param leaseBlob true to acquire a lease before blob operations; false otherwise
+     */
+    public void setLeaseBlob(boolean leaseBlob) {
+        this.leaseBlob = leaseBlob;
+    }
+
+    /**
+     * Gets the lease duration in seconds. Valid values are between 15 and 60 for fixed leases, or -1 for infinite.
+     */
+    public Integer getLeaseDurationInSeconds() {
+        return leaseDurationInSeconds;
+    }
+
+    /**
+     * Sets the lease duration in seconds. Use -1 for infinite or a value between 15 and 60 for fixed leases.
+     */
+    public void setLeaseDurationInSeconds(Integer leaseDurationInSeconds) {
+        this.leaseDurationInSeconds = leaseDurationInSeconds;
+    }
+
     // *************************************************
     //
     // *************************************************
diff --git a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfigurationOptionsProxy.java b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfigurationOptionsProxy.java
index 8229292eae5..beb0bbce295 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfigurationOptionsProxy.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfigurationOptionsProxy.java
@@ -212,6 +212,15 @@ public class BlobConfigurationOptionsProxy {
         return getOption(BlobExchangeHeaders::getChangeFeedContextFromHeaders, configuration::getChangeFeedContext, exchange);
     }
 
+    public boolean getLeaseBlob(final Exchange exchange) {
+        return getOption(BlobExchangeHeaders::getLeaseBlobFromHeaders, configuration::isLeaseBlob, exchange);
+    }
+
+    public Integer getLeaseDurationInSeconds(final Exchange exchange) {
+        return getOption(BlobExchangeHeaders::getLeaseDurationInSecondsFromHeaders, configuration::getLeaseDurationInSeconds,
+                exchange);
+    }
+
     public BlobConfiguration getConfiguration() {
         return configuration;
     }
diff --git a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConstants.java b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConstants.java
index 282b077232f..537862b9945 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConstants.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConstants.java
@@ -72,6 +72,16 @@ public final class BlobConstants {
     @Metadata(label = "consumer", description = "The type of the blob.",
               javaType = "org.apache.camel.component.azure.storage.blob.BlobType")
     public static final String BLOB_TYPE = HEADER_PREFIX + "BlobType";
+    @Metadata(label = "common",
+              description = "Specifies whether blob leasing is enabled for the operation. When set to true, the component will acquire "
+                            +
+                            "an exclusive lease on the target blob to prevent concurrent processing by multiple routes or applications.",
+              javaType = "boolean")
+    public static final String LEASE_BLOB = HEADER_PREFIX + "LeaseBlob";
+    @Metadata(label = "common",
+              description = "Specifies the lease duration in seconds. Valid values are between 15 and 60 for fixed duration, or -1 for infinite duration.",
+              javaType = "java.lang.Integer")
+    public static final String LEASE_DURATION_IN_SECONDS = HEADER_PREFIX + "LeaseDurationInSeconds";
     @Metadata(label = "consumer", description = "Status of the lease on the blob.",
               javaType = "com.azure.storage.blob.models.LeaseStatusType")
     public static final String LEASE_STATUS = HEADER_PREFIX + "LeaseStatus";
diff --git a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobExchangeHeaders.java b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobExchangeHeaders.java
index 5876920c143..a05f30f6da9 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobExchangeHeaders.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobExchangeHeaders.java
@@ -261,6 +261,14 @@ public class BlobExchangeHeaders {
         return getObjectFromHeaders(exchange, BlobConstants.CHANGE_FEED_CONTEXT, Context.class);
     }
 
+    public static Boolean getLeaseBlobFromHeaders(final Exchange exchange) {
+        return getObjectFromHeaders(exchange, BlobConstants.LEASE_BLOB, Boolean.class);
+    }
+
+    public static Integer getLeaseDurationInSecondsFromHeaders(final Exchange exchange) {
+        return getObjectFromHeaders(exchange, BlobConstants.LEASE_DURATION_IN_SECONDS, Integer.class);
+    }
+
     private static <T> T getObjectFromHeaders(final Exchange exchange, final String headerName, final Class<T> classType) {
         return ObjectHelper.isEmpty(exchange) ? null : exchange.getIn().getHeader(headerName, classType);
     }
diff --git a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
index d7e3290d1f1..be37fbb932b 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
@@ -59,6 +59,8 @@ import com.azure.storage.blob.sas.BlobSasPermission;
 import com.azure.storage.blob.sas.BlobServiceSasSignatureValues;
 import com.azure.storage.blob.specialized.AppendBlobClient;
 import com.azure.storage.blob.specialized.BlobInputStream;
+import com.azure.storage.blob.specialized.BlobLeaseClient;
+import com.azure.storage.blob.specialized.BlobLeaseClientBuilder;
 import com.azure.storage.blob.specialized.BlockBlobClient;
 import com.azure.storage.blob.specialized.PageBlobClient;
 import com.azure.storage.common.StorageSharedKeyCredential;
@@ -235,4 +237,8 @@ public class BlobClientWrapper {
     private PageBlobClient getPageBlobClient() {
         return client.getPageBlobClient();
     }
+
+    public BlobLeaseClient getLeaseClient() {
+        return new BlobLeaseClientBuilder().blobClient(client).buildClient();
+    }
 }
diff --git a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperations.java b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperations.java
index 9d3716bdebc..f6a354d0bf9 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperations.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperations.java
@@ -50,6 +50,7 @@ import com.azure.storage.blob.models.PageRangeItem;
 import com.azure.storage.blob.models.ParallelTransferOptions;
 import com.azure.storage.blob.sas.BlobSasPermission;
 import com.azure.storage.blob.sas.BlobServiceSasSignatureValues;
+import com.azure.storage.blob.specialized.BlobLeaseClient;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.azure.storage.blob.BlobBlock;
@@ -188,8 +189,9 @@ public class BlobOperations {
         if (LOG.isTraceEnabled()) {
             LOG.trace("Putting a block blob [{}] from exchange [{}]...", configurationProxy.getBlobName(exchange), exchange);
         }
-
+        BlobLeaseClient leaseClient = null;
         try {
+            leaseClient = acquireLeaseIfConfigured(commonRequestOptions.getBlobRequestConditions(), exchange);
             final Response<BlockBlobItem> response = client.uploadBlockBlob(blobStreamAndLength.getInputStream(),
                     blobStreamAndLength.getStreamLength(), commonRequestOptions.getBlobHttpHeaders(),
                     commonRequestOptions.getMetadata(), commonRequestOptions.getAccessTier(),
@@ -199,6 +201,7 @@ public class BlobOperations {
             return BlobOperationResponse.createWithEmptyBody(response);
         } finally {
             closeInputStreamIfNeeded(blobStreamAndLength.getInputStream());
+            releaseLeaseIfAcquired(leaseClient);
         }
     }
 
@@ -345,8 +348,9 @@ public class BlobOperations {
         }
 
         final BlobStreamAndLength streamAndLength = BlobStreamAndLength.createBlobStreamAndLengthFromExchangeBody(exchange);
-
+        BlobLeaseClient leaseClient = null;
         try {
+            leaseClient = acquireLeaseIfConfigured(commonRequestOptions.getBlobRequestConditions(), exchange);
             final Response<AppendBlobItem> response
                     = client.appendBlobBlock(streamAndLength.getInputStream(), streamAndLength.getStreamLength(),
                             commonRequestOptions.getContentMD5(), commonRequestOptions.getBlobRequestConditions(),
@@ -355,6 +359,7 @@ public class BlobOperations {
             return BlobOperationResponse.createWithEmptyBody(response);
         } finally {
             closeInputStreamIfNeeded(streamAndLength.getInputStream());
+            releaseLeaseIfAcquired(leaseClient);
         }
     }
 
@@ -366,12 +371,18 @@ public class BlobOperations {
         final Long pageSize = getPageBlobSize(exchange);
         final BlobCommonRequestOptions requestOptions = getCommonRequestOptions(exchange);
         final Long sequenceNumber = configurationProxy.getBlobSequenceNumber(exchange);
+        BlobLeaseClient leaseClient = null;
+        try {
+            leaseClient = acquireLeaseIfConfigured(requestOptions.getBlobRequestConditions(), exchange);
+            final Response<PageBlobItem> response
+                    = client.createPageBlob(pageSize, sequenceNumber, requestOptions.getBlobHttpHeaders(),
+                            requestOptions.getMetadata(), requestOptions.getBlobRequestConditions(),
+                            requestOptions.getTimeout());
 
-        final Response<PageBlobItem> response
-                = client.createPageBlob(pageSize, sequenceNumber, requestOptions.getBlobHttpHeaders(),
-                        requestOptions.getMetadata(), requestOptions.getBlobRequestConditions(), requestOptions.getTimeout());
-
-        return BlobOperationResponse.createWithEmptyBody(response);
+            return BlobOperationResponse.createWithEmptyBody(response);
+        } finally {
+            releaseLeaseIfAcquired(leaseClient);
+        }
     }
 
     public BlobOperationResponse uploadPageBlob(final Exchange exchange) throws Exception {
@@ -390,8 +401,9 @@ public class BlobOperations {
         if (pageRange == null) {
             throw new IllegalArgumentException("You need to set page range in the exchange headers.");
         }
-
+        BlobLeaseClient leaseClient = null;
         try {
+            leaseClient = acquireLeaseIfConfigured(requestOptions.getBlobRequestConditions(), exchange);
             final Response<PageBlobItem> response
                     = client.uploadPageBlob(pageRange, is, requestOptions.getContentMD5(),
                             requestOptions.getBlobRequestConditions(), requestOptions.getTimeout());
@@ -399,6 +411,7 @@ public class BlobOperations {
             return BlobOperationResponse.createWithEmptyBody(response);
         } finally {
             closeInputStreamIfNeeded(is);
+            releaseLeaseIfAcquired(leaseClient);
         }
     }
 
@@ -409,11 +422,16 @@ public class BlobOperations {
 
         final Long pageSize = getPageBlobSize(exchange);
         final BlobCommonRequestOptions requestOptions = getCommonRequestOptions(exchange);
+        BlobLeaseClient leaseClient = null;
+        try {
+            leaseClient = acquireLeaseIfConfigured(requestOptions.getBlobRequestConditions(), exchange);
+            final Response<PageBlobItem> response
+                    = client.resizePageBlob(pageSize, requestOptions.getBlobRequestConditions(), requestOptions.getTimeout());
 
-        final Response<PageBlobItem> response
-                = client.resizePageBlob(pageSize, requestOptions.getBlobRequestConditions(), requestOptions.getTimeout());
-
-        return BlobOperationResponse.createWithEmptyBody(response);
+            return BlobOperationResponse.createWithEmptyBody(response);
+        } finally {
+            releaseLeaseIfAcquired(leaseClient);
+        }
     }
 
     public BlobOperationResponse clearPageBlob(final Exchange exchange) {
@@ -425,11 +443,16 @@ public class BlobOperations {
         if (pageRange == null) {
             throw new IllegalArgumentException("You need to set page range in the exchange headers.");
         }
+        BlobLeaseClient leaseClient = null;
+        try {
+            leaseClient = acquireLeaseIfConfigured(requestOptions.getBlobRequestConditions(), exchange);
+            final Response<PageBlobItem> response
+                    = client.clearPagesBlob(pageRange, requestOptions.getBlobRequestConditions(), requestOptions.getTimeout());
 
-        final Response<PageBlobItem> response
-                = client.clearPagesBlob(pageRange, requestOptions.getBlobRequestConditions(), requestOptions.getTimeout());
-
-        return BlobOperationResponse.createWithEmptyBody(response);
+            return BlobOperationResponse.createWithEmptyBody(response);
+        } finally {
+            releaseLeaseIfAcquired(leaseClient);
+        }
     }
 
     public BlobOperationResponse getPageBlobRanges(final Exchange exchange) {
@@ -484,4 +507,24 @@ public class BlobOperations {
             inputStream.close();
         }
     }
+
+    private BlobLeaseClient acquireLeaseIfConfigured(BlobRequestConditions requestConditions, Exchange exchange) {
+        if (requestConditions == null) {
+            requestConditions = new BlobRequestConditions();
+        }
+        if (requestConditions.getLeaseId() == null && configurationProxy.getLeaseBlob(exchange)) {
+            BlobLeaseClient leaseClient = client.getLeaseClient();
+            Integer leaseDurationInSeconds = configurationProxy.getLeaseDurationInSeconds(exchange);
+            String leaseId = leaseClient.acquireLease(leaseDurationInSeconds);
+            requestConditions.setLeaseId(leaseId);
+            return leaseClient;
+        }
+        return null;
+    }
+
+    private void releaseLeaseIfAcquired(BlobLeaseClient leaseClient) {
+        if (leaseClient != null) {
+            leaseClient.releaseLease();
+        }
+    }
 }
diff --git a/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperationsTest.java b/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperationsTest.java
index 801ae39fd11..3e7755113df 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperationsTest.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/operations/BlobOperationsTest.java
@@ -32,6 +32,7 @@ import com.azure.core.http.rest.ResponseBase;
 import com.azure.storage.blob.models.BlobDownloadHeaders;
 import com.azure.storage.blob.models.BlobProperties;
 import com.azure.storage.blob.models.BlockBlobItem;
+import com.azure.storage.blob.specialized.BlobLeaseClient;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.azure.storage.blob.BlobBlock;
 import org.apache.camel.component.azure.storage.blob.BlobConfiguration;
@@ -53,8 +54,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
@@ -144,6 +149,37 @@ class BlobOperationsTest extends CamelTestSupport {
                 .get("x-test-header").getValue());
     }
 
+    @Test
+    void testUploadBlockBlobWithLease() throws Exception {
+        final BlockBlobItem blockBlobItem = new BlockBlobItem("testTag", OffsetDateTime.now(), null, false, null);
+        final HttpHeaders httpHeaders = new HttpHeaders().set("x-test-header", "123");
+
+        when(client.uploadBlockBlob(any(), anyLong(), any(), any(), any(), any(), any(), any()))
+                .thenReturn(new ResponseBase<>(null, 200, httpHeaders, blockBlobItem, null));
+        final BlobLeaseClient leaseClient = mock(BlobLeaseClient.class);
+        when(leaseClient.acquireLease(anyInt())).thenReturn("leaseId");
+        when(client.getLeaseClient()).thenReturn(leaseClient);
+
+        final Exchange exchange = new DefaultExchange(context);
+        exchange.getIn().setBody(new ByteArrayInputStream("test".getBytes(Charset.defaultCharset())));
+
+        final BlobOperations operations = new BlobOperations(configuration, client);
+        configuration.setLeaseBlob(true);
+        configuration.setLeaseDurationInSeconds(-1);
+
+        final BlobOperationResponse operationResponse = operations.uploadBlockBlob(exchange);
+
+        assertNotNull(operationResponse);
+        assertTrue((boolean) operationResponse.getBody());
+        assertNotNull(operationResponse.getHeaders());
+        assertEquals("testTag", operationResponse.getHeaders().get(BlobConstants.E_TAG));
+        assertEquals("123", ((HttpHeaders) operationResponse.getHeaders().get(BlobConstants.RAW_HTTP_HEADERS))
+                .get("x-test-header").getValue());
+
+        verify(client, times(1)).getLeaseClient();
+        verify(leaseClient, times(1)).acquireLease(-1);
+    }
+
     @Test
     void testStageBlockBlobList() throws Exception {
         final HttpHeaders httpHeaders = new HttpHeaders().set("x-test-header", "123");
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java
index ce0a7585ea7..7d90a5fce45 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java
@@ -201,6 +201,43 @@ public interface AzureStorageBlobComponentBuilderFactory {
             return this;
         }
     
+        
+        /**
+         * Sets whether a lease should be acquired when accessing the blob. When
+         * set to true, the component will acquire a lease before performing
+         * blob operations that require exclusive access.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param leaseBlob the value to set
+         * @return the dsl builder
+         */
+        default AzureStorageBlobComponentBuilder leaseBlob(boolean leaseBlob) {
+            doSetProperty("leaseBlob", leaseBlob);
+            return this;
+        }
+    
+        
+        /**
+         * Sets the lease duration in seconds. Use -1 for infinite or a value
+         * between 15 and 60 for fixed leases.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Default: 60
+         * Group: common
+         * 
+         * @param leaseDurationInSeconds the value to set
+         * @return the dsl builder
+         */
+        default AzureStorageBlobComponentBuilder leaseDurationInSeconds(java.lang.Integer leaseDurationInSeconds) {
+            doSetProperty("leaseDurationInSeconds", leaseDurationInSeconds);
+            return this;
+        }
+    
         /**
          * Specifies the maximum number of blobs to return, including all
          * BlobPrefix elements. If the request does not specify
@@ -720,6 +757,8 @@ public interface AzureStorageBlobComponentBuilderFactory {
             case "credentialType": getOrCreateConfiguration((BlobComponent) component).setCredentialType((org.apache.camel.component.azure.storage.blob.CredentialType) value); return true;
             case "dataCount": getOrCreateConfiguration((BlobComponent) component).setDataCount((java.lang.Long) value); return true;
             case "fileDir": getOrCreateConfiguration((BlobComponent) component).setFileDir((java.lang.String) value); return true;
+            case "leaseBlob": getOrCreateConfiguration((BlobComponent) component).setLeaseBlob((boolean) value); return true;
+            case "leaseDurationInSeconds": getOrCreateConfiguration((BlobComponent) component).setLeaseDurationInSeconds((java.lang.Integer) value); return true;
             case "maxResultsPerPage": getOrCreateConfiguration((BlobComponent) component).setMaxResultsPerPage((java.lang.Integer) value); return true;
             case "maxRetryRequests": getOrCreateConfiguration((BlobComponent) component).setMaxRetryRequests((int) value); return true;
             case "prefix": getOrCreateConfiguration((BlobComponent) component).setPrefix((java.lang.String) value); return true;
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java
index 883ef593ec1..cf4b9549c3a 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java
@@ -313,6 +313,73 @@ public interface BlobEndpointBuilderFactory {
             doSetProperty("fileDir", fileDir);
             return this;
         }
+        /**
+         * Sets whether a lease should be acquired when accessing the blob. When
+         * set to true, the component will acquire a lease before performing
+         * blob operations that require exclusive access.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param leaseBlob the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointConsumerBuilder leaseBlob(boolean leaseBlob) {
+            doSetProperty("leaseBlob", leaseBlob);
+            return this;
+        }
+        /**
+         * Sets whether a lease should be acquired when accessing the blob. When
+         * set to true, the component will acquire a lease before performing
+         * blob operations that require exclusive access.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param leaseBlob the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointConsumerBuilder leaseBlob(String leaseBlob) {
+            doSetProperty("leaseBlob", leaseBlob);
+            return this;
+        }
+        /**
+         * Sets the lease duration in seconds. Use -1 for infinite or a value
+         * between 15 and 60 for fixed leases.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Default: 60
+         * Group: common
+         * 
+         * @param leaseDurationInSeconds the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointConsumerBuilder leaseDurationInSeconds(Integer leaseDurationInSeconds) {
+            doSetProperty("leaseDurationInSeconds", leaseDurationInSeconds);
+            return this;
+        }
+        /**
+         * Sets the lease duration in seconds. Use -1 for infinite or a value
+         * between 15 and 60 for fixed leases.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Default: 60
+         * Group: common
+         * 
+         * @param leaseDurationInSeconds the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointConsumerBuilder leaseDurationInSeconds(String leaseDurationInSeconds) {
+            doSetProperty("leaseDurationInSeconds", leaseDurationInSeconds);
+            return this;
+        }
         /**
          * Specifies the maximum number of blobs to return, including all
          * BlobPrefix elements. If the request does not specify
@@ -1468,6 +1535,73 @@ public interface BlobEndpointBuilderFactory {
             doSetProperty("fileDir", fileDir);
             return this;
         }
+        /**
+         * Sets whether a lease should be acquired when accessing the blob. When
+         * set to true, the component will acquire a lease before performing
+         * blob operations that require exclusive access.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param leaseBlob the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointProducerBuilder leaseBlob(boolean leaseBlob) {
+            doSetProperty("leaseBlob", leaseBlob);
+            return this;
+        }
+        /**
+         * Sets whether a lease should be acquired when accessing the blob. When
+         * set to true, the component will acquire a lease before performing
+         * blob operations that require exclusive access.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param leaseBlob the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointProducerBuilder leaseBlob(String leaseBlob) {
+            doSetProperty("leaseBlob", leaseBlob);
+            return this;
+        }
+        /**
+         * Sets the lease duration in seconds. Use -1 for infinite or a value
+         * between 15 and 60 for fixed leases.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Default: 60
+         * Group: common
+         * 
+         * @param leaseDurationInSeconds the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointProducerBuilder leaseDurationInSeconds(Integer leaseDurationInSeconds) {
+            doSetProperty("leaseDurationInSeconds", leaseDurationInSeconds);
+            return this;
+        }
+        /**
+         * Sets the lease duration in seconds. Use -1 for infinite or a value
+         * between 15 and 60 for fixed leases.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Default: 60
+         * Group: common
+         * 
+         * @param leaseDurationInSeconds the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointProducerBuilder leaseDurationInSeconds(String leaseDurationInSeconds) {
+            doSetProperty("leaseDurationInSeconds", leaseDurationInSeconds);
+            return this;
+        }
         /**
          * Specifies the maximum number of blobs to return, including all
          * BlobPrefix elements. If the request does not specify
@@ -2422,6 +2556,73 @@ public interface BlobEndpointBuilderFactory {
             doSetProperty("fileDir", fileDir);
             return this;
         }
+        /**
+         * Sets whether a lease should be acquired when accessing the blob. When
+         * set to true, the component will acquire a lease before performing
+         * blob operations that require exclusive access.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param leaseBlob the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointBuilder leaseBlob(boolean leaseBlob) {
+            doSetProperty("leaseBlob", leaseBlob);
+            return this;
+        }
+        /**
+         * Sets whether a lease should be acquired when accessing the blob. When
+         * set to true, the component will acquire a lease before performing
+         * blob operations that require exclusive access.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: common
+         * 
+         * @param leaseBlob the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointBuilder leaseBlob(String leaseBlob) {
+            doSetProperty("leaseBlob", leaseBlob);
+            return this;
+        }
+        /**
+         * Sets the lease duration in seconds. Use -1 for infinite or a value
+         * between 15 and 60 for fixed leases.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Default: 60
+         * Group: common
+         * 
+         * @param leaseDurationInSeconds the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointBuilder leaseDurationInSeconds(Integer leaseDurationInSeconds) {
+            doSetProperty("leaseDurationInSeconds", leaseDurationInSeconds);
+            return this;
+        }
+        /**
+         * Sets the lease duration in seconds. Use -1 for infinite or a value
+         * between 15 and 60 for fixed leases.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Default: 60
+         * Group: common
+         * 
+         * @param leaseDurationInSeconds the value to set
+         * @return the dsl builder
+         */
+        default BlobEndpointBuilder leaseDurationInSeconds(String leaseDurationInSeconds) {
+            doSetProperty("leaseDurationInSeconds", leaseDurationInSeconds);
+            return this;
+        }
         /**
          * Specifies the maximum number of blobs to return, including all
          * BlobPrefix elements. If the request does not specify
@@ -2932,6 +3133,35 @@ public interface BlobEndpointBuilderFactory {
         public String azureStorageBlobBlobType() {
             return "CamelAzureStorageBlobBlobType";
         }
+        /**
+         * Specifies whether blob leasing is enabled for the operation. When set
+         * to true, the component will acquire an exclusive lease on the target
+         * blob to prevent concurrent processing by multiple routes or
+         * applications.
+         * 
+         * The option is a: {@code boolean} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code AzureStorageBlobLeaseBlob}.
+         */
+        public String azureStorageBlobLeaseBlob() {
+            return "CamelAzureStorageBlobLeaseBlob";
+        }
+        /**
+         * Specifies the lease duration in seconds. Valid values are between 15
+         * and 60 for fixed duration, or -1 for infinite duration.
+         * 
+         * The option is a: {@code java.lang.Integer} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AzureStorageBlobLeaseDurationInSeconds}.
+         */
+        public String azureStorageBlobLeaseDurationInSeconds() {
+            return "CamelAzureStorageBlobLeaseDurationInSeconds";
+        }
         /**
          * Status of the lease on the blob.
          *