diff --git a/sdk/keyvault/azure-keyvault-certificates/HISTORY.md b/sdk/keyvault/azure-keyvault-certificates/HISTORY.md index 74cf5e82bac6..eef76878916f 100644 --- a/sdk/keyvault/azure-keyvault-certificates/HISTORY.md +++ b/sdk/keyvault/azure-keyvault-certificates/HISTORY.md @@ -11,7 +11,9 @@ as certain properties of `Certificate` (such as `version`) have to be accessed through the `properties` property. See the updated [docs] (https://azure.github.io/azure-sdk-for-python/ref/azure.keyvault.certificates.html) for details. -- `update_certificate` has been renamed to `update_certificate_propertie` +- `update_certificate` has been renamed to `update_certificate_properties` +- The `vault_url` parameter of `CertificateClient` has been renamed to `vault_endpoint` +- The property `vault_url` has been renamed to `vault_endpoint` in all models. ## 4.0.0b3 (2019-09-11) Version 4.0.0b3 is the first preview of our efforts to create a user-friendly and Pythonic client library for Azure Key Vault's certificates. diff --git a/sdk/keyvault/azure-keyvault-certificates/README.md b/sdk/keyvault/azure-keyvault-certificates/README.md index 804fcc528aab..980ce895bb3e 100644 --- a/sdk/keyvault/azure-keyvault-certificates/README.md +++ b/sdk/keyvault/azure-keyvault-certificates/README.md @@ -59,7 +59,7 @@ names): } ``` - > The `"vaultUri"` property is the `vault_url` used by `CertificateClient` + > The `"vaultUri"` property is the `vault_endpoint` used by `CertificateClient` ### Authenticate the client In order to interact with a Key Vault's certificates, you'll need an instance @@ -116,7 +116,7 @@ from azure.keyvault.certificates import CertificateClient credential = DefaultAzureCredential() # Create a new certificate client using the default credential -certificate_client = CertificateClient(vault_url=, credential=credential) +certificate_client = CertificateClient(vault_endpoint=, credential=credential) ``` ## Key concepts With a `CertificateClient` you can get certificates from the vault, create new certificates and @@ -278,7 +278,7 @@ file_handler = logging.FileHandler(filename) logger.addHandler(file_handler) # Enable network trace logging. Each HTTP request will be logged at DEBUG level. -client = CertificateClient(vault_url=url, credential=credential, logging_enable=True)) +client = CertificateClient(vault_endpoint=url, credential=credential, logging_enable=True)) ``` Network trace logging can also be enabled for any single operation: diff --git a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/__init__.py b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/__init__.py index a8fd2a41d71f..6cbd019761da 100644 --- a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/__init__.py +++ b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/__init__.py @@ -23,7 +23,7 @@ "KeyVaultClientBase", ] -_VaultId = namedtuple("VaultId", ["vault_url", "collection", "name", "version"]) +_VaultId = namedtuple("VaultId", ["vault_endpoint", "collection", "name", "version"]) def parse_vault_id(url): @@ -40,7 +40,7 @@ def parse_vault_id(url): raise ValueError("'{}' is not not a valid vault url".format(url)) return _VaultId( - vault_url="{}://{}".format(parsed_uri.scheme, parsed_uri.hostname), + vault_endpoint="{}://{}".format(parsed_uri.scheme, parsed_uri.hostname), collection=path[0], name=path[1], version=path[2] if len(path) == 3 else None, diff --git a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_client_base.py b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_client_base.py index 064382fd6ab0..b571e27fe9dd 100644 --- a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_client_base.py +++ b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_client_base.py @@ -59,7 +59,7 @@ def _create_config(credential: "TokenCredential", api_version: str = None, **kwa def __init__( self, - vault_url: str, + vault_endpoint: str, credential: "TokenCredential", transport: AsyncHttpTransport = None, api_version: str = None, @@ -70,10 +70,10 @@ def __init__( "credential should be an object supporting the TokenCredential protocol, " "such as a credential from azure-identity" ) - if not vault_url: - raise ValueError("vault_url must be the URL of an Azure Key Vault") + if not vault_endpoint: + raise ValueError("vault_endpoint must be the URL of an Azure Key Vault") - self._vault_url = vault_url.strip(" /") + self._vault_endpoint = vault_endpoint.strip(" /") client = kwargs.pop("generated_client", None) if client: @@ -109,5 +109,5 @@ def _build_pipeline(config: Configuration, transport: AsyncHttpTransport, **kwar return AsyncPipeline(transport, policies=policies) @property - def vault_url(self) -> str: - return self._vault_url + def vault_endpoint(self) -> str: + return self._vault_endpoint diff --git a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/client_base.py b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/client_base.py index 54f033e55d28..7b30e1886860 100644 --- a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/client_base.py +++ b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/client_base.py @@ -56,17 +56,17 @@ def _create_config(credential, api_version=None, **kwargs): return config - def __init__(self, vault_url, credential, transport=None, api_version=None, **kwargs): + def __init__(self, vault_endpoint, credential, transport=None, api_version=None, **kwargs): # type: (str, TokenCredential, Optional[HttpTransport], Optional[str], **Any) -> None if not credential: raise ValueError( "credential should be an object supporting the TokenCredential protocol, " "such as a credential from azure-identity" ) - if not vault_url: - raise ValueError("vault_url must be the URL of an Azure Key Vault") + if not vault_endpoint: + raise ValueError("vault_endpoint must be the URL of an Azure Key Vault") - self._vault_url = vault_url.strip(" /") + self._vault_endpoint = vault_endpoint.strip(" /") client = kwargs.pop("generated_client", None) if client: @@ -101,6 +101,6 @@ def _build_pipeline(self, config, transport, **kwargs): return Pipeline(transport, policies=policies) @property - def vault_url(self): + def vault_endpoint(self): # type: () -> str - return self._vault_url + return self._vault_endpoint diff --git a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/client.py b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/client.py index 253e71a79009..ce6c5206eafb 100644 --- a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/client.py +++ b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/client.py @@ -43,12 +43,7 @@ class CertificateClient(AsyncKeyVaultClientBase): # pylint:disable=protected-access @distributed_trace_async async def create_certificate( - self, - name: str, - policy: Optional[CertificatePolicy] = None, - enabled: Optional[bool] = None, - tags: Optional[Dict[str, str]] = None, - **kwargs: "**Any" + self, name: str, policy: Optional[CertificatePolicy] = None, **kwargs: "**Any" ) -> Coroutine: """Creates a new certificate. @@ -59,15 +54,16 @@ async def create_certificate( :param policy: The management policy for the certificate. :type policy: ~azure.keyvault.certificates.models.CertificatePolicy - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value pairs. - :type tags: dict(str, str) :returns: A coroutine for the creation of the certificate. Awaiting the coroutine returns the created Certificate if creation is successful, the CertificateOperation if not. :rtype: coroutine[~azure.keyvault.certificates.models.Certificate or ~azure.keyvault.certificates.models.CertificateOperation] :raises: :class:`~azure.core.exceptions.HttpResponseError` + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. + Example: .. literalinclude:: ../tests/test_examples_certificates_async.py :start-after: [START create_certificate] @@ -76,6 +72,10 @@ async def create_certificate( :caption: Create a certificate :dedent: 8 """ + + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("tags", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: @@ -85,7 +85,7 @@ async def create_certificate( # pylint: disable=protected-access policy = CertificatePolicy._get_default_certificate_policy() cert_bundle = await self._client.create_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, certificate_policy=policy._to_certificate_policy_bundle(), certificate_attributes=attributes, @@ -126,7 +126,11 @@ async def get_certificate_with_policy(self, name: str, **kwargs: "**Any") -> Cer :dedent: 8 """ bundle = await self._client.get_certificate( - vault_base_url=self.vault_url, certificate_name=name, certificate_version="", error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, + certificate_name=name, + certificate_version="", + error_map=_error_map, + **kwargs ) return Certificate._from_certificate_bundle(certificate_bundle=bundle) @@ -154,7 +158,7 @@ async def get_certificate(self, name: str, version: str, **kwargs: "**Any") -> C :dedent: 8 """ bundle = await self._client.get_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, certificate_version=version, error_map=_error_map, @@ -187,7 +191,7 @@ async def delete_certificate(self, name: str, **kwargs: "**Any") -> DeletedCerti :dedent: 8 """ bundle = await self._client.delete_certificate( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return DeletedCertificate._from_deleted_certificate_bundle(deleted_certificate_bundle=bundle) @@ -216,7 +220,7 @@ async def get_deleted_certificate(self, name: str, **kwargs: "**Any") -> Deleted :dedent: 8 """ bundle = await self._client.get_deleted_certificate( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return DeletedCertificate._from_deleted_certificate_bundle(deleted_certificate_bundle=bundle) @@ -234,7 +238,9 @@ async def purge_deleted_certificate(self, name: str, **kwargs: "**Any") -> None: :rtype: None :raises: :class:`~azure.core.exceptions.HttpResponseError` """ - await self._client.purge_deleted_certificate(vault_base_url=self.vault_url, certificate_name=name, **kwargs) + await self._client.purge_deleted_certificate( + vault_base_url=self.vault_endpoint, certificate_name=name, **kwargs + ) @distributed_trace_async async def recover_deleted_certificate(self, name: str, **kwargs: "**Any") -> Certificate: @@ -260,7 +266,7 @@ async def recover_deleted_certificate(self, name: str, **kwargs: "**Any") -> Cer :dedent: 8 """ bundle = await self._client.recover_deleted_certificate( - vault_base_url=self.vault_url, certificate_name=name, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, **kwargs ) return Certificate._from_certificate_bundle(certificate_bundle=bundle) @@ -271,8 +277,6 @@ async def import_certificate( certificate_bytes: bytes, password: Optional[str] = None, policy: Optional[CertificatePolicy] = None, - enabled: Optional[bool] = None, - tags: Optional[Dict[str, str]] = None, **kwargs: "**Any" ) -> Certificate: """Imports a certificate into a specified key vault. @@ -291,20 +295,25 @@ async def import_certificate( :param policy: The management policy for the certificate. :type policy: ~azure.keyvault.certificates.models.CertificatePolicy - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value pairs. - :type tags: dict[str, str] :returns: The imported Certificate :rtype: ~azure.keyvault.certificates.models.Certificate :raises: :class:`~azure.core.exceptions.HttpResponseError` + + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. """ + + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("tags", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: attributes = None base64_encoded_certificate = base64.b64encode(certificate_bytes).decode("utf-8") bundle = await self._client.import_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, base64_encoded_certificate=base64_encoded_certificate, password=password, @@ -316,30 +325,32 @@ async def import_certificate( return Certificate._from_certificate_bundle(certificate_bundle=bundle) @distributed_trace_async - async def get_policy(self, name: str, **kwargs: "**Any") -> CertificatePolicy: + async def get_policy(self, certificate_name: str, **kwargs: "**Any") -> CertificatePolicy: """Gets the policy for a certificate. Returns the specified certificate policy resources in the key vault. This operation requires the certificates/get permission. - :param str name: The name of the certificate in a given key vault. + :param str certificate_name: The name of the certificate in a given key vault. :return: The certificate policy :rtype: ~azure.keyvault.certificates.models.CertificatePolicy :raises: :class:`~azure.core.exceptions.HttpResponseError` """ bundle = await self._client.get_certificate_policy( - vault_base_url=self.vault_url, certificate_name=name, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=certificate_name, **kwargs ) return CertificatePolicy._from_certificate_policy_bundle(certificate_policy_bundle=bundle) @distributed_trace_async - async def update_policy(self, name: str, policy: CertificatePolicy, **kwargs: "**Any") -> CertificatePolicy: + async def update_policy( + self, certificate_name: str, policy: CertificatePolicy, **kwargs: "**Any" + ) -> CertificatePolicy: """Updates the policy for a certificate. Set specified members in the certificate policy. Leaves others as null. This operation requries the certificates/update permission. - :param str name: The name of the certificate in the given vault. + :param str certificate_name: The name of the certificate in the given vault. :param policy: The policy for the certificate. :type policy: ~azure.keyvault.certificates.models.CertificatePolicy :return: The certificate policy @@ -347,8 +358,8 @@ async def update_policy(self, name: str, policy: CertificatePolicy, **kwargs: "* :raises: :class:`~azure.core.exceptions.HttpResponseError` """ bundle = await self._client.update_certificate_policy( - vault_base_url=self.vault_url, - certificate_name=name, + vault_base_url=self.vault_endpoint, + certificate_name=certificate_name, certificate_policy=policy._to_certificate_policy_bundle(), **kwargs ) @@ -356,12 +367,7 @@ async def update_policy(self, name: str, policy: CertificatePolicy, **kwargs: "* @distributed_trace_async async def update_certificate_properties( - self, - name: str, - version: Optional[str] = None, - enabled: Optional[bool] = None, - tags: Optional[Dict[str, str]] = None, - **kwargs: "**Any" + self, name: str, version: Optional[str] = None, **kwargs: "**Any" ) -> Certificate: """Updates the specified attributes associated with the given certificate. @@ -371,13 +377,14 @@ async def update_certificate_properties( :param str name: The name of the certificate in the given key vault. :param str version: The version of the certificate. - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value pairs. - :type tags: dict(str, str) :returns: The updated Certificate :rtype: ~azure.keyvault.certificates.models.Certificate :raises: :class:`~azure.core.exceptions.HttpResponseError` + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. + Example: .. literalinclude:: ../tests/test_examples_certificates_async.py :start-after: [START update_certificate] @@ -386,13 +393,17 @@ async def update_certificate_properties( :caption: Update a certificate's attributes :dedent: 8 """ + + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("tags", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: attributes = None bundle = await self._client.update_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, certificate_version=version or "", certificate_attributes=attributes, @@ -425,7 +436,7 @@ async def backup_certificate(self, name: str, **kwargs: "**Any") -> bytes: :dedent: 8 """ backup_result = await self._client.backup_certificate( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return backup_result.value @@ -450,7 +461,7 @@ async def restore_certificate(self, backup: bytes, **kwargs: "**Any") -> Certifi :dedent: 8 """ bundle = await self._client.restore_certificate( - vault_base_url=self.vault_url, certificate_bundle_backup=backup, **kwargs + vault_base_url=self.vault_endpoint, certificate_bundle_backup=backup, **kwargs ) return Certificate._from_certificate_bundle(certificate_bundle=bundle) @@ -483,7 +494,7 @@ def list_deleted_certificates( """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_deleted_certificates( - vault_base_url=self._vault_url, + vault_base_url=self._vault_endpoint, maxresults=max_page_size, include_pending=include_pending, cls=lambda objs: [DeletedCertificate._from_deleted_certificate_item(x) for x in objs], @@ -517,7 +528,7 @@ def list_certificates( """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_certificates( - vault_base_url=self._vault_url, + vault_base_url=self._vault_endpoint, maxresults=max_page_size, include_pending=include_pending, cls=lambda objs: [CertificateProperties._from_certificate_item(x) for x in objs], @@ -548,7 +559,7 @@ def list_certificate_versions(self, name: str, **kwargs: "**Any") -> AsyncIterab """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_certificate_versions( - vault_base_url=self._vault_url, + vault_base_url=self._vault_endpoint, certificate_name=name, maxresults=max_page_size, cls=lambda objs: [CertificateProperties._from_certificate_item(x) for x in objs], @@ -581,7 +592,9 @@ async def create_contacts(self, contacts: Iterable[Contact], **kwargs: "**Any") :dedent: 8 """ contacts = await self._client.set_certificate_contacts( - vault_base_url=self.vault_url, contact_list=[c._to_certificate_contacts_item() for c in contacts], **kwargs + vault_base_url=self.vault_endpoint, + contact_list=[c._to_certificate_contacts_item() for c in contacts], + **kwargs ) return [Contact._from_certificate_contacts_item(contact_item=item) for item in contacts.contact_list] @@ -609,7 +622,7 @@ async def get_contacts(self, **kwargs: "**Any") -> List[Contact]: :caption: Get contacts :dedent: 8 """ - contacts = await self._client.get_certificate_contacts(vault_base_url=self._vault_url, **kwargs) + contacts = await self._client.get_certificate_contacts(vault_base_url=self._vault_endpoint, **kwargs) return [Contact._from_certificate_contacts_item(contact_item=item) for item in contacts.contact_list] @distributed_trace_async @@ -635,7 +648,7 @@ async def delete_contacts(self, **kwargs: "**Any") -> List[Contact]: :caption: Delete contacts :dedent: 8 """ - contacts = await self._client.delete_certificate_contacts(vault_base_url=self.vault_url, **kwargs) + contacts = await self._client.delete_certificate_contacts(vault_base_url=self.vault_endpoint, **kwargs) return [Contact._from_certificate_contacts_item(contact_item=item) for item in contacts.contact_list] @distributed_trace_async @@ -654,7 +667,7 @@ async def get_certificate_operation(self, name: str, **kwargs: "**Any") -> Certi """ bundle = await self._client.get_certificate_operation( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return CertificateOperation._from_certificate_operation_bundle(certificate_operation_bundle=bundle) @@ -674,7 +687,7 @@ async def delete_certificate_operation(self, name: str, **kwargs: "**Any") -> Ce :class:`~azure.core.exceptions.HttpResponseError` for other errors """ bundle = await self._client.delete_certificate_operation( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return CertificateOperation._from_certificate_operation_bundle(certificate_operation_bundle=bundle) @@ -691,7 +704,7 @@ async def cancel_certificate_operation(self, name: str, **kwargs: "**Any") -> Ce :raises: :class:`~azure.core.exceptions.HttpResponseError` """ bundle = await self._client.update_certificate_operation( - vault_base_url=self.vault_url, certificate_name=name, cancellation_requested=True, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, cancellation_requested=True, **kwargs ) return CertificateOperation._from_certificate_operation_bundle(certificate_operation_bundle=bundle) @@ -708,7 +721,7 @@ async def get_pending_certificate_signing_request( :rtype: str :raises: :class:`~azure.core.exceptions.HttpResponseError` """ - vault_base_url = self.vault_url + vault_base_url = self.vault_endpoint # Construct URL url = "/certificates/{certificate-name}/pending" path_format_arguments = { @@ -748,14 +761,7 @@ async def get_pending_certificate_signing_request( return deserialized @distributed_trace_async - async def merge_certificate( - self, - name: str, - x509_certificates: List[bytearray], - enabled: Optional[bool] = None, - tags: Optional[Dict[str, str]] = None, - **kwargs: "**Any" - ) -> Certificate: + async def merge_certificate(self, name: str, x509_certificates: List[bytearray], **kwargs: "**Any") -> Certificate: """Merges a certificate or a certificate chain with a key pair existing on the server. Performs the merging of a certificate or certificate chain with a key pair currently @@ -767,19 +773,24 @@ async def merge_certificate( :param str name: The name of the certificate :param x509_certificates: The certificate or the certificate chain to merge. :type x509_certificates: list[bytearray] - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value pairs. - :type tags: dict[str, str] :return: The merged certificate operation :rtype: ~azure.keyvault.certificates.models.CertificateOperation :raises: :class:`~azure.core.exceptions.HttpResponseError` + + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. """ + + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("tags", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: attributes = None bundle = await self._client.merge_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, x509_certificates=x509_certificates, certificate_attributes=attributes, @@ -811,7 +822,7 @@ async def get_issuer(self, name: str, **kwargs: "**Any") -> Issuer: :dedent: 8 """ issuer_bundle = await self._client.get_certificate_issuer( - vault_base_url=self.vault_url, issuer_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, issuer_name=name, error_map=_error_map, **kwargs ) return Issuer._from_issuer_bundle(issuer_bundle=issuer_bundle) @@ -824,7 +835,6 @@ async def create_issuer( password: Optional[str] = None, organization_id: Optional[str] = None, admin_details: Optional[List[AdministratorDetails]] = None, - enabled: Optional[bool] = None, **kwargs: "**Any" ) -> Issuer: """Sets the specified certificate issuer. @@ -840,11 +850,13 @@ async def create_issuer( :param str organization_id: Id of the organization. :param admin_details: Details of the organization administrators of the certificate issuer. :type admin_details: list[~azure.keyvault.certificates.models.AdministratorDetails] - :param bool enabled: Determines whether the object is enabled. :returns: The created Issuer :rtype: ~azure.keyvault.certificates.models.Issuer :raises: :class:`~azure.core.exceptions.HttpResponseError` + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + Example: .. literalinclude:: ../tests/test_examples_certificates_async.py :start-after: [START create_issuer] @@ -853,6 +865,9 @@ async def create_issuer( :caption: Create an issuer :dedent: 8 """ + + enabled = kwargs.pop("enabled", None) + if account_id or password: issuer_credentials = self._client.models.IssuerCredentials(account_id=account_id, password=password) else: @@ -880,7 +895,7 @@ async def create_issuer( else: issuer_attributes = None issuer_bundle = await self._client.set_certificate_issuer( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, issuer_name=name, provider=provider, credentials=issuer_credentials, @@ -899,7 +914,6 @@ async def update_issuer( password: Optional[str] = None, organization_id: Optional[str] = None, admin_details: Optional[List[AdministratorDetails]] = None, - enabled: Optional[bool] = None, **kwargs: "**Any" ) -> Issuer: """Updates the specified certificate issuer. @@ -914,11 +928,16 @@ async def update_issuer( :param str organization_id: Id of the organization :param admin_details: Details of the organization administrators of the certificate issuer. :type admin_details: list[~azure.keyvault.certificates.models.AdministratorDetails] - :param bool enabled: Determines whether the issuer is enabled. :return: The updated issuer :rtype: ~azure.keyvault.certificates.models.Issuer :raises: :class:`~azure.core.exceptions.HttpResponseError` + + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. """ + + enabled = kwargs.pop("enabled", None) + if account_id or password: issuer_credentials = self._client.models.IssuerCredentials(account_id=account_id, password=password) else: @@ -946,7 +965,7 @@ async def update_issuer( else: issuer_attributes = None issuer_bundle = await self._client.update_certificate_issuer( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, issuer_name=name, provider=provider, credentials=issuer_credentials, @@ -977,7 +996,7 @@ async def delete_issuer(self, name: str, **kwargs: "**Any") -> Issuer: :dedent: 8 """ issuer_bundle = await self._client.delete_certificate_issuer( - vault_base_url=self.vault_url, issuer_name=name, **kwargs + vault_base_url=self.vault_endpoint, issuer_name=name, **kwargs ) return Issuer._from_issuer_bundle(issuer_bundle=issuer_bundle) @@ -1003,7 +1022,7 @@ def list_issuers(self, **kwargs: "**Any") -> AsyncIterable[IssuerProperties]: """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_certificate_issuers( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, maxresults=max_page_size, cls=lambda objs: [IssuerProperties._from_issuer_item(x) for x in objs], **kwargs diff --git a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/client.py b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/client.py index 501337603ea4..542e9e1eb4c0 100644 --- a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/client.py +++ b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/client.py @@ -53,8 +53,6 @@ def create_certificate( self, name, # type: str policy=None, # type: Optional[CertificatePolicy] - enabled=None, # type: Optional[bool] - tags=None, # type: Optional[Dict[str, str]] **kwargs # type: Any ): # type: (...) -> LROPoller @@ -67,15 +65,16 @@ def create_certificate( :param policy: The management policy for the certificate. :type policy: ~azure.keyvault.certificates.models.CertificatePolicy - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value pairs. - :type tags: dict(str, str) :returns: An LROPoller for the create certificate operation. Waiting on the poller gives you the certificate if creation is successful, the CertificateOperation if not. :rtype: ~azure.core.polling.LROPoller[~azure.keyvault.certificates.models.Certificate or ~azure.keyvault.certificates.models.CertificateOperation] :raises: :class:`~azure.core.exceptions.HttpResponseError` + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. + Example: .. literalinclude:: ../tests/test_examples_certificates.py :start-after: [START create_certificate] @@ -85,6 +84,9 @@ def create_certificate( :dedent: 8 """ + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("enabled", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: @@ -95,7 +97,7 @@ def create_certificate( policy = CertificatePolicy._get_default_certificate_policy() cert_bundle = self._client.create_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, certificate_policy=policy._to_certificate_policy_bundle(), certificate_attributes=attributes, @@ -138,7 +140,11 @@ def get_certificate_with_policy(self, name, **kwargs): :dedent: 8 """ bundle = self._client.get_certificate( - vault_base_url=self.vault_url, certificate_name=name, certificate_version="", error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, + certificate_name=name, + certificate_version="", + error_map=_error_map, + **kwargs ) return Certificate._from_certificate_bundle(certificate_bundle=bundle) @@ -167,7 +173,7 @@ def get_certificate(self, name, version, **kwargs): :dedent: 8 """ bundle = self._client.get_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, certificate_version=version, error_map=_error_map, @@ -201,7 +207,7 @@ def delete_certificate(self, name, **kwargs): :dedent: 8 """ bundle = self._client.delete_certificate( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return DeletedCertificate._from_deleted_certificate_bundle(deleted_certificate_bundle=bundle) @@ -231,7 +237,7 @@ def get_deleted_certificate(self, name, **kwargs): :dedent: 8 """ bundle = self._client.get_deleted_certificate( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return DeletedCertificate._from_deleted_certificate_bundle(deleted_certificate_bundle=bundle) @@ -250,7 +256,7 @@ def purge_deleted_certificate(self, name, **kwargs): :rtype: None :raises: :class:`~azure.core.exceptions.HttpResponseError` """ - self._client.purge_deleted_certificate(vault_base_url=self.vault_url, certificate_name=name, **kwargs) + self._client.purge_deleted_certificate(vault_base_url=self.vault_endpoint, certificate_name=name, **kwargs) @distributed_trace def recover_deleted_certificate(self, name, **kwargs): @@ -277,7 +283,7 @@ def recover_deleted_certificate(self, name, **kwargs): :dedent: 8 """ bundle = self._client.recover_deleted_certificate( - vault_base_url=self.vault_url, certificate_name=name, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, **kwargs ) return Certificate._from_certificate_bundle(certificate_bundle=bundle) @@ -288,8 +294,6 @@ def import_certificate( certificate_bytes, # type: bytes password=None, # type: Optional[str] policy=None, # type: Optional[CertificatePolicy] - enabled=None, # type: Optional[bool] - tags=None, # type: Optional[Dict[str, str]] **kwargs # type: **Any ): # type: (...) -> Certificate @@ -309,21 +313,25 @@ def import_certificate( :param policy: The management policy for the certificate. :type policy: ~azure.keyvault.certificates.models.CertificatePolicy - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value - pairs. - :type tags: dict[str, str] :returns: The imported Certificate :rtype: ~azure.keyvault.certificates.models.Certificate :raises: :class:`~azure.core.exceptions.HttpResponseError` + + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. """ + + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("tags", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: attributes = None base64_encoded_certificate = base64.b64encode(certificate_bytes).decode("utf-8") bundle = self._client.import_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, base64_encoded_certificate=base64_encoded_certificate, password=password, @@ -335,30 +343,32 @@ def import_certificate( return Certificate._from_certificate_bundle(certificate_bundle=bundle) @distributed_trace - def get_policy(self, name, **kwargs): + def get_policy(self, certificate_name, **kwargs): # type: (str, **Any) -> CertificatePolicy """Gets the policy for a certificate. Returns the specified certificate policy resources in the key vault. This operation requires the certificates/get permission. - :param str name: The name of the certificate in a given key vault. + :param str certificate_name: The name of the certificate in a given key vault. :return: The certificate policy :rtype: ~azure.keyvault.certificates.models.CertificatePolicy :raises: :class:`~azure.core.exceptions.HttpResponseError` """ - bundle = self._client.get_certificate_policy(vault_base_url=self.vault_url, certificate_name=name, **kwargs) + bundle = self._client.get_certificate_policy( + vault_base_url=self.vault_endpoint, certificate_name=certificate_name, **kwargs + ) return CertificatePolicy._from_certificate_policy_bundle(certificate_policy_bundle=bundle) @distributed_trace - def update_policy(self, name, policy, **kwargs): + def update_policy(self, certificate_name, policy, **kwargs): # type: (str, CertificatePolicy, **Any) -> CertificatePolicy """Updates the policy for a certificate. Set specified members in the certificate policy. Leaves others as null. This operation requires the certificates/update permission. - :param str name: The name of the certificate in the given vault. + :param str certificate_name: The name of the certificate in the given vault. :param policy: The policy for the certificate. :type policy: ~azure.keyvault.certificates.models.CertificatePolicy :return: The certificate policy @@ -366,8 +376,8 @@ def update_policy(self, name, policy, **kwargs): :raises: :class:`~azure.core.exceptions.HttpResponseError` """ bundle = self._client.update_certificate_policy( - vault_base_url=self.vault_url, - certificate_name=name, + vault_base_url=self.vault_endpoint, + certificate_name=certificate_name, certificate_policy=policy._to_certificate_policy_bundle(), **kwargs ) @@ -378,8 +388,6 @@ def update_certificate_properties( self, name, # type: str version=None, # type: Optional[str] - enabled=None, # type: Optional[bool] - tags=None, # type: Optional[Dict[str, str]] **kwargs # type: **Any ): # type: (...) -> Certificate @@ -392,13 +400,14 @@ def update_certificate_properties( :param str name: The name of the certificate in the given key vault. :param str version: The version of the certificate. - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value pairs. - :type tags: dict(str, str) :returns: The updated Certificate :rtype: ~azure.keyvault.certificates.models.Certificate :raises: :class:`~azure.core.exceptions.HttpResponseError` + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. + Example: .. literalinclude:: ../tests/test_examples_certificates.py :start-after: [START update_certificate] @@ -407,13 +416,17 @@ def update_certificate_properties( :caption: Update a certificate's attributes :dedent: 8 """ + + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("tags", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: attributes = None bundle = self._client.update_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, certificate_version=version or "", certificate_attributes=attributes, @@ -447,7 +460,7 @@ def backup_certificate(self, name, **kwargs): :dedent: 8 """ backup_result = self._client.backup_certificate( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return backup_result.value @@ -473,7 +486,7 @@ def restore_certificate(self, backup, **kwargs): :dedent: 8 """ bundle = self._client.restore_certificate( - vault_base_url=self.vault_url, certificate_bundle_backup=backup, **kwargs + vault_base_url=self.vault_endpoint, certificate_bundle_backup=backup, **kwargs ) return Certificate._from_certificate_bundle(certificate_bundle=bundle) @@ -505,7 +518,7 @@ def list_deleted_certificates(self, include_pending=None, **kwargs): """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_deleted_certificates( - vault_base_url=self._vault_url, + vault_base_url=self._vault_endpoint, maxresults=max_page_size, include_pending=include_pending, cls=lambda objs: [ @@ -540,7 +553,7 @@ def list_certificates(self, include_pending=None, **kwargs): """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_certificates( - vault_base_url=self._vault_url, + vault_base_url=self._vault_endpoint, maxresults=max_page_size, include_pending=include_pending, cls=lambda objs: [CertificateProperties._from_certificate_item(certificate_item=x) for x in objs], @@ -572,7 +585,7 @@ def list_certificate_versions(self, name, **kwargs): """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_certificate_versions( - vault_base_url=self._vault_url, + vault_base_url=self._vault_endpoint, certificate_name=name, maxresults=max_page_size, cls=lambda objs: [CertificateProperties._from_certificate_item(certificate_item=x) for x in objs], @@ -602,7 +615,9 @@ def create_contacts(self, contacts, **kwargs): :dedent: 8 """ contacts = self._client.set_certificate_contacts( - vault_base_url=self.vault_url, contact_list=[c._to_certificate_contacts_item() for c in contacts], **kwargs + vault_base_url=self.vault_endpoint, + contact_list=[c._to_certificate_contacts_item() for c in contacts], + **kwargs ) return [Contact._from_certificate_contacts_item(contact_item=item) for item in contacts.contact_list] @@ -627,7 +642,7 @@ def get_contacts(self, **kwargs): :caption: Get contacts :dedent: 8 """ - contacts = self._client.get_certificate_contacts(vault_base_url=self._vault_url, **kwargs) + contacts = self._client.get_certificate_contacts(vault_base_url=self._vault_endpoint, **kwargs) return [Contact._from_certificate_contacts_item(contact_item=item) for item in contacts.contact_list] @distributed_trace @@ -650,7 +665,7 @@ def delete_contacts(self, **kwargs): :caption: Delete contacts :dedent: 8 """ - contacts = self._client.delete_certificate_contacts(vault_base_url=self.vault_url, **kwargs) + contacts = self._client.delete_certificate_contacts(vault_base_url=self.vault_endpoint, **kwargs) return [Contact._from_certificate_contacts_item(contact_item=item) for item in contacts.contact_list] @distributed_trace @@ -670,7 +685,7 @@ def get_certificate_operation(self, name, **kwargs): """ bundle = self._client.get_certificate_operation( - vault_base_url=self.vault_url, certificate_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, error_map=_error_map, **kwargs ) return CertificateOperation._from_certificate_operation_bundle(certificate_operation_bundle=bundle) @@ -689,7 +704,7 @@ def delete_certificate_operation(self, name, **kwargs): :raises: :class:`~azure.core.exceptions.HttpResponseError` """ bundle = self._client.delete_certificate_operation( - vault_base_url=self.vault_url, certificate_name=name, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, **kwargs ) return CertificateOperation._from_certificate_operation_bundle(certificate_operation_bundle=bundle) @@ -707,7 +722,7 @@ def cancel_certificate_operation(self, name, **kwargs): :raises: :class:`~azure.core.exceptions.HttpResponseError` """ bundle = self._client.update_certificate_operation( - vault_base_url=self.vault_url, certificate_name=name, cancellation_requested=True, **kwargs + vault_base_url=self.vault_endpoint, certificate_name=name, cancellation_requested=True, **kwargs ) return CertificateOperation._from_certificate_operation_bundle(certificate_operation_bundle=bundle) @@ -716,8 +731,6 @@ def merge_certificate( self, name, # type: str x509_certificates, # type: List[bytearray] - enabled=None, # type: Optional[bool] - tags=None, # type: Optional[Dict[str, str]] **kwargs # type: **Any ): # type: (...) -> Certificate @@ -732,19 +745,24 @@ def merge_certificate( :param str name: The name of the certificate :param x509_certificates: The certificate or the certificate chain to merge. :type x509_certificates: list[bytearray] - :param bool enabled: Determines whether the object is enabled. - :param tags: Application specific metadata in the form of key-value pairs. - :type tags: dict[str, str] :return: The merged certificate :rtype: ~azure.keyvault.certificates.models.Certificate :raises: :class:`~azure.core.exceptions.HttpResponseError` + + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + - *tags (dict[str, str])* - Application specific metadata in the form of key-value pairs. """ + + enabled = kwargs.pop("enabled", None) + tags = kwargs.pop("tags", None) + if enabled is not None: attributes = self._client.models.CertificateAttributes(enabled=enabled) else: attributes = None bundle = self._client.merge_certificate( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, certificate_name=name, x509_certificates=x509_certificates, certificate_attributes=attributes, @@ -769,7 +787,7 @@ def get_pending_certificate_signing_request( :rtype: str :raises: :class:`~azure.core.exceptions.HttpResponseError` """ - vault_base_url = self.vault_url + vault_base_url = self.vault_endpoint # Construct URL url = "/certificates/{certificate-name}/pending" path_format_arguments = { @@ -830,7 +848,7 @@ def get_issuer(self, name, **kwargs): :dedent: 8 """ issuer_bundle = self._client.get_certificate_issuer( - vault_base_url=self.vault_url, issuer_name=name, error_map=_error_map, **kwargs + vault_base_url=self.vault_endpoint, issuer_name=name, error_map=_error_map, **kwargs ) return Issuer._from_issuer_bundle(issuer_bundle=issuer_bundle) @@ -843,7 +861,6 @@ def create_issuer( password=None, # type: Optional[str] organization_id=None, # type: Optional[str] admin_details=None, # type: Optional[List[AdministratorDetails]] - enabled=None, # type: Optional[bool] **kwargs # type: **Any ): # type: (...) -> Issuer @@ -860,11 +877,13 @@ def create_issuer( :param str organization_id: Id of the organization. :param admin_details: Details of the organization administrators of the certificate issuer. :type admin_details: list[~azure.keyvault.certificates.models.AdministratorDetails] - :param bool enabled: Determines whether the object is enabled. :returns: The created Issuer :rtype: ~azure.keyvault.certificates.models.Issuer :raises: :class:`~azure.core.exceptions.HttpResponseError` + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. + Example: .. literalinclude:: ../tests/test_examples_certificates.py :start-after: [START create_issuer] @@ -873,6 +892,9 @@ def create_issuer( :caption: Create an issuer :dedent: 8 """ + + enabled = kwargs.pop("enabled", None) + if account_id or password: issuer_credentials = self._client.models.IssuerCredentials(account_id=account_id, password=password) else: @@ -900,7 +922,7 @@ def create_issuer( else: issuer_attributes = None issuer_bundle = self._client.set_certificate_issuer( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, issuer_name=name, provider=provider, credentials=issuer_credentials, @@ -919,7 +941,6 @@ def update_issuer( password=None, # type: Optional[str] organization_id=None, # type: Optional[str] admin_details=None, # type: Optional[List[AdministratorDetails]] - enabled=None, # type: Optional[bool] **kwargs # type: **Any ): # type: (...) -> Issuer @@ -939,7 +960,13 @@ def update_issuer( :return: The updated issuer :rtype: ~azure.keyvault.certificates.models.Issuer :raises: :class:`~azure.core.exceptions.HttpResponseError` + + Keyword arguments + - *enabled (bool)* - Determines whether the object is enabled. """ + + enabled = kwargs.pop("enabled", None) + if account_id or password: issuer_credentials = self._client.models.IssuerCredentials(account_id=account_id, password=password) else: @@ -967,7 +994,7 @@ def update_issuer( else: issuer_attributes = None issuer_bundle = self._client.update_certificate_issuer( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, issuer_name=name, provider=provider, credentials=issuer_credentials, @@ -999,7 +1026,7 @@ def delete_issuer(self, name, **kwargs): :dedent: 8 """ issuer_bundle = self._client.delete_certificate_issuer( - vault_base_url=self.vault_url, issuer_name=name, **kwargs + vault_base_url=self.vault_endpoint, issuer_name=name, **kwargs ) return Issuer._from_issuer_bundle(issuer_bundle=issuer_bundle) @@ -1026,7 +1053,7 @@ def list_issuers(self, **kwargs): """ max_page_size = kwargs.pop("max_page_size", None) return self._client.get_certificate_issuers( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, maxresults=max_page_size, cls=lambda objs: [IssuerProperties._from_issuer_item(issuer_item=x) for x in objs], **kwargs diff --git a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/models.py b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/models.py index 93c9276353f1..00653f44f200 100644 --- a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/models.py +++ b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/models.py @@ -212,13 +212,13 @@ def recovery_level(self): return self._attributes.recovery_level if self._attributes else None @property - def vault_url(self): + def vault_endpoint(self): # type: () -> str """The name of the vault that the certificate is created in. :rtype: str """ - return self._vault_id.vault_url + return self._vault_id.vault_endpoint @property def thumbprint(self): @@ -1116,13 +1116,13 @@ def provider(self): return self._provider @property - def vault_url(self): + def vault_endpoint(self): # type: () -> str """The name of the vault with this issuer. :rtype: str """ - return self._vault_id.vault_url + return self._vault_id.vault_endpoint class Issuer(object): diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations.py b/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations.py index aa7f6688a280..a3fc87ef7db0 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = CertificateClient(vault_url=VAULT_URL, credential=credential) +client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: print("\n.. Create Certificate") cert_name = "BackupRestoreCertificate" diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py b/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py index ef77da086c66..4b0eea0e28db 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, vault_endpoint # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -37,9 +37,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + vault_endpoint = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = CertificateClient(vault_url=VAULT_URL, credential=credential) + client = CertificateClient(vault_endpoint=vault_endpoint, credential=credential) try: print("\n.. Create Certificate") diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/contacts.py b/sdk/keyvault/azure-keyvault-certificates/samples/contacts.py index ee7c34890f6a..54d7d56f5ee4 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/contacts.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/contacts.py @@ -13,7 +13,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -30,9 +30,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = CertificateClient(vault_url=VAULT_URL, credential=credential) +client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # First we create a list of Contacts that we would like to make the certificate contacts for this key vault. contact_list = [ diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/contacts_async.py b/sdk/keyvault/azure-keyvault-certificates/samples/contacts_async.py index 9aceb18c67f7..84eff0990f24 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/contacts_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/contacts_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -33,9 +33,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = CertificateClient(vault_url=VAULT_URL, credential=credential) + client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: contact_list = [ Contact(email="admin@contoso.com", name="John Doe", phone="1111111111"), diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py b/sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py index 9ceae839ed28..824a80060bcb 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py @@ -13,7 +13,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -33,9 +33,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = CertificateClient(vault_url=VAULT_URL, credential=credential) +client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a certificate for holding bank account credentials valid for 1 year. # if the certificate already exists in the Key Vault, then a new version of the certificate is created. diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py b/sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py index 3a5bc1a79712..f83228383d1e 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py @@ -15,7 +15,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -37,9 +37,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = CertificateClient(vault_url=VAULT_URL, credential=credential) + client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a certificate for holding bank account credentials valid for 1 year. # if the certificate already exists in the Key Vault, then a new version of the certificate is created. diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/issuers.py b/sdk/keyvault/azure-keyvault-certificates/samples/issuers.py index f88f7e55afb2..6e3e1717c452 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/issuers.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/issuers.py @@ -13,7 +13,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -34,9 +34,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = CertificateClient(vault_url=VAULT_URL, credential=credential) +client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # First we specify the AdministratorDetails for our issuers. admin_details = [ diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/issuers_async.py b/sdk/keyvault/azure-keyvault-certificates/samples/issuers_async.py index 0b913c0b13c2..8394c3a7afdd 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/issuers_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/issuers_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -37,9 +37,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = CertificateClient(vault_url=VAULT_URL, credential=credential) + client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # First we specify the AdministratorDetails for our issuers. admin_details = [ diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py b/sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py index 30236f3319b6..e16d29528e88 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ # Instantiate a certificate client that will be used to call the service. Notice that the client is using default # Azure credentials. To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = CertificateClient(vault_url=VAULT_URL, credential=credential) +client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a certificate for holding storage and bank accounts credentials. If the certificate # already exists in the Key Vault, then a new version of the certificate is created. diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py b/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py index 8cde49aa15e9..cac02f9ced93 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -36,9 +36,9 @@ async def run_sample(): # Instantiate a certificate client that will be used to call the service. Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = CertificateClient(vault_url=VAULT_URL, credential=credential) + client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a certificate for holding storage and bank accounts credentials. If the certificate # already exists in the Key Vault, then a new version of the certificate is created. diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py b/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py index 74306a0f16d8..b850faaae3fc 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -34,9 +34,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = CertificateClient(vault_url=VAULT_URL, credential=credential) +client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create certificates holding storage and bank accounts credentials. If the certificate # already exists in the Key Vault, then a new version of the certificate is created. diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations_async.py b/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations_async.py index 20fc698944fd..253c70998081 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-certificates and azure-identity packages (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = CertificateClient(vault_url=VAULT_URL, credential=credential) + client = CertificateClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create certificates holding storage and bank accounts credentials. If the certificate # already exists in the Key Vault, then a new version of the certificate is created. diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client.py b/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client.py index 963d5480b9f9..23c93b5ac98a 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client.py @@ -18,10 +18,12 @@ class VaultClient(KeyVaultClientBase): - def __init__(self, vault_url, credential, transport=None, api_version=None, **kwargs): + def __init__(self, vault_endpoint, credential, transport=None, api_version=None, **kwargs): # type: (str, TokenCredential, Optional[HttpTransport], Optional[str], **Any) -> None - super(VaultClient, self).__init__(vault_url, credential, transport=transport, api_version=api_version, **kwargs) - self._certificates = CertificateClient(self.vault_url, credential, generated_client=self._client, **kwargs) + super(VaultClient, self).__init__( + vault_endpoint, credential, transport=transport, api_version=api_version, **kwargs + ) + self._certificates = CertificateClient(self.vault_endpoint, credential, generated_client=self._client, **kwargs) @property def certificates(self): diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client_async.py b/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client_async.py index 9cc12bcccee5..bc14de5299f8 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/certificates_vault_client_async.py @@ -21,14 +21,16 @@ class VaultClient(AsyncKeyVaultClientBase): def __init__( self, - vault_url: str, + vault_endpoint: str, credential: "TokenCredential", transport: HttpTransport = None, api_version: str = None, **kwargs: Any ) -> None: - super(VaultClient, self).__init__(vault_url, credential, transport=transport, api_version=api_version, **kwargs) - self._certificates = CertificateClient(self.vault_url, credential, generated_client=self._client, **kwargs) + super(VaultClient, self).__init__( + vault_endpoint, credential, transport=transport, api_version=api_version, **kwargs + ) + self._certificates = CertificateClient(self.vault_endpoint, credential, generated_client=self._client, **kwargs) @property def certificates(self): diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py index b87beaae5858..ae53b1309b9c 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py @@ -79,7 +79,7 @@ def _validate_certificate_operation(self, pending_cert_operation, vault, cert_na self.assertIsNotNone(pending_cert_operation.csr) self.assertEqual(cert_policy.issuer_parameters.name, pending_cert_operation.issuer_name) pending_id = parse_vault_id(pending_cert_operation.id) - self.assertEqual(pending_id.vault_url.strip("/"), vault.strip("/")) + self.assertEqual(pending_id.vault_endpoint.strip("/"), vault.strip("/")) self.assertEqual(pending_id.name, cert_name) def _validate_certificate_bundle(self, cert, cert_name, cert_policy): @@ -201,7 +201,7 @@ def _validate_certificate_issuer_properties(self, issuer, expected): self.assertEqual(issuer.id, expected.id) self.assertEqual(issuer.name, expected.name) self.assertEqual(issuer.provider, expected.provider) - self.assertEqual(issuer.vault_url, expected.vault_url) + self.assertEqual(issuer.vault_endpoint, expected.vault_endpoint) @ResourceGroupPreparer() @VaultClientPreparer() @@ -277,7 +277,7 @@ def test_list(self, vault_client, **kwargs): try: cert_bundle = self._import_common_certificate(client=client, cert_name=cert_name)[0] parsed_id = parse_vault_id(url=cert_bundle.id) - cid = parsed_id.vault_url + "/" + parsed_id.collection + "/" + parsed_id.name + cid = parsed_id.vault_endpoint + "/" + parsed_id.collection + "/" + parsed_id.name expected[cid.strip("/")] = cert_bundle except Exception as ex: if hasattr(ex, "message") and "Throttled" in ex.message: @@ -307,7 +307,15 @@ def test_list_certificate_versions(self, vault_client, **kwargs): try: cert_bundle = self._import_common_certificate(client=client, cert_name=cert_name)[0] parsed_id = parse_vault_id(url=cert_bundle.id) - cid = parsed_id.vault_url + "/" + parsed_id.collection + "/" + parsed_id.name + "/" + parsed_id.version + cid = ( + parsed_id.vault_endpoint + + "/" + + parsed_id.collection + + "/" + + parsed_id.name + + "/" + + parsed_id.version + ) expected[cid.strip("/")] = cert_bundle except Exception as ex: if hasattr(ex, "message") and "Throttled" in ex.message: @@ -428,7 +436,7 @@ def test_async_request_cancellation_and_deletion(self, vault_client, **kwargs): self.assertTrue(cancel_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=cancel_operation, - vault=client.vault_url, + vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) @@ -440,7 +448,7 @@ def test_async_request_cancellation_and_deletion(self, vault_client, **kwargs): self.assertTrue(retrieved_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=retrieved_operation, - vault=client.vault_url, + vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) @@ -450,7 +458,7 @@ def test_async_request_cancellation_and_deletion(self, vault_client, **kwargs): self.assertIsNotNone(deleted_operation) self._validate_certificate_operation( pending_cert_operation=deleted_operation, - vault=client.vault_url, + vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) @@ -475,7 +483,7 @@ def test_policy(self, vault_client, **kwargs): # get certificate policy self._import_common_certificate(client=client, cert_name=cert_name) - retrieved_policy = client.get_policy(name=cert_name) + retrieved_policy = client.get_policy(certificate_name=cert_name) self.assertIsNotNone(retrieved_policy) # update certificate policy @@ -485,8 +493,10 @@ def test_policy(self, vault_client, **kwargs): issuer_parameters=IssuerParameters(name="Self"), ) - client.update_policy(name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle(cert_policy)) - updated_cert_policy = client.get_policy(name=cert_name) + client.update_policy( + certificate_name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle(cert_policy) + ) + updated_cert_policy = client.get_policy(certificate_name=cert_name) self.assertIsNotNone(updated_cert_policy) @ResourceGroupPreparer() @@ -617,7 +627,7 @@ def test_crud_issuer(self, vault_client, **kwargs): ] properties = IssuerProperties( - issuer_id=client.vault_url + "/certificates/issuers/" + issuer_name, provider="Test" + issuer_id=client.vault_endpoint + "/certificates/issuers/" + issuer_name, provider="Test" ) # create certificate issuer @@ -649,11 +659,11 @@ def test_crud_issuer(self, vault_client, **kwargs): ) expected_base_1 = IssuerProperties( - issuer_id=client.vault_url + "/certificates/issuers/" + issuer_name, provider="Test" + issuer_id=client.vault_endpoint + "/certificates/issuers/" + issuer_name, provider="Test" ) expected_base_2 = IssuerProperties( - issuer_id=client.vault_url + "/certificates/issuers/" + issuer_name + "2", provider="Test" + issuer_id=client.vault_endpoint + "/certificates/issuers/" + issuer_name + "2", provider="Test" ) expected_issuers = [expected_base_1, expected_base_2] diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py index 3597b936b7c3..8359bb44b80b 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py @@ -73,7 +73,7 @@ def _validate_certificate_operation(self, pending_cert_operation, vault, cert_na self.assertIsNotNone(pending_cert_operation.csr) self.assertEqual(cert_policy.issuer_parameters.name, pending_cert_operation.issuer_name) pending_id = parse_vault_id(pending_cert_operation.id) - self.assertEqual(pending_id.vault_url.strip("/"), vault.strip("/")) + self.assertEqual(pending_id.vault_endpoint.strip("/"), vault.strip("/")) self.assertEqual(pending_id.name, cert_name) def _validate_certificate_bundle(self, cert, vault, cert_name, cert_policy): @@ -187,7 +187,7 @@ def _validate_certificate_issuer_properties(self, issuer, expected): self.assertEqual(issuer.id, expected.id) self.assertEqual(issuer.name, expected.name) self.assertEqual(issuer.provider, expected.provider) - self.assertEqual(issuer.vault_url, expected.vault_url) + self.assertEqual(issuer.vault_endpoint, expected.vault_endpoint) @ResourceGroupPreparer() @AsyncVaultClientPreparer() @@ -223,7 +223,7 @@ async def test_crud_operations(self, vault_client, **kwargs): cert = await create_certificate_poller self._validate_certificate_bundle( - cert=cert, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy + cert=cert, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy ) self.assertEqual((await client.get_certificate_operation(name=cert_name)).status.lower(), "completed") @@ -231,14 +231,14 @@ async def test_crud_operations(self, vault_client, **kwargs): # get certificate cert = await client.get_certificate_with_policy(name=cert_name) self._validate_certificate_bundle( - cert=cert, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy + cert=cert, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy ) # update certificate tags = {"tag1": "updated_value1"} cert_bundle = await client.update_certificate_properties(name=cert_name, tags=tags) self._validate_certificate_bundle( - cert=cert_bundle, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy + cert=cert_bundle, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy ) self.assertEqual(tags, cert_bundle.properties.tags) self.assertEqual(cert.id, cert_bundle.id) @@ -247,7 +247,7 @@ async def test_crud_operations(self, vault_client, **kwargs): # delete certificate deleted_cert_bundle = await client.delete_certificate(name=cert_name) self._validate_certificate_bundle( - cert=deleted_cert_bundle, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy + cert=deleted_cert_bundle, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy ) # get certificate returns not found @@ -275,7 +275,7 @@ async def test_list(self, vault_client, **kwargs): try: cert_bundle = (await self._import_common_certificate(client=client, cert_name=cert_name))[0] parsed_id = parse_vault_id(url=cert_bundle.id) - cid = parsed_id.vault_url + "/" + parsed_id.collection + "/" + parsed_id.name + cid = parsed_id.vault_endpoint + "/" + parsed_id.collection + "/" + parsed_id.name expected[cid.strip("/")] = cert_bundle except Exception as ex: if hasattr(ex, "message") and "Throttled" in ex.message: @@ -306,7 +306,15 @@ async def test_list_certificate_versions(self, vault_client, **kwargs): try: cert_bundle = (await self._import_common_certificate(client=client, cert_name=cert_name))[0] parsed_id = parse_vault_id(url=cert_bundle.id) - cid = parsed_id.vault_url + "/" + parsed_id.collection + "/" + parsed_id.name + "/" + parsed_id.version + cid = ( + parsed_id.vault_endpoint + + "/" + + parsed_id.collection + + "/" + + parsed_id.name + + "/" + + parsed_id.version + ) expected[cid.strip("/")] = cert_bundle except Exception as ex: if hasattr(ex, "message") and "Throttled" in ex.message: @@ -440,7 +448,7 @@ async def test_async_request_cancellation_and_deletion(self, vault_client, **kwa self.assertTrue(cancel_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=cancel_operation, - vault=client.vault_url, + vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) @@ -452,7 +460,7 @@ async def test_async_request_cancellation_and_deletion(self, vault_client, **kwa self.assertTrue(retrieved_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=retrieved_operation, - vault=client.vault_url, + vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) @@ -462,7 +470,7 @@ async def test_async_request_cancellation_and_deletion(self, vault_client, **kwa self.assertIsNotNone(deleted_operation) self._validate_certificate_operation( pending_cert_operation=deleted_operation, - vault=client.vault_url, + vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) @@ -488,7 +496,7 @@ async def test_policy(self, vault_client, **kwargs): # get certificate policy await self._import_common_certificate(client=client, cert_name=cert_name) - retrieved_policy = await client.get_policy(name=cert_name) + retrieved_policy = await client.get_policy(certificate_name=cert_name) self.assertIsNotNone(retrieved_policy) # update certificate policy @@ -499,9 +507,9 @@ async def test_policy(self, vault_client, **kwargs): ) await client.update_policy( - name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle(cert_policy) + certificate_name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle(cert_policy) ) - updated_cert_policy = await client.get_policy(name=cert_name) + updated_cert_policy = await client.get_policy(certificate_name=cert_name) self.assertIsNotNone(updated_cert_policy) @ResourceGroupPreparer() @@ -576,7 +584,7 @@ async def test_backup_restore(self, vault_client, **kwargs): # restore certificate restored_certificate = await client.restore_certificate(backup=certificate_backup) self._validate_certificate_bundle( - cert=restored_certificate, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy + cert=restored_certificate, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy ) @ResourceGroupPreparer() @@ -650,7 +658,7 @@ async def test_crud_issuer(self, vault_client, **kwargs): ) properties = IssuerProperties( - issuer_id=client.vault_url + "/certificates/issuers/" + issuer_name, provider="Test" + issuer_id=client.vault_endpoint + "/certificates/issuers/" + issuer_name, provider="Test" ) expected = Issuer( @@ -677,11 +685,11 @@ async def test_crud_issuer(self, vault_client, **kwargs): ) expected_base_1 = IssuerProperties( - issuer_id=client.vault_url + "/certificates/issuers/" + issuer_name, provider="Test" + issuer_id=client.vault_endpoint + "/certificates/issuers/" + issuer_name, provider="Test" ) expected_base_2 = IssuerProperties( - issuer_id=client.vault_url + "/certificates/issuers/" + issuer_name + "2", provider="Test" + issuer_id=client.vault_endpoint + "/certificates/issuers/" + issuer_name + "2", provider="Test" ) expected_issuers = [expected_base_1, expected_base_2] diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates.py b/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates.py index 2e6aa4dbddce..d691524a5973 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates.py @@ -15,7 +15,7 @@ def print(*args): def test_create_certificate_client(): - vault_url = "vault_url" + vault_endpoint = "vault_endpoint" # pylint:disable=unused-variable # [START create_certificate_client] @@ -24,7 +24,7 @@ def test_create_certificate_client(): # Create a CertificateClient using default Azure credentials credential = DefaultAzureCredential() - certificate_client = CertificateClient(vault_url, credential) + certificate_client = CertificateClient(vault_endpoint, credential) # [END create_certificate_client] diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates_async.py b/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates_async.py index e5137a19cfb3..1f824a0854b1 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/test_examples_certificates_async.py @@ -12,7 +12,7 @@ def print(*args): def test_create_certificate(): - vault_url = "vault_url" + vault_endpoint = "vault_endpoint" # pylint:disable=unused-variable # [START create_certificate_client] @@ -21,7 +21,7 @@ def test_create_certificate(): # Create a Certificate using default Azure credentials credential = DefaultAzureCredential() - certificate_client = CertificateClient(vault_url, credential) + certificate_client = CertificateClient(vault_endpoint, credential) # [END create_certificate_client] diff --git a/sdk/keyvault/azure-keyvault-keys/HISTORY.md b/sdk/keyvault/azure-keyvault-keys/HISTORY.md index 31a23fdd7e8b..93f164e4d392 100644 --- a/sdk/keyvault/azure-keyvault-keys/HISTORY.md +++ b/sdk/keyvault/azure-keyvault-keys/HISTORY.md @@ -10,6 +10,8 @@ through the `properties` property. See the updated [docs] (https://azure.github.io/azure-sdk-for-python/ref/azure.keyvault.keys.html) for details. - `update_key` has been renamed to `update_key_properties` +- The `vault_url` parameter of `KeyClient` has been renamed to `vault_endpoint` +- The property `vault_url` has been renamed to `vault_endpoint` in all models. ### Fixes and improvements: - The `key` argument to `import_key` should be an instance of `azure.keyvault.keys.JsonWebKey` diff --git a/sdk/keyvault/azure-keyvault-keys/README.md b/sdk/keyvault/azure-keyvault-keys/README.md index 6e829d66f397..5ad531ba7be1 100644 --- a/sdk/keyvault/azure-keyvault-keys/README.md +++ b/sdk/keyvault/azure-keyvault-keys/README.md @@ -61,7 +61,7 @@ names): } ``` - > The `"vaultUri"` property is the `vault_url` used by `KeyClient`. + > The `"vaultUri"` property is the `vault_endpoint` used by `KeyClient`. ### Authenticate the client To interact with a Key Vault's keys, you'll need an instance of the @@ -120,7 +120,7 @@ from azure.keyvault.keys import KeyClient credential = DefaultAzureCredential() -key_client = KeyClient(vault_url=, credential=credential) +key_client = KeyClient(vault_endpoint=, credential=credential) ``` ## Key concepts @@ -217,7 +217,7 @@ from azure.keyvault.keys import KeyClient from azure.keyvault.keys.crypto import EncryptionAlgorithm credential = DefaultAzureCredential() -key_client = KeyClient(vault_url=vault_url, credential=credential) +key_client = KeyClient(vault_endpoint=vault_endpoint, credential=credential) key = key_client.get_key("mykey") crypto_client = key_client.get_cryptography_client(key) @@ -246,7 +246,7 @@ from azure.identity.aio import DefaultAzureCredential from azure.keyvault.keys.aio import KeyClient credential = DefaultAzureCredential() -key_client = KeyClient(vault_url=vault_url, credential=credential) +key_client = KeyClient(vault_endpoint=vault_endpoint, credential=credential) # Create an RSA key rsa_key = await key_client.create_rsa_key("rsa-key-name", hsm=False, size=2048) @@ -309,7 +309,7 @@ file_handler = logging.FileHandler(filename) logger.addHandler(file_handler) # Enable network trace logging. Each HTTP request will be logged at DEBUG level. -client = KeyClient(vault_url=url, credential=credential, logging_enable=True) +client = KeyClient(vault_endpoint=url, credential=credential, logging_enable=True) ``` Network trace logging can also be enabled for any single operation: diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/__init__.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/__init__.py index a8fd2a41d71f..6cbd019761da 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/__init__.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/__init__.py @@ -23,7 +23,7 @@ "KeyVaultClientBase", ] -_VaultId = namedtuple("VaultId", ["vault_url", "collection", "name", "version"]) +_VaultId = namedtuple("VaultId", ["vault_endpoint", "collection", "name", "version"]) def parse_vault_id(url): @@ -40,7 +40,7 @@ def parse_vault_id(url): raise ValueError("'{}' is not not a valid vault url".format(url)) return _VaultId( - vault_url="{}://{}".format(parsed_uri.scheme, parsed_uri.hostname), + vault_endpoint="{}://{}".format(parsed_uri.scheme, parsed_uri.hostname), collection=path[0], name=path[1], version=path[2] if len(path) == 3 else None, diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_client_base.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_client_base.py index b6081db0d09e..b571e27fe9dd 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_client_base.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_client_base.py @@ -28,9 +28,7 @@ class AsyncKeyVaultClientBase: """Base class for async Key Vault clients""" @staticmethod - def _create_config( - credential: "TokenCredential", api_version: str = None, **kwargs: "**Any" - ) -> Configuration: + def _create_config(credential: "TokenCredential", api_version: str = None, **kwargs: "**Any") -> Configuration: if api_version is None: api_version = KeyVaultClient.DEFAULT_API_VERSION config = KeyVaultClient.get_configuration_class(api_version, aio=True)(credential, **kwargs) @@ -61,7 +59,7 @@ def _create_config( def __init__( self, - vault_url: str, + vault_endpoint: str, credential: "TokenCredential", transport: AsyncHttpTransport = None, api_version: str = None, @@ -72,10 +70,10 @@ def __init__( "credential should be an object supporting the TokenCredential protocol, " "such as a credential from azure-identity" ) - if not vault_url: - raise ValueError("vault_url must be the URL of an Azure Key Vault") + if not vault_endpoint: + raise ValueError("vault_endpoint must be the URL of an Azure Key Vault") - self._vault_url = vault_url.strip(" /") + self._vault_endpoint = vault_endpoint.strip(" /") client = kwargs.pop("generated_client", None) if client: @@ -111,5 +109,5 @@ def _build_pipeline(config: Configuration, transport: AsyncHttpTransport, **kwar return AsyncPipeline(transport, policies=policies) @property - def vault_url(self) -> str: - return self._vault_url + def vault_endpoint(self) -> str: + return self._vault_endpoint diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/client_base.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/client_base.py index 54f033e55d28..7b30e1886860 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/client_base.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/client_base.py @@ -56,17 +56,17 @@ def _create_config(credential, api_version=None, **kwargs): return config - def __init__(self, vault_url, credential, transport=None, api_version=None, **kwargs): + def __init__(self, vault_endpoint, credential, transport=None, api_version=None, **kwargs): # type: (str, TokenCredential, Optional[HttpTransport], Optional[str], **Any) -> None if not credential: raise ValueError( "credential should be an object supporting the TokenCredential protocol, " "such as a credential from azure-identity" ) - if not vault_url: - raise ValueError("vault_url must be the URL of an Azure Key Vault") + if not vault_endpoint: + raise ValueError("vault_endpoint must be the URL of an Azure Key Vault") - self._vault_url = vault_url.strip(" /") + self._vault_endpoint = vault_endpoint.strip(" /") client = kwargs.pop("generated_client", None) if client: @@ -101,6 +101,6 @@ def _build_pipeline(self, config, transport, **kwargs): return Pipeline(transport, policies=policies) @property - def vault_url(self): + def vault_endpoint(self): # type: () -> str - return self._vault_url + return self._vault_endpoint diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/aio/client.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/aio/client.py index c432a2428dc2..bcc250709797 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/aio/client.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/aio/client.py @@ -17,7 +17,7 @@ class KeyClient(AsyncKeyVaultClientBase): """A high-level asynchronous interface for managing a vault's keys. - :param str vault_url: URL of the vault the client will access + :param str vault_endpoint: URL of the vault the client will access :param credential: An object which can provide an access token for the vault, such as a credential from :mod:`azure.identity.aio` @@ -97,7 +97,7 @@ async def create_key( attributes = None bundle = await self._client.create_key( - self.vault_url, + self.vault_endpoint, name, key_type, size, @@ -231,7 +231,7 @@ async def delete_key(self, name: str, **kwargs: "**Any") -> DeletedKey: :caption: Delete a key :dedent: 8 """ - bundle = await self._client.delete_key(self.vault_url, name, error_map=_error_map, **kwargs) + bundle = await self._client.delete_key(self.vault_endpoint, name, error_map=_error_map, **kwargs) return DeletedKey._from_deleted_key_bundle(bundle) @distributed_trace_async @@ -257,7 +257,7 @@ async def get_key(self, name: str, version: Optional[str] = None, **kwargs: "**A if version is None: version = "" - bundle = await self._client.get_key(self.vault_url, name, version, error_map=_error_map, **kwargs) + bundle = await self._client.get_key(self.vault_endpoint, name, version, error_map=_error_map, **kwargs) return Key._from_key_bundle(bundle) @distributed_trace_async @@ -280,7 +280,7 @@ async def get_deleted_key(self, name: str, **kwargs: "**Any") -> DeletedKey: :caption: Get a deleted key :dedent: 8 """ - bundle = await self._client.get_deleted_key(self.vault_url, name, error_map=_error_map, **kwargs) + bundle = await self._client.get_deleted_key(self.vault_endpoint, name, error_map=_error_map, **kwargs) return DeletedKey._from_deleted_key_bundle(bundle) @distributed_trace @@ -301,7 +301,7 @@ def list_deleted_keys(self, **kwargs: "**Any") -> AsyncIterable[DeletedKey]: """ max_results = kwargs.get("max_page_size") return self._client.get_deleted_keys( - self.vault_url, + self.vault_endpoint, maxresults=max_results, cls=lambda objs: [DeletedKey._from_deleted_key_item(x) for x in objs], **kwargs, @@ -324,10 +324,10 @@ def list_keys(self, **kwargs: "**Any") -> AsyncIterable[KeyProperties]: """ max_results = kwargs.get("max_page_size") return self._client.get_keys( - self.vault_url, + self.vault_endpoint, maxresults=max_results, cls=lambda objs: [KeyProperties._from_key_item(x) for x in objs], - **kwargs + **kwargs, ) @distributed_trace @@ -348,7 +348,7 @@ def list_key_versions(self, name: str, **kwargs: "**Any") -> AsyncIterable[KeyPr """ max_results = kwargs.get("max_page_size") return self._client.get_key_versions( - self.vault_url, + self.vault_endpoint, name, maxresults=max_results, cls=lambda objs: [KeyProperties._from_key_item(x) for x in objs], @@ -374,7 +374,7 @@ async def purge_deleted_key(self, name: str, **kwargs: "**Any") -> None: await key_client.purge_deleted_key("key-name") """ - await self._client.purge_deleted_key(self.vault_url, name, **kwargs) + await self._client.purge_deleted_key(self.vault_endpoint, name, **kwargs) @distributed_trace_async async def recover_deleted_key(self, name: str, **kwargs: "**Any") -> Key: @@ -397,7 +397,7 @@ async def recover_deleted_key(self, name: str, **kwargs: "**Any") -> Key: :caption: Recover a deleted key :dedent: 8 """ - bundle = await self._client.recover_deleted_key(self.vault_url, name, **kwargs) + bundle = await self._client.recover_deleted_key(self.vault_endpoint, name, **kwargs) return Key._from_key_bundle(bundle) @distributed_trace_async @@ -443,7 +443,7 @@ async def update_key_properties( attributes = None bundle = await self._client.update_key( - self.vault_url, + self.vault_endpoint, name, key_version=version or "", key_ops=key_operations, @@ -477,7 +477,7 @@ async def backup_key(self, name: str, **kwargs: "**Any") -> bytes: :caption: Get a key backup :dedent: 8 """ - backup_result = await self._client.backup_key(self.vault_url, name, error_map=_error_map, **kwargs) + backup_result = await self._client.backup_key(self.vault_endpoint, name, error_map=_error_map, **kwargs) return backup_result.value @distributed_trace_async @@ -503,7 +503,7 @@ async def restore_key(self, backup: bytes, **kwargs: "**Any") -> Key: :caption: Restore a key backup :dedent: 8 """ - bundle = await self._client.restore_key(self.vault_url, backup, error_map=_error_map, **kwargs) + bundle = await self._client.restore_key(self.vault_endpoint, backup, error_map=_error_map, **kwargs) return Key._from_key_bundle(bundle) @distributed_trace_async @@ -539,6 +539,12 @@ async def import_key( else: attributes = None bundle = await self._client.import_key( - self.vault_url, name, key=key._to_generated_model(), hsm=hsm, key_attributes=attributes, tags=tags, **kwargs + self.vault_endpoint, + name, + key=key._to_generated_model(), + hsm=hsm, + key_attributes=attributes, + tags=tags, + **kwargs, ) return Key._from_key_bundle(bundle) diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/client.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/client.py index 44b374531ab0..9e3c4b9df3b2 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/client.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/client.py @@ -25,7 +25,7 @@ class KeyClient(KeyVaultClientBase): """A high-level interface for managing a vault's keys. - :param str vault_url: URL of the vault the client will access + :param str vault_endpoint: URL of the vault the client will access :param credential: An object which can provide an access token for the vault, such as a credential from :mod:`azure.identity` @@ -107,7 +107,7 @@ def create_key( attributes = None bundle = self._client.create_key( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, key_name=name, kty=key_type, key_size=size, @@ -245,7 +245,7 @@ def delete_key(self, name, **kwargs): :caption: Delete a key :dedent: 8 """ - bundle = self._client.delete_key(self.vault_url, name, error_map=_error_map, **kwargs) + bundle = self._client.delete_key(self.vault_endpoint, name, error_map=_error_map, **kwargs) return DeletedKey._from_deleted_key_bundle(bundle) @distributed_trace @@ -269,7 +269,9 @@ def get_key(self, name, version=None, **kwargs): :caption: Get a key :dedent: 8 """ - bundle = self._client.get_key(self.vault_url, name, key_version=version or "", error_map=_error_map, **kwargs) + bundle = self._client.get_key( + self.vault_endpoint, name, key_version=version or "", error_map=_error_map, **kwargs + ) return Key._from_key_bundle(bundle) @distributed_trace @@ -294,7 +296,7 @@ def get_deleted_key(self, name, **kwargs): :dedent: 8 """ # TODO: which exception is raised when soft-delete is not enabled - bundle = self._client.get_deleted_key(self.vault_url, name, error_map=_error_map, **kwargs) + bundle = self._client.get_deleted_key(self.vault_endpoint, name, error_map=_error_map, **kwargs) return DeletedKey._from_deleted_key_bundle(bundle) @distributed_trace @@ -316,7 +318,7 @@ def list_deleted_keys(self, **kwargs): """ max_page_size = kwargs.get("max_page_size", None) return self._client.get_deleted_keys( - self._vault_url, + self._vault_endpoint, maxresults=max_page_size, cls=lambda objs: [DeletedKey._from_deleted_key_item(x) for x in objs], **kwargs @@ -340,7 +342,7 @@ def list_keys(self, **kwargs): """ max_page_size = kwargs.get("max_page_size", None) return self._client.get_keys( - self._vault_url, + self._vault_endpoint, maxresults=max_page_size, cls=lambda objs: [KeyProperties._from_key_item(x) for x in objs], **kwargs @@ -365,7 +367,7 @@ def list_key_versions(self, name, **kwargs): """ max_page_size = kwargs.get("max_page_size", None) return self._client.get_key_versions( - self._vault_url, + self._vault_endpoint, name, maxresults=max_page_size, cls=lambda objs: [KeyProperties._from_key_item(x) for x in objs], @@ -392,7 +394,7 @@ def purge_deleted_key(self, name, **kwargs): key_client.purge_deleted_key("key-name") """ - self._client.purge_deleted_key(vault_base_url=self.vault_url, key_name=name, **kwargs) + self._client.purge_deleted_key(vault_base_url=self.vault_endpoint, key_name=name, **kwargs) @distributed_trace def recover_deleted_key(self, name, **kwargs): @@ -416,7 +418,7 @@ def recover_deleted_key(self, name, **kwargs): :caption: Recover a deleted key :dedent: 8 """ - bundle = self._client.recover_deleted_key(vault_base_url=self.vault_url, key_name=name, **kwargs) + bundle = self._client.recover_deleted_key(vault_base_url=self.vault_endpoint, key_name=name, **kwargs) return Key._from_key_bundle(bundle) @distributed_trace @@ -462,7 +464,7 @@ def update_key_properties( else: attributes = None bundle = self._client.update_key( - self.vault_url, + self.vault_endpoint, name, key_version=version or "", key_ops=key_operations, @@ -497,7 +499,7 @@ def backup_key(self, name, **kwargs): :caption: Get a key backup :dedent: 8 """ - backup_result = self._client.backup_key(self.vault_url, name, error_map=_error_map, **kwargs) + backup_result = self._client.backup_key(self.vault_endpoint, name, error_map=_error_map, **kwargs) return backup_result.value @distributed_trace @@ -524,7 +526,7 @@ def restore_key(self, backup, **kwargs): :caption: Restore a key backup :dedent: 8 """ - bundle = self._client.restore_key(self.vault_url, backup, error_map=_error_map, **kwargs) + bundle = self._client.restore_key(self.vault_endpoint, backup, error_map=_error_map, **kwargs) return Key._from_key_bundle(bundle) @distributed_trace @@ -561,6 +563,12 @@ def import_key( else: attributes = None bundle = self._client.import_key( - self.vault_url, name, key=key._to_generated_model(), hsm=hsm, key_attributes=attributes, tags=tags, **kwargs + self.vault_endpoint, + name, + key=key._to_generated_model(), + hsm=hsm, + key_attributes=attributes, + tags=tags, + **kwargs ) return Key._from_key_bundle(bundle) diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/_internal/algorithms/aes_cbc.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/_internal/algorithms/aes_cbc.py index 821f9cf1743d..8e7d22e58e68 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/_internal/algorithms/aes_cbc.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/_internal/algorithms/aes_cbc.py @@ -24,6 +24,7 @@ def transform(self, data): def block_size(self): pass + class _AesCbcDecryptor(_AesCbcCryptoTransform): def __init__(self, key, iv): super(_AesCbcDecryptor, self).__init__(key, iv) diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/aio/client.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/aio/client.py index 3b6d1ee4013f..94e386fe2ef3 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/aio/client.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/aio/client.py @@ -63,7 +63,7 @@ class CryptographyClient(AsyncKeyVaultClientBase): from azure.keyvault.keys.aio import KeyClient credential = DefaultAzureCredential() - key_client = KeyClient(vault_url=, credential=credential) + key_client = KeyClient(vault_endpoint=, credential=credential) crypto_client = key_client.get_cryptography_client("mykey") """ @@ -88,7 +88,9 @@ def __init__(self, key: "Union[Key, str]", credential: "TokenCredential", **kwar self._internal_key = None # type: Optional[_Key] - super(CryptographyClient, self).__init__(vault_url=self._key_id.vault_url, credential=credential, **kwargs) + super(CryptographyClient, self).__init__( + vault_endpoint=self._key_id.vault_endpoint, credential=credential, **kwargs + ) @property def key_id(self) -> str: @@ -111,7 +113,7 @@ async def get_key(self, **kwargs: "Any") -> "Optional[Key]": if not (self._key or self._keys_get_forbidden): try: self._key = await self._client.get_key( - self._key_id.vault_url, self._key_id.name, self._key_id.version, **kwargs + self._key_id.vault_endpoint, self._key_id.name, self._key_id.version, **kwargs ) self._allowed_ops = frozenset(self._key.key_material.key_ops) except HttpResponseError as ex: @@ -168,7 +170,7 @@ async def encrypt(self, algorithm: "EncryptionAlgorithm", plaintext: bytes, **kw result = local_key.encrypt(plaintext, algorithm=algorithm.value) else: result = await self._client.encrypt( - self._key_id.vault_url, self._key_id.name, self._key_id.version, algorithm, plaintext, **kwargs + self._key_id.vault_endpoint, self._key_id.name, self._key_id.version, algorithm, plaintext, **kwargs ).result return EncryptResult(key_id=self.key_id, algorithm=algorithm, ciphertext=result, authentication_tag=None) @@ -201,7 +203,7 @@ async def decrypt(self, algorithm: "EncryptionAlgorithm", ciphertext: bytes, **k raise ValueError("'authentication_tag' is required when 'authentication_data' is specified") result = await self._client.decrypt( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, @@ -238,7 +240,7 @@ async def wrap_key(self, algorithm: "KeyWrapAlgorithm", key: bytes, **kwargs: "A result = local_key.wrap_key(key, algorithm=algorithm.value) else: result = await self._client.wrap_key( - self._key_id.vault_url, + self._key_id.vault_endpoint, self._key_id.name, self._key_id.version, algorithm=algorithm, @@ -269,7 +271,7 @@ async def unwrap_key(self, algorithm: "KeyWrapAlgorithm", encrypted_key: bytes, """ result = await self._client.unwrap_key( - self._key_id.vault_url, + self._key_id.vault_endpoint, self._key_id.name, self._key_id.version, algorithm=algorithm, @@ -303,7 +305,7 @@ async def sign(self, algorithm: "SignatureAlgorithm", digest: bytes, **kwargs: " """ result = await self._client.sign( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, @@ -343,7 +345,7 @@ async def verify( result = local_key.verify(digest, signature, algorithm=algorithm.value) else: result = await self._client.verify( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/client.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/client.py index 1abcef82fb8f..8728ea97a9b6 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/client.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/crypto/client.py @@ -64,7 +64,7 @@ class CryptographyClient(KeyVaultClientBase): from azure.keyvault.keys import KeyClient credential = DefaultAzureCredential() - key_client = KeyClient(vault_url=, credential=credential) + key_client = KeyClient(vault_endpoint=, credential=credential) crypto_client = key_client.get_cryptography_client("mykey") """ @@ -91,7 +91,9 @@ def __init__(self, key, credential, **kwargs): self._internal_key = None # type: Optional[_Key] - super(CryptographyClient, self).__init__(vault_url=self._key_id.vault_url, credential=credential, **kwargs) + super(CryptographyClient, self).__init__( + vault_endpoint=self._key_id.vault_endpoint, credential=credential, **kwargs + ) @property def key_id(self): @@ -116,7 +118,7 @@ def get_key(self, **kwargs): if not (self._key or self._keys_get_forbidden): try: self._key = self._client.get_key( - self._key_id.vault_url, self._key_id.name, self._key_id.version, **kwargs + self._key_id.vault_endpoint, self._key_id.name, self._key_id.version, **kwargs ) self._allowed_ops = frozenset(self._key.key_material.key_ops) except HttpResponseError as ex: @@ -175,7 +177,7 @@ def encrypt(self, algorithm, plaintext, **kwargs): result = local_key.encrypt(plaintext, algorithm=algorithm.value) else: result = self._client.encrypt( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, @@ -214,7 +216,7 @@ def decrypt(self, algorithm, ciphertext, **kwargs): raise ValueError("'authentication_tag' is required when 'authentication_data' is specified") result = self._client.decrypt( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, @@ -252,7 +254,7 @@ def wrap_key(self, algorithm, key, **kwargs): result = local_key.wrap_key(key, algorithm=algorithm.value) else: result = self._client.wrap_key( - self._key_id.vault_url, + self._key_id.vault_endpoint, self._key_id.name, self._key_id.version, algorithm=algorithm, @@ -285,7 +287,7 @@ def unwrap_key(self, algorithm, encrypted_key, **kwargs): """ result = self._client.unwrap_key( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, @@ -320,7 +322,7 @@ def sign(self, algorithm, digest, **kwargs): """ result = self._client.sign( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, @@ -360,7 +362,7 @@ def verify(self, algorithm, digest, signature, **kwargs): result = local_key.verify(digest, signature, algorithm=algorithm.value) else: result = self._client.verify( - vault_base_url=self._key_id.vault_url, + vault_base_url=self._key_id.vault_endpoint, key_name=self._key_id.name, key_version=self._key_id.version, algorithm=algorithm, diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/models.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/models.py index aae0479bee3f..08c35138cc27 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/models.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/models.py @@ -148,14 +148,14 @@ def updated(self): return self._attributes.updated @property - def vault_url(self): + def vault_endpoint(self): # type: () -> str """ URL of the vault containing the key :rtype: str """ - return self._vault_id.vault_url + return self._vault_id.vault_endpoint @property def recovery_level(self): diff --git a/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations.py b/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations.py index 91e432a8927d..96085a1dfad6 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations.py @@ -13,7 +13,7 @@ # # 2. azure-keyvault-keys and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -32,9 +32,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = KeyClient(vault_url=VAULT_URL, credential=credential) +client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a Key of type RSA. # if the key already exists in the Key Vault, then a new version of the key is created. diff --git a/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations_async.py b/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations_async.py index 532f01a03585..690899a716d1 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations_async.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/backup_restore_operations_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-keys and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -33,9 +33,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = KeyClient(vault_url=VAULT_URL, credential=credential) + client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a Key of type RSA. # if the key already exists in the Key Vault, then a new version of the key is created. diff --git a/sdk/keyvault/azure-keyvault-keys/samples/hello_world.py b/sdk/keyvault/azure-keyvault-keys/samples/hello_world.py index cf6fb5e907d1..fe7d7af4e36b 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/hello_world.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/hello_world.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-keys and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = KeyClient(vault_url=VAULT_URL, credential=credential) +client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create an RSA key with size 2048, hsm disabled and optional key_operations of encrypt, decrypt. # if the key already exists in the Key Vault, then a new version of the key is created. @@ -66,9 +66,17 @@ # associated with a key previously stored within Key Vault. print("\n.. Update a Key by name") expires = datetime.datetime.utcnow() + datetime.timedelta(days=365) - updated_ec_key = client.update_key_properties(ec_key.name, ec_key.properties.version, expires=expires, enabled=False) - print("Key with name '{0}' was updated on date '{1}'".format(updated_ec_key.name, updated_ec_key.properties.updated)) - print("Key with name '{0}' was updated to expire on '{1}'".format(updated_ec_key.name, updated_ec_key.properties.expires)) + updated_ec_key = client.update_key_properties( + ec_key.name, ec_key.properties.version, expires=expires, enabled=False + ) + print( + "Key with name '{0}' was updated on date '{1}'".format(updated_ec_key.name, updated_ec_key.properties.updated) + ) + print( + "Key with name '{0}' was updated to expire on '{1}'".format( + updated_ec_key.name, updated_ec_key.properties.expires + ) + ) # The RSA key is no longer used, need to delete it from the Key Vault. print("\n.. Delete Keys") diff --git a/sdk/keyvault/azure-keyvault-keys/samples/hello_world_async.py b/sdk/keyvault/azure-keyvault-keys/samples/hello_world_async.py index e86c0bbc0dd2..82f7687a39f1 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/hello_world_async.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/hello_world_async.py @@ -15,7 +15,7 @@ # # 2. azure-keyvault-keys and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -36,9 +36,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = KeyClient(vault_url=VAULT_URL, credential=credential) + client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create an RSA key with size 2048, hsm disabled and optional key_operations of encrypt, decrypt. # if the key already exists in the Key Vault, then a new version of the key is created. @@ -67,9 +67,19 @@ async def run_sample(): # associated with a key previously stored within Key Vault. print("\n.. Update a Key by name") expires = datetime.datetime.utcnow() + datetime.timedelta(days=365) - updated_ec_key = await client.update_key_properties(ec_key.name, ec_key.properties.version, expires=expires, enabled=False) - print("Key with name '{0}' was updated on date '{1}'".format(updated_ec_key.name, updated_ec_key.properties.updated)) - print("Key with name '{0}' was updated to expire on '{1}'".format(updated_ec_key.name, updated_ec_key.properties.expires)) + updated_ec_key = await client.update_key_properties( + ec_key.name, ec_key.properties.version, expires=expires, enabled=False + ) + print( + "Key with name '{0}' was updated on date '{1}'".format( + updated_ec_key.name, updated_ec_key.properties.updated + ) + ) + print( + "Key with name '{0}' was updated to expire on '{1}'".format( + updated_ec_key.name, updated_ec_key.properties.expires + ) + ) # The keys are no longer used, let's delete them print("\n.. Deleting keys") diff --git a/sdk/keyvault/azure-keyvault-keys/samples/list_operations.py b/sdk/keyvault/azure-keyvault-keys/samples/list_operations.py index 1817c586aac4..8b8f20e31cf3 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/list_operations.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/list_operations.py @@ -15,7 +15,7 @@ # 2. Microsoft Azure Key Vault PyPI package - # https://pypi.python.org/pypi/azure-keyvault-keys/ # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -38,9 +38,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = KeyClient(vault_url=VAULT_URL, credential=credential) +client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create keys with RSA and EC type. If the key # already exists in the Key Vault, then a new version of the key is created. @@ -59,9 +59,7 @@ for key in keys: retrieved_key = client.get_key(key.name) print( - "Key with name '{0}' with type '{1}' was found.".format( - retrieved_key.name, retrieved_key.key_material.kty - ) + "Key with name '{0}' with type '{1}' was found.".format(retrieved_key.name, retrieved_key.key_material.kty) ) # The rsa key size now should now be 3072, default - 2048. So you want to update the key in Key Vault to ensure diff --git a/sdk/keyvault/azure-keyvault-keys/samples/list_operations_async.py b/sdk/keyvault/azure-keyvault-keys/samples/list_operations_async.py index 13a76bb8b1e1..f2b5a8f6fb1f 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/list_operations_async.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/list_operations_async.py @@ -15,7 +15,7 @@ # 2. Microsoft Azure Key Vault PyPI package - # https://pypi.python.org/pypi/azure-keyvault-keys/ # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -37,9 +37,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = KeyClient(vault_url=VAULT_URL, credential=credential) + client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create keys with RSA and EC type. If the key # already exists in the Key Vault, then a new version of the key is created. diff --git a/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations.py b/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations.py index eae741d31133..5e37e11fd6ab 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations.py @@ -15,7 +15,7 @@ # 2. Microsoft Azure Key Vault PyPI package - # https://pypi.python.org/pypi/azure-keyvault-keys/ # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = KeyClient(vault_url=VAULT_URL, credential=credential) +client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: print("\n.. Create keys") rsa_key = client.create_rsa_key("rsaKeyName", hsm=False) diff --git a/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations_async.py b/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations_async.py index 0f16ccfab5a0..9b5db58b5fd6 100644 --- a/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations_async.py +++ b/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations_async.py @@ -15,7 +15,7 @@ # 2. Microsoft Azure Key Vault PyPI package - # https://pypi.python.org/pypi/azure-keyvault-keys/ # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -36,9 +36,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = KeyClient(vault_url=VAULT_URL, credential=credential) + client = KeyClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: print("\n.. Create keys") rsa_key = await client.create_rsa_key("rsaKeyName", hsm=False) diff --git a/sdk/keyvault/azure-keyvault-keys/tests/keys_async_preparer.py b/sdk/keyvault/azure-keyvault-keys/tests/keys_async_preparer.py index 4db357acc42b..291254524f04 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/keys_async_preparer.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/keys_async_preparer.py @@ -19,6 +19,7 @@ class AiohttpTestTransport(AioHttpTransport): """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 """ + async def send(self, request, **config): response = await super(AiohttpTestTransport, self).send(request, **config) if not isinstance(response.headers, CIMultiDictProxy): diff --git a/sdk/keyvault/azure-keyvault-keys/tests/keys_preparer.py b/sdk/keyvault/azure-keyvault-keys/tests/keys_preparer.py index a04cb238fd40..80c8416ecac7 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/keys_preparer.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/keys_preparer.py @@ -40,7 +40,7 @@ storage=[perm.value for perm in StoragePermissions], ) DEFAULT_SKU = SkuName.premium.value -CLIENT_OID = '00000000-0000-0000-0000-000000000000' +CLIENT_OID = "00000000-0000-0000-0000-000000000000" class VaultClientPreparer(AzureMgmtPreparer): @@ -91,7 +91,7 @@ def _get_resource_group(self, **kwargs): raise AzureTestError(template.format(ResourceGroupPreparer.__name__)) def create_resource(self, name, **kwargs): - self.client_oid = self.test_class_instance.set_value_to_scrub('CLIENT_OID', CLIENT_OID) + self.client_oid = self.test_class_instance.set_value_to_scrub("CLIENT_OID", CLIENT_OID) if self.is_live: # create a vault with the management client group = self._get_resource_group(**kwargs).name diff --git a/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client.py b/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client.py index 3261d31c1548..b2862e859309 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client.py @@ -19,12 +19,12 @@ class VaultClient(KeyVaultClientBase): - def __init__(self, vault_url, credential, transport=None, api_version=None, **kwargs): + def __init__(self, vault_endpoint, credential, transport=None, api_version=None, **kwargs): # type: (str, TokenCredential, Optional[HttpTransport], Optional[str], **Any) -> None super(VaultClient, self).__init__( - vault_url, credential, transport=transport, api_version=api_version, **kwargs + vault_endpoint, credential, transport=transport, api_version=api_version, **kwargs ) - self._keys = KeyClient(self.vault_url, credential, generated_client=self._client, **kwargs) + self._keys = KeyClient(self.vault_endpoint, credential, generated_client=self._client, **kwargs) @property def keys(self): diff --git a/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client_async.py b/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client_async.py index a09d581eb39a..c17bfe243709 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client_async.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/keys_vault_client_async.py @@ -25,16 +25,16 @@ class VaultClient(AsyncKeyVaultClientBase): def __init__( self, - vault_url: str, + vault_endpoint: str, credential: "TokenCredential", transport: HttpTransport = None, api_version: str = None, **kwargs: Any ) -> None: super(VaultClient, self).__init__( - vault_url, credential, transport=transport, api_version=api_version, **kwargs + vault_endpoint, credential, transport=transport, api_version=api_version, **kwargs ) - self._keys = KeyClient(self.vault_url, credential, generated_client=self._client, **kwargs) + self._keys = KeyClient(self.vault_endpoint, credential, generated_client=self._client, **kwargs) @property def keys(self): diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client.py b/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client.py index 0dd6d7f620c7..0d5479e9f42d 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client.py @@ -27,7 +27,9 @@ def _validate_rsa_key_bundle(self, key_attributes, vault, key_name, kty, key_ops self.assertEqual(key.kty, kty, "kty should by '{}', but is '{}'".format(key, key.kty)) self.assertTrue(key.n and key.e, "Bad RSA public material.") self.assertEqual(key_ops, key.key_ops, "keyOps should be '{}', but is '{}'".format(key_ops, key.key_ops)) - self.assertTrue(key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes.") + self.assertTrue( + key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes." + ) def _import_test_key(self, client, name): def _to_bytes(hex): @@ -62,7 +64,7 @@ def _to_bytes(hex): ), ) imported_key = client.import_key(name, key) - self._validate_rsa_key_bundle(imported_key, client.vault_url, name, key.kty, key.key_ops) + self._validate_rsa_key_bundle(imported_key, client.vault_endpoint, name, key.kty, key.key_ops) return imported_key @ResourceGroupPreparer() diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client_async.py b/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client_async.py index 75364e333de5..a6e9a327bf69 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client_async.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client_async.py @@ -64,7 +64,7 @@ def _to_bytes(hex): ), ) imported_key = await client.import_key(name, key) - self._validate_rsa_key_bundle(imported_key, client.vault_url, name, key.kty, key.key_ops) + self._validate_rsa_key_bundle(imported_key, client.vault_endpoint, name, key.kty, key.key_ops) return imported_key @ResourceGroupPreparer() diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_key_client.py b/sdk/keyvault/azure-keyvault-keys/tests/test_key_client.py index 0f1b3e8a13c2..2dbac0b33a0a 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_key_client.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_key_client.py @@ -17,7 +17,7 @@ class KeyClientTests(KeyVaultTestCase): def _assert_key_attributes_equal(self, k1, k2): self.assertEqual(k1.name, k2.name) - self.assertEqual(k1.vault_url, k2.vault_url) + self.assertEqual(k1.vault_endpoint, k2.vault_endpoint) self.assertEqual(k1.enabled, k2.enabled) self.assertEqual(k1.not_before, k2.not_before) self.assertEqual(k1.expires, k2.expires) @@ -35,7 +35,7 @@ def _create_rsa_key(self, client, key_name, hsm): self.assertTrue(created_key.properties.tags, "Missing the optional key attributes.") self.assertEqual(tags, created_key.properties.tags) kty = "RSA-HSM" if hsm else "RSA" - self._validate_rsa_key_bundle(created_key, client.vault_url, key_name, kty, key_ops) + self._validate_rsa_key_bundle(created_key, client.vault_endpoint, key_name, kty, key_ops) return created_key def _create_ec_key(self, client, key_name, hsm): @@ -47,7 +47,7 @@ def _create_ec_key(self, client, key_name, hsm): self.assertTrue(created_key.properties.enabled, "Missing the optional key attributes.") self.assertEqual(enabled, created_key.properties.enabled) self.assertEqual(tags, created_key.properties.tags) - self._validate_ec_key_bundle(created_key, client.vault_url, key_name, key_type) + self._validate_ec_key_bundle(created_key, client.vault_endpoint, key_name, key_type) return created_key def _validate_ec_key_bundle(self, key_attributes, vault, key_name, kty): @@ -58,7 +58,9 @@ def _validate_ec_key_bundle(self, key_attributes, vault, key_name, kty): self.assertEqual(key_curve, key.crv) self.assertTrue(kid.index(prefix) == 0, "Key Id should start with '{}', but value is '{}'".format(prefix, kid)) self.assertEqual(key.kty, kty, "kty should by '{}', but is '{}'".format(key, key.kty)) - self.assertTrue(key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes.") + self.assertTrue( + key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes." + ) def _validate_rsa_key_bundle(self, key_attributes, vault, key_name, kty, key_ops): prefix = "/".join(s.strip("/") for s in [vault, "keys", key_name]) @@ -68,7 +70,9 @@ def _validate_rsa_key_bundle(self, key_attributes, vault, key_name, kty, key_ops self.assertEqual(key.kty, kty, "kty should by '{}', but is '{}'".format(key, key.kty)) self.assertTrue(key.n and key.e, "Bad RSA public material.") self.assertEqual(key_ops, key.key_ops, "keyOps should be '{}', but is '{}'".format(key_ops, key.key_ops)) - self.assertTrue(key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes.") + self.assertTrue( + key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes." + ) def _update_key_properties(self, client, key): expires = date_parse.parse("2050-01-02T08:00:00.000Z") @@ -114,7 +118,7 @@ def _to_bytes(hex): ), ) imported_key = client.import_key(name, key) - self._validate_rsa_key_bundle(imported_key, client.vault_url, name, key.kty, key.key_ops) + self._validate_rsa_key_bundle(imported_key, client.vault_endpoint, name, key.kty, key.key_ops) return imported_key @ResourceGroupPreparer() diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_keys_async.py b/sdk/keyvault/azure-keyvault-keys/tests/test_keys_async.py index cdfcd3b7e3ae..5eb3795c60b5 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_keys_async.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_keys_async.py @@ -19,7 +19,7 @@ class KeyVaultKeyTest(AsyncKeyVaultTestCase): def _assert_key_attributes_equal(self, k1, k2): self.assertEqual(k1.name, k2.name) - self.assertEqual(k1.vault_url, k2.vault_url) + self.assertEqual(k1.vault_endpoint, k2.vault_endpoint) self.assertEqual(k1.enabled, k2.enabled) self.assertEqual(k1.not_before, k2.not_before) self.assertEqual(k1.expires, k2.expires) @@ -37,7 +37,7 @@ async def _create_rsa_key(self, client, key_name, hsm): self.assertTrue(created_key.properties.tags, "Missing the optional key attributes.") self.assertEqual(tags, created_key.properties.tags) key_type = "RSA-HSM" if hsm else "RSA" - self._validate_rsa_key_bundle(created_key, client.vault_url, key_name, key_type, key_ops) + self._validate_rsa_key_bundle(created_key, client.vault_endpoint, key_name, key_type, key_ops) return created_key async def _create_ec_key(self, client, key_name, hsm): @@ -49,7 +49,7 @@ async def _create_ec_key(self, client, key_name, hsm): self.assertEqual(enabled, created_key.properties.enabled) self.assertEqual(tags, created_key.properties.tags) key_type = "EC-HSM" if hsm else "EC" - self._validate_ec_key_bundle(created_key, client.vault_url, key_name, key_type) + self._validate_ec_key_bundle(created_key, client.vault_endpoint, key_name, key_type) return created_key def _validate_ec_key_bundle(self, key_attributes, vault, key_name, kty): @@ -60,7 +60,9 @@ def _validate_ec_key_bundle(self, key_attributes, vault, key_name, kty): self.assertEqual(key_curve, key.crv) self.assertTrue(kid.index(prefix) == 0, "Key Id should start with '{}', but value is '{}'".format(prefix, kid)) self.assertEqual(key.kty, kty, "kty should by '{}', but is '{}'".format(key, key.kty)) - self.assertTrue(key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes.") + self.assertTrue( + key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes." + ) def _validate_rsa_key_bundle(self, key_attributes, vault, key_name, kty, key_ops): prefix = "/".join(s.strip("/") for s in [vault, "keys", key_name]) @@ -70,7 +72,9 @@ def _validate_rsa_key_bundle(self, key_attributes, vault, key_name, kty, key_ops self.assertEqual(key.kty, kty, "kty should by '{}', but is '{}'".format(key, key.kty)) self.assertTrue(key.n and key.e, "Bad RSA public material.") self.assertEqual(key_ops, key.key_ops, "keyOps should be '{}', but is '{}'".format(key_ops, key.key_ops)) - self.assertTrue(key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes.") + self.assertTrue( + key_attributes.properties.created and key_attributes.properties.updated, "Missing required date attributes." + ) async def _update_key_properties(self, client, key): expires = date_parse.parse("2050-01-02T08:00:00.000Z") @@ -121,7 +125,7 @@ def _to_bytes(hex): ), ) imported_key = await client.import_key(name, key) - self._validate_rsa_key_bundle(imported_key, client.vault_url, name, "RSA", key.key_ops) + self._validate_rsa_key_bundle(imported_key, client.vault_endpoint, name, "RSA", key.key_ops) return imported_key @ResourceGroupPreparer() @@ -148,7 +152,9 @@ async def test_key_crud_operations(self, vault_client, **kwargs): self._assert_key_attributes_equal(created_rsa_key.properties, key.properties) # get key without version - self._assert_key_attributes_equal(created_rsa_key.properties, (await client.get_key(created_rsa_key.name)).properties) + self._assert_key_attributes_equal( + created_rsa_key.properties, (await client.get_key(created_rsa_key.name)).properties + ) # update key with version if self.is_live: diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys.py b/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys.py index 725329b05a20..4ff988e29f8f 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys.py @@ -16,7 +16,7 @@ def print(*args): def test_create_key_client(): - vault_url = "vault_url" + vault_endpoint = "vault_endpoint" # pylint:disable=unused-variable # [START create_key_client] @@ -25,7 +25,7 @@ def test_create_key_client(): # Create a KeyClient using default Azure credentials credential = DefaultAzureCredential() - key_client = KeyClient(vault_url, credential) + key_client = KeyClient(vault_endpoint, credential) # [END create_key_client] @@ -92,7 +92,7 @@ def test_example_key_crud_operations(self, vault_client, **kwargs): print(key.name) print(key.properties.version) print(key.key_material.kty) - print(key.properties.vault_url) + print(key.properties.vault_endpoint) # [END get_key] # [START update_key] diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys_async.py b/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys_async.py index 1adaffe0592f..6b4bd944a4e6 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys_async.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_samples_keys_async.py @@ -13,7 +13,7 @@ def print(*args): def test_create_key_client(): - vault_url = "vault_url" + vault_endpoint = "vault_endpoint" # pylint:disable=unused-variable # [START create_key_client] @@ -22,7 +22,7 @@ def test_create_key_client(): # Create a KeyClient using default Azure credentials credential = DefaultAzureCredential() - key_client = KeyClient(vault_url, credential) + key_client = KeyClient(vault_endpoint, credential) # [END create_key_client] @@ -86,7 +86,7 @@ async def test_example_key_crud_operations(self, vault_client, **kwargs): print(key.name) print(key.properties.version) print(key.key_material.kty) - print(key.properties.vault_url) + print(key.properties.vault_endpoint) # [END get_key] # [START update_key] diff --git a/sdk/keyvault/azure-keyvault-secrets/HISTORY.md b/sdk/keyvault/azure-keyvault-secrets/HISTORY.md index 285f45a649d7..3c864a384fb9 100644 --- a/sdk/keyvault/azure-keyvault-secrets/HISTORY.md +++ b/sdk/keyvault/azure-keyvault-secrets/HISTORY.md @@ -9,6 +9,8 @@ through the `properties` property. See the updated [docs] (https://azure.github.io/azure-sdk-for-python/ref/azure.keyvault.secrets.html) for details. - `update_secret` has been renamed to `update_secret_properties`. +- The `vault_url` parameter of `SecretClient` has been renamed to `vault_endpoint` +- The property `vault_url` has been renamed to `vault_endpoint` in all models. ### Fixes and improvements - `list_secrets` and `list_secret_versions` return the correct type diff --git a/sdk/keyvault/azure-keyvault-secrets/README.md b/sdk/keyvault/azure-keyvault-secrets/README.md index adf1dfb3304e..fa7ae57a0461 100644 --- a/sdk/keyvault/azure-keyvault-secrets/README.md +++ b/sdk/keyvault/azure-keyvault-secrets/README.md @@ -61,7 +61,7 @@ names): } ``` - > The `"vaultUri"` property is the `vault_url` used by `SecretClient` + > The `"vaultUri"` property is the `vault_endpoint` used by `SecretClient` ### Authenticate the client In order to interact with a Key Vault's secrets, you'll need an instance of the @@ -120,7 +120,7 @@ After setting the **AZURE_CLIENT_ID**, **AZURE_CLIENT_SECRET** and credential = DefaultAzureCredential() - secret_client = SecretClient(vault_url=, credential=credential) + secret_client = SecretClient(vault_endpoint=, credential=credential) ``` ## Key concepts @@ -221,7 +221,7 @@ This example creates a secret in the Key Vault with the specified optional argum from azure.keyvault.secrets.aio import SecretClient credential = DefaultAzureCredential() - secret_client = SecretClient(vault_url=vault_url, credential=credential) + secret_client = SecretClient(vault_endpoint=vault_endpoint, credential=credential) secret = await secret_client.set_secret("secret-name", "secret-value") @@ -281,7 +281,7 @@ file_handler = logging.FileHandler(filename) logger.addHandler(file_handler) # Enable network trace logging. Each HTTP request will be logged at DEBUG level. -client = SecretClient(vault_url=url, credential=credential, logging_enable=True) +client = SecretClient(vault_endpoint=url, credential=credential, logging_enable=True) ``` Network trace logging can also be enabled for any single operation: diff --git a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/__init__.py b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/__init__.py index a8fd2a41d71f..6cbd019761da 100644 --- a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/__init__.py +++ b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/__init__.py @@ -23,7 +23,7 @@ "KeyVaultClientBase", ] -_VaultId = namedtuple("VaultId", ["vault_url", "collection", "name", "version"]) +_VaultId = namedtuple("VaultId", ["vault_endpoint", "collection", "name", "version"]) def parse_vault_id(url): @@ -40,7 +40,7 @@ def parse_vault_id(url): raise ValueError("'{}' is not not a valid vault url".format(url)) return _VaultId( - vault_url="{}://{}".format(parsed_uri.scheme, parsed_uri.hostname), + vault_endpoint="{}://{}".format(parsed_uri.scheme, parsed_uri.hostname), collection=path[0], name=path[1], version=path[2] if len(path) == 3 else None, diff --git a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/async_client_base.py b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/async_client_base.py index b6081db0d09e..b571e27fe9dd 100644 --- a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/async_client_base.py +++ b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/async_client_base.py @@ -28,9 +28,7 @@ class AsyncKeyVaultClientBase: """Base class for async Key Vault clients""" @staticmethod - def _create_config( - credential: "TokenCredential", api_version: str = None, **kwargs: "**Any" - ) -> Configuration: + def _create_config(credential: "TokenCredential", api_version: str = None, **kwargs: "**Any") -> Configuration: if api_version is None: api_version = KeyVaultClient.DEFAULT_API_VERSION config = KeyVaultClient.get_configuration_class(api_version, aio=True)(credential, **kwargs) @@ -61,7 +59,7 @@ def _create_config( def __init__( self, - vault_url: str, + vault_endpoint: str, credential: "TokenCredential", transport: AsyncHttpTransport = None, api_version: str = None, @@ -72,10 +70,10 @@ def __init__( "credential should be an object supporting the TokenCredential protocol, " "such as a credential from azure-identity" ) - if not vault_url: - raise ValueError("vault_url must be the URL of an Azure Key Vault") + if not vault_endpoint: + raise ValueError("vault_endpoint must be the URL of an Azure Key Vault") - self._vault_url = vault_url.strip(" /") + self._vault_endpoint = vault_endpoint.strip(" /") client = kwargs.pop("generated_client", None) if client: @@ -111,5 +109,5 @@ def _build_pipeline(config: Configuration, transport: AsyncHttpTransport, **kwar return AsyncPipeline(transport, policies=policies) @property - def vault_url(self) -> str: - return self._vault_url + def vault_endpoint(self) -> str: + return self._vault_endpoint diff --git a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/client_base.py b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/client_base.py index 54f033e55d28..7b30e1886860 100644 --- a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/client_base.py +++ b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_shared/client_base.py @@ -56,17 +56,17 @@ def _create_config(credential, api_version=None, **kwargs): return config - def __init__(self, vault_url, credential, transport=None, api_version=None, **kwargs): + def __init__(self, vault_endpoint, credential, transport=None, api_version=None, **kwargs): # type: (str, TokenCredential, Optional[HttpTransport], Optional[str], **Any) -> None if not credential: raise ValueError( "credential should be an object supporting the TokenCredential protocol, " "such as a credential from azure-identity" ) - if not vault_url: - raise ValueError("vault_url must be the URL of an Azure Key Vault") + if not vault_endpoint: + raise ValueError("vault_endpoint must be the URL of an Azure Key Vault") - self._vault_url = vault_url.strip(" /") + self._vault_endpoint = vault_endpoint.strip(" /") client = kwargs.pop("generated_client", None) if client: @@ -101,6 +101,6 @@ def _build_pipeline(self, config, transport, **kwargs): return Pipeline(transport, policies=policies) @property - def vault_url(self): + def vault_endpoint(self): # type: () -> str - return self._vault_url + return self._vault_endpoint diff --git a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/aio/client.py b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/aio/client.py index 5be9f2535ba8..71ac429ebaf0 100644 --- a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/aio/client.py +++ b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/aio/client.py @@ -16,7 +16,7 @@ class SecretClient(AsyncKeyVaultClientBase): """A high-level asynchronous interface for managing a vault's secrets. - :param str vault_url: URL of the vault the client will access + :param str vault_endpoint: URL of the vault the client will access :param credential: An object which can provide an access token for the vault, such as a credential from :mod:`azure.identity.aio` @@ -51,7 +51,7 @@ async def get_secret(self, name: str, version: Optional[str] = None, **kwargs: " :dedent: 8 """ bundle = await self._client.get_secret( - self.vault_url, name, version or "", error_map=_error_map, **kwargs + self.vault_endpoint, name, version or "", error_map=_error_map, **kwargs ) return Secret._from_secret_bundle(bundle) @@ -93,7 +93,13 @@ async def set_secret( else: attributes = None bundle = await self._client.set_secret( - self.vault_url, name, value, secret_attributes=attributes, content_type=content_type, tags=tags, **kwargs + self.vault_endpoint, + name, + value, + secret_attributes=attributes, + content_type=content_type, + tags=tags, + **kwargs ) return Secret._from_secret_bundle(bundle) @@ -138,7 +144,7 @@ async def update_secret_properties( else: attributes = None bundle = await self._client.update_secret( - self.vault_url, + self.vault_endpoint, name, secret_version=version or "", content_type=content_type, @@ -167,7 +173,7 @@ def list_secrets(self, **kwargs: "**Any") -> AsyncIterable[SecretProperties]: """ max_results = kwargs.get("max_page_size") return self._client.get_secrets( - self.vault_url, + self.vault_endpoint, maxresults=max_results, cls=lambda objs: [SecretProperties._from_secret_item(x) for x in objs], **kwargs @@ -192,7 +198,7 @@ def list_secret_versions(self, name: str, **kwargs: "**Any") -> AsyncIterable[Se """ max_results = kwargs.get("max_page_size") return self._client.get_secret_versions( - self.vault_url, + self.vault_endpoint, name, maxresults=max_results, cls=lambda objs: [SecretProperties._from_secret_item(x) for x in objs], @@ -219,7 +225,7 @@ async def backup_secret(self, name: str, **kwargs: "**Any") -> bytes: :dedent: 8 """ backup_result = await self._client.backup_secret( - self.vault_url, name, error_map=_error_map, **kwargs + self.vault_endpoint, name, error_map=_error_map, **kwargs ) return backup_result.value @@ -243,7 +249,7 @@ async def restore_secret(self, backup: bytes, **kwargs: "**Any") -> SecretProper :dedent: 8 """ bundle = await self._client.restore_secret( - self.vault_url, backup, error_map=_error_map, **kwargs + self.vault_endpoint, backup, error_map=_error_map, **kwargs ) return SecretProperties._from_secret_bundle(bundle) @@ -266,7 +272,7 @@ async def delete_secret(self, name: str, **kwargs: "**Any") -> DeletedSecret: :dedent: 8 """ bundle = await self._client.delete_secret( - self.vault_url, name, error_map=_error_map, **kwargs + self.vault_endpoint, name, error_map=_error_map, **kwargs ) return DeletedSecret._from_deleted_secret_bundle(bundle) @@ -290,7 +296,7 @@ async def get_deleted_secret(self, name: str, **kwargs: "**Any") -> DeletedSecre :dedent: 8 """ bundle = await self._client.get_deleted_secret( - self.vault_url, name, error_map=_error_map, **kwargs + self.vault_endpoint, name, error_map=_error_map, **kwargs ) return DeletedSecret._from_deleted_secret_bundle(bundle) @@ -312,7 +318,7 @@ def list_deleted_secrets(self, **kwargs: "**Any") -> AsyncIterable[DeletedSecret """ max_results = kwargs.get("max_page_size") return self._client.get_deleted_secrets( - self.vault_url, + self.vault_endpoint, maxresults=max_results, cls=lambda objs: [DeletedSecret._from_deleted_secret_item(x) for x in objs], **kwargs @@ -337,7 +343,7 @@ async def purge_deleted_secret(self, name: str, **kwargs: "**Any") -> None: await secret_client.purge_deleted_secret("secret-name") """ - await self._client.purge_deleted_secret(self.vault_url, name, **kwargs) + await self._client.purge_deleted_secret(self.vault_endpoint, name, **kwargs) @distributed_trace_async async def recover_deleted_secret(self, name: str, **kwargs: "**Any") -> SecretProperties: @@ -357,5 +363,5 @@ async def recover_deleted_secret(self, name: str, **kwargs: "**Any") -> SecretPr :caption: Recover a deleted secret :dedent: 8 """ - bundle = await self._client.recover_deleted_secret(self.vault_url, name, **kwargs) + bundle = await self._client.recover_deleted_secret(self.vault_endpoint, name, **kwargs) return SecretProperties._from_secret_bundle(bundle) diff --git a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/client.py b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/client.py index 05abe82d53cb..2446ca55cb46 100644 --- a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/client.py +++ b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/client.py @@ -23,7 +23,7 @@ class SecretClient(KeyVaultClientBase): """A high-level interface for managing a vault's secrets. - :param str vault_url: URL of the vault the client will access + :param str vault_endpoint: URL of the vault the client will access :param credential: An object which can provide an access token for the vault, such as a credential from :mod:`azure.identity` @@ -59,7 +59,7 @@ def get_secret(self, name, version=None, **kwargs): :dedent: 8 """ bundle = self._client.get_secret( - vault_base_url=self._vault_url, + vault_base_url=self._vault_endpoint, secret_name=name, secret_version=version or "", error_map=_error_map, @@ -107,7 +107,7 @@ def set_secret( else: attributes = None bundle = self._client.set_secret( - vault_base_url=self.vault_url, + vault_base_url=self.vault_endpoint, secret_name=name, value=value, secret_attributes=attributes, @@ -160,7 +160,7 @@ def update_secret_properties( else: attributes = None bundle = self._client.update_secret( - self.vault_url, + self.vault_endpoint, name, secret_version=version or "", content_type=content_type, @@ -191,7 +191,7 @@ def list_secrets(self, **kwargs): """ max_page_size = kwargs.get("max_page_size", None) return self._client.get_secrets( - self._vault_url, + self._vault_endpoint, maxresults=max_page_size, cls=lambda objs: [SecretProperties._from_secret_item(x) for x in objs], **kwargs @@ -218,7 +218,7 @@ def list_secret_versions(self, name, **kwargs): """ max_page_size = kwargs.get("max_page_size", None) return self._client.get_secret_versions( - self._vault_url, + self._vault_endpoint, name, maxresults=max_page_size, cls=lambda objs: [SecretProperties._from_secret_item(x) for x in objs], @@ -247,7 +247,7 @@ def backup_secret(self, name, **kwargs): """ backup_result = self._client.backup_secret( - self.vault_url, name, error_map=_error_map, **kwargs + self.vault_endpoint, name, error_map=_error_map, **kwargs ) return backup_result.value @@ -272,7 +272,9 @@ def restore_secret(self, backup, **kwargs): :dedent: 8 """ - bundle = self._client.restore_secret(self.vault_url, backup, error_map=_error_map, **kwargs) + bundle = self._client.restore_secret( + self.vault_endpoint, backup, error_map=_error_map, **kwargs + ) return SecretProperties._from_secret_bundle(bundle) @distributed_trace @@ -295,7 +297,7 @@ def delete_secret(self, name, **kwargs): :dedent: 8 """ - bundle = self._client.delete_secret(self.vault_url, name, error_map=_error_map, **kwargs) + bundle = self._client.delete_secret(self.vault_endpoint, name, error_map=_error_map, **kwargs) return DeletedSecret._from_deleted_secret_bundle(bundle) @distributed_trace @@ -319,7 +321,7 @@ def get_deleted_secret(self, name, **kwargs): :dedent: 8 """ - bundle = self._client.get_deleted_secret(self.vault_url, name, error_map=_error_map, **kwargs) + bundle = self._client.get_deleted_secret(self.vault_endpoint, name, error_map=_error_map, **kwargs) return DeletedSecret._from_deleted_secret_bundle(bundle) @distributed_trace @@ -342,7 +344,7 @@ def list_deleted_secrets(self, **kwargs): """ max_page_size = kwargs.get("max_page_size", None) return self._client.get_deleted_secrets( - self._vault_url, + self._vault_endpoint, maxresults=max_page_size, cls=lambda objs: [DeletedSecret._from_deleted_secret_item(x) for x in objs], **kwargs @@ -368,7 +370,7 @@ def purge_deleted_secret(self, name, **kwargs): secret_client.purge_deleted_secret("secret-name") """ - self._client.purge_deleted_secret(self.vault_url, name, **kwargs) + self._client.purge_deleted_secret(self.vault_endpoint, name, **kwargs) @distributed_trace def recover_deleted_secret(self, name, **kwargs): @@ -390,5 +392,5 @@ def recover_deleted_secret(self, name, **kwargs): :dedent: 8 """ - bundle = self._client.recover_deleted_secret(self.vault_url, name, **kwargs) + bundle = self._client.recover_deleted_secret(self.vault_endpoint, name, **kwargs) return SecretProperties._from_secret_bundle(bundle) diff --git a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/models.py b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/models.py index e9fcd4a69818..9722abcf002f 100644 --- a/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/models.py +++ b/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/models.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. # ------------------------------------ from ._shared import parse_vault_id + try: from typing import TYPE_CHECKING except ImportError: @@ -132,14 +133,14 @@ def recovery_level(self): return self._attributes.recovery_level @property - def vault_url(self): + def vault_endpoint(self): # type: () -> str """ URL of the vault containing the secret :rtype: str """ - return self._vault_id.vault_url + return self._vault_id.vault_endpoint @property def name(self): @@ -176,8 +177,8 @@ def _from_secret_bundle(cls, secret_bundle): # type: (_models.SecretBundle) -> Secret """Construct a Secret from an autorest-generated SecretBundle""" return cls( - properties=SecretProperties._from_secret_bundle(secret_bundle), #pylint: disable=protected-access - value=secret_bundle.value + properties=SecretProperties._from_secret_bundle(secret_bundle), # pylint: disable=protected-access + value=secret_bundle.value, ) @property @@ -218,10 +219,10 @@ class DeletedSecret(object): def __init__( self, - properties, # type: SecretProperties + properties, # type: SecretProperties deleted_date=None, # type: Optional[datetime] recovery_id=None, # type: Optional[str] - scheduled_purge_date=None # type: Optional[datetime] + scheduled_purge_date=None, # type: Optional[datetime] ): # type: (...) -> None self._properties = properties @@ -234,7 +235,7 @@ def _from_deleted_secret_bundle(cls, deleted_secret_bundle): # type: (_models.DeletedSecretBundle) -> DeletedSecret """Construct a DeletedSecret from an autorest-generated DeletedSecretBundle""" return cls( - properties=SecretProperties._from_secret_bundle(deleted_secret_bundle), #pylint: disable=protected-access + properties=SecretProperties._from_secret_bundle(deleted_secret_bundle), # pylint: disable=protected-access deleted_date=deleted_secret_bundle.deleted_date, recovery_id=deleted_secret_bundle.recovery_id, scheduled_purge_date=deleted_secret_bundle.scheduled_purge_date, @@ -245,7 +246,7 @@ def _from_deleted_secret_item(cls, deleted_secret_item): # type: (_models.DeletedSecretItem) -> DeletedSecret """Construct a DeletedSecret from an autorest-generated DeletedSecretItem""" return cls( - properties=SecretProperties._from_secret_item(deleted_secret_item), #pylint: disable=protected-access + properties=SecretProperties._from_secret_item(deleted_secret_item), # pylint: disable=protected-access deleted_date=deleted_secret_item.deleted_date, recovery_id=deleted_secret_item.recovery_id, scheduled_purge_date=deleted_secret_item.scheduled_purge_date, diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations.py b/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations.py index c556abb0246f..4efcbff406a7 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations.py @@ -13,7 +13,7 @@ # # 2. azure-keyvault-secrets and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -32,9 +32,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = SecretClient(vault_url=VAULT_URL, credential=credential) +client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a secret holding storage account credentials. # if the secret already exists in the Key Vault, then a new version of the secret is created. diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations_async.py b/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations_async.py index e994d4677f0a..88ff6f05d145 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations_async.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/backup_restore_operations_async.py @@ -15,7 +15,7 @@ # 2. Microsoft Azure Key Vault PyPI package - # https://pypi.python.org/pypi/azure-keyvault-secrets/ # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -34,9 +34,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = SecretClient(vault_url=VAULT_URL, credential=credential) + client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a secret holding storage account credentials. # if the secret already exists in the Key Vault, then a new version of the secret is created. diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/hello_world.py b/sdk/keyvault/azure-keyvault-secrets/samples/hello_world.py index 74acf1e7e702..29e25e155dfe 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/hello_world.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/hello_world.py @@ -15,7 +15,7 @@ # 2. Microsoft Azure Key Vault PyPI package - # https://pypi.python.org/pypi/azure-keyvault-secrets/ # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = SecretClient(vault_url=VAULT_URL, credential=credential) + client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a secret holding bank account credentials valid for 1 year. # if the secret already exists in the Key Vault, then a new version of the secret is created. @@ -59,7 +59,11 @@ def run_sample(): expires = bank_secret.properties.expires + datetime.timedelta(days=365) updated_secret_properties = client.update_secret_properties(secret.name, expires=expires) print("Secret with name '{0}' was updated on date '{1}'".format(secret.name, updated_secret_properties.updated)) - print("Secret with name '{0}' was updated to expire on '{1}'".format(secret.name, updated_secret_properties.expires)) + print( + "Secret with name '{0}' was updated to expire on '{1}'".format( + secret.name, updated_secret_properties.expires + ) + ) # Bank forced a password update for security purposes. Let's change the value of the secret in the Key Vault. # To achieve this, we need to create a new version of the secret in the Key Vault. The update operation cannot diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/hello_world_async.py b/sdk/keyvault/azure-keyvault-secrets/samples/hello_world_async.py index 908c1287519d..0d6f31b191cd 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/hello_world_async.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/hello_world_async.py @@ -15,7 +15,7 @@ # # 2. azure-keyvault-secrets and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = SecretClient(vault_url=VAULT_URL, credential=credential) + client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create a secret holding bank account credentials valid for 1 year. # if the secret already exists in the key vault, then a new version of the secret is created. @@ -58,9 +58,15 @@ async def run_sample(): print("\n.. Update a Secret by name") expires = bank_secret.properties.expires + datetime.timedelta(days=365) updated_secret_properties = await client.update_secret_properties(secret.name, expires=expires) - print("Secret with name '{0}' was updated on date '{1}'".format(updated_secret_properties.name, updated_secret_properties.updated)) print( - "Secret with name '{0}' was updated to expire on '{1}'".format(updated_secret_properties.name, updated_secret_properties.expires) + "Secret with name '{0}' was updated on date '{1}'".format( + updated_secret_properties.name, updated_secret_properties.updated + ) + ) + print( + "Secret with name '{0}' was updated to expire on '{1}'".format( + updated_secret_properties.name, updated_secret_properties.expires + ) ) # Bank forced a password update for security purposes. Let's change the value of the secret in the key vault. diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/list_operations.py b/sdk/keyvault/azure-keyvault-secrets/samples/list_operations.py index e8fbbe91ffd5..b3d19cde3a13 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/list_operations.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/list_operations.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-secrets and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ def run_sample(): # Instantiate a secret client that will be used to call the service. Notice that the client is using default Azure # credentials. To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = SecretClient(vault_url=VAULT_URL, credential=credential) + client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create secrets holding storage and bank accounts credentials. If the secret # already exists in the Key Vault, then a new version of the secret is created. @@ -72,7 +72,11 @@ def run_sample(): print("\n.. List versions of the secret using its name") secret_versions = client.list_secret_versions(bank_secret.name) for secret_version in secret_versions: - print("Bank Secret with name '{0}' has version: '{1}'.".format(secret_version.name, secret_version.properties.version)) + print( + "Bank Secret with name '{0}' has version: '{1}'.".format( + secret_version.name, secret_version.properties.version + ) + ) # The bank account and storage accounts got closed. Let's delete bank and storage accounts secrets. client.delete_secret(bank_secret.name) diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/list_operations_async.py b/sdk/keyvault/azure-keyvault-secrets/samples/list_operations_async.py index 1661ab8352b3..8536df4d003d 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/list_operations_async.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/list_operations_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-secrets and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -37,9 +37,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = SecretClient(vault_url=VAULT_URL, credential=credential) + client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create secrets holding storage and bank accounts credentials. If the secret # already exists in the Key Vault, then a new version of the secret is created. diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations.py b/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations.py index 86ba22deeba6..acb97f16d232 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-secrets and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. -VAULT_URL = os.environ["VAULT_URL"] +VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() -client = SecretClient(vault_url=VAULT_URL, credential=credential) +client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create secrets holding storage and bank accounts credentials. If the secret # already exists in the Key Vault, then a new version of the secret is created. diff --git a/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations_async.py b/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations_async.py index f1724e598c7e..fc57caa6b147 100644 --- a/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations_async.py +++ b/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations_async.py @@ -14,7 +14,7 @@ # # 2. azure-keyvault-secrets and azure-identity libraries (pip install these) # -# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_URL +# 3. Set Environment variables AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, VAULT_ENDPOINT # (See https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys#authenticate-the-client) # # ---------------------------------------------------------------------------------------------------------- @@ -35,9 +35,9 @@ async def run_sample(): # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. - VAULT_URL = os.environ["VAULT_URL"] + VAULT_ENDPOINT = os.environ["VAULT_ENDPOINT"] credential = DefaultAzureCredential() - client = SecretClient(vault_url=VAULT_URL, credential=credential) + client = SecretClient(vault_endpoint=VAULT_ENDPOINT, credential=credential) try: # Let's create secrets holding storage and bank accounts credentials. If the secret # already exists in the Key Vault, then a new version of the secret is created. diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_async_preparer.py b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_async_preparer.py index da13fcdc54c8..bc6f831c1d6f 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_async_preparer.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_async_preparer.py @@ -19,6 +19,7 @@ class AiohttpTestTransport(AioHttpTransport): """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 """ + async def send(self, request, **config): response = await super(AiohttpTestTransport, self).send(request, **config) if not isinstance(response.headers, CIMultiDictProxy): diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_preparer.py b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_preparer.py index 2c19732edbaf..830c8d494b6e 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_preparer.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_preparer.py @@ -40,7 +40,7 @@ storage=[perm.value for perm in StoragePermissions], ) DEFAULT_SKU = SkuName.premium.value -CLIENT_OID = '00000000-0000-0000-0000-000000000000' +CLIENT_OID = "00000000-0000-0000-0000-000000000000" class VaultClientPreparer(AzureMgmtPreparer): @@ -91,7 +91,7 @@ def _get_resource_group(self, **kwargs): raise AzureTestError(template.format(ResourceGroupPreparer.__name__)) def create_resource(self, name, **kwargs): - self.client_oid = self.test_class_instance.set_value_to_scrub('CLIENT_OID', CLIENT_OID) + self.client_oid = self.test_class_instance.set_value_to_scrub("CLIENT_OID", CLIENT_OID) if self.is_live: # create a vault with the management client group = self._get_resource_group(**kwargs).name diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client.py b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client.py index 726218572446..b7d5b48c4e22 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client.py @@ -19,12 +19,12 @@ class VaultClient(KeyVaultClientBase): - def __init__(self, vault_url, credential, transport=None, api_version=None, **kwargs): + def __init__(self, vault_endpoint, credential, transport=None, api_version=None, **kwargs): # type: (str, TokenCredential, Optional[HttpTransport], Optional[str], **Any) -> None super(VaultClient, self).__init__( - vault_url, credential, transport=transport, api_version=api_version, **kwargs + vault_endpoint, credential, transport=transport, api_version=api_version, **kwargs ) - self._secrets = SecretClient(self.vault_url, credential, generated_client=self._client, **kwargs) + self._secrets = SecretClient(self.vault_endpoint, credential, generated_client=self._client, **kwargs) @property def secrets(self): diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client_async.py b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client_async.py index a374f9a3782c..2ae1c31a6a2f 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client_async.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/secrets_vault_client_async.py @@ -25,16 +25,16 @@ class VaultClient(AsyncKeyVaultClientBase): def __init__( self, - vault_url: str, + vault_endpoint: str, credential: "TokenCredential", transport: HttpTransport = None, api_version: str = None, **kwargs: Any ) -> None: super(VaultClient, self).__init__( - vault_url, credential, transport=transport, api_version=api_version, **kwargs + vault_endpoint, credential, transport=transport, api_version=api_version, **kwargs ) - self._secrets = SecretClient(self.vault_url, credential, generated_client=self._client, **kwargs) + self._secrets = SecretClient(self.vault_endpoint, credential, generated_client=self._client, **kwargs) @property def secrets(self): diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets.py b/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets.py index f4d92a6eea47..ff3bdabdabc8 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets.py @@ -16,7 +16,7 @@ def print(*args): def test_create_secret_client(): - vault_url = "vault_url" + vault_endpoint = "vault_endpoint" # pylint:disable=unused-variable # [START create_secret_client] @@ -25,7 +25,7 @@ def test_create_secret_client(): # Create a SecretClient using default Azure credentials credentials = DefaultAzureCredential() - secret_client = SecretClient(vault_url, credentials) + secret_client = SecretClient(vault_endpoint, credentials) # [END create_secret_client] @@ -60,7 +60,7 @@ def test_example_secret_crud_operations(self, vault_client, **kwargs): print(secret.id) print(secret.name) print(secret.properties.version) - print(secret.properties.vault_url) + print(secret.properties.vault_endpoint) # [END get_secret] # [START update_secret] @@ -69,7 +69,9 @@ def test_example_secret_crud_operations(self, vault_client, **kwargs): content_type = "text/plain" tags = {"foo": "updated tag"} - updated_secret_properties = secret_client.update_secret_properties("secret-name", content_type=content_type, tags=tags) + updated_secret_properties = secret_client.update_secret_properties( + "secret-name", content_type=content_type, tags=tags + ) print(updated_secret_properties.version) print(updated_secret_properties.updated) diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets_async.py b/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets_async.py index a341608ea5d1..6c11dabba90d 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets_async.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/test_samples_secrets_async.py @@ -14,7 +14,7 @@ def print(*args): def test_create_secret_client(): - vault_url = "vault_url" + vault_endpoint = "vault_endpoint" # pylint:disable=unused-variable # [START create_secret_client] @@ -23,7 +23,7 @@ def test_create_secret_client(): # Create a SecretClient using default Azure credentials credentials = DefaultAzureCredential() - secret_client = SecretClient(vault_url, credentials) + secret_client = SecretClient(vault_endpoint, credentials) # [END create_secret_client] @@ -62,7 +62,7 @@ async def test_example_secret_crud_operations(self, vault_client, **kwargs): print(secret.id) print(secret.name) print(secret.properties.version) - print(secret.properties.vault_url) + print(secret.properties.vault_endpoint) # [END get_secret] # [START update_secret] @@ -70,7 +70,9 @@ async def test_example_secret_crud_operations(self, vault_client, **kwargs): # update attributes of an existing secret content_type = "text/plain" tags = {"foo": "updated tag"} - updated_secret_properties = await secret_client.update_secret_properties("secret-name", content_type=content_type, tags=tags) + updated_secret_properties = await secret_client.update_secret_properties( + "secret-name", content_type=content_type, tags=tags + ) print(updated_secret_properties.version) print(updated_secret_properties.updated) diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_async.py b/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_async.py index 12a1a1abe502..0632f7be411c 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_async.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_async.py @@ -16,7 +16,7 @@ class KeyVaultSecretTest(AsyncKeyVaultTestCase): def _assert_secret_attributes_equal(self, s1, s2): self.assertEqual(s1.name, s2.name) - self.assertEqual(s1.vault_url, s2.vault_url) + self.assertEqual(s1.vault_endpoint, s2.vault_endpoint) self.assertEqual(s1.content_type, s2.content_type) self.assertEqual(s1.enabled, s2.enabled) self.assertEqual(s1.not_before, s2.not_before) @@ -35,7 +35,10 @@ def _validate_secret_bundle(self, secret_attributes, vault, secret_name, secret_ secret_value, "value should be '{}', but is '{}'".format(secret_value, secret_attributes.value), ) - self.assertTrue(secret_attributes.properties.created and secret_attributes.properties.updated, "Missing required date attributes.") + self.assertTrue( + secret_attributes.properties.created and secret_attributes.properties.updated, + "Missing required date attributes.", + ) async def _validate_secret_list(self, secrets, expected): async for secret in secrets: @@ -57,14 +60,14 @@ async def test_secret_crud_operations(self, vault_client, **kwargs): # create secret created = await client.set_secret(secret_name, secret_value) - self._validate_secret_bundle(created, vault_client.vault_url, secret_name, secret_value) + self._validate_secret_bundle(created, vault_client.vault_endpoint, secret_name, secret_value) # set secret with optional arguments not_before = date_parse.parse("2015-02-02T08:00:00.000Z") enabled = True tags = {"foo": "created tag"} created = await client.set_secret(secret_name, secret_value, enabled=enabled, not_before=not_before, tags=tags) - self._validate_secret_bundle(created, vault_client.vault_url, secret_name, secret_value) + self._validate_secret_bundle(created, vault_client.vault_endpoint, secret_name, secret_value) self.assertEqual(enabled, created.properties.enabled) self.assertEqual(not_before, created.properties.not_before) self.assertEqual(tags, created.properties.tags) @@ -85,7 +88,12 @@ async def _update_secret(secret): tags = {"foo": "updated tag"} enabled = not secret.properties.enabled updated_secret = await client.update_secret_properties( - secret.name, secret.properties.version, content_type=content_type, expires=expires, tags=tags, enabled=enabled + secret.name, + secret.properties.version, + content_type=content_type, + expires=expires, + tags=tags, + enabled=enabled, ) self.assertEqual(tags, updated_secret.tags) self.assertEqual(secret.id, updated_secret.id) diff --git a/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_client.py b/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_client.py index 1678298e3840..c84b02f033be 100644 --- a/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_client.py +++ b/sdk/keyvault/azure-keyvault-secrets/tests/test_secrets_client.py @@ -15,7 +15,7 @@ class SecretClientTests(KeyVaultTestCase): def _assert_secret_attributes_equal(self, s1, s2): self.assertEqual(s1.name, s2.name) - self.assertEqual(s1.vault_url, s2.vault_url) + self.assertEqual(s1.vault_endpoint, s2.vault_endpoint) self.assertEqual(s1.content_type, s2.content_type) self.assertEqual(s1.enabled, s2.enabled) self.assertEqual(s1.not_before, s2.not_before) @@ -34,7 +34,10 @@ def _validate_secret_bundle(self, secret_attributes, vault, secret_name, secret_ secret_value, "value should be '{}', but is '{}'".format(secret_value, secret_attributes.value), ) - self.assertTrue(secret_attributes.properties.created and secret_attributes.properties.updated, "Missing required date attributes.") + self.assertTrue( + secret_attributes.properties.created and secret_attributes.properties.updated, + "Missing required date attributes.", + ) def _validate_secret_list(self, secrets, expected): for secret in secrets: @@ -55,7 +58,7 @@ def test_secret_crud_operations(self, vault_client, **kwargs): # create secret created = client.set_secret(secret_name, secret_value) - self._validate_secret_bundle(created, vault_client.vault_url, secret_name, secret_value) + self._validate_secret_bundle(created, vault_client.vault_endpoint, secret_name, secret_value) # set secret with optional arguments expires = date_parse.parse("2050-02-02T08:00:00.000Z") @@ -72,7 +75,7 @@ def test_secret_crud_operations(self, vault_client, **kwargs): expires=expires, tags=tags, ) - self._validate_secret_bundle(created, vault_client.vault_url, secret_name, secret_value) + self._validate_secret_bundle(created, vault_client.vault_endpoint, secret_name, secret_value) self.assertEqual(content_type, created.properties.content_type) self.assertEqual(enabled, created.properties.enabled) self.assertEqual(not_before, created.properties.not_before) @@ -80,7 +83,9 @@ def test_secret_crud_operations(self, vault_client, **kwargs): self.assertEqual(tags, created.properties.tags) self._assert_secret_attributes_equal(created.properties, client.get_secret(created.name).properties) - self._assert_secret_attributes_equal(created.properties, client.get_secret(created.name, created.properties.version).properties) + self._assert_secret_attributes_equal( + created.properties, client.get_secret(created.name, created.properties.version).properties + ) def _update_secret(secret): content_type = "text/plain" @@ -88,7 +93,12 @@ def _update_secret(secret): tags = {"foo": "updated tag"} enabled = not secret.properties.enabled updated_secret = client.update_secret_properties( - secret.name, secret.properties.version, content_type=content_type, expires=expires, tags=tags, enabled=enabled + secret.name, + secret.properties.version, + content_type=content_type, + expires=expires, + tags=tags, + enabled=enabled, ) self.assertEqual(tags, updated_secret.tags) self.assertEqual(secret.id, updated_secret.id)