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

(camel) 01/07: CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure Datalake

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

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

commit a2bb79f45945ca120985bf582b6f894a7c2749d4
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Dec 18 10:16:17 2023 +0100

    CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure Datalake
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../datalake/DataLakeComponentConfigurer.java      |  12 +-
 .../datalake/DataLakeEndpointConfigurer.java       |  12 +-
 .../datalake/DataLakeEndpointUriFactory.java       |   2 +-
 .../storage/datalake/azure-storage-datalake.json   | 168 ++++++++++-----------
 .../azure/storage/datalake/CredentialType.java     |  52 +++++++
 .../storage/datalake/DataLakeConfiguration.java    |  19 ++-
 .../datalake/client/DataLakeClientFactory.java     |  24 ++-
 .../datalake/component/DataLakeComponentTest.java  |  16 +-
 8 files changed, 186 insertions(+), 119 deletions(-)

diff --git a/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeComponentConfigurer.java b/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeComponentConfigurer.java
index 16afbcf20be..c7fa1547dca 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeComponentConfigurer.java
+++ b/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeComponentConfigurer.java
@@ -44,6 +44,8 @@ public class DataLakeComponentConfigurer extends PropertyConfigurerSupport imple
         case "closestreamafterread":
         case "closeStreamAfterRead": getOrCreateConfiguration(target).setCloseStreamAfterRead(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration.class, value)); return true;
+        case "credentialtype":
+        case "credentialType": getOrCreateConfiguration(target).setCredentialType(property(camelContext, org.apache.camel.component.azure.storage.datalake.CredentialType.class, value)); return true;
         case "datacount":
         case "dataCount": getOrCreateConfiguration(target).setDataCount(property(camelContext, java.lang.Long.class, value)); return true;
         case "directoryname":
@@ -89,8 +91,6 @@ public class DataLakeComponentConfigurer extends PropertyConfigurerSupport imple
         case "tenantId": getOrCreateConfiguration(target).setTenantId(property(camelContext, java.lang.String.class, value)); return true;
         case "timeout": getOrCreateConfiguration(target).setTimeout(property(camelContext, java.time.Duration.class, value)); return true;
         case "umask": getOrCreateConfiguration(target).setUmask(property(camelContext, java.lang.String.class, value)); return true;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": getOrCreateConfiguration(target).setUseDefaultIdentity(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "userprincipalnamereturned":
         case "userPrincipalNameReturned": getOrCreateConfiguration(target).setUserPrincipalNameReturned(property(camelContext, java.lang.Boolean.class, value)); return true;
         default: return false;
@@ -121,6 +121,8 @@ public class DataLakeComponentConfigurer extends PropertyConfigurerSupport imple
         case "closestreamafterread":
         case "closeStreamAfterRead": return java.lang.Boolean.class;
         case "configuration": return org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration.class;
+        case "credentialtype":
+        case "credentialType": return org.apache.camel.component.azure.storage.datalake.CredentialType.class;
         case "datacount":
         case "dataCount": return java.lang.Long.class;
         case "directoryname":
@@ -166,8 +168,6 @@ public class DataLakeComponentConfigurer extends PropertyConfigurerSupport imple
         case "tenantId": return java.lang.String.class;
         case "timeout": return java.time.Duration.class;
         case "umask": return java.lang.String.class;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return java.lang.Boolean.class;
         case "userprincipalnamereturned":
         case "userPrincipalNameReturned": return java.lang.Boolean.class;
         default: return null;
@@ -194,6 +194,8 @@ public class DataLakeComponentConfigurer extends PropertyConfigurerSupport imple
         case "closestreamafterread":
         case "closeStreamAfterRead": return getOrCreateConfiguration(target).getCloseStreamAfterRead();
         case "configuration": return target.getConfiguration();
+        case "credentialtype":
+        case "credentialType": return getOrCreateConfiguration(target).getCredentialType();
         case "datacount":
         case "dataCount": return getOrCreateConfiguration(target).getDataCount();
         case "directoryname":
@@ -239,8 +241,6 @@ public class DataLakeComponentConfigurer extends PropertyConfigurerSupport imple
         case "tenantId": return getOrCreateConfiguration(target).getTenantId();
         case "timeout": return getOrCreateConfiguration(target).getTimeout();
         case "umask": return getOrCreateConfiguration(target).getUmask();
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return getOrCreateConfiguration(target).getUseDefaultIdentity();
         case "userprincipalnamereturned":
         case "userPrincipalNameReturned": return getOrCreateConfiguration(target).getUserPrincipalNameReturned();
         default: return null;
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointConfigurer.java b/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointConfigurer.java
index 7d5278d69fb..83f5ceb4859 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointConfigurer.java
+++ b/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointConfigurer.java
@@ -40,6 +40,8 @@ public class DataLakeEndpointConfigurer extends PropertyConfigurerSupport implem
         case "close": target.getConfiguration().setClose(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "closestreamafterread":
         case "closeStreamAfterRead": target.getConfiguration().setCloseStreamAfterRead(property(camelContext, java.lang.Boolean.class, value)); return true;
+        case "credentialtype":
+        case "credentialType": target.getConfiguration().setCredentialType(property(camelContext, org.apache.camel.component.azure.storage.datalake.CredentialType.class, value)); return true;
         case "datacount":
         case "dataCount": target.getConfiguration().setDataCount(property(camelContext, java.lang.Long.class, value)); return true;
         case "datalakeserviceclient":
@@ -108,8 +110,6 @@ public class DataLakeEndpointConfigurer extends PropertyConfigurerSupport implem
         case "timeUnit": target.setTimeUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
         case "timeout": target.getConfiguration().setTimeout(property(camelContext, java.time.Duration.class, value)); return true;
         case "umask": target.getConfiguration().setUmask(property(camelContext, java.lang.String.class, value)); return true;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": target.getConfiguration().setUseDefaultIdentity(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "usefixeddelay":
         case "useFixedDelay": target.setUseFixedDelay(property(camelContext, boolean.class, value)); return true;
         case "userprincipalnamereturned":
@@ -145,6 +145,8 @@ public class DataLakeEndpointConfigurer extends PropertyConfigurerSupport implem
         case "close": return java.lang.Boolean.class;
         case "closestreamafterread":
         case "closeStreamAfterRead": return java.lang.Boolean.class;
+        case "credentialtype":
+        case "credentialType": return org.apache.camel.component.azure.storage.datalake.CredentialType.class;
         case "datacount":
         case "dataCount": return java.lang.Long.class;
         case "datalakeserviceclient":
@@ -213,8 +215,6 @@ public class DataLakeEndpointConfigurer extends PropertyConfigurerSupport implem
         case "timeUnit": return java.util.concurrent.TimeUnit.class;
         case "timeout": return java.time.Duration.class;
         case "umask": return java.lang.String.class;
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return java.lang.Boolean.class;
         case "usefixeddelay":
         case "useFixedDelay": return boolean.class;
         case "userprincipalnamereturned":
@@ -246,6 +246,8 @@ public class DataLakeEndpointConfigurer extends PropertyConfigurerSupport implem
         case "close": return target.getConfiguration().getClose();
         case "closestreamafterread":
         case "closeStreamAfterRead": return target.getConfiguration().getCloseStreamAfterRead();
+        case "credentialtype":
+        case "credentialType": return target.getConfiguration().getCredentialType();
         case "datacount":
         case "dataCount": return target.getConfiguration().getDataCount();
         case "datalakeserviceclient":
@@ -314,8 +316,6 @@ public class DataLakeEndpointConfigurer extends PropertyConfigurerSupport implem
         case "timeUnit": return target.getTimeUnit();
         case "timeout": return target.getConfiguration().getTimeout();
         case "umask": return target.getConfiguration().getUmask();
-        case "usedefaultidentity":
-        case "useDefaultIdentity": return target.getConfiguration().getUseDefaultIdentity();
         case "usefixeddelay":
         case "useFixedDelay": return target.isUseFixedDelay();
         case "userprincipalnamereturned":
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointUriFactory.java b/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointUriFactory.java
index 57a33d11d6c..80ff4125a29 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointUriFactory.java
+++ b/components/camel-azure/camel-azure-storage-datalake/src/generated/java/org/apache/camel/component/azure/storage/datalake/DataLakeEndpointUriFactory.java
@@ -33,6 +33,7 @@ public class DataLakeEndpointUriFactory extends org.apache.camel.support.compone
         props.add("clientSecretCredential");
         props.add("close");
         props.add("closeStreamAfterRead");
+        props.add("credentialType");
         props.add("dataCount");
         props.add("dataLakeServiceClient");
         props.add("delay");
@@ -74,7 +75,6 @@ public class DataLakeEndpointUriFactory extends org.apache.camel.support.compone
         props.add("timeUnit");
         props.add("timeout");
         props.add("umask");
-        props.add("useDefaultIdentity");
         props.add("useFixedDelay");
         props.add("userPrincipalNameReturned");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/generated/resources/org/apache/camel/component/azure/storage/datalake/azure-storage-datalake.json b/components/camel-azure/camel-azure-storage-datalake/src/generated/resources/org/apache/camel/component/azure/storage/datalake/azure-storage-datalake.json
index 1a4283919ba..d5868e1629f 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/generated/resources/org/apache/camel/component/azure/storage/datalake/azure-storage-datalake.json
+++ b/components/camel-azure/camel-azure-storage-datalake/src/generated/resources/org/apache/camel/component/azure/storage/datalake/azure-storage-datalake.json
@@ -26,40 +26,40 @@
     "close": { "index": 1, "kind": "property", "displayName": "Close", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Whether or not a file changed event raised indicates completion (true) or modification (false)" },
     "closeStreamAfterRead": { "index": 2, "kind": "property", "displayName": "Close Stream After Read", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "check for closing stream after read" },
     "configuration": { "index": 3, "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "configuration object for datalake" },
-    "dataCount": { "index": 4, "kind": "property", "displayName": "Data Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "count number of bytes to download" },
-    "directoryName": { "index": 5, "kind": "property", "displayName": "Directory 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of the file to be handled in component" },
-    "downloadLinkExpiration": { "index": 6, "kind": "property", "displayName": "Download Link Expiration", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "download link expiration time" },
-    "expression": { "index": 7, "kind": "property", "displayName": "Expression", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "expression for queryInputStream" },
-    "fileDir": { "index": 8, "kind": "property", "displayName": "File Dir", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of file to do operations in the local system" },
-    "fileName": { "index": 9, "kind": "property", "displayName": "File 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "name of file to be handled in component" },
-    "fileOffset": { "index": 10, "kind": "property", "displayName": "File Offset", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "offset position in file for different operations" },
-    "maxResults": { "index": 11, "kind": "property", "displayName": "Max Results", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "maximum number of results to show at a time" },
-    "maxRetryRequests": { "index": 12, "kind": "property", "displayName": "Max Retry Requests", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "no of retries to a given request" },
-    "openOptions": { "index": 13, "kind": "property", "displayName": "Open Options", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Set<java.nio.file.OpenOption>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "set open options for creating file" },
-    "path": { "index": 14, "kind": "property", "displayName": "Path", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "path in azure datalake for operations" },
-    "permission": { "index": 15, "kind": "property", "displayName": "Permission", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "permission string for the file" },
-    "position": { "index": 16, "kind": "property", "displayName": "Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appende [...]
-    "recursive": { "index": 17, "kind": "property", "displayName": "Recursive", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "recursively include all paths" },
-    "regex": { "index": 18, "kind": "property", "displayName": "Regex", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "regular expression for matching file names" },
-    "retainUncommitedData": { "index": 19, "kind": "property", "displayName": "Retain Uncommited Data", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Whether or not uncommitted data is to be retained after the operation" },
-    "serviceClient": { "index": 20, "kind": "property", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.file.datalake.DataLakeServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "datalake service client for azure [...]
-    "sharedKeyCredential": { "index": 21, "kind": "property", "displayName": "Shared Key Credential", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.common.StorageSharedKeyCredential", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "shared key credential for azure datalake gen2" },
-    "tenantId": { "index": 22, "kind": "property", "displayName": "Tenant Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "tenant id for azure account" },
-    "timeout": { "index": 23, "kind": "property", "displayName": "Timeout", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Timeout for operation" },
-    "umask": { "index": 24, "kind": "property", "displayName": "Umask", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "umask permission for file" },
-    "userPrincipalNameReturned": { "index": 25, "kind": "property", "displayName": "User Principal Name Returned", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "whether or not to use upn" },
-    "bridgeErrorHandler": { "index": 26, "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 [...]
-    "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.datalake.DataLakeOperationsDefinition", "enum": [ "listFileSystem", "listFiles" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "listFileSystem", "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "config [...]
-    "autowiredEnabled": { "index": 29, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
-    "healthCheckConsumerEnabled": { "index": 30, "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": 31, "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 [...]
-    "accountKey": { "index": 32, "kind": "property", "displayName": "Account 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "account key for authentication" },
-    "clientSecret": { "index": 33, "kind": "property", "displayName": "Client Secret", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret for azure account" },
-    "clientSecretCredential": { "index": 34, "kind": "property", "displayName": "Client Secret Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.identity.ClientSecretCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret credential for authentica [...]
-    "sasCredential": { "index": 35, "kind": "property", "displayName": "Sas Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.core.credential.AzureSasCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token credential" },
-    "sasSignature": { "index": 36, "kind": "property", "displayName": "Sas Signature", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token signature" },
-    "useDefaultIdentity": { "index": 37, "kind": "property", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Use default identity" }
+    "credentialType": { "index": 4, "kind": "property", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.datalake.CredentialType", "enum": [ "CLIENT_SECRET", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CLIENT_SECRET", "configurationClass": "org.apache.camel.component.azure.storage.datalak [...]
+    "dataCount": { "index": 5, "kind": "property", "displayName": "Data Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "count number of bytes to download" },
+    "directoryName": { "index": 6, "kind": "property", "displayName": "Directory 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of the file to be handled in component" },
+    "downloadLinkExpiration": { "index": 7, "kind": "property", "displayName": "Download Link Expiration", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "download link expiration time" },
+    "expression": { "index": 8, "kind": "property", "displayName": "Expression", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "expression for queryInputStream" },
+    "fileDir": { "index": 9, "kind": "property", "displayName": "File Dir", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of file to do operations in the local system" },
+    "fileName": { "index": 10, "kind": "property", "displayName": "File 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "name of file to be handled in component" },
+    "fileOffset": { "index": 11, "kind": "property", "displayName": "File Offset", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "offset position in file for different operations" },
+    "maxResults": { "index": 12, "kind": "property", "displayName": "Max Results", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "maximum number of results to show at a time" },
+    "maxRetryRequests": { "index": 13, "kind": "property", "displayName": "Max Retry Requests", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "no of retries to a given request" },
+    "openOptions": { "index": 14, "kind": "property", "displayName": "Open Options", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Set<java.nio.file.OpenOption>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "set open options for creating file" },
+    "path": { "index": 15, "kind": "property", "displayName": "Path", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "path in azure datalake for operations" },
+    "permission": { "index": 16, "kind": "property", "displayName": "Permission", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "permission string for the file" },
+    "position": { "index": 17, "kind": "property", "displayName": "Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appende [...]
+    "recursive": { "index": 18, "kind": "property", "displayName": "Recursive", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "recursively include all paths" },
+    "regex": { "index": 19, "kind": "property", "displayName": "Regex", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "regular expression for matching file names" },
+    "retainUncommitedData": { "index": 20, "kind": "property", "displayName": "Retain Uncommited Data", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Whether or not uncommitted data is to be retained after the operation" },
+    "serviceClient": { "index": 21, "kind": "property", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.file.datalake.DataLakeServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "datalake service client for azure [...]
+    "sharedKeyCredential": { "index": 22, "kind": "property", "displayName": "Shared Key Credential", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.common.StorageSharedKeyCredential", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "shared key credential for azure datalake gen2" },
+    "tenantId": { "index": 23, "kind": "property", "displayName": "Tenant Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "tenant id for azure account" },
+    "timeout": { "index": 24, "kind": "property", "displayName": "Timeout", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Timeout for operation" },
+    "umask": { "index": 25, "kind": "property", "displayName": "Umask", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "umask permission for file" },
+    "userPrincipalNameReturned": { "index": 26, "kind": "property", "displayName": "User Principal Name Returned", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "whether or not to use upn" },
+    "bridgeErrorHandler": { "index": 27, "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 [...]
+    "lazyStartProducer": { "index": 28, "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": 29, "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.datalake.DataLakeOperationsDefinition", "enum": [ "listFileSystem", "listFiles" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "listFileSystem", "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "config [...]
+    "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 [...]
+    "accountKey": { "index": 33, "kind": "property", "displayName": "Account 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "account key for authentication" },
+    "clientSecret": { "index": 34, "kind": "property", "displayName": "Client Secret", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret for azure account" },
+    "clientSecretCredential": { "index": 35, "kind": "property", "displayName": "Client Secret Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.identity.ClientSecretCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret credential for authentica [...]
+    "sasCredential": { "index": 36, "kind": "property", "displayName": "Sas Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.core.credential.AzureSasCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token credential" },
+    "sasSignature": { "index": 37, "kind": "property", "displayName": "Sas Signature", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token signature" }
   },
   "headers": {
     "CamelAzureStorageDataLakeListFileSystemsOptions": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "ListFileSystemsOptions", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Defines options available to configure the behavior of a call to listFileSystemsSegment on a DataLakeServiceAsyncClient object. Null may be passed.", "constantName": "org.apache.camel.compon [...]
@@ -132,55 +132,55 @@
     "clientId": { "index": 2, "kind": "parameter", "displayName": "Client Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client id for azure account" },
     "close": { "index": 3, "kind": "parameter", "displayName": "Close", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Whether or not a file changed event raised indicates completion (true) or modification (false)" },
     "closeStreamAfterRead": { "index": 4, "kind": "parameter", "displayName": "Close Stream After Read", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "check for closing stream after read" },
-    "dataCount": { "index": 5, "kind": "parameter", "displayName": "Data Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "count number of bytes to download" },
-    "dataLakeServiceClient": { "index": 6, "kind": "parameter", "displayName": "Data Lake Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.file.datalake.DataLakeServiceClient", "deprecated": false, "autowired": false, "secret": false, "description": "service client of datalake" },
-    "directoryName": { "index": 7, "kind": "parameter", "displayName": "Directory 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of the file to be handled in component" },
-    "downloadLinkExpiration": { "index": 8, "kind": "parameter", "displayName": "Download Link Expiration", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "download link expiration time" },
-    "expression": { "index": 9, "kind": "parameter", "displayName": "Expression", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "expression for queryInputStream" },
-    "fileDir": { "index": 10, "kind": "parameter", "displayName": "File Dir", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of file to do operations in the local system" },
-    "fileName": { "index": 11, "kind": "parameter", "displayName": "File 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "name of file to be handled in component" },
-    "fileOffset": { "index": 12, "kind": "parameter", "displayName": "File Offset", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "offset position in file for different operations" },
-    "maxResults": { "index": 13, "kind": "parameter", "displayName": "Max Results", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "maximum number of results to show at a time" },
-    "maxRetryRequests": { "index": 14, "kind": "parameter", "displayName": "Max Retry Requests", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "no of retries to a given request" },
-    "openOptions": { "index": 15, "kind": "parameter", "displayName": "Open Options", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Set<java.nio.file.OpenOption>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "set open options for creating file" },
-    "path": { "index": 16, "kind": "parameter", "displayName": "Path", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "path in azure datalake for operations" },
-    "permission": { "index": 17, "kind": "parameter", "displayName": "Permission", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "permission string for the file" },
-    "position": { "index": 18, "kind": "parameter", "displayName": "Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "This parameter allows the caller to upload data in parallel and control the order in which it is append [...]
-    "recursive": { "index": 19, "kind": "parameter", "displayName": "Recursive", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "recursively include all paths" },
-    "regex": { "index": 20, "kind": "parameter", "displayName": "Regex", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "regular expression for matching file names" },
-    "retainUncommitedData": { "index": 21, "kind": "parameter", "displayName": "Retain Uncommited Data", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Whether or not uncommitted data is to be retained after the operation" },
-    "serviceClient": { "index": 22, "kind": "parameter", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.file.datalake.DataLakeServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "datalake service client for azur [...]
-    "sharedKeyCredential": { "index": 23, "kind": "parameter", "displayName": "Shared Key Credential", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.common.StorageSharedKeyCredential", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "shared key credential for azure datalake gen2" },
-    "tenantId": { "index": 24, "kind": "parameter", "displayName": "Tenant Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "tenant id for azure account" },
-    "timeout": { "index": 25, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Timeout for operation" },
-    "umask": { "index": 26, "kind": "parameter", "displayName": "Umask", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "umask permission for file" },
-    "userPrincipalNameReturned": { "index": 27, "kind": "parameter", "displayName": "User Principal Name Returned", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "whether or not to use upn" },
-    "sendEmptyMessageWhenIdle": { "index": 28, "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": 29, "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": 30, "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": 31, "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": 32, "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 [...]
-    "operation": { "index": 33, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.datalake.DataLakeOperationsDefinition", "enum": [ "listFileSystem", "listFiles" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "listFileSystem", "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "confi [...]
-    "lazyStartProducer": { "index": 34, "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": 35, "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": 36, "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": 37, "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": 38, "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": 39, "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": 40, "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": 41, "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": 42, "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": 43, "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": 44, "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": 45, "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": 46, "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": 47, "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": 48, "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." },
-    "accountKey": { "index": 49, "kind": "parameter", "displayName": "Account 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "account key for authentication" },
-    "clientSecret": { "index": 50, "kind": "parameter", "displayName": "Client Secret", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret for azure account" },
-    "clientSecretCredential": { "index": 51, "kind": "parameter", "displayName": "Client Secret Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.identity.ClientSecretCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret credential for authentic [...]
-    "sasCredential": { "index": 52, "kind": "parameter", "displayName": "Sas Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.core.credential.AzureSasCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token credential" },
-    "sasSignature": { "index": 53, "kind": "parameter", "displayName": "Sas Signature", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token signature" },
-    "useDefaultIdentity": { "index": 54, "kind": "parameter", "displayName": "Use Default Identity", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Use default identity" }
+    "credentialType": { "index": 5, "kind": "parameter", "displayName": "Credential Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.datalake.CredentialType", "enum": [ "CLIENT_SECRET", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CLIENT_SECRET", "configurationClass": "org.apache.camel.component.azure.storage.datala [...]
+    "dataCount": { "index": 6, "kind": "parameter", "displayName": "Data Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "count number of bytes to download" },
+    "dataLakeServiceClient": { "index": 7, "kind": "parameter", "displayName": "Data Lake Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.file.datalake.DataLakeServiceClient", "deprecated": false, "autowired": false, "secret": false, "description": "service client of datalake" },
+    "directoryName": { "index": 8, "kind": "parameter", "displayName": "Directory 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of the file to be handled in component" },
+    "downloadLinkExpiration": { "index": 9, "kind": "parameter", "displayName": "Download Link Expiration", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "download link expiration time" },
+    "expression": { "index": 10, "kind": "parameter", "displayName": "Expression", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "expression for queryInputStream" },
+    "fileDir": { "index": 11, "kind": "parameter", "displayName": "File Dir", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "directory of file to do operations in the local system" },
+    "fileName": { "index": 12, "kind": "parameter", "displayName": "File 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "name of file to be handled in component" },
+    "fileOffset": { "index": 13, "kind": "parameter", "displayName": "File Offset", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "offset position in file for different operations" },
+    "maxResults": { "index": 14, "kind": "parameter", "displayName": "Max Results", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "maximum number of results to show at a time" },
+    "maxRetryRequests": { "index": 15, "kind": "parameter", "displayName": "Max Retry Requests", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "no of retries to a given request" },
+    "openOptions": { "index": 16, "kind": "parameter", "displayName": "Open Options", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Set<java.nio.file.OpenOption>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "set open options for creating file" },
+    "path": { "index": 17, "kind": "parameter", "displayName": "Path", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "path in azure datalake for operations" },
+    "permission": { "index": 18, "kind": "parameter", "displayName": "Permission", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "permission string for the file" },
+    "position": { "index": 19, "kind": "parameter", "displayName": "Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "This parameter allows the caller to upload data in parallel and control the order in which it is append [...]
+    "recursive": { "index": 20, "kind": "parameter", "displayName": "Recursive", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "recursively include all paths" },
+    "regex": { "index": 21, "kind": "parameter", "displayName": "Regex", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "regular expression for matching file names" },
+    "retainUncommitedData": { "index": 22, "kind": "parameter", "displayName": "Retain Uncommited Data", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Whether or not uncommitted data is to be retained after the operation" },
+    "serviceClient": { "index": 23, "kind": "parameter", "displayName": "Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.file.datalake.DataLakeServiceClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "datalake service client for azur [...]
+    "sharedKeyCredential": { "index": 24, "kind": "parameter", "displayName": "Shared Key Credential", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.common.StorageSharedKeyCredential", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "shared key credential for azure datalake gen2" },
+    "tenantId": { "index": 25, "kind": "parameter", "displayName": "Tenant Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "tenant id for azure account" },
+    "timeout": { "index": 26, "kind": "parameter", "displayName": "Timeout", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "Timeout for operation" },
+    "umask": { "index": 27, "kind": "parameter", "displayName": "Umask", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "umask permission for file" },
+    "userPrincipalNameReturned": { "index": 28, "kind": "parameter", "displayName": "User Principal Name Returned", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "whether or not to use upn" },
+    "sendEmptyMessageWhenIdle": { "index": 29, "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": 30, "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": 31, "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": 32, "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": 33, "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 [...]
+    "operation": { "index": 34, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.datalake.DataLakeOperationsDefinition", "enum": [ "listFileSystem", "listFiles" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "listFileSystem", "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "confi [...]
+    "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." },
+    "accountKey": { "index": 50, "kind": "parameter", "displayName": "Account 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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "account key for authentication" },
+    "clientSecret": { "index": 51, "kind": "parameter", "displayName": "Client Secret", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret for azure account" },
+    "clientSecretCredential": { "index": 52, "kind": "parameter", "displayName": "Client Secret Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.identity.ClientSecretCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "client secret credential for authentic [...]
+    "sasCredential": { "index": 53, "kind": "parameter", "displayName": "Sas Credential", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "com.azure.core.credential.AzureSasCredential", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token credential" },
+    "sasSignature": { "index": 54, "kind": "parameter", "displayName": "Sas Signature", "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.datalake.DataLakeConfiguration", "configurationField": "configuration", "description": "SAS token signature" }
   }
 }
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/CredentialType.java b/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/CredentialType.java
new file mode 100644
index 00000000000..676aed07241
--- /dev/null
+++ b/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/CredentialType.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.storage.datalake;
+
+public enum CredentialType {
+    /**
+     * Shared key credential
+     *
+     * @see com.azure.storage.common.StorageSharedKeyCredential
+     */
+    SHARED_KEY_CREDENTIAL,
+    /**
+     * storage Client Secret
+     */
+    CLIENT_SECRET,
+    /**
+     * Includes:
+     * <uL>
+     * <li>Service principal with secret</li>
+     * <li>Service principal with certificate</li>
+     * <li>username and password</li>
+     * </uL>
+     *
+     * @see com.azure.identity.DefaultAzureCredentialBuilder
+     */
+    AZURE_IDENTITY,
+    /**
+     * SAS Token
+     *
+     */
+    AZURE_SAS,
+    /**
+     * Service Client Instance
+     *
+     */
+    SERVICE_CLIENT_INSTANCE
+
+}
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfiguration.java b/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfiguration.java
index a77a20e2c3b..c24e72b823b 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfiguration.java
+++ b/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfiguration.java
@@ -30,6 +30,8 @@ import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
 
+import static org.apache.camel.component.azure.storage.datalake.CredentialType.CLIENT_SECRET;
+
 @UriParams
 public class DataLakeConfiguration implements Cloneable {
 
@@ -98,13 +100,15 @@ public class DataLakeConfiguration implements Cloneable {
     private String sasSignature;
     @UriParam(label = "security", secret = true, description = "SAS token credential")
     private AzureSasCredential sasCredential;
-    @UriParam(label = "security", secret = false, description = "Use default identity")
-    private Boolean useDefaultIdentity = false;
 
     @UriParam(label = "producer", enums = "listFileSystem, listFiles", defaultValue = "listFileSystem",
               description = "operation to be performed")
     private DataLakeOperationsDefinition operation = DataLakeOperationsDefinition.listFileSystem;
 
+    @UriParam(label = "common", enums = "CLIENT_SECRET,SHARED_KEY_CREDENTIAL,AZURE_IDENTITY,AZURE_SAS",
+              defaultValue = "CLIENT_SECRET")
+    private CredentialType credentialType = CLIENT_SECRET;
+
     public DataLakeOperationsDefinition getOperation() {
         return operation;
     }
@@ -369,12 +373,15 @@ public class DataLakeConfiguration implements Cloneable {
         this.sasCredential = sasCredential;
     }
 
-    public Boolean getUseDefaultIdentity() {
-        return useDefaultIdentity;
+    public CredentialType getCredentialType() {
+        return credentialType;
     }
 
-    public void setUseDefaultIdentity(Boolean useDefaultIdentity) {
-        this.useDefaultIdentity = useDefaultIdentity;
+    /**
+     * Determines the credential strategy to adopt
+     */
+    public void setCredentialType(CredentialType credentialType) {
+        this.credentialType = credentialType;
     }
 
     public DataLakeConfiguration copy() {
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java b/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
index 47dbda393e3..ba324028452 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
+++ b/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
@@ -25,6 +25,7 @@ import com.azure.identity.DefaultAzureCredentialBuilder;
 import com.azure.storage.common.StorageSharedKeyCredential;
 import com.azure.storage.file.datalake.DataLakeServiceClient;
 import com.azure.storage.file.datalake.DataLakeServiceClientBuilder;
+import org.apache.camel.component.azure.storage.datalake.CredentialType;
 import org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -39,18 +40,25 @@ public final class DataLakeClientFactory {
     }
 
     public static DataLakeServiceClient createDataLakeServiceClient(final DataLakeConfiguration configuration) {
-        final DataLakeServiceClient client;
-        if (configuration.getServiceClient() != null) {
+        DataLakeServiceClient client = null;
+        if (configuration.getServiceClient() != null
+                && configuration.getCredentialType().equals(CredentialType.SERVICE_CLIENT_INSTANCE)) {
             LOG.trace("Using configured service client instance");
             client = configuration.getServiceClient();
-        } else if (configuration.getUseDefaultIdentity()) {
+        } else if (configuration.getCredentialType().equals(CredentialType.AZURE_IDENTITY)) {
             client = createDataLakeServiceClientWithDefaultIdentity(configuration);
-        } else if (configuration.getAccountKey() != null || configuration.getSharedKeyCredential() != null) {
-            client = createDataLakeServiceClientWithSharedKey(configuration);
-        } else if (configuration.getSasSignature() != null || configuration.getSasCredential() != null) {
-            client = createDataLakeServiceClientWithSas(configuration);
+        } else if (configuration.getCredentialType().equals(CredentialType.SHARED_KEY_CREDENTIAL)) {
+            if (configuration.getAccountKey() != null || configuration.getSharedKeyCredential() != null) {
+                client = createDataLakeServiceClientWithSharedKey(configuration);
+            }
+        } else if (configuration.getCredentialType().equals(CredentialType.AZURE_SAS)) {
+            if (configuration.getSasSignature() != null || configuration.getSasCredential() != null) {
+                client = createDataLakeServiceClientWithSas(configuration);
+            }
         } else {
-            client = createDataLakeServiceClientWithClientSecret(configuration);
+            if (configuration.getCredentialType().equals(CredentialType.CLIENT_SECRET)) {
+                client = createDataLakeServiceClientWithClientSecret(configuration);
+            }
         }
 
         return client;
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/component/DataLakeComponentTest.java b/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/component/DataLakeComponentTest.java
index 84d73919f43..41d236893e3 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/component/DataLakeComponentTest.java
+++ b/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/component/DataLakeComponentTest.java
@@ -17,12 +17,11 @@
 package org.apache.camel.component.azure.storage.datalake.component;
 
 import com.azure.storage.common.StorageSharedKeyCredential;
-import com.azure.storage.file.datalake.DataLakeServiceClient;
+import com.azure.storage.file.datalake.DataLakeServiceClientBuilder;
 import org.apache.camel.Producer;
 import org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration;
 import org.apache.camel.component.azure.storage.datalake.DataLakeEndpoint;
 import org.apache.camel.component.azure.storage.datalake.DataLakeOperationsDefinition;
-import org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory;
 import org.apache.camel.support.DefaultExchange;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
@@ -37,12 +36,12 @@ class DataLakeComponentTest extends CamelTestSupport {
     @Test
     public void testWithServiceClient() {
         final DataLakeConfiguration configuration = new DataLakeConfiguration();
-        configuration.setSharedKeyCredential(storageSharedKeyCredentials());
-        final DataLakeServiceClient serviceClient = DataLakeClientFactory.createDataLakeServiceClient(configuration);
-        context.getRegistry().bind("azureDataLakeClient", serviceClient);
+        DataLakeServiceClientBuilder builder = new DataLakeServiceClientBuilder();
+        context.getRegistry().bind("azureDataLakeClient", builder.credential(storageSharedKeyCredentials())
+                .endpoint("https://cameltesting.dfs.core.windows.net").buildClient());
         final DataLakeEndpoint endpoint = (DataLakeEndpoint) context
                 .getEndpoint(
-                        "azure-storage-datalake:cameltesting/abc?serviceClient=#azureDataLakeClient&operation=listPaths");
+                        "azure-storage-datalake:cameltesting/abc?serviceClient=#azureDataLakeClient&operation=listPaths&credentialType=SERVICE_CLIENT_INSTANCE");
         assertEquals("cameltesting", endpoint.getConfiguration().getAccountName());
         assertEquals("abc", endpoint.getConfiguration().getFileSystemName());
         assertNotNull(endpoint.getConfiguration().getServiceClient());
@@ -56,7 +55,7 @@ class DataLakeComponentTest extends CamelTestSupport {
 
         final DataLakeEndpoint endpoint = (DataLakeEndpoint) context
                 .getEndpoint(
-                        "azure-storage-datalake:cameltesting/abc?sharedKeyCredential=#credentials&operation=upload&fileName=test.txt");
+                        "azure-storage-datalake:cameltesting/abc?sharedKeyCredential=#credentials&operation=upload&fileName=test.txt&credentialType=SHARED_KEY_CREDENTIAL");
 
         assertEquals("cameltesting", endpoint.getConfiguration().getAccountName());
         assertEquals("abc", endpoint.getConfiguration().getFileSystemName());
@@ -70,7 +69,8 @@ class DataLakeComponentTest extends CamelTestSupport {
     public void testProducerWithoutFileName() throws Exception {
         context.getRegistry().bind("credentials", storageSharedKeyCredentials());
         final DataLakeEndpoint endpoint = (DataLakeEndpoint) context
-                .getEndpoint("azure-storage-datalake:cameltesting/abc?sharedKeyCredential=#credentials&operation=deleteFile");
+                .getEndpoint(
+                        "azure-storage-datalake:cameltesting/abc?sharedKeyCredential=#credentials&operation=deleteFile&credentialType=SHARED_KEY_CREDENTIAL");
 
         DefaultExchange exchange = new DefaultExchange(context);