about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py
new file mode 100644
index 00000000..538f9590
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py
@@ -0,0 +1,70 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=protected-access
+
+from typing import Any, Optional, Union, cast
+
+from azure.ai.ml._restclient.v2023_04_01_preview import models
+from azure.ai.ml._restclient.v2024_07_01_preview import models as models2024
+from azure.ai.ml.entities._credentials import (
+    AccountKeyConfiguration,
+    CertificateConfiguration,
+    NoneCredentialConfiguration,
+    SasTokenConfiguration,
+    ServicePrincipalConfiguration,
+)
+from azure.ai.ml.entities._datastore._on_prem_credentials import KerberosKeytabCredentials, KerberosPasswordCredentials
+
+
+def from_rest_datastore_credentials(
+    rest_credentials: models.DatastoreCredentials,
+) -> Union[
+    AccountKeyConfiguration,
+    SasTokenConfiguration,
+    ServicePrincipalConfiguration,
+    CertificateConfiguration,
+    NoneCredentialConfiguration,
+]:
+    config_class: Any = NoneCredentialConfiguration
+
+    if isinstance(rest_credentials, (models.AccountKeyDatastoreCredentials, models2024.AccountKeyDatastoreCredentials)):
+        # we are no more using key for key base account.
+        # https://github.com/Azure/azure-sdk-for-python/pull/35716
+        if isinstance(rest_credentials.secrets, models2024.SasDatastoreSecrets):
+            config_class = SasTokenConfiguration
+        else:
+            config_class = AccountKeyConfiguration
+    elif isinstance(rest_credentials, (models.SasDatastoreCredentials, models2024.SasDatastoreCredentials)):
+        config_class = SasTokenConfiguration
+    elif isinstance(
+        rest_credentials, (models.ServicePrincipalDatastoreCredentials, models2024.ServicePrincipalDatastoreCredentials)
+    ):
+        config_class = ServicePrincipalConfiguration
+    elif isinstance(
+        rest_credentials, (models.CertificateDatastoreCredentials, models2024.CertificateDatastoreCredentials)
+    ):
+        config_class = CertificateConfiguration
+
+    return cast(
+        Union[
+            AccountKeyConfiguration,
+            SasTokenConfiguration,
+            ServicePrincipalConfiguration,
+            CertificateConfiguration,
+            NoneCredentialConfiguration,
+        ],
+        config_class._from_datastore_rest_object(rest_credentials),
+    )
+
+
+def _from_rest_datastore_credentials_preview(
+    rest_credentials: models.DatastoreCredentials,
+) -> Optional[Union[KerberosKeytabCredentials, KerberosPasswordCredentials]]:
+    if isinstance(rest_credentials, models.KerberosKeytabCredentials):
+        return KerberosKeytabCredentials._from_rest_object(rest_credentials)
+    if isinstance(rest_credentials, models.KerberosPasswordCredentials):
+        return KerberosPasswordCredentials._from_rest_object(rest_credentials)
+
+    return None