diff options
| author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
|---|---|---|
| committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
| commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
| tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/azure/ai/ml/entities/_datastore/utils.py | |
| parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
| download | gn-ai-master.tar.gz | |
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.py | 70 |
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 |
