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

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


The following commit(s) were added to refs/heads/main by this push:
     new a7cb1313b65 [create-pull-request] automated change
a7cb1313b65 is described below

commit a7cb1313b65904557a3d94574258223230e55f31
Author: oscerd <osc...@users.noreply.github.com>
AuthorDate: Tue Mar 21 01:02:11 2023 +0000

    [create-pull-request] automated change
---
 .../catalog/components/azure-storage-datalake.json |  26 +++--
 .../src/main/docs/azure-storage-datalake.json      |  18 ++++
 .../springboot/DataLakeComponentConfiguration.java | 114 ++++++++++++++-------
 .../springboot/DataLakeComponentConverter.java     |   6 +-
 4 files changed, 115 insertions(+), 49 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-storage-datalake.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-storage-datalake.json
index 5e9d37176f5..5b07acc1ab7 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-storage-datalake.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-storage-datalake.json
@@ -22,10 +22,7 @@
     "lenientProperties": false
   },
   "componentProperties": {
-    "accountKey": { "kind": "property", "displayName": "Account Key", "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": "account key for 
authentication" },
     "clientId": { "kind": "property", "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" },
-    "clientSecret": { "kind": "property", "displayName": "Client Secret", 
"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 secret for azure 
account" },
-    "clientSecretCredential": { "kind": "property", "displayName": "Client 
Secret Credential", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": "com.azure.identity.ClientSecretCredential", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", 
"configurationField": "configuration", "description": "client secret credential 
for authentication" },
     "close": { "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": { "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": { "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" },
@@ -54,7 +51,13 @@
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "lazyStartProducer": { "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 fail during star [...]
     "operation": { "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", 
"configurationField" [...]
-    "autowiredEnabled": { "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 type, which t [...]
+    "autowiredEnabled": { "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 type, which t [...]
+    "accountKey": { "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": { "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": { "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 authentication" },
+    "sasCredential": { "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": { "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": { "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" }
   },
   "headers": {
     "CamelAzureStorageDataLakeListFileSystemsOptions": { "kind": "header", 
"displayName": "", "group": "from user", "label": "from user", "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.component.azure. [...]
@@ -117,15 +120,14 @@
     "CamelAzureStorageDataLakeProgressConsumer": { "kind": "header", 
"displayName": "", "group": "from user", "label": "from user", "required": 
false, "javaType": "Consumer<FileQueryProgress>", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": 
"Sets progress consumer for file query", "constantName": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConstants#PROGRESS_CONSUMER"
 },
     "CamelAzureStorageDataLakeQueryOptions": { "kind": "header", 
"displayName": "", "group": "from user", "label": "from user", "required": 
false, "javaType": "FileQueryOptions", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "description": "Optional parameters 
for File Query.", "constantName": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConstants#QUERY_OPTIONS"
 },
     "CamelAzureStorageDataLakePermission": { "kind": "header", "displayName": 
"", "group": "from user", "label": "from user", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Sets the permission for file.", 
"constantName": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConstants#PERMISSION"
 },
-    "CamelAzureStorageDataLakeUmask": { "kind": "header", "displayName": "", 
"group": "from user", "label": "from user", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Sets the umask for file.", "constantName": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConstants#UMASK" }
+    "CamelAzureStorageDataLakeUmask": { "kind": "header", "displayName": "", 
"group": "from user", "label": "from user", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Sets the umask for file.", "constantName": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConstants#UMASK" },
+    "CamelAzureStorageDataLakeFileClient": { "kind": "header", "displayName": 
"", "group": "from user", "label": "from user", "required": false, "javaType": 
"DataLakeFileClient", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Sets the file client to use", 
"constantName": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConstants#FILE_CLIENT"
 },
+    "CamelAzureStorageDataLakeFlush": { "kind": "header", "displayName": "", 
"group": "from user", "label": "from user", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Sets whether to flush on append", 
"constantName": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConstants#FLUSH" }
   },
   "properties": {
     "accountName": { "kind": "path", "displayName": "Account Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", 
"configurationField": "configuration", "description": "name of the azure 
account" },
     "fileSystemName": { "kind": "path", "displayName": "File System 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 filesystem to be 
used" },
-    "accountKey": { "kind": "parameter", "displayName": "Account Key", 
"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": "account key for 
authentication" },
     "clientId": { "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" },
-    "clientSecret": { "kind": "parameter", "displayName": "Client Secret", 
"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 secret for azure 
account" },
-    "clientSecretCredential": { "kind": "parameter", "displayName": "Client 
Secret Credential", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": "com.azure.identity.ClientSecretCredential", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration", 
"configurationField": "configuration", "description": "client secret credential 
for authentication" },
     "close": { "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": { "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": { "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" },
@@ -171,6 +173,12 @@
     "schedulerProperties": { "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": { "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": { "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": { "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." }
+    "useFixedDelay": { "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": { "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": { "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": { "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 authentication" },
+    "sasCredential": { "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": { "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": { "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" }
   }
 }
diff --git 
a/components-starter/camel-azure-storage-datalake-starter/src/main/docs/azure-storage-datalake.json
 
b/components-starter/camel-azure-storage-datalake-starter/src/main/docs/azure-storage-datalake.json
index 14a8a911224..c863f450ccd 100644
--- 
a/components-starter/camel-azure-storage-datalake-starter/src/main/docs/azure-storage-datalake.json
+++ 
b/components-starter/camel-azure-storage-datalake-starter/src/main/docs/azure-storage-datalake.json
@@ -189,6 +189,18 @@
       "description": "Whether or not uncommitted data is to be retained after 
the operation",
       "sourceType": 
"org.apache.camel.component.azure.storage.datalake.springboot.DataLakeComponentConfiguration"
     },
+    {
+      "name": "camel.component.azure-storage-datalake.sas-credential",
+      "type": "com.azure.core.credential.AzureSasCredential",
+      "description": "SAS token credential. The option is a 
com.azure.core.credential.AzureSasCredential type.",
+      "sourceType": 
"org.apache.camel.component.azure.storage.datalake.springboot.DataLakeComponentConfiguration"
+    },
+    {
+      "name": "camel.component.azure-storage-datalake.sas-signature",
+      "type": "java.lang.String",
+      "description": "SAS token signature",
+      "sourceType": 
"org.apache.camel.component.azure.storage.datalake.springboot.DataLakeComponentConfiguration"
+    },
     {
       "name": "camel.component.azure-storage-datalake.service-client",
       "type": "com.azure.storage.file.datalake.DataLakeServiceClient",
@@ -219,6 +231,12 @@
       "description": "umask permission for file",
       "sourceType": 
"org.apache.camel.component.azure.storage.datalake.springboot.DataLakeComponentConfiguration"
     },
+    {
+      "name": "camel.component.azure-storage-datalake.use-default-identity",
+      "type": "java.lang.Boolean",
+      "description": "Use default identity",
+      "sourceType": 
"org.apache.camel.component.azure.storage.datalake.springboot.DataLakeComponentConfiguration"
+    },
     {
       "name": 
"camel.component.azure-storage-datalake.user-principal-name-returned",
       "type": "java.lang.Boolean",
diff --git 
a/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConfiguration.java
 
b/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConfiguration.java
index b6594f1b21c..af3ebc6ff80 100644
--- 
a/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConfiguration.java
+++ 
b/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConfiguration.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.component.azure.storage.datalake.springboot;
 import java.nio.file.OpenOption;
 import java.time.Duration;
 import java.util.Set;
+import com.azure.core.credential.AzureSasCredential;
 import com.azure.identity.ClientSecretCredential;
 import com.azure.storage.common.StorageSharedKeyCredential;
 import com.azure.storage.file.datalake.DataLakeServiceClient;
@@ -43,23 +44,10 @@ public class DataLakeComponentConfiguration
      * component. This is enabled by default.
      */
     private Boolean enabled;
-    /**
-     * account key for authentication
-     */
-    private String accountKey;
     /**
      * client id for azure account
      */
     private String clientId;
-    /**
-     * client secret for azure account
-     */
-    private String clientSecret;
-    /**
-     * client secret credential for authentication. The option is a
-     * com.azure.identity.ClientSecretCredential type.
-     */
-    private ClientSecretCredential clientSecretCredential;
     /**
      * Whether or not a file changed event raised indicates completion (true) 
or
      * modification (false)
@@ -199,14 +187,32 @@ public class DataLakeComponentConfiguration
      * etc.
      */
     private Boolean autowiredEnabled = true;
-
-    public String getAccountKey() {
-        return accountKey;
-    }
-
-    public void setAccountKey(String accountKey) {
-        this.accountKey = accountKey;
-    }
+    /**
+     * account key for authentication
+     */
+    private String accountKey;
+    /**
+     * client secret for azure account
+     */
+    private String clientSecret;
+    /**
+     * client secret credential for authentication. The option is a
+     * com.azure.identity.ClientSecretCredential type.
+     */
+    private ClientSecretCredential clientSecretCredential;
+    /**
+     * SAS token credential. The option is a
+     * com.azure.core.credential.AzureSasCredential type.
+     */
+    private AzureSasCredential sasCredential;
+    /**
+     * SAS token signature
+     */
+    private String sasSignature;
+    /**
+     * Use default identity
+     */
+    private Boolean useDefaultIdentity;
 
     public String getClientId() {
         return clientId;
@@ -216,23 +222,6 @@ public class DataLakeComponentConfiguration
         this.clientId = clientId;
     }
 
-    public String getClientSecret() {
-        return clientSecret;
-    }
-
-    public void setClientSecret(String clientSecret) {
-        this.clientSecret = clientSecret;
-    }
-
-    public ClientSecretCredential getClientSecretCredential() {
-        return clientSecretCredential;
-    }
-
-    public void setClientSecretCredential(
-            ClientSecretCredential clientSecretCredential) {
-        this.clientSecretCredential = clientSecretCredential;
-    }
-
     public Boolean getClose() {
         return close;
     }
@@ -465,4 +454,53 @@ public class DataLakeComponentConfiguration
     public void setAutowiredEnabled(Boolean autowiredEnabled) {
         this.autowiredEnabled = autowiredEnabled;
     }
+
+    public String getAccountKey() {
+        return accountKey;
+    }
+
+    public void setAccountKey(String accountKey) {
+        this.accountKey = accountKey;
+    }
+
+    public String getClientSecret() {
+        return clientSecret;
+    }
+
+    public void setClientSecret(String clientSecret) {
+        this.clientSecret = clientSecret;
+    }
+
+    public ClientSecretCredential getClientSecretCredential() {
+        return clientSecretCredential;
+    }
+
+    public void setClientSecretCredential(
+            ClientSecretCredential clientSecretCredential) {
+        this.clientSecretCredential = clientSecretCredential;
+    }
+
+    public AzureSasCredential getSasCredential() {
+        return sasCredential;
+    }
+
+    public void setSasCredential(AzureSasCredential sasCredential) {
+        this.sasCredential = sasCredential;
+    }
+
+    public String getSasSignature() {
+        return sasSignature;
+    }
+
+    public void setSasSignature(String sasSignature) {
+        this.sasSignature = sasSignature;
+    }
+
+    public Boolean getUseDefaultIdentity() {
+        return useDefaultIdentity;
+    }
+
+    public void setUseDefaultIdentity(Boolean useDefaultIdentity) {
+        this.useDefaultIdentity = useDefaultIdentity;
+    }
 }
\ No newline at end of file
diff --git 
a/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConverter.java
 
b/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConverter.java
index 73133f5e3f3..8f0057b0f84 100644
--- 
a/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConverter.java
+++ 
b/components-starter/camel-azure-storage-datalake-starter/src/main/java/org/apache/camel/component/azure/storage/datalake/springboot/DataLakeComponentConverter.java
@@ -39,11 +39,12 @@ public class DataLakeComponentConverter implements 
GenericConverter {
 
     public Set<ConvertiblePair> getConvertibleTypes() {
         Set<ConvertiblePair> answer = new LinkedHashSet<>();
-        answer.add(new ConvertiblePair(String.class, 
com.azure.identity.ClientSecretCredential.class));
         answer.add(new ConvertiblePair(String.class, 
org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration.class));
         answer.add(new ConvertiblePair(String.class, 
com.azure.storage.file.datalake.DataLakeServiceClient.class));
         answer.add(new ConvertiblePair(String.class, 
com.azure.storage.common.StorageSharedKeyCredential.class));
         answer.add(new ConvertiblePair(String.class, 
java.time.Duration.class));
+        answer.add(new ConvertiblePair(String.class, 
com.azure.identity.ClientSecretCredential.class));
+        answer.add(new ConvertiblePair(String.class, 
com.azure.core.credential.AzureSasCredential.class));
         return answer;
     }
 
@@ -60,11 +61,12 @@ public class DataLakeComponentConverter implements 
GenericConverter {
         }
         ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
         switch (targetType.getName()) {
-            case "com.azure.identity.ClientSecretCredential": return 
applicationContext.getBean(ref, 
com.azure.identity.ClientSecretCredential.class);
             case 
"org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration": 
return applicationContext.getBean(ref, 
org.apache.camel.component.azure.storage.datalake.DataLakeConfiguration.class);
             case "com.azure.storage.file.datalake.DataLakeServiceClient": 
return applicationContext.getBean(ref, 
com.azure.storage.file.datalake.DataLakeServiceClient.class);
             case "com.azure.storage.common.StorageSharedKeyCredential": return 
applicationContext.getBean(ref, 
com.azure.storage.common.StorageSharedKeyCredential.class);
             case "java.time.Duration": return applicationContext.getBean(ref, 
java.time.Duration.class);
+            case "com.azure.identity.ClientSecretCredential": return 
applicationContext.getBean(ref, 
com.azure.identity.ClientSecretCredential.class);
+            case "com.azure.core.credential.AzureSasCredential": return 
applicationContext.getBean(ref, 
com.azure.core.credential.AzureSasCredential.class);
         }
         return null;
     }

Reply via email to