diff --git a/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md b/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md index 2d0afd2561e4..0e9e2da2af3e 100644 --- a/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md +++ b/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md @@ -3,6 +3,7 @@ ## 4.9.0b4 (Unreleased) ### Features Added +- Added support for service API version `7.5` ### Breaking Changes @@ -12,6 +13,8 @@ - Python 3.7 is no longer supported. Please use Python version 3.8 or later. - `asyncio` is no longer directly referenced by the library ([#33819](https://github.com/Azure/azure-sdk-for-python/pull/33819)) +- Updated minimum `azure-core` version to 1.29.5 +- Dropped `azure-common` requirement ## 4.9.0b3 (2023-11-03) diff --git a/sdk/keyvault/azure-keyvault-keys/assets.json b/sdk/keyvault/azure-keyvault-keys/assets.json index 5b4f237e84dd..7268cf50012e 100644 --- a/sdk/keyvault/azure-keyvault-keys/assets.json +++ b/sdk/keyvault/azure-keyvault-keys/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "python", "TagPrefix": "python/keyvault/azure-keyvault-keys", - "Tag": "python/keyvault/azure-keyvault-keys_cac2051a50" + "Tag": "python/keyvault/azure-keyvault-keys_d3b8eaba1a" } diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/__init__.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/__init__.py index 1414715b988c..1e535724e551 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/__init__.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._key_vault_client import KeyVaultClient +from ._client import KeyVaultClient try: from ._patch import __all__ as _patch_all diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_key_vault_client.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_client.py similarity index 62% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_key_vault_client.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_client.py index 9d423f1627ad..28ee625036e6 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_key_vault_client.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_client.py @@ -10,40 +10,59 @@ from typing import Any from azure.core import PipelineClient +from azure.core.pipeline import policies from azure.core.rest import HttpRequest, HttpResponse from . import models as _models from ._configuration import KeyVaultClientConfiguration +from ._operations import KeyVaultClientOperationsMixin from ._serialization import Deserializer, Serializer -from .operations import KeyVaultClientOperationsMixin class KeyVaultClient(KeyVaultClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """The key vault client performs cryptographic key operations and vault operations against the Key Vault service. - :keyword api_version: Api Version. Default value is "7.5-preview.1". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "7.5". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, **kwargs: Any) -> None: # pylint: disable=missing-client-constructor-parameter-credential _endpoint = "{vaultBaseUrl}" self._config = KeyVaultClientConfiguration(**kwargs) - self._client: PipelineClient = PipelineClient(base_url=_endpoint, config=self._config, **kwargs) - - client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} + _policies = kwargs.pop("policies", None) + if _policies is None: + _policies = [ + policies.RequestIdPolicy(**kwargs), + self._config.headers_policy, + self._config.user_agent_policy, + self._config.proxy_policy, + policies.ContentDecodePolicy(**kwargs), + self._config.redirect_policy, + self._config.retry_policy, + self._config.authentication_policy, + self._config.custom_hook_policy, + self._config.logging_policy, + policies.DistributedTracingPolicy(**kwargs), + policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, + self._config.http_logging_policy, + ] + self._client: PipelineClient = PipelineClient(base_url=_endpoint, policies=_policies, **kwargs) + + client_models = {k: v for k, v in _models._models.__dict__.items() if isinstance(v, type)} + client_models.update({k: v for k, v in _models.__dict__.items() if isinstance(v, type)}) self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: + def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = client._send_request(request) + >>> response = client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request @@ -57,7 +76,7 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: request_copy = deepcopy(request) request_copy.url = self._client.format_url(request_copy.url) - return self._client.send_request(request_copy, **kwargs) + return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore def close(self) -> None: self._client.close() diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_configuration.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_configuration.py index 5b9bfa5f7717..c7b4428506e3 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_configuration.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_configuration.py @@ -8,29 +8,28 @@ from typing import Any -from azure.core.configuration import Configuration from azure.core.pipeline import policies VERSION = "unknown" -class KeyVaultClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes +class KeyVaultClientConfiguration: # pylint: disable=too-many-instance-attributes """Configuration for KeyVaultClient. Note that all parameters used to create this instance are saved as instance attributes. - :keyword api_version: Api Version. Default value is "7.5-preview.1". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "7.5". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, **kwargs: Any) -> None: - super(KeyVaultClientConfiguration, self).__init__(**kwargs) - api_version: str = kwargs.pop("api_version", "7.5-preview.1") + api_version: str = kwargs.pop("api_version", "7.5") self.api_version = api_version kwargs.setdefault("sdk_moniker", "keyvault/{}".format(VERSION)) + self.polling_interval = kwargs.get("polling_interval", 30) self._configure(**kwargs) def _configure(self, **kwargs: Any) -> None: @@ -39,7 +38,7 @@ def _configure(self, **kwargs: Any) -> None: self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) self.authentication_policy = kwargs.get("authentication_policy") diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/__init__.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/__init__.py similarity index 91% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/__init__.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/__init__.py index 15aeb155c95e..29ea96fccbfe 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/__init__.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._key_vault_client_operations import KeyVaultClientOperationsMixin +from ._operations import KeyVaultClientOperationsMixin from ._patch import __all__ as _patch_all from ._patch import * # pylint: disable=unused-wildcard-import diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/_key_vault_client_operations.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/_operations.py similarity index 76% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/_key_vault_client_operations.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/_operations.py index 58fa98f0b0ac..10fa45cfd798 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/_key_vault_client_operations.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=too-many-lines,too-many-statements # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -20,14 +20,13 @@ ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpResponse -from azure.core.rest import HttpRequest +from azure.core.rest import HttpRequest, HttpResponse from azure.core.tracing.decorator import distributed_trace from azure.core.utils import case_insensitive_dict from .. import models as _models from .._serialization import Serializer -from .._vendor import KeyVaultClientMixinABC, _convert_request +from .._vendor import KeyVaultClientMixinABC T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -36,16 +35,16 @@ _SERIALIZER.client_side_validation = False -def build_create_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_create_key_request(key_name: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/create") + _url = "/keys/{key-name}/create" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str", pattern=r"^[0-9a-zA-Z-]+$"), } @@ -63,15 +62,15 @@ def build_create_key_request(key_name: str, **kwargs: Any) -> HttpRequest: return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_rotate_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_rotate_key_request(key_name: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/rotate") + _url = "/keys/{key-name}/rotate" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str", pattern=r"^[0-9a-zA-Z-]+$"), } @@ -87,16 +86,16 @@ def build_rotate_key_request(key_name: str, **kwargs: Any) -> HttpRequest: return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_import_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_import_key_request(key_name: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}") + _url = "/keys/{key-name}" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str", pattern=r"^[0-9a-zA-Z-]+$"), } @@ -114,15 +113,15 @@ def build_import_key_request(key_name: str, **kwargs: Any) -> HttpRequest: return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_delete_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_delete_key_request(key_name: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}") + _url = "/keys/{key-name}" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -138,16 +137,16 @@ def build_delete_key_request(key_name: str, **kwargs: Any) -> HttpRequest: return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) -def build_update_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_update_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}") + _url = "/keys/{key-name}/{key-version}" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -166,15 +165,15 @@ def build_update_key_request(key_name: str, key_version: str, **kwargs: Any) -> return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) -def build_get_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_get_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}") + _url = "/keys/{key-name}/{key-version}" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -191,15 +190,17 @@ def build_get_key_request(key_name: str, key_version: str, **kwargs: Any) -> Htt return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_get_key_versions_request(key_name: str, *, maxresults: Optional[int] = None, **kwargs: Any) -> HttpRequest: +def build_key_vault_get_key_versions_request( + key_name: str, *, maxresults: Optional[int] = None, **kwargs: Any +) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/versions") + _url = "/keys/{key-name}/versions" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -217,15 +218,15 @@ def build_get_key_versions_request(key_name: str, *, maxresults: Optional[int] = return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_get_keys_request(*, maxresults: Optional[int] = None, **kwargs: Any) -> HttpRequest: +def build_key_vault_get_keys_request(*, maxresults: Optional[int] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys") + _url = "/keys" # Construct parameters if maxresults is not None: @@ -238,15 +239,15 @@ def build_get_keys_request(*, maxresults: Optional[int] = None, **kwargs: Any) - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_backup_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_backup_key_request(key_name: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/backup") + _url = "/keys/{key-name}/backup" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -262,16 +263,16 @@ def build_backup_key_request(key_name: str, **kwargs: Any) -> HttpRequest: return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_restore_key_request(**kwargs: Any) -> HttpRequest: +def build_key_vault_restore_key_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/restore") + _url = "/keys/restore" # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -284,16 +285,16 @@ def build_restore_key_request(**kwargs: Any) -> HttpRequest: return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_encrypt_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_encrypt_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}/encrypt") + _url = "/keys/{key-name}/{key-version}/encrypt" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -312,16 +313,16 @@ def build_encrypt_request(key_name: str, key_version: str, **kwargs: Any) -> Htt return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_decrypt_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_decrypt_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}/decrypt") + _url = "/keys/{key-name}/{key-version}/decrypt" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -340,16 +341,16 @@ def build_decrypt_request(key_name: str, key_version: str, **kwargs: Any) -> Htt return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_sign_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_sign_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}/sign") + _url = "/keys/{key-name}/{key-version}/sign" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -368,16 +369,16 @@ def build_sign_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRe return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_verify_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_verify_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}/verify") + _url = "/keys/{key-name}/{key-version}/verify" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -396,16 +397,16 @@ def build_verify_request(key_name: str, key_version: str, **kwargs: Any) -> Http return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_wrap_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_wrap_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}/wrapkey") + _url = "/keys/{key-name}/{key-version}/wrapkey" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -424,16 +425,16 @@ def build_wrap_key_request(key_name: str, key_version: str, **kwargs: Any) -> Ht return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_unwrap_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_unwrap_key_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}/unwrapkey") + _url = "/keys/{key-name}/{key-version}/unwrapkey" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -452,16 +453,16 @@ def build_unwrap_key_request(key_name: str, key_version: str, **kwargs: Any) -> return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_release_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_release_request(key_name: str, key_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/{key-version}/release") + _url = "/keys/{key-name}/{key-version}/release" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), "key-version": _SERIALIZER.url("key_version", key_version, "str"), @@ -480,15 +481,15 @@ def build_release_request(key_name: str, key_version: str, **kwargs: Any) -> Htt return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_get_deleted_keys_request(*, maxresults: Optional[int] = None, **kwargs: Any) -> HttpRequest: +def build_key_vault_get_deleted_keys_request(*, maxresults: Optional[int] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/deletedkeys") + _url = "/deletedkeys" # Construct parameters if maxresults is not None: @@ -501,15 +502,15 @@ def build_get_deleted_keys_request(*, maxresults: Optional[int] = None, **kwargs return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_get_deleted_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_get_deleted_key_request(key_name: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/deletedkeys/{key-name}") + _url = "/deletedkeys/{key-name}" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -525,15 +526,17 @@ def build_get_deleted_key_request(key_name: str, **kwargs: Any) -> HttpRequest: return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_purge_deleted_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_purge_deleted_key_request( # pylint: disable=name-too-long + key_name: str, **kwargs: Any +) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/deletedkeys/{key-name}") + _url = "/deletedkeys/{key-name}" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -549,15 +552,17 @@ def build_purge_deleted_key_request(key_name: str, **kwargs: Any) -> HttpRequest return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) -def build_recover_deleted_key_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_recover_deleted_key_request( # pylint: disable=name-too-long + key_name: str, **kwargs: Any +) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/deletedkeys/{key-name}/recover") + _url = "/deletedkeys/{key-name}/recover" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -573,15 +578,17 @@ def build_recover_deleted_key_request(key_name: str, **kwargs: Any) -> HttpReque return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_get_key_rotation_policy_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_get_key_rotation_policy_request( # pylint: disable=name-too-long + key_name: str, **kwargs: Any +) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/rotationpolicy") + _url = "/keys/{key-name}/rotationpolicy" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -597,16 +604,18 @@ def build_get_key_rotation_policy_request(key_name: str, **kwargs: Any) -> HttpR return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_update_key_rotation_policy_request(key_name: str, **kwargs: Any) -> HttpRequest: +def build_key_vault_update_key_rotation_policy_request( # pylint: disable=name-too-long + key_name: str, **kwargs: Any +) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/keys/{key-name}/rotationpolicy") + _url = "/keys/{key-name}/rotationpolicy" path_format_arguments = { "key-name": _SERIALIZER.url("key_name", key_name, "str"), } @@ -624,16 +633,16 @@ def build_update_key_rotation_policy_request(key_name: str, **kwargs: Any) -> Ht return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_get_random_bytes_request(**kwargs: Any) -> HttpRequest: +def build_key_vault_get_random_bytes_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5-preview.1")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "7.5")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/rng") + _url = "/rng" # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -671,13 +680,12 @@ def create_key( Required. :type key_name: str :param parameters: The parameters to create a key. Required. - :type parameters: ~key_vault_client.models.KeyCreateParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyCreateParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -686,7 +694,7 @@ def create_key( self, vault_base_url: str, key_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -705,19 +713,22 @@ def create_key( Required. :type key_name: str :param parameters: The parameters to create a key. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace def create_key( - self, vault_base_url: str, key_name: str, parameters: Union[_models.KeyCreateParameters, IO], **kwargs: Any + self, + vault_base_url: str, + key_name: str, + parameters: Union[_models.KeyCreateParameters, IO[bytes]], + **kwargs: Any ) -> _models.KeyBundle: """Creates a new key, stores it, then returns key parameters and attributes to the client. @@ -732,15 +743,14 @@ def create_key( The value provided should not include personally identifiable or sensitive information. Required. :type key_name: str - :param parameters: The parameters to create a key. Is either a KeyCreateParameters type or a IO - type. Required. - :type parameters: ~key_vault_client.models.KeyCreateParameters or IO + :param parameters: The parameters to create a key. Is either a KeyCreateParameters type or a + IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyCreateParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -752,9 +762,8 @@ def create_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -766,30 +775,30 @@ def create_key( else: _json = self._serialize.body(parameters, "KeyCreateParameters") - request = build_create_key_request( + _request = build_key_vault_create_key_request( key_name=key_name, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.create_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -797,11 +806,9 @@ def create_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - create_key.metadata = {"url": "/keys/{key-name}/create"} + return deserialized # type: ignore @distributed_trace def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.KeyBundle: @@ -816,9 +823,8 @@ def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode :param key_name: The name of key to be rotated. The system will generate a new version in the specified key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -830,32 +836,31 @@ def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) - request = build_rotate_key_request( + _request = build_key_vault_rotate_key_request( key_name=key_name, - api_version=api_version, - template_url=self.rotate_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -863,11 +868,9 @@ def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - rotate_key.metadata = {"url": "/keys/{key-name}/rotate"} + return deserialized # type: ignore @overload def import_key( @@ -893,13 +896,12 @@ def import_key( identifiable or sensitive information. Required. :type key_name: str :param parameters: The parameters to import a key. Required. - :type parameters: ~key_vault_client.models.KeyImportParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyImportParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -908,7 +910,7 @@ def import_key( self, vault_base_url: str, key_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -927,19 +929,22 @@ def import_key( identifiable or sensitive information. Required. :type key_name: str :param parameters: The parameters to import a key. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace def import_key( - self, vault_base_url: str, key_name: str, parameters: Union[_models.KeyImportParameters, IO], **kwargs: Any + self, + vault_base_url: str, + key_name: str, + parameters: Union[_models.KeyImportParameters, IO[bytes]], + **kwargs: Any ) -> _models.KeyBundle: """Imports an externally created key, stores it, and returns key parameters and attributes to the client. @@ -954,15 +959,14 @@ def import_key( the purpose of running the service. The value provided should not include personally identifiable or sensitive information. Required. :type key_name: str - :param parameters: The parameters to import a key. Is either a KeyImportParameters type or a IO - type. Required. - :type parameters: ~key_vault_client.models.KeyImportParameters or IO + :param parameters: The parameters to import a key. Is either a KeyImportParameters type or a + IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyImportParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -974,9 +978,8 @@ def import_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -988,30 +991,30 @@ def import_key( else: _json = self._serialize.body(parameters, "KeyImportParameters") - request = build_import_key_request( + _request = build_key_vault_import_key_request( key_name=key_name, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.import_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1019,11 +1022,9 @@ def import_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - import_key.metadata = {"url": "/keys/{key-name}"} + return deserialized # type: ignore @distributed_trace def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.DeletedKeyBundle: @@ -1038,9 +1039,8 @@ def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode :type vault_base_url: str :param key_name: The name of the key to delete. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DeletedKeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.DeletedKeyBundle + :return: DeletedKeyBundle + :rtype: ~azure.keyvault.v7_5.models.DeletedKeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1052,32 +1052,31 @@ def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DeletedKeyBundle] = kwargs.pop("cls", None) - request = build_delete_key_request( + _request = build_key_vault_delete_key_request( key_name=key_name, - api_version=api_version, - template_url=self.delete_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1085,11 +1084,9 @@ def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode deserialized = self._deserialize("DeletedKeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - delete_key.metadata = {"url": "/keys/{key-name}"} + return deserialized # type: ignore @overload def update_key( @@ -1116,13 +1113,12 @@ def update_key( :param key_version: The version of the key to update. Required. :type key_version: str :param parameters: The parameters of the key to update. Required. - :type parameters: ~key_vault_client.models.KeyUpdateParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyUpdateParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1132,7 +1128,7 @@ def update_key( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1151,13 +1147,12 @@ def update_key( :param key_version: The version of the key to update. Required. :type key_version: str :param parameters: The parameters of the key to update. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1167,7 +1162,7 @@ def update_key( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyUpdateParameters, IO], + parameters: Union[_models.KeyUpdateParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyBundle: """The update key operation changes specified attributes of a stored key and can be applied to any @@ -1184,14 +1179,13 @@ def update_key( :param key_version: The version of the key to update. Required. :type key_version: str :param parameters: The parameters of the key to update. Is either a KeyUpdateParameters type or - a IO type. Required. - :type parameters: ~key_vault_client.models.KeyUpdateParameters or IO + a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyUpdateParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1203,9 +1197,8 @@ def update_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -1217,31 +1210,31 @@ def update_key( else: _json = self._serialize.body(parameters, "KeyUpdateParameters") - request = build_update_key_request( + _request = build_key_vault_update_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.update_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1249,11 +1242,9 @@ def update_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - update_key.metadata = {"url": "/keys/{key-name}/{key-version}"} + return deserialized # type: ignore @distributed_trace def get_key(self, vault_base_url: str, key_name: str, key_version: str, **kwargs: Any) -> _models.KeyBundle: @@ -1270,9 +1261,8 @@ def get_key(self, vault_base_url: str, key_name: str, key_version: str, **kwargs URI fragment is optional. If not specified, the latest version of the key is returned. Required. :type key_version: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1284,33 +1274,32 @@ def get_key(self, vault_base_url: str, key_name: str, key_version: str, **kwargs error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) - request = build_get_key_request( + _request = build_key_vault_get_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, - template_url=self.get_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1318,15 +1307,13 @@ def get_key(self, vault_base_url: str, key_name: str, key_version: str, **kwargs deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - get_key.metadata = {"url": "/keys/{key-name}/{key-version}"} + return deserialized # type: ignore @distributed_trace def get_key_versions( - self, vault_base_url: str, key_name: str, maxresults: Optional[int] = None, **kwargs: Any + self, vault_base_url: str, key_name: str, *, maxresults: Optional[int] = None, **kwargs: Any ) -> Iterable["_models.KeyItem"]: """Retrieves a list of individual key versions with the same key name. @@ -1337,19 +1324,17 @@ def get_key_versions( :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :param maxresults: Maximum number of results to return in a page. If not specified the service - will return up to 25 results. Default value is None. - :type maxresults: int - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either KeyItem or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~key_vault_client.models.KeyItem] + :keyword maxresults: Maximum number of results to return in a page. If not specified the + service will return up to 25 results. Default value is None. + :paramtype maxresults: int + :return: An iterator like instance of KeyItem + :rtype: ~azure.core.paging.ItemPaged[~azure.keyvault.v7_5.models.KeyItem] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.KeyListResult] = kwargs.pop("cls", None) + cls: ClsType[_models._models.KeyListResult] = kwargs.pop("cls", None) # pylint: disable=protected-access error_map = { 401: ClientAuthenticationError, @@ -1362,19 +1347,17 @@ def get_key_versions( def prepare_request(next_link=None): if not next_link: - request = build_get_key_versions_request( + _request = build_key_vault_get_key_versions_request( key_name=key_name, maxresults=maxresults, - api_version=api_version, - template_url=self.get_key_versions.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -1386,34 +1369,37 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request def extract_data(pipeline_response): - deserialized = self._deserialize("KeyListResult", pipeline_response) + deserialized = self._deserialize( + _models._models.KeyListResult, pipeline_response # pylint: disable=protected-access + ) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _request = prepare_request(next_link) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1422,11 +1408,9 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - get_key_versions.metadata = {"url": "/keys/{key-name}/versions"} - @distributed_trace def get_keys( - self, vault_base_url: str, maxresults: Optional[int] = None, **kwargs: Any + self, vault_base_url: str, *, maxresults: Optional[int] = None, **kwargs: Any ) -> Iterable["_models.KeyItem"]: """List keys in the specified vault. @@ -1437,19 +1421,17 @@ def get_keys( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str - :param maxresults: Maximum number of results to return in a page. If not specified the service - will return up to 25 results. Default value is None. - :type maxresults: int - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either KeyItem or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~key_vault_client.models.KeyItem] + :keyword maxresults: Maximum number of results to return in a page. If not specified the + service will return up to 25 results. Default value is None. + :paramtype maxresults: int + :return: An iterator like instance of KeyItem + :rtype: ~azure.core.paging.ItemPaged[~azure.keyvault.v7_5.models.KeyItem] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.KeyListResult] = kwargs.pop("cls", None) + cls: ClsType[_models._models.KeyListResult] = kwargs.pop("cls", None) # pylint: disable=protected-access error_map = { 401: ClientAuthenticationError, @@ -1462,18 +1444,16 @@ def get_keys( def prepare_request(next_link=None): if not next_link: - request = build_get_keys_request( + _request = build_key_vault_get_keys_request( maxresults=maxresults, - api_version=api_version, - template_url=self.get_keys.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -1485,34 +1465,37 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request def extract_data(pipeline_response): - deserialized = self._deserialize("KeyListResult", pipeline_response) + deserialized = self._deserialize( + _models._models.KeyListResult, pipeline_response # pylint: disable=protected-access + ) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _request = prepare_request(next_link) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1521,8 +1504,6 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - get_keys.metadata = {"url": "/keys"} - @distributed_trace def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.BackupKeyResult: """Requests that a backup of the specified key be downloaded to the client. @@ -1543,9 +1524,8 @@ def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: BackupKeyResult or the result of cls(response) - :rtype: ~key_vault_client.models.BackupKeyResult + :return: BackupKeyResult + :rtype: ~azure.keyvault.v7_5.models.BackupKeyResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1557,32 +1537,31 @@ def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.BackupKeyResult] = kwargs.pop("cls", None) - request = build_backup_key_request( + _request = build_key_vault_backup_key_request( key_name=key_name, - api_version=api_version, - template_url=self.backup_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1590,11 +1569,9 @@ def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _mode deserialized = self._deserialize("BackupKeyResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - backup_key.metadata = {"url": "/keys/{key-name}/backup"} + return deserialized # type: ignore @overload def restore_key( @@ -1621,19 +1598,18 @@ def restore_key( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The parameters to restore the key. Required. - :type parameters: ~key_vault_client.models.KeyRestoreParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyRestoreParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @overload def restore_key( - self, vault_base_url: str, parameters: IO, *, content_type: str = "application/json", **kwargs: Any + self, vault_base_url: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> _models.KeyBundle: """Restores a backed up key to a vault. @@ -1651,19 +1627,18 @@ def restore_key( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The parameters to restore the key. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace def restore_key( - self, vault_base_url: str, parameters: Union[_models.KeyRestoreParameters, IO], **kwargs: Any + self, vault_base_url: str, parameters: Union[_models.KeyRestoreParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyBundle: """Restores a backed up key to a vault. @@ -1681,14 +1656,13 @@ def restore_key( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The parameters to restore the key. Is either a KeyRestoreParameters type or - a IO type. Required. - :type parameters: ~key_vault_client.models.KeyRestoreParameters or IO + a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyRestoreParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1700,9 +1674,8 @@ def restore_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -1714,29 +1687,29 @@ def restore_key( else: _json = self._serialize.body(parameters, "KeyRestoreParameters") - request = build_restore_key_request( - api_version=api_version, + _request = build_key_vault_restore_key_request( content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.restore_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1744,11 +1717,9 @@ def restore_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - restore_key.metadata = {"url": "/keys/restore"} + return deserialized # type: ignore @overload def encrypt( @@ -1779,13 +1750,12 @@ def encrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the encryption operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1795,7 +1765,7 @@ def encrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1818,13 +1788,12 @@ def encrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the encryption operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1834,7 +1803,7 @@ def encrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault. @@ -1855,14 +1824,13 @@ def encrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the encryption operation. Is either a - KeyOperationsParameters type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + KeyOperationsParameters type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1874,9 +1842,8 @@ def encrypt( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -1888,31 +1855,31 @@ def encrypt( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_encrypt_request( + _request = build_key_vault_encrypt_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.encrypt.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1920,11 +1887,9 @@ def encrypt( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - encrypt.metadata = {"url": "/keys/{key-name}/{key-version}/encrypt"} + return deserialized # type: ignore @overload def decrypt( @@ -1956,13 +1921,12 @@ def decrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the decryption operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1972,7 +1936,7 @@ def decrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1996,13 +1960,12 @@ def decrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the decryption operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2012,7 +1975,7 @@ def decrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Decrypts a single block of encrypted data. @@ -2034,14 +1997,13 @@ def decrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the decryption operation. Is either a - KeyOperationsParameters type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + KeyOperationsParameters type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2053,9 +2015,8 @@ def decrypt( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -2067,31 +2028,31 @@ def decrypt( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_decrypt_request( + _request = build_key_vault_decrypt_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.decrypt.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2099,11 +2060,9 @@ def decrypt( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - decrypt.metadata = {"url": "/keys/{key-name}/{key-version}/decrypt"} + return deserialized # type: ignore @overload def sign( @@ -2129,13 +2088,12 @@ def sign( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the signing operation. Required. - :type parameters: ~key_vault_client.models.KeySignParameters + :type parameters: ~azure.keyvault.v7_5.models.KeySignParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2145,7 +2103,7 @@ def sign( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2163,13 +2121,12 @@ def sign( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the signing operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2179,7 +2136,7 @@ def sign( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeySignParameters, IO], + parameters: Union[_models.KeySignParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Creates a signature from a digest using the specified key. @@ -2195,14 +2152,13 @@ def sign( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the signing operation. Is either a KeySignParameters type - or a IO type. Required. - :type parameters: ~key_vault_client.models.KeySignParameters or IO + or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeySignParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2214,9 +2170,8 @@ def sign( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -2228,31 +2183,31 @@ def sign( else: _json = self._serialize.body(parameters, "KeySignParameters") - request = build_sign_request( + _request = build_key_vault_sign_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.sign.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2260,11 +2215,9 @@ def sign( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - sign.metadata = {"url": "/keys/{key-name}/{key-version}/sign"} + return deserialized # type: ignore @overload def verify( @@ -2292,13 +2245,12 @@ def verify( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for verify operations. Required. - :type parameters: ~key_vault_client.models.KeyVerifyParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyVerifyParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyVerifyResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyVerifyResult + :return: KeyVerifyResult + :rtype: ~azure.keyvault.v7_5.models.KeyVerifyResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2308,7 +2260,7 @@ def verify( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2328,13 +2280,12 @@ def verify( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for verify operations. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyVerifyResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyVerifyResult + :return: KeyVerifyResult + :rtype: ~azure.keyvault.v7_5.models.KeyVerifyResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2344,7 +2295,7 @@ def verify( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyVerifyParameters, IO], + parameters: Union[_models.KeyVerifyParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyVerifyResult: """Verifies a signature using a specified key. @@ -2362,14 +2313,13 @@ def verify( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for verify operations. Is either a KeyVerifyParameters type - or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyVerifyParameters or IO + or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyVerifyParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyVerifyResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyVerifyResult + :return: KeyVerifyResult + :rtype: ~azure.keyvault.v7_5.models.KeyVerifyResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2381,9 +2331,8 @@ def verify( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyVerifyResult] = kwargs.pop("cls", None) @@ -2395,31 +2344,31 @@ def verify( else: _json = self._serialize.body(parameters, "KeyVerifyParameters") - request = build_verify_request( + _request = build_key_vault_verify_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.verify.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2427,11 +2376,9 @@ def verify( deserialized = self._deserialize("KeyVerifyResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - verify.metadata = {"url": "/keys/{key-name}/{key-version}/verify"} + return deserialized # type: ignore @overload def wrap_key( @@ -2460,13 +2407,12 @@ def wrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for wrap operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2476,7 +2422,7 @@ def wrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2497,13 +2443,12 @@ def wrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for wrap operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2513,7 +2458,7 @@ def wrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Wraps a symmetric key using a specified key. @@ -2532,14 +2477,13 @@ def wrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for wrap operation. Is either a KeyOperationsParameters type - or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2551,9 +2495,8 @@ def wrap_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -2565,31 +2508,31 @@ def wrap_key( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_wrap_key_request( + _request = build_key_vault_wrap_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.wrap_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2597,11 +2540,9 @@ def wrap_key( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - wrap_key.metadata = {"url": "/keys/{key-name}/{key-version}/wrapkey"} + return deserialized # type: ignore @overload def unwrap_key( @@ -2628,13 +2569,12 @@ def unwrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the key operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2644,7 +2584,7 @@ def unwrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2663,13 +2603,12 @@ def unwrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the key operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2679,7 +2618,7 @@ def unwrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Unwraps a symmetric key using the specified key that was initially used for wrapping that key. @@ -2696,14 +2635,13 @@ def unwrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the key operation. Is either a KeyOperationsParameters - type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2715,9 +2653,8 @@ def unwrap_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -2729,31 +2666,31 @@ def unwrap_key( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_unwrap_key_request( + _request = build_key_vault_unwrap_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.unwrap_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2761,11 +2698,9 @@ def unwrap_key( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - unwrap_key.metadata = {"url": "/keys/{key-name}/{key-version}/unwrapkey"} + return deserialized # type: ignore @overload def release( @@ -2791,13 +2726,12 @@ def release( Required. :type key_version: str :param parameters: The parameters for the key release operation. Required. - :type parameters: ~key_vault_client.models.KeyReleaseParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyReleaseParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyReleaseResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyReleaseResult + :return: KeyReleaseResult + :rtype: ~azure.keyvault.v7_5.models.KeyReleaseResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2807,7 +2741,7 @@ def release( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2825,13 +2759,12 @@ def release( Required. :type key_version: str :param parameters: The parameters for the key release operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyReleaseResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyReleaseResult + :return: KeyReleaseResult + :rtype: ~azure.keyvault.v7_5.models.KeyReleaseResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2841,7 +2774,7 @@ def release( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyReleaseParameters, IO], + parameters: Union[_models.KeyReleaseParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyReleaseResult: """Releases a key. @@ -2857,14 +2790,13 @@ def release( Required. :type key_version: str :param parameters: The parameters for the key release operation. Is either a - KeyReleaseParameters type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyReleaseParameters or IO + KeyReleaseParameters type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyReleaseParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyReleaseResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyReleaseResult + :return: KeyReleaseResult + :rtype: ~azure.keyvault.v7_5.models.KeyReleaseResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2876,9 +2808,8 @@ def release( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyReleaseResult] = kwargs.pop("cls", None) @@ -2890,31 +2821,31 @@ def release( else: _json = self._serialize.body(parameters, "KeyReleaseParameters") - request = build_release_request( + _request = build_key_vault_release_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.release.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2922,15 +2853,13 @@ def release( deserialized = self._deserialize("KeyReleaseResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - release.metadata = {"url": "/keys/{key-name}/{key-version}/release"} + return deserialized # type: ignore @distributed_trace def get_deleted_keys( - self, vault_base_url: str, maxresults: Optional[int] = None, **kwargs: Any + self, vault_base_url: str, *, maxresults: Optional[int] = None, **kwargs: Any ) -> Iterable["_models.DeletedKeyItem"]: """Lists the deleted keys in the specified vault. @@ -2942,19 +2871,17 @@ def get_deleted_keys( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str - :param maxresults: Maximum number of results to return in a page. If not specified the service - will return up to 25 results. Default value is None. - :type maxresults: int - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DeletedKeyItem or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~key_vault_client.models.DeletedKeyItem] + :keyword maxresults: Maximum number of results to return in a page. If not specified the + service will return up to 25 results. Default value is None. + :paramtype maxresults: int + :return: An iterator like instance of DeletedKeyItem + :rtype: ~azure.core.paging.ItemPaged[~azure.keyvault.v7_5.models.DeletedKeyItem] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.DeletedKeyListResult] = kwargs.pop("cls", None) + cls: ClsType[_models._models.DeletedKeyListResult] = kwargs.pop("cls", None) # pylint: disable=protected-access error_map = { 401: ClientAuthenticationError, @@ -2967,18 +2894,16 @@ def get_deleted_keys( def prepare_request(next_link=None): if not next_link: - request = build_get_deleted_keys_request( + _request = build_key_vault_get_deleted_keys_request( maxresults=maxresults, - api_version=api_version, - template_url=self.get_deleted_keys.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -2990,34 +2915,37 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request def extract_data(pipeline_response): - deserialized = self._deserialize("DeletedKeyListResult", pipeline_response) + deserialized = self._deserialize( + _models._models.DeletedKeyListResult, pipeline_response # pylint: disable=protected-access + ) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _request = prepare_request(next_link) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3026,8 +2954,6 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - get_deleted_keys.metadata = {"url": "/deletedkeys"} - @distributed_trace def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.DeletedKeyBundle: """Gets the public part of a deleted key. @@ -3040,9 +2966,8 @@ def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DeletedKeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.DeletedKeyBundle + :return: DeletedKeyBundle + :rtype: ~azure.keyvault.v7_5.models.DeletedKeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -3054,32 +2979,31 @@ def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DeletedKeyBundle] = kwargs.pop("cls", None) - request = build_get_deleted_key_request( + _request = build_key_vault_get_deleted_key_request( key_name=key_name, - api_version=api_version, - template_url=self.get_deleted_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3087,11 +3011,9 @@ def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> deserialized = self._deserialize("DeletedKeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - get_deleted_key.metadata = {"url": "/deletedkeys/{key-name}"} + return deserialized # type: ignore @distributed_trace def purge_deleted_key( # pylint: disable=inconsistent-return-statements @@ -3107,8 +3029,7 @@ def purge_deleted_key( # pylint: disable=inconsistent-return-statements :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @@ -3121,40 +3042,37 @@ def purge_deleted_key( # pylint: disable=inconsistent-return-statements error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) - request = build_purge_deleted_key_request( + _request = build_key_vault_purge_deleted_key_request( key_name=key_name, - api_version=api_version, - template_url=self.purge_deleted_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [204]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) if cls: - return cls(pipeline_response, None, {}) - - purge_deleted_key.metadata = {"url": "/deletedkeys/{key-name}"} + return cls(pipeline_response, None, {}) # type: ignore @distributed_trace def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.KeyBundle: @@ -3169,9 +3087,8 @@ def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) :type vault_base_url: str :param key_name: The name of the deleted key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -3183,32 +3100,31 @@ def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) - request = build_recover_deleted_key_request( + _request = build_key_vault_recover_deleted_key_request( key_name=key_name, - api_version=api_version, - template_url=self.recover_deleted_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3216,11 +3132,9 @@ def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - recover_deleted_key.metadata = {"url": "/deletedkeys/{key-name}/recover"} + return deserialized # type: ignore @distributed_trace def get_key_rotation_policy(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.KeyRotationPolicy: @@ -3233,9 +3147,8 @@ def get_key_rotation_policy(self, vault_base_url: str, key_name: str, **kwargs: :type vault_base_url: str :param key_name: The name of the key in a given key vault. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -3247,32 +3160,31 @@ def get_key_rotation_policy(self, vault_base_url: str, key_name: str, **kwargs: error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyRotationPolicy] = kwargs.pop("cls", None) - request = build_get_key_rotation_policy_request( + _request = build_key_vault_get_key_rotation_policy_request( key_name=key_name, - api_version=api_version, - template_url=self.get_key_rotation_policy.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3280,11 +3192,9 @@ def get_key_rotation_policy(self, vault_base_url: str, key_name: str, **kwargs: deserialized = self._deserialize("KeyRotationPolicy", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get_key_rotation_policy.metadata = {"url": "/keys/{key-name}/rotationpolicy"} + return deserialized # type: ignore @overload def update_key_rotation_policy( @@ -3306,13 +3216,12 @@ def update_key_rotation_policy( :param key_name: The name of the key in the given vault. Required. :type key_name: str :param key_rotation_policy: The policy for the key. Required. - :type key_rotation_policy: ~key_vault_client.models.KeyRotationPolicy + :type key_rotation_policy: ~azure.keyvault.v7_5.models.KeyRotationPolicy :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ @@ -3321,7 +3230,7 @@ def update_key_rotation_policy( self, vault_base_url: str, key_name: str, - key_rotation_policy: IO, + key_rotation_policy: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -3336,13 +3245,12 @@ def update_key_rotation_policy( :param key_name: The name of the key in the given vault. Required. :type key_name: str :param key_rotation_policy: The policy for the key. Required. - :type key_rotation_policy: IO + :type key_rotation_policy: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ @@ -3351,7 +3259,7 @@ def update_key_rotation_policy( self, vault_base_url: str, key_name: str, - key_rotation_policy: Union[_models.KeyRotationPolicy, IO], + key_rotation_policy: Union[_models.KeyRotationPolicy, IO[bytes]], **kwargs: Any ) -> _models.KeyRotationPolicy: """Updates the rotation policy for a key. @@ -3363,15 +3271,14 @@ def update_key_rotation_policy( :type vault_base_url: str :param key_name: The name of the key in the given vault. Required. :type key_name: str - :param key_rotation_policy: The policy for the key. Is either a KeyRotationPolicy type or a IO - type. Required. - :type key_rotation_policy: ~key_vault_client.models.KeyRotationPolicy or IO + :param key_rotation_policy: The policy for the key. Is either a KeyRotationPolicy type or a + IO[bytes] type. Required. + :type key_rotation_policy: ~azure.keyvault.v7_5.models.KeyRotationPolicy or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -3383,9 +3290,8 @@ def update_key_rotation_policy( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyRotationPolicy] = kwargs.pop("cls", None) @@ -3397,30 +3303,30 @@ def update_key_rotation_policy( else: _json = self._serialize.body(key_rotation_policy, "KeyRotationPolicy") - request = build_update_key_rotation_policy_request( + _request = build_key_vault_update_key_rotation_policy_request( key_name=key_name, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.update_key_rotation_policy.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3428,11 +3334,9 @@ def update_key_rotation_policy( deserialized = self._deserialize("KeyRotationPolicy", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - update_key_rotation_policy.metadata = {"url": "/keys/{key-name}/rotationpolicy"} + return deserialized # type: ignore @overload def get_random_bytes( @@ -3450,19 +3354,18 @@ def get_random_bytes( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The request object to get random bytes. Required. - :type parameters: ~key_vault_client.models.GetRandomBytesRequest + :type parameters: ~azure.keyvault.v7_5.models.GetRandomBytesRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RandomBytes or the result of cls(response) - :rtype: ~key_vault_client.models.RandomBytes + :return: RandomBytes + :rtype: ~azure.keyvault.v7_5.models.RandomBytes :raises ~azure.core.exceptions.HttpResponseError: """ @overload def get_random_bytes( - self, vault_base_url: str, parameters: IO, *, content_type: str = "application/json", **kwargs: Any + self, vault_base_url: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> _models.RandomBytes: """Get the requested number of bytes containing random values. @@ -3471,19 +3374,18 @@ def get_random_bytes( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The request object to get random bytes. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RandomBytes or the result of cls(response) - :rtype: ~key_vault_client.models.RandomBytes + :return: RandomBytes + :rtype: ~azure.keyvault.v7_5.models.RandomBytes :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace def get_random_bytes( - self, vault_base_url: str, parameters: Union[_models.GetRandomBytesRequest, IO], **kwargs: Any + self, vault_base_url: str, parameters: Union[_models.GetRandomBytesRequest, IO[bytes]], **kwargs: Any ) -> _models.RandomBytes: """Get the requested number of bytes containing random values. @@ -3492,14 +3394,13 @@ def get_random_bytes( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The request object to get random bytes. Is either a GetRandomBytesRequest - type or a IO type. Required. - :type parameters: ~key_vault_client.models.GetRandomBytesRequest or IO + type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.GetRandomBytesRequest or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RandomBytes or the result of cls(response) - :rtype: ~key_vault_client.models.RandomBytes + :return: RandomBytes + :rtype: ~azure.keyvault.v7_5.models.RandomBytes :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -3511,9 +3412,8 @@ def get_random_bytes( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.RandomBytes] = kwargs.pop("cls", None) @@ -3525,29 +3425,29 @@ def get_random_bytes( else: _json = self._serialize.body(parameters, "GetRandomBytesRequest") - request = build_get_random_bytes_request( - api_version=api_version, + _request = build_key_vault_get_random_bytes_request( content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.get_random_bytes.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3555,8 +3455,6 @@ def get_random_bytes( deserialized = self._deserialize("RandomBytes", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get_random_bytes.metadata = {"url": "/rng"} + return deserialized # type: ignore diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/_patch.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/_patch.py similarity index 100% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/_patch.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_operations/_patch.py diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_serialization.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_serialization.py index 9f3e29b11388..baa661cb82d2 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_serialization.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_serialization.py @@ -63,8 +63,8 @@ import isodate # type: ignore -from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback -from azure.core.serialization import NULL as AzureCoreNull +from azure.core.exceptions import DeserializationError, SerializationError +from azure.core.serialization import NULL as CoreNull _BOM = codecs.BOM_UTF8.decode(encoding="utf-8") @@ -124,7 +124,7 @@ def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type: pass return ET.fromstring(data_as_str) # nosec - except ET.ParseError: + except ET.ParseError as err: # It might be because the server has an issue, and returned JSON with # content-type XML.... # So let's try a JSON load, and if it's still broken @@ -143,7 +143,7 @@ def _json_attemp(data): # The function hack is because Py2.7 messes up with exception # context otherwise. _LOGGER.critical("Wasn't XML not JSON, failing") - raise_with_traceback(DeserializationError, "XML is invalid") + raise DeserializationError("XML is invalid") from err raise DeserializationError("Cannot deserialize content-type: {}".format(content_type)) @classmethod @@ -295,7 +295,7 @@ class Model(object): _validation: Dict[str, Dict[str, Any]] = {} def __init__(self, **kwargs: Any) -> None: - self.additional_properties: Dict[str, Any] = {} + self.additional_properties: Optional[Dict[str, Any]] = {} for k in kwargs: if k not in self._attribute_map: _LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__) @@ -340,7 +340,7 @@ def _create_xml_node(cls): return _create_xml_node(xml_map.get("name", cls.__name__), xml_map.get("prefix", None), xml_map.get("ns", None)) def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON: - """Return the JSON that would be sent to azure from this model. + """Return the JSON that would be sent to server from this model. This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`. @@ -351,7 +351,7 @@ def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON: :rtype: dict """ serializer = Serializer(self._infer_class_models()) - return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs) + return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs) # type: ignore def as_dict( self, @@ -390,7 +390,7 @@ def my_key_transformer(key, attr_desc, value): :rtype: dict """ serializer = Serializer(self._infer_class_models()) - return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs) + return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs) # type: ignore @classmethod def _infer_class_models(cls): @@ -415,7 +415,7 @@ def deserialize(cls: Type[ModelType], data: Any, content_type: Optional[str] = N :raises: DeserializationError if something went wrong """ deserializer = Deserializer(cls._infer_class_models()) - return deserializer(cls.__name__, data, content_type=content_type) + return deserializer(cls.__name__, data, content_type=content_type) # type: ignore @classmethod def from_dict( @@ -445,7 +445,7 @@ def from_dict( if key_extractors is None else key_extractors ) - return deserializer(cls.__name__, data, content_type=content_type) + return deserializer(cls.__name__, data, content_type=content_type) # type: ignore @classmethod def _flatten_subtype(cls, key, objects): @@ -668,7 +668,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs): except (AttributeError, KeyError, TypeError) as err: msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) - raise_with_traceback(SerializationError, msg, err) + raise SerializationError(msg) from err else: return serialized @@ -710,7 +710,7 @@ def body(self, data, data_type, **kwargs): ] data = deserializer._deserialize(data_type, data) except DeserializationError as err: - raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) + raise SerializationError("Unable to build a model: " + str(err)) from err return self._serialize(data, data_type, **kwargs) @@ -730,7 +730,6 @@ def url(self, name, data, data_type, **kwargs): if kwargs.get("skip_quote") is True: output = str(output) - # https://github.com/Azure/autorest.python/issues/2063 output = output.replace("{", quote("{")).replace("}", quote("}")) else: output = quote(str(output), safe="") @@ -746,7 +745,7 @@ def query(self, name, data, data_type, **kwargs): :param str data_type: The type to be serialized from. :keyword bool skip_quote: Whether to skip quote the serialized result. Defaults to False. - :rtype: str + :rtype: str, list :raises: TypeError if serialization fails. :raises: ValueError if data is None """ @@ -755,7 +754,7 @@ def query(self, name, data, data_type, **kwargs): if data_type.startswith("["): internal_data_type = data_type[1:-1] do_quote = not kwargs.get("skip_quote", False) - return str(self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs)) + return self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) @@ -806,7 +805,7 @@ def serialize_data(self, data, data_type, **kwargs): raise ValueError("No value for given attribute") try: - if data is AzureCoreNull: + if data is CoreNull: return None if data_type in self.basic_types.values(): return self.serialize_basic(data, data_type, **kwargs) @@ -826,7 +825,7 @@ def serialize_data(self, data, data_type, **kwargs): except (ValueError, TypeError) as err: msg = "Unable to serialize value: {!r} as type: {!r}." - raise_with_traceback(SerializationError, msg.format(data, data_type), err) + raise SerializationError(msg.format(data, data_type)) from err else: return self._serialize(data, **kwargs) @@ -1172,10 +1171,10 @@ def serialize_iso(attr, **kwargs): return date + microseconds + "Z" except (ValueError, OverflowError) as err: msg = "Unable to serialize datetime object." - raise_with_traceback(SerializationError, msg, err) + raise SerializationError(msg) from err except AttributeError as err: msg = "ISO-8601 object must be valid Datetime object." - raise_with_traceback(TypeError, msg, err) + raise TypeError(msg) from err @staticmethod def serialize_unix(attr, **kwargs): @@ -1211,7 +1210,6 @@ def rest_key_extractor(attr, attr_desc, data): if working_data is None: # If at any point while following flatten JSON path see None, it means # that all properties under are None as well - # https://github.com/Azure/msrest-for-python/issues/197 return None key = ".".join(dict_keys[1:]) @@ -1232,7 +1230,6 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): if working_data is None: # If at any point while following flatten JSON path see None, it means # that all properties under are None as well - # https://github.com/Azure/msrest-for-python/issues/197 return None key = ".".join(dict_keys[1:]) @@ -1483,7 +1480,7 @@ def _deserialize(self, target_obj, data): d_attrs[attr] = value except (AttributeError, TypeError, KeyError) as err: msg = "Unable to deserialize to object: " + class_name # type: ignore - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err else: additional_properties = self._build_additional_properties(attributes, data) return self._instantiate_model(response, d_attrs, additional_properties) @@ -1654,7 +1651,7 @@ def deserialize_data(self, data, data_type): except (ValueError, TypeError, AttributeError) as err: msg = "Unable to deserialize response data." msg += " Data: {}, {}".format(data, data_type) - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err else: return self._deserialize(obj_type, data) @@ -1810,7 +1807,6 @@ def deserialize_enum(data, enum_obj): data = data.value if isinstance(data, int): # Workaround. We might consider remove it in the future. - # https://github.com/Azure/azure-rest-api-specs/issues/141 try: return list(enum_obj.__members__.values())[data] except IndexError: @@ -1864,10 +1860,10 @@ def deserialize_decimal(attr): if isinstance(attr, ET.Element): attr = attr.text try: - return decimal.Decimal(attr) # type: ignore + return decimal.Decimal(str(attr)) # type: ignore except decimal.DecimalException as err: msg = "Invalid decimal {}".format(attr) - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err @staticmethod def deserialize_long(attr): @@ -1895,7 +1891,7 @@ def deserialize_duration(attr): duration = isodate.parse_duration(attr) except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize duration object." - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err else: return duration @@ -1947,7 +1943,7 @@ def deserialize_rfc(attr): date_obj = date_obj.astimezone(tz=TZ_UTC) except ValueError as err: msg = "Cannot deserialize to rfc datetime object." - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err else: return date_obj @@ -1984,7 +1980,7 @@ def deserialize_iso(attr): raise OverflowError("Hit max or min date") except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize datetime object." - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err else: return date_obj @@ -2000,9 +1996,10 @@ def deserialize_unix(attr): if isinstance(attr, ET.Element): attr = int(attr.text) # type: ignore try: + attr = int(attr) date_obj = datetime.datetime.fromtimestamp(attr, TZ_UTC) except ValueError as err: msg = "Cannot deserialize to unix datetime object." - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err else: return date_obj diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_vendor.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_vendor.py index a6bd460be3fc..db923753c642 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_vendor.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_vendor.py @@ -8,8 +8,6 @@ from abc import ABC from typing import TYPE_CHECKING -from azure.core.pipeline.transport import HttpRequest - from ._configuration import KeyVaultClientConfiguration if TYPE_CHECKING: @@ -19,14 +17,6 @@ from ._serialization import Deserializer, Serializer -def _convert_request(request, files=None): - data = request.content if not files else None - request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) - if files: - request.set_formdata_body(files) - return request - - class KeyVaultClientMixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/__init__.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/__init__.py index 1414715b988c..1e535724e551 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/__init__.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._key_vault_client import KeyVaultClient +from ._client import KeyVaultClient try: from ._patch import __all__ as _patch_all diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_key_vault_client.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_client.py similarity index 62% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_key_vault_client.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_client.py index 3dc4b695557f..f017310ad823 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_key_vault_client.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_client.py @@ -10,40 +10,61 @@ from typing import Any, Awaitable from azure.core import AsyncPipelineClient +from azure.core.pipeline import policies from azure.core.rest import AsyncHttpResponse, HttpRequest from .. import models as _models from .._serialization import Deserializer, Serializer from ._configuration import KeyVaultClientConfiguration -from .operations import KeyVaultClientOperationsMixin +from ._operations import KeyVaultClientOperationsMixin class KeyVaultClient(KeyVaultClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """The key vault client performs cryptographic key operations and vault operations against the Key Vault service. - :keyword api_version: Api Version. Default value is "7.5-preview.1". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "7.5". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, **kwargs: Any) -> None: # pylint: disable=missing-client-constructor-parameter-credential _endpoint = "{vaultBaseUrl}" self._config = KeyVaultClientConfiguration(**kwargs) - self._client: AsyncPipelineClient = AsyncPipelineClient(base_url=_endpoint, config=self._config, **kwargs) - - client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} + _policies = kwargs.pop("policies", None) + if _policies is None: + _policies = [ + policies.RequestIdPolicy(**kwargs), + self._config.headers_policy, + self._config.user_agent_policy, + self._config.proxy_policy, + policies.ContentDecodePolicy(**kwargs), + self._config.redirect_policy, + self._config.retry_policy, + self._config.authentication_policy, + self._config.custom_hook_policy, + self._config.logging_policy, + policies.DistributedTracingPolicy(**kwargs), + policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, + self._config.http_logging_policy, + ] + self._client: AsyncPipelineClient = AsyncPipelineClient(base_url=_endpoint, policies=_policies, **kwargs) + + client_models = {k: v for k, v in _models._models.__dict__.items() if isinstance(v, type)} + client_models.update({k: v for k, v in _models.__dict__.items() if isinstance(v, type)}) self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: + def send_request( + self, request: HttpRequest, *, stream: bool = False, **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = await client._send_request(request) + >>> response = await client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request @@ -57,7 +78,7 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncH request_copy = deepcopy(request) request_copy.url = self._client.format_url(request_copy.url) - return self._client.send_request(request_copy, **kwargs) + return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore async def close(self) -> None: await self._client.close() diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_configuration.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_configuration.py index 15e0fb38b540..8dd6125e8e1d 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_configuration.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_configuration.py @@ -8,29 +8,28 @@ from typing import Any -from azure.core.configuration import Configuration from azure.core.pipeline import policies VERSION = "unknown" -class KeyVaultClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes +class KeyVaultClientConfiguration: # pylint: disable=too-many-instance-attributes """Configuration for KeyVaultClient. Note that all parameters used to create this instance are saved as instance attributes. - :keyword api_version: Api Version. Default value is "7.5-preview.1". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "7.5". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, **kwargs: Any) -> None: - super(KeyVaultClientConfiguration, self).__init__(**kwargs) - api_version: str = kwargs.pop("api_version", "7.5-preview.1") + api_version: str = kwargs.pop("api_version", "7.5") self.api_version = api_version kwargs.setdefault("sdk_moniker", "keyvault/{}".format(VERSION)) + self.polling_interval = kwargs.get("polling_interval", 30) self._configure(**kwargs) def _configure(self, **kwargs: Any) -> None: @@ -39,7 +38,7 @@ def _configure(self, **kwargs: Any) -> None: self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) self.authentication_policy = kwargs.get("authentication_policy") diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/__init__.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/__init__.py similarity index 91% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/__init__.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/__init__.py index 15aeb155c95e..29ea96fccbfe 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/__init__.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._key_vault_client_operations import KeyVaultClientOperationsMixin +from ._operations import KeyVaultClientOperationsMixin from ._patch import __all__ as _patch_all from ._patch import * # pylint: disable=unused-wildcard-import diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/_key_vault_client_operations.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/_operations.py similarity index 75% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/_key_vault_client_operations.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/_operations.py index 7386458922bf..259c8885d81e 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/operations/_key_vault_client_operations.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=too-many-lines,too-many-statements # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -20,39 +20,37 @@ map_error, ) from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse -from azure.core.rest import HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.utils import case_insensitive_dict from ... import models as _models -from ..._vendor import _convert_request -from ...operations._key_vault_client_operations import ( - build_backup_key_request, - build_create_key_request, - build_decrypt_request, - build_delete_key_request, - build_encrypt_request, - build_get_deleted_key_request, - build_get_deleted_keys_request, - build_get_key_request, - build_get_key_rotation_policy_request, - build_get_key_versions_request, - build_get_keys_request, - build_get_random_bytes_request, - build_import_key_request, - build_purge_deleted_key_request, - build_recover_deleted_key_request, - build_release_request, - build_restore_key_request, - build_rotate_key_request, - build_sign_request, - build_unwrap_key_request, - build_update_key_request, - build_update_key_rotation_policy_request, - build_verify_request, - build_wrap_key_request, +from ..._operations._operations import ( + build_key_vault_backup_key_request, + build_key_vault_create_key_request, + build_key_vault_decrypt_request, + build_key_vault_delete_key_request, + build_key_vault_encrypt_request, + build_key_vault_get_deleted_key_request, + build_key_vault_get_deleted_keys_request, + build_key_vault_get_key_request, + build_key_vault_get_key_rotation_policy_request, + build_key_vault_get_key_versions_request, + build_key_vault_get_keys_request, + build_key_vault_get_random_bytes_request, + build_key_vault_import_key_request, + build_key_vault_purge_deleted_key_request, + build_key_vault_recover_deleted_key_request, + build_key_vault_release_request, + build_key_vault_restore_key_request, + build_key_vault_rotate_key_request, + build_key_vault_sign_request, + build_key_vault_unwrap_key_request, + build_key_vault_update_key_request, + build_key_vault_update_key_rotation_policy_request, + build_key_vault_verify_request, + build_key_vault_wrap_key_request, ) from .._vendor import KeyVaultClientMixinABC @@ -85,13 +83,12 @@ async def create_key( Required. :type key_name: str :param parameters: The parameters to create a key. Required. - :type parameters: ~key_vault_client.models.KeyCreateParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyCreateParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -100,7 +97,7 @@ async def create_key( self, vault_base_url: str, key_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -119,19 +116,22 @@ async def create_key( Required. :type key_name: str :param parameters: The parameters to create a key. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async async def create_key( - self, vault_base_url: str, key_name: str, parameters: Union[_models.KeyCreateParameters, IO], **kwargs: Any + self, + vault_base_url: str, + key_name: str, + parameters: Union[_models.KeyCreateParameters, IO[bytes]], + **kwargs: Any ) -> _models.KeyBundle: """Creates a new key, stores it, then returns key parameters and attributes to the client. @@ -146,15 +146,14 @@ async def create_key( The value provided should not include personally identifiable or sensitive information. Required. :type key_name: str - :param parameters: The parameters to create a key. Is either a KeyCreateParameters type or a IO - type. Required. - :type parameters: ~key_vault_client.models.KeyCreateParameters or IO + :param parameters: The parameters to create a key. Is either a KeyCreateParameters type or a + IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyCreateParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -166,9 +165,8 @@ async def create_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -180,30 +178,30 @@ async def create_key( else: _json = self._serialize.body(parameters, "KeyCreateParameters") - request = build_create_key_request( + _request = build_key_vault_create_key_request( key_name=key_name, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.create_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -211,11 +209,9 @@ async def create_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - create_key.metadata = {"url": "/keys/{key-name}/create"} + return deserialized # type: ignore @distributed_trace_async async def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.KeyBundle: @@ -230,9 +226,8 @@ async def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> :param key_name: The name of key to be rotated. The system will generate a new version in the specified key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -244,32 +239,31 @@ async def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) - request = build_rotate_key_request( + _request = build_key_vault_rotate_key_request( key_name=key_name, - api_version=api_version, - template_url=self.rotate_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -277,11 +271,9 @@ async def rotate_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - rotate_key.metadata = {"url": "/keys/{key-name}/rotate"} + return deserialized # type: ignore @overload async def import_key( @@ -307,13 +299,12 @@ async def import_key( identifiable or sensitive information. Required. :type key_name: str :param parameters: The parameters to import a key. Required. - :type parameters: ~key_vault_client.models.KeyImportParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyImportParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -322,7 +313,7 @@ async def import_key( self, vault_base_url: str, key_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -341,19 +332,22 @@ async def import_key( identifiable or sensitive information. Required. :type key_name: str :param parameters: The parameters to import a key. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async async def import_key( - self, vault_base_url: str, key_name: str, parameters: Union[_models.KeyImportParameters, IO], **kwargs: Any + self, + vault_base_url: str, + key_name: str, + parameters: Union[_models.KeyImportParameters, IO[bytes]], + **kwargs: Any ) -> _models.KeyBundle: """Imports an externally created key, stores it, and returns key parameters and attributes to the client. @@ -368,15 +362,14 @@ async def import_key( the purpose of running the service. The value provided should not include personally identifiable or sensitive information. Required. :type key_name: str - :param parameters: The parameters to import a key. Is either a KeyImportParameters type or a IO - type. Required. - :type parameters: ~key_vault_client.models.KeyImportParameters or IO + :param parameters: The parameters to import a key. Is either a KeyImportParameters type or a + IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyImportParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -388,9 +381,8 @@ async def import_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -402,30 +394,30 @@ async def import_key( else: _json = self._serialize.body(parameters, "KeyImportParameters") - request = build_import_key_request( + _request = build_key_vault_import_key_request( key_name=key_name, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.import_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -433,11 +425,9 @@ async def import_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - import_key.metadata = {"url": "/keys/{key-name}"} + return deserialized # type: ignore @distributed_trace_async async def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.DeletedKeyBundle: @@ -452,9 +442,8 @@ async def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> :type vault_base_url: str :param key_name: The name of the key to delete. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DeletedKeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.DeletedKeyBundle + :return: DeletedKeyBundle + :rtype: ~azure.keyvault.v7_5.models.DeletedKeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -466,32 +455,31 @@ async def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DeletedKeyBundle] = kwargs.pop("cls", None) - request = build_delete_key_request( + _request = build_key_vault_delete_key_request( key_name=key_name, - api_version=api_version, - template_url=self.delete_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -499,11 +487,9 @@ async def delete_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> deserialized = self._deserialize("DeletedKeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - delete_key.metadata = {"url": "/keys/{key-name}"} + return deserialized # type: ignore @overload async def update_key( @@ -530,13 +516,12 @@ async def update_key( :param key_version: The version of the key to update. Required. :type key_version: str :param parameters: The parameters of the key to update. Required. - :type parameters: ~key_vault_client.models.KeyUpdateParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyUpdateParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -546,7 +531,7 @@ async def update_key( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -565,13 +550,12 @@ async def update_key( :param key_version: The version of the key to update. Required. :type key_version: str :param parameters: The parameters of the key to update. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @@ -581,7 +565,7 @@ async def update_key( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyUpdateParameters, IO], + parameters: Union[_models.KeyUpdateParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyBundle: """The update key operation changes specified attributes of a stored key and can be applied to any @@ -598,14 +582,13 @@ async def update_key( :param key_version: The version of the key to update. Required. :type key_version: str :param parameters: The parameters of the key to update. Is either a KeyUpdateParameters type or - a IO type. Required. - :type parameters: ~key_vault_client.models.KeyUpdateParameters or IO + a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyUpdateParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -617,9 +600,8 @@ async def update_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -631,31 +613,31 @@ async def update_key( else: _json = self._serialize.body(parameters, "KeyUpdateParameters") - request = build_update_key_request( + _request = build_key_vault_update_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.update_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -663,11 +645,9 @@ async def update_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - update_key.metadata = {"url": "/keys/{key-name}/{key-version}"} + return deserialized # type: ignore @distributed_trace_async async def get_key(self, vault_base_url: str, key_name: str, key_version: str, **kwargs: Any) -> _models.KeyBundle: @@ -684,9 +664,8 @@ async def get_key(self, vault_base_url: str, key_name: str, key_version: str, ** URI fragment is optional. If not specified, the latest version of the key is returned. Required. :type key_version: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -698,33 +677,32 @@ async def get_key(self, vault_base_url: str, key_name: str, key_version: str, ** error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) - request = build_get_key_request( + _request = build_key_vault_get_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, - template_url=self.get_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -732,15 +710,13 @@ async def get_key(self, vault_base_url: str, key_name: str, key_version: str, ** deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - get_key.metadata = {"url": "/keys/{key-name}/{key-version}"} + return deserialized # type: ignore @distributed_trace def get_key_versions( - self, vault_base_url: str, key_name: str, maxresults: Optional[int] = None, **kwargs: Any + self, vault_base_url: str, key_name: str, *, maxresults: Optional[int] = None, **kwargs: Any ) -> AsyncIterable["_models.KeyItem"]: """Retrieves a list of individual key versions with the same key name. @@ -751,19 +727,17 @@ def get_key_versions( :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :param maxresults: Maximum number of results to return in a page. If not specified the service - will return up to 25 results. Default value is None. - :type maxresults: int - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either KeyItem or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~key_vault_client.models.KeyItem] + :keyword maxresults: Maximum number of results to return in a page. If not specified the + service will return up to 25 results. Default value is None. + :paramtype maxresults: int + :return: An iterator like instance of KeyItem + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.keyvault.v7_5.models.KeyItem] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.KeyListResult] = kwargs.pop("cls", None) + cls: ClsType[_models._models.KeyListResult] = kwargs.pop("cls", None) # pylint: disable=protected-access error_map = { 401: ClientAuthenticationError, @@ -776,19 +750,17 @@ def get_key_versions( def prepare_request(next_link=None): if not next_link: - request = build_get_key_versions_request( + _request = build_key_vault_get_key_versions_request( key_name=key_name, maxresults=maxresults, - api_version=api_version, - template_url=self.get_key_versions.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -800,34 +772,37 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request async def extract_data(pipeline_response): - deserialized = self._deserialize("KeyListResult", pipeline_response) + deserialized = self._deserialize( + _models._models.KeyListResult, pipeline_response # pylint: disable=protected-access + ) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _request = prepare_request(next_link) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -836,11 +811,9 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - get_key_versions.metadata = {"url": "/keys/{key-name}/versions"} - @distributed_trace def get_keys( - self, vault_base_url: str, maxresults: Optional[int] = None, **kwargs: Any + self, vault_base_url: str, *, maxresults: Optional[int] = None, **kwargs: Any ) -> AsyncIterable["_models.KeyItem"]: """List keys in the specified vault. @@ -851,19 +824,17 @@ def get_keys( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str - :param maxresults: Maximum number of results to return in a page. If not specified the service - will return up to 25 results. Default value is None. - :type maxresults: int - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either KeyItem or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~key_vault_client.models.KeyItem] + :keyword maxresults: Maximum number of results to return in a page. If not specified the + service will return up to 25 results. Default value is None. + :paramtype maxresults: int + :return: An iterator like instance of KeyItem + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.keyvault.v7_5.models.KeyItem] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.KeyListResult] = kwargs.pop("cls", None) + cls: ClsType[_models._models.KeyListResult] = kwargs.pop("cls", None) # pylint: disable=protected-access error_map = { 401: ClientAuthenticationError, @@ -876,18 +847,16 @@ def get_keys( def prepare_request(next_link=None): if not next_link: - request = build_get_keys_request( + _request = build_key_vault_get_keys_request( maxresults=maxresults, - api_version=api_version, - template_url=self.get_keys.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -899,34 +868,37 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request async def extract_data(pipeline_response): - deserialized = self._deserialize("KeyListResult", pipeline_response) + deserialized = self._deserialize( + _models._models.KeyListResult, pipeline_response # pylint: disable=protected-access + ) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _request = prepare_request(next_link) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -935,8 +907,6 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - get_keys.metadata = {"url": "/keys"} - @distributed_trace_async async def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.BackupKeyResult: """Requests that a backup of the specified key be downloaded to the client. @@ -957,9 +927,8 @@ async def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: BackupKeyResult or the result of cls(response) - :rtype: ~key_vault_client.models.BackupKeyResult + :return: BackupKeyResult + :rtype: ~azure.keyvault.v7_5.models.BackupKeyResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -971,32 +940,31 @@ async def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.BackupKeyResult] = kwargs.pop("cls", None) - request = build_backup_key_request( + _request = build_key_vault_backup_key_request( key_name=key_name, - api_version=api_version, - template_url=self.backup_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1004,11 +972,9 @@ async def backup_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> deserialized = self._deserialize("BackupKeyResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - backup_key.metadata = {"url": "/keys/{key-name}/backup"} + return deserialized # type: ignore @overload async def restore_key( @@ -1035,19 +1001,18 @@ async def restore_key( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The parameters to restore the key. Required. - :type parameters: ~key_vault_client.models.KeyRestoreParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyRestoreParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @overload async def restore_key( - self, vault_base_url: str, parameters: IO, *, content_type: str = "application/json", **kwargs: Any + self, vault_base_url: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> _models.KeyBundle: """Restores a backed up key to a vault. @@ -1065,19 +1030,18 @@ async def restore_key( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The parameters to restore the key. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async async def restore_key( - self, vault_base_url: str, parameters: Union[_models.KeyRestoreParameters, IO], **kwargs: Any + self, vault_base_url: str, parameters: Union[_models.KeyRestoreParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyBundle: """Restores a backed up key to a vault. @@ -1095,14 +1059,13 @@ async def restore_key( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The parameters to restore the key. Is either a KeyRestoreParameters type or - a IO type. Required. - :type parameters: ~key_vault_client.models.KeyRestoreParameters or IO + a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyRestoreParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1114,9 +1077,8 @@ async def restore_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) @@ -1128,29 +1090,29 @@ async def restore_key( else: _json = self._serialize.body(parameters, "KeyRestoreParameters") - request = build_restore_key_request( - api_version=api_version, + _request = build_key_vault_restore_key_request( content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.restore_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1158,11 +1120,9 @@ async def restore_key( deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - restore_key.metadata = {"url": "/keys/restore"} + return deserialized # type: ignore @overload async def encrypt( @@ -1193,13 +1153,12 @@ async def encrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the encryption operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1209,7 +1168,7 @@ async def encrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1232,13 +1191,12 @@ async def encrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the encryption operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1248,7 +1206,7 @@ async def encrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault. @@ -1269,14 +1227,13 @@ async def encrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the encryption operation. Is either a - KeyOperationsParameters type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + KeyOperationsParameters type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1288,9 +1245,8 @@ async def encrypt( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -1302,31 +1258,31 @@ async def encrypt( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_encrypt_request( + _request = build_key_vault_encrypt_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.encrypt.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1334,11 +1290,9 @@ async def encrypt( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - encrypt.metadata = {"url": "/keys/{key-name}/{key-version}/encrypt"} + return deserialized # type: ignore @overload async def decrypt( @@ -1370,13 +1324,12 @@ async def decrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the decryption operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1386,7 +1339,7 @@ async def decrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1410,13 +1363,12 @@ async def decrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the decryption operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1426,7 +1378,7 @@ async def decrypt( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Decrypts a single block of encrypted data. @@ -1448,14 +1400,13 @@ async def decrypt( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the decryption operation. Is either a - KeyOperationsParameters type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + KeyOperationsParameters type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1467,9 +1418,8 @@ async def decrypt( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -1481,31 +1431,31 @@ async def decrypt( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_decrypt_request( + _request = build_key_vault_decrypt_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.decrypt.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1513,11 +1463,9 @@ async def decrypt( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - decrypt.metadata = {"url": "/keys/{key-name}/{key-version}/decrypt"} + return deserialized # type: ignore @overload async def sign( @@ -1543,13 +1491,12 @@ async def sign( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the signing operation. Required. - :type parameters: ~key_vault_client.models.KeySignParameters + :type parameters: ~azure.keyvault.v7_5.models.KeySignParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1559,7 +1506,7 @@ async def sign( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1577,13 +1524,12 @@ async def sign( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the signing operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1593,7 +1539,7 @@ async def sign( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeySignParameters, IO], + parameters: Union[_models.KeySignParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Creates a signature from a digest using the specified key. @@ -1609,14 +1555,13 @@ async def sign( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the signing operation. Is either a KeySignParameters type - or a IO type. Required. - :type parameters: ~key_vault_client.models.KeySignParameters or IO + or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeySignParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1628,9 +1573,8 @@ async def sign( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -1642,31 +1586,31 @@ async def sign( else: _json = self._serialize.body(parameters, "KeySignParameters") - request = build_sign_request( + _request = build_key_vault_sign_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.sign.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1674,11 +1618,9 @@ async def sign( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - sign.metadata = {"url": "/keys/{key-name}/{key-version}/sign"} + return deserialized # type: ignore @overload async def verify( @@ -1706,13 +1648,12 @@ async def verify( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for verify operations. Required. - :type parameters: ~key_vault_client.models.KeyVerifyParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyVerifyParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyVerifyResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyVerifyResult + :return: KeyVerifyResult + :rtype: ~azure.keyvault.v7_5.models.KeyVerifyResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1722,7 +1663,7 @@ async def verify( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1742,13 +1683,12 @@ async def verify( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for verify operations. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyVerifyResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyVerifyResult + :return: KeyVerifyResult + :rtype: ~azure.keyvault.v7_5.models.KeyVerifyResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1758,7 +1698,7 @@ async def verify( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyVerifyParameters, IO], + parameters: Union[_models.KeyVerifyParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyVerifyResult: """Verifies a signature using a specified key. @@ -1776,14 +1716,13 @@ async def verify( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for verify operations. Is either a KeyVerifyParameters type - or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyVerifyParameters or IO + or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyVerifyParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyVerifyResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyVerifyResult + :return: KeyVerifyResult + :rtype: ~azure.keyvault.v7_5.models.KeyVerifyResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1795,9 +1734,8 @@ async def verify( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyVerifyResult] = kwargs.pop("cls", None) @@ -1809,31 +1747,31 @@ async def verify( else: _json = self._serialize.body(parameters, "KeyVerifyParameters") - request = build_verify_request( + _request = build_key_vault_verify_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.verify.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -1841,11 +1779,9 @@ async def verify( deserialized = self._deserialize("KeyVerifyResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - verify.metadata = {"url": "/keys/{key-name}/{key-version}/verify"} + return deserialized # type: ignore @overload async def wrap_key( @@ -1874,13 +1810,12 @@ async def wrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for wrap operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1890,7 +1825,7 @@ async def wrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -1911,13 +1846,12 @@ async def wrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for wrap operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -1927,7 +1861,7 @@ async def wrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Wraps a symmetric key using a specified key. @@ -1946,14 +1880,13 @@ async def wrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for wrap operation. Is either a KeyOperationsParameters type - or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -1965,9 +1898,8 @@ async def wrap_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -1979,31 +1911,31 @@ async def wrap_key( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_wrap_key_request( + _request = build_key_vault_wrap_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.wrap_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2011,11 +1943,9 @@ async def wrap_key( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - wrap_key.metadata = {"url": "/keys/{key-name}/{key-version}/wrapkey"} + return deserialized # type: ignore @overload async def unwrap_key( @@ -2042,13 +1972,12 @@ async def unwrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the key operation. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2058,7 +1987,7 @@ async def unwrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2077,13 +2006,12 @@ async def unwrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the key operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2093,7 +2021,7 @@ async def unwrap_key( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyOperationsParameters, IO], + parameters: Union[_models.KeyOperationsParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyOperationResult: """Unwraps a symmetric key using the specified key that was initially used for wrapping that key. @@ -2110,14 +2038,13 @@ async def unwrap_key( :param key_version: The version of the key. Required. :type key_version: str :param parameters: The parameters for the key operation. Is either a KeyOperationsParameters - type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyOperationsParameters or IO + type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyOperationsParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyOperationResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyOperationResult + :return: KeyOperationResult + :rtype: ~azure.keyvault.v7_5.models.KeyOperationResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2129,9 +2056,8 @@ async def unwrap_key( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyOperationResult] = kwargs.pop("cls", None) @@ -2143,31 +2069,31 @@ async def unwrap_key( else: _json = self._serialize.body(parameters, "KeyOperationsParameters") - request = build_unwrap_key_request( + _request = build_key_vault_unwrap_key_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.unwrap_key.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2175,11 +2101,9 @@ async def unwrap_key( deserialized = self._deserialize("KeyOperationResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - unwrap_key.metadata = {"url": "/keys/{key-name}/{key-version}/unwrapkey"} + return deserialized # type: ignore @overload async def release( @@ -2205,13 +2129,12 @@ async def release( Required. :type key_version: str :param parameters: The parameters for the key release operation. Required. - :type parameters: ~key_vault_client.models.KeyReleaseParameters + :type parameters: ~azure.keyvault.v7_5.models.KeyReleaseParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyReleaseResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyReleaseResult + :return: KeyReleaseResult + :rtype: ~azure.keyvault.v7_5.models.KeyReleaseResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2221,7 +2144,7 @@ async def release( vault_base_url: str, key_name: str, key_version: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2239,13 +2162,12 @@ async def release( Required. :type key_version: str :param parameters: The parameters for the key release operation. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyReleaseResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyReleaseResult + :return: KeyReleaseResult + :rtype: ~azure.keyvault.v7_5.models.KeyReleaseResult :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2255,7 +2177,7 @@ async def release( vault_base_url: str, key_name: str, key_version: str, - parameters: Union[_models.KeyReleaseParameters, IO], + parameters: Union[_models.KeyReleaseParameters, IO[bytes]], **kwargs: Any ) -> _models.KeyReleaseResult: """Releases a key. @@ -2271,14 +2193,13 @@ async def release( Required. :type key_version: str :param parameters: The parameters for the key release operation. Is either a - KeyReleaseParameters type or a IO type. Required. - :type parameters: ~key_vault_client.models.KeyReleaseParameters or IO + KeyReleaseParameters type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.KeyReleaseParameters or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyReleaseResult or the result of cls(response) - :rtype: ~key_vault_client.models.KeyReleaseResult + :return: KeyReleaseResult + :rtype: ~azure.keyvault.v7_5.models.KeyReleaseResult :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2290,9 +2211,8 @@ async def release( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyReleaseResult] = kwargs.pop("cls", None) @@ -2304,31 +2224,31 @@ async def release( else: _json = self._serialize.body(parameters, "KeyReleaseParameters") - request = build_release_request( + _request = build_key_vault_release_request( key_name=key_name, key_version=key_version, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.release.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2336,15 +2256,13 @@ async def release( deserialized = self._deserialize("KeyReleaseResult", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - release.metadata = {"url": "/keys/{key-name}/{key-version}/release"} + return deserialized # type: ignore @distributed_trace def get_deleted_keys( - self, vault_base_url: str, maxresults: Optional[int] = None, **kwargs: Any + self, vault_base_url: str, *, maxresults: Optional[int] = None, **kwargs: Any ) -> AsyncIterable["_models.DeletedKeyItem"]: """Lists the deleted keys in the specified vault. @@ -2356,19 +2274,17 @@ def get_deleted_keys( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str - :param maxresults: Maximum number of results to return in a page. If not specified the service - will return up to 25 results. Default value is None. - :type maxresults: int - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DeletedKeyItem or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~key_vault_client.models.DeletedKeyItem] + :keyword maxresults: Maximum number of results to return in a page. If not specified the + service will return up to 25 results. Default value is None. + :paramtype maxresults: int + :return: An iterator like instance of DeletedKeyItem + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.keyvault.v7_5.models.DeletedKeyItem] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.DeletedKeyListResult] = kwargs.pop("cls", None) + cls: ClsType[_models._models.DeletedKeyListResult] = kwargs.pop("cls", None) # pylint: disable=protected-access error_map = { 401: ClientAuthenticationError, @@ -2381,18 +2297,16 @@ def get_deleted_keys( def prepare_request(next_link=None): if not next_link: - request = build_get_deleted_keys_request( + _request = build_key_vault_get_deleted_keys_request( maxresults=maxresults, - api_version=api_version, - template_url=self.get_deleted_keys.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -2404,34 +2318,37 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request async def extract_data(pipeline_response): - deserialized = self._deserialize("DeletedKeyListResult", pipeline_response) + deserialized = self._deserialize( + _models._models.DeletedKeyListResult, pipeline_response # pylint: disable=protected-access + ) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _request = prepare_request(next_link) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2440,8 +2357,6 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - get_deleted_keys.metadata = {"url": "/deletedkeys"} - @distributed_trace_async async def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.DeletedKeyBundle: """Gets the public part of a deleted key. @@ -2454,9 +2369,8 @@ async def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: An :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DeletedKeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.DeletedKeyBundle + :return: DeletedKeyBundle + :rtype: ~azure.keyvault.v7_5.models.DeletedKeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2468,32 +2382,31 @@ async def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: An error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DeletedKeyBundle] = kwargs.pop("cls", None) - request = build_get_deleted_key_request( + _request = build_key_vault_get_deleted_key_request( key_name=key_name, - api_version=api_version, - template_url=self.get_deleted_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2501,11 +2414,9 @@ async def get_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: An deserialized = self._deserialize("DeletedKeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - get_deleted_key.metadata = {"url": "/deletedkeys/{key-name}"} + return deserialized # type: ignore @distributed_trace_async async def purge_deleted_key( # pylint: disable=inconsistent-return-statements @@ -2521,8 +2432,7 @@ async def purge_deleted_key( # pylint: disable=inconsistent-return-statements :type vault_base_url: str :param key_name: The name of the key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2535,40 +2445,37 @@ async def purge_deleted_key( # pylint: disable=inconsistent-return-statements error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) - request = build_purge_deleted_key_request( + _request = build_key_vault_purge_deleted_key_request( key_name=key_name, - api_version=api_version, - template_url=self.purge_deleted_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [204]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) if cls: - return cls(pipeline_response, None, {}) - - purge_deleted_key.metadata = {"url": "/deletedkeys/{key-name}"} + return cls(pipeline_response, None, {}) # type: ignore @distributed_trace_async async def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs: Any) -> _models.KeyBundle: @@ -2583,9 +2490,8 @@ async def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs :type vault_base_url: str :param key_name: The name of the deleted key. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyBundle or the result of cls(response) - :rtype: ~key_vault_client.models.KeyBundle + :return: KeyBundle + :rtype: ~azure.keyvault.v7_5.models.KeyBundle :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2597,32 +2503,31 @@ async def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyBundle] = kwargs.pop("cls", None) - request = build_recover_deleted_key_request( + _request = build_key_vault_recover_deleted_key_request( key_name=key_name, - api_version=api_version, - template_url=self.recover_deleted_key.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2630,11 +2535,9 @@ async def recover_deleted_key(self, vault_base_url: str, key_name: str, **kwargs deserialized = self._deserialize("KeyBundle", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - recover_deleted_key.metadata = {"url": "/deletedkeys/{key-name}/recover"} + return deserialized # type: ignore @distributed_trace_async async def get_key_rotation_policy( @@ -2649,9 +2552,8 @@ async def get_key_rotation_policy( :type vault_base_url: str :param key_name: The name of the key in a given key vault. Required. :type key_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2663,32 +2565,31 @@ async def get_key_rotation_policy( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.KeyRotationPolicy] = kwargs.pop("cls", None) - request = build_get_key_rotation_policy_request( + _request = build_key_vault_get_key_rotation_policy_request( key_name=key_name, - api_version=api_version, - template_url=self.get_key_rotation_policy.metadata["url"], + api_version=self._config.api_version, headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2696,11 +2597,9 @@ async def get_key_rotation_policy( deserialized = self._deserialize("KeyRotationPolicy", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get_key_rotation_policy.metadata = {"url": "/keys/{key-name}/rotationpolicy"} + return deserialized # type: ignore @overload async def update_key_rotation_policy( @@ -2722,13 +2621,12 @@ async def update_key_rotation_policy( :param key_name: The name of the key in the given vault. Required. :type key_name: str :param key_rotation_policy: The policy for the key. Required. - :type key_rotation_policy: ~key_vault_client.models.KeyRotationPolicy + :type key_rotation_policy: ~azure.keyvault.v7_5.models.KeyRotationPolicy :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2737,7 +2635,7 @@ async def update_key_rotation_policy( self, vault_base_url: str, key_name: str, - key_rotation_policy: IO, + key_rotation_policy: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -2752,13 +2650,12 @@ async def update_key_rotation_policy( :param key_name: The name of the key in the given vault. Required. :type key_name: str :param key_rotation_policy: The policy for the key. Required. - :type key_rotation_policy: IO + :type key_rotation_policy: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ @@ -2767,7 +2664,7 @@ async def update_key_rotation_policy( self, vault_base_url: str, key_name: str, - key_rotation_policy: Union[_models.KeyRotationPolicy, IO], + key_rotation_policy: Union[_models.KeyRotationPolicy, IO[bytes]], **kwargs: Any ) -> _models.KeyRotationPolicy: """Updates the rotation policy for a key. @@ -2779,15 +2676,14 @@ async def update_key_rotation_policy( :type vault_base_url: str :param key_name: The name of the key in the given vault. Required. :type key_name: str - :param key_rotation_policy: The policy for the key. Is either a KeyRotationPolicy type or a IO - type. Required. - :type key_rotation_policy: ~key_vault_client.models.KeyRotationPolicy or IO + :param key_rotation_policy: The policy for the key. Is either a KeyRotationPolicy type or a + IO[bytes] type. Required. + :type key_rotation_policy: ~azure.keyvault.v7_5.models.KeyRotationPolicy or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: KeyRotationPolicy or the result of cls(response) - :rtype: ~key_vault_client.models.KeyRotationPolicy + :return: KeyRotationPolicy + :rtype: ~azure.keyvault.v7_5.models.KeyRotationPolicy :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2799,9 +2695,8 @@ async def update_key_rotation_policy( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.KeyRotationPolicy] = kwargs.pop("cls", None) @@ -2813,30 +2708,30 @@ async def update_key_rotation_policy( else: _json = self._serialize.body(key_rotation_policy, "KeyRotationPolicy") - request = build_update_key_rotation_policy_request( + _request = build_key_vault_update_key_rotation_policy_request( key_name=key_name, - api_version=api_version, content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.update_key_rotation_policy.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2844,11 +2739,9 @@ async def update_key_rotation_policy( deserialized = self._deserialize("KeyRotationPolicy", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - update_key_rotation_policy.metadata = {"url": "/keys/{key-name}/rotationpolicy"} + return deserialized # type: ignore @overload async def get_random_bytes( @@ -2866,19 +2759,18 @@ async def get_random_bytes( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The request object to get random bytes. Required. - :type parameters: ~key_vault_client.models.GetRandomBytesRequest + :type parameters: ~azure.keyvault.v7_5.models.GetRandomBytesRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RandomBytes or the result of cls(response) - :rtype: ~key_vault_client.models.RandomBytes + :return: RandomBytes + :rtype: ~azure.keyvault.v7_5.models.RandomBytes :raises ~azure.core.exceptions.HttpResponseError: """ @overload async def get_random_bytes( - self, vault_base_url: str, parameters: IO, *, content_type: str = "application/json", **kwargs: Any + self, vault_base_url: str, parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> _models.RandomBytes: """Get the requested number of bytes containing random values. @@ -2887,19 +2779,18 @@ async def get_random_bytes( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The request object to get random bytes. Required. - :type parameters: IO + :type parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RandomBytes or the result of cls(response) - :rtype: ~key_vault_client.models.RandomBytes + :return: RandomBytes + :rtype: ~azure.keyvault.v7_5.models.RandomBytes :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async async def get_random_bytes( - self, vault_base_url: str, parameters: Union[_models.GetRandomBytesRequest, IO], **kwargs: Any + self, vault_base_url: str, parameters: Union[_models.GetRandomBytesRequest, IO[bytes]], **kwargs: Any ) -> _models.RandomBytes: """Get the requested number of bytes containing random values. @@ -2908,14 +2799,13 @@ async def get_random_bytes( :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. Required. :type vault_base_url: str :param parameters: The request object to get random bytes. Is either a GetRandomBytesRequest - type or a IO type. Required. - :type parameters: ~key_vault_client.models.GetRandomBytesRequest or IO + type or a IO[bytes] type. Required. + :type parameters: ~azure.keyvault.v7_5.models.GetRandomBytesRequest or IO[bytes] :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RandomBytes or the result of cls(response) - :rtype: ~key_vault_client.models.RandomBytes + :return: RandomBytes + :rtype: ~azure.keyvault.v7_5.models.RandomBytes :raises ~azure.core.exceptions.HttpResponseError: """ error_map = { @@ -2927,9 +2817,8 @@ async def get_random_bytes( error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.RandomBytes] = kwargs.pop("cls", None) @@ -2941,29 +2830,29 @@ async def get_random_bytes( else: _json = self._serialize.body(parameters, "GetRandomBytesRequest") - request = build_get_random_bytes_request( - api_version=api_version, + _request = build_key_vault_get_random_bytes_request( content_type=content_type, + api_version=self._config.api_version, json=_json, content=_content, - template_url=self.get_random_bytes.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) path_format_arguments = { "vaultBaseUrl": self._serialize.url("vault_base_url", vault_base_url, "str", skip_quote=True), } - request.url = self._client.format_url(request.url, **path_format_arguments) + _request.url = self._client.format_url(_request.url, **path_format_arguments) _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, stream=_stream, **kwargs + _request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200]: + if _stream: + await response.read() # Load the body in memory and close the socket map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.KeyVaultError, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -2971,8 +2860,6 @@ async def get_random_bytes( deserialized = self._deserialize("RandomBytes", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get_random_bytes.metadata = {"url": "/rng"} + return deserialized # type: ignore diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/_patch.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/_patch.py similarity index 100% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/operations/_patch.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_operations/_patch.py diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_vendor.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_vendor.py index 111bdf8bf447..92c6d827acd9 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_vendor.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/aio/_vendor.py @@ -8,8 +8,6 @@ from abc import ABC from typing import TYPE_CHECKING -from azure.core.pipeline.transport import HttpRequest - from ._configuration import KeyVaultClientConfiguration if TYPE_CHECKING: diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/__init__.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/__init__.py index eebb24de48e6..de26d6fe0c5d 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/__init__.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/__init__.py @@ -6,48 +6,46 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._models_py3 import Attributes -from ._models_py3 import BackupKeyResult -from ._models_py3 import DeletedKeyBundle -from ._models_py3 import DeletedKeyItem -from ._models_py3 import DeletedKeyListResult -from ._models_py3 import Error -from ._models_py3 import GetRandomBytesRequest -from ._models_py3 import JsonWebKey -from ._models_py3 import KeyAttributes -from ._models_py3 import KeyBundle -from ._models_py3 import KeyCreateParameters -from ._models_py3 import KeyExportParameters -from ._models_py3 import KeyImportParameters -from ._models_py3 import KeyItem -from ._models_py3 import KeyListResult -from ._models_py3 import KeyOperationResult -from ._models_py3 import KeyOperationsParameters -from ._models_py3 import KeyProperties -from ._models_py3 import KeyReleaseParameters -from ._models_py3 import KeyReleasePolicy -from ._models_py3 import KeyReleaseResult -from ._models_py3 import KeyRestoreParameters -from ._models_py3 import KeyRotationPolicy -from ._models_py3 import KeyRotationPolicyAttributes -from ._models_py3 import KeySignParameters -from ._models_py3 import KeyUpdateParameters -from ._models_py3 import KeyVaultError -from ._models_py3 import KeyVerifyParameters -from ._models_py3 import KeyVerifyResult -from ._models_py3 import LifetimeActions -from ._models_py3 import LifetimeActionsTrigger -from ._models_py3 import LifetimeActionsType -from ._models_py3 import RandomBytes +from ._models import Attributes +from ._models import BackupKeyResult +from ._models import DeletedKeyBundle +from ._models import DeletedKeyItem +from ._models import Error +from ._models import GetRandomBytesRequest +from ._models import JsonWebKey +from ._models import KeyAttributes +from ._models import KeyBundle +from ._models import KeyCreateParameters +from ._models import KeyExportParameters +from ._models import KeyImportParameters +from ._models import KeyItem +from ._models import KeyOperationResult +from ._models import KeyOperationsParameters +from ._models import KeyProperties +from ._models import KeyReleaseParameters +from ._models import KeyReleasePolicy +from ._models import KeyReleaseResult +from ._models import KeyRestoreParameters +from ._models import KeyRotationPolicy +from ._models import KeyRotationPolicyAttributes +from ._models import KeySignParameters +from ._models import KeyUpdateParameters +from ._models import KeyVaultError +from ._models import KeyVerifyParameters +from ._models import KeyVerifyResult +from ._models import LifetimeActions +from ._models import LifetimeActionsTrigger +from ._models import LifetimeActionsType +from ._models import RandomBytes -from ._key_vault_client_enums import ActionType -from ._key_vault_client_enums import DeletionRecoveryLevel -from ._key_vault_client_enums import JsonWebKeyCurveName -from ._key_vault_client_enums import JsonWebKeyEncryptionAlgorithm -from ._key_vault_client_enums import JsonWebKeyOperation -from ._key_vault_client_enums import JsonWebKeySignatureAlgorithm -from ._key_vault_client_enums import JsonWebKeyType -from ._key_vault_client_enums import KeyEncryptionAlgorithm +from ._enums import ActionType +from ._enums import DeletionRecoveryLevel +from ._enums import JsonWebKeyCurveName +from ._enums import JsonWebKeyEncryptionAlgorithm +from ._enums import JsonWebKeyOperation +from ._enums import JsonWebKeySignatureAlgorithm +from ._enums import JsonWebKeyType +from ._enums import KeyEncryptionAlgorithm from ._patch import __all__ as _patch_all from ._patch import * # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk @@ -57,7 +55,6 @@ "BackupKeyResult", "DeletedKeyBundle", "DeletedKeyItem", - "DeletedKeyListResult", "Error", "GetRandomBytesRequest", "JsonWebKey", @@ -67,7 +64,6 @@ "KeyExportParameters", "KeyImportParameters", "KeyItem", - "KeyListResult", "KeyOperationResult", "KeyOperationsParameters", "KeyProperties", diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_key_vault_client_enums.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_enums.py similarity index 73% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_key_vault_client_enums.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_enums.py index dd17a775981e..6e13009627a9 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_key_vault_client_enums.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_enums.py @@ -27,40 +27,40 @@ class DeletionRecoveryLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): PURGEABLE = "Purgeable" """Denotes a vault state in which deletion is an irreversible operation, without the possibility - #: for recovery. This level corresponds to no protection being available against a Delete - #: operation; the data is irretrievably lost upon accepting a Delete operation at the entity level - #: or higher (vault, resource group, subscription etc.)""" + for recovery. This level corresponds to no protection being available against a Delete + operation; the data is irretrievably lost upon accepting a Delete operation at the entity level + or higher (vault, resource group, subscription etc.)""" RECOVERABLE_PURGEABLE = "Recoverable+Purgeable" """Denotes a vault state in which deletion is recoverable, and which also permits immediate and - #: permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity - #: during the retention interval (90 days), unless a Purge operation is requested, or the - #: subscription is cancelled. System wil permanently delete it after 90 days, if not recovered""" + permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity + during the retention interval (90 days), unless a Purge operation is requested, or the + subscription is cancelled. System wil permanently delete it after 90 days, if not recovered""" RECOVERABLE = "Recoverable" """Denotes a vault state in which deletion is recoverable without the possibility for immediate - #: and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted - #: entity during the retention interval(90 days) and while the subscription is still available. - #: System wil permanently delete it after 90 days, if not recovered""" + and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted + entity during the retention interval(90 days) and while the subscription is still available. + System wil permanently delete it after 90 days, if not recovered""" RECOVERABLE_PROTECTED_SUBSCRIPTION = "Recoverable+ProtectedSubscription" """Denotes a vault and subscription state in which deletion is recoverable within retention - #: interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in - #: which the subscription itself cannot be permanently canceled. System wil permanently delete it - #: after 90 days, if not recovered""" + interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in + which the subscription itself cannot be permanently canceled. System wil permanently delete it + after 90 days, if not recovered""" CUSTOMIZED_RECOVERABLE_PURGEABLE = "CustomizedRecoverable+Purgeable" """Denotes a vault state in which deletion is recoverable, and which also permits immediate and - #: permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees - #: the recoverability of the deleted entity during the retention interval, unless a Purge - #: operation is requested, or the subscription is cancelled.""" + permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees + the recoverability of the deleted entity during the retention interval, unless a Purge + operation is requested, or the subscription is cancelled.""" CUSTOMIZED_RECOVERABLE = "CustomizedRecoverable" """Denotes a vault state in which deletion is recoverable without the possibility for immediate - #: and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level - #: guarantees the recoverability of the deleted entity during the retention interval and while the - #: subscription is still available.""" + and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level + guarantees the recoverability of the deleted entity during the retention interval and while the + subscription is still available.""" CUSTOMIZED_RECOVERABLE_PROTECTED_SUBSCRIPTION = "CustomizedRecoverable+ProtectedSubscription" """Denotes a vault and subscription state in which deletion is recoverable, immediate and - #: permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot - #: be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the - #: recoverability of the deleted entity during the retention interval, and also reflects the fact - #: that the subscription itself cannot be cancelled.""" + permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot + be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the + recoverability of the deleted entity during the retention interval, and also reflects the fact + that the subscription itself cannot be cancelled.""" class JsonWebKeyCurveName(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -107,7 +107,6 @@ class JsonWebKeyOperation(str, Enum, metaclass=CaseInsensitiveEnumMeta): UNWRAP_KEY = "unwrapKey" IMPORT = "import" EXPORT = "export" - IMPORT_ENUM = "import" class JsonWebKeySignatureAlgorithm(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -117,13 +116,13 @@ class JsonWebKeySignatureAlgorithm(str, Enum, metaclass=CaseInsensitiveEnumMeta) PS256 = "PS256" """RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in - #: https://tools.ietf.org/html/rfc7518""" + https://tools.ietf.org/html/rfc7518""" PS384 = "PS384" """RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in - #: https://tools.ietf.org/html/rfc7518""" + https://tools.ietf.org/html/rfc7518""" PS512 = "PS512" """RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in - #: https://tools.ietf.org/html/rfc7518""" + https://tools.ietf.org/html/rfc7518""" RS256 = "RS256" """RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518""" RS384 = "RS384" diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_models_py3.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_models.py similarity index 90% rename from sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_models_py3.py rename to sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_models.py index 5846f144f634..bb1b908eb308 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_models_py3.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/models/_models.py @@ -100,16 +100,16 @@ class KeyBundle(_serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar key: The Json web key. - :vartype key: ~key_vault_client.models.JsonWebKey + :vartype key: ~azure.keyvault.v7_5.models.JsonWebKey :ivar attributes: The key management attributes. - :vartype attributes: ~key_vault_client.models.KeyAttributes + :vartype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :ivar tags: Application specific metadata in the form of key-value pairs. :vartype tags: dict[str, str] :ivar managed: True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true. :vartype managed: bool :ivar release_policy: The policy rules under which the key can be exported. - :vartype release_policy: ~key_vault_client.models.KeyReleasePolicy + :vartype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ _validation = { @@ -135,13 +135,13 @@ def __init__( ) -> None: """ :keyword key: The Json web key. - :paramtype key: ~key_vault_client.models.JsonWebKey + :paramtype key: ~azure.keyvault.v7_5.models.JsonWebKey :keyword attributes: The key management attributes. - :paramtype attributes: ~key_vault_client.models.KeyAttributes + :paramtype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :keyword tags: Application specific metadata in the form of key-value pairs. :paramtype tags: dict[str, str] :keyword release_policy: The policy rules under which the key can be exported. - :paramtype release_policy: ~key_vault_client.models.KeyReleasePolicy + :paramtype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ super().__init__(**kwargs) self.key = key @@ -157,16 +157,16 @@ class DeletedKeyBundle(KeyBundle): Variables are only populated by the server, and will be ignored when sending a request. :ivar key: The Json web key. - :vartype key: ~key_vault_client.models.JsonWebKey + :vartype key: ~azure.keyvault.v7_5.models.JsonWebKey :ivar attributes: The key management attributes. - :vartype attributes: ~key_vault_client.models.KeyAttributes + :vartype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :ivar tags: Application specific metadata in the form of key-value pairs. :vartype tags: dict[str, str] :ivar managed: True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true. :vartype managed: bool :ivar release_policy: The policy rules under which the key can be exported. - :vartype release_policy: ~key_vault_client.models.KeyReleasePolicy + :vartype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy :ivar recovery_id: The url of the recovery object, used to identify and recover the deleted key. :vartype recovery_id: str @@ -205,13 +205,13 @@ def __init__( ) -> None: """ :keyword key: The Json web key. - :paramtype key: ~key_vault_client.models.JsonWebKey + :paramtype key: ~azure.keyvault.v7_5.models.JsonWebKey :keyword attributes: The key management attributes. - :paramtype attributes: ~key_vault_client.models.KeyAttributes + :paramtype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :keyword tags: Application specific metadata in the form of key-value pairs. :paramtype tags: dict[str, str] :keyword release_policy: The policy rules under which the key can be exported. - :paramtype release_policy: ~key_vault_client.models.KeyReleasePolicy + :paramtype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy :keyword recovery_id: The url of the recovery object, used to identify and recover the deleted key. :paramtype recovery_id: str @@ -230,7 +230,7 @@ class KeyItem(_serialization.Model): :ivar kid: Key identifier. :vartype kid: str :ivar attributes: The key management attributes. - :vartype attributes: ~key_vault_client.models.KeyAttributes + :vartype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :ivar tags: Application specific metadata in the form of key-value pairs. :vartype tags: dict[str, str] :ivar managed: True if the key's lifetime is managed by key vault. If this is a key backing a @@ -261,7 +261,7 @@ def __init__( :keyword kid: Key identifier. :paramtype kid: str :keyword attributes: The key management attributes. - :paramtype attributes: ~key_vault_client.models.KeyAttributes + :paramtype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :keyword tags: Application specific metadata in the form of key-value pairs. :paramtype tags: dict[str, str] """ @@ -280,7 +280,7 @@ class DeletedKeyItem(KeyItem): :ivar kid: Key identifier. :vartype kid: str :ivar attributes: The key management attributes. - :vartype attributes: ~key_vault_client.models.KeyAttributes + :vartype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :ivar tags: Application specific metadata in the form of key-value pairs. :vartype tags: dict[str, str] :ivar managed: True if the key's lifetime is managed by key vault. If this is a key backing a @@ -324,7 +324,7 @@ def __init__( :keyword kid: Key identifier. :paramtype kid: str :keyword attributes: The key management attributes. - :paramtype attributes: ~key_vault_client.models.KeyAttributes + :paramtype attributes: ~azure.keyvault.v7_5.models.KeyAttributes :keyword tags: Application specific metadata in the form of key-value pairs. :paramtype tags: dict[str, str] :keyword recovery_id: The url of the recovery object, used to identify and recover the deleted @@ -344,7 +344,7 @@ class DeletedKeyListResult(_serialization.Model): :ivar value: A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys. - :vartype value: list[~key_vault_client.models.DeletedKeyItem] + :vartype value: list[~azure.keyvault.v7_5.models.DeletedKeyItem] :ivar next_link: The URL to get the next set of deleted keys. :vartype next_link: str """ @@ -376,7 +376,7 @@ class Error(_serialization.Model): :ivar message: The error message. :vartype message: str :ivar inner_error: The key vault server error. - :vartype inner_error: ~key_vault_client.models.Error + :vartype inner_error: ~azure.keyvault.v7_5.models.Error """ _validation = { @@ -402,7 +402,7 @@ def __init__(self, **kwargs: Any) -> None: class GetRandomBytesRequest(_serialization.Model): """The get random bytes request object. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar count: The requested number of random bytes. Required. :vartype count: int @@ -433,7 +433,7 @@ class JsonWebKey(_serialization.Model): # pylint: disable=too-many-instance-att :ivar kty: JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. Known values are: "EC", "EC-HSM", "RSA", "RSA-HSM", "oct", and "oct-HSM". - :vartype kty: str or ~key_vault_client.models.JsonWebKeyType + :vartype kty: str or ~azure.keyvault.v7_5.models.JsonWebKeyType :ivar key_ops: :vartype key_ops: list[str] :ivar n: RSA modulus. @@ -458,7 +458,7 @@ class JsonWebKey(_serialization.Model): # pylint: disable=too-many-instance-att :vartype t: bytes :ivar crv: Elliptic curve name. For valid values, see JsonWebKeyCurveName. Known values are: "P-256", "P-384", "P-521", and "P-256K". - :vartype crv: str or ~key_vault_client.models.JsonWebKeyCurveName + :vartype crv: str or ~azure.keyvault.v7_5.models.JsonWebKeyCurveName :ivar x: X component of an EC public key. :vartype x: bytes :ivar y: Y component of an EC public key. @@ -511,7 +511,7 @@ def __init__( :keyword kty: JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. Known values are: "EC", "EC-HSM", "RSA", "RSA-HSM", "oct", and "oct-HSM". - :paramtype kty: str or ~key_vault_client.models.JsonWebKeyType + :paramtype kty: str or ~azure.keyvault.v7_5.models.JsonWebKeyType :keyword key_ops: :paramtype key_ops: list[str] :keyword n: RSA modulus. @@ -536,7 +536,7 @@ def __init__( :paramtype t: bytes :keyword crv: Elliptic curve name. For valid values, see JsonWebKeyCurveName. Known values are: "P-256", "P-384", "P-521", and "P-256K". - :paramtype crv: str or ~key_vault_client.models.JsonWebKeyCurveName + :paramtype crv: str or ~azure.keyvault.v7_5.models.JsonWebKeyCurveName :keyword x: X component of an EC public key. :paramtype x: bytes :keyword y: Y component of an EC public key. @@ -585,7 +585,7 @@ class KeyAttributes(Attributes): values are: "Purgeable", "Recoverable+Purgeable", "Recoverable", "Recoverable+ProtectedSubscription", "CustomizedRecoverable+Purgeable", "CustomizedRecoverable", and "CustomizedRecoverable+ProtectedSubscription". - :vartype recovery_level: str or ~key_vault_client.models.DeletionRecoveryLevel + :vartype recovery_level: str or ~azure.keyvault.v7_5.models.DeletionRecoveryLevel :ivar exportable: Indicates if the private key can be exported. Release policy must be provided when creating the first version of an exportable key. :vartype exportable: bool @@ -643,26 +643,26 @@ def __init__( class KeyCreateParameters(_serialization.Model): """The key create parameters. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar kty: The type of key to create. For valid values, see JsonWebKeyType. Required. Known values are: "EC", "EC-HSM", "RSA", "RSA-HSM", "oct", and "oct-HSM". - :vartype kty: str or ~key_vault_client.models.JsonWebKeyType + :vartype kty: str or ~azure.keyvault.v7_5.models.JsonWebKeyType :ivar key_size: The key size in bits. For example: 2048, 3072, or 4096 for RSA. :vartype key_size: int :ivar public_exponent: The public exponent for a RSA key. :vartype public_exponent: int :ivar key_ops: - :vartype key_ops: list[str or ~key_vault_client.models.JsonWebKeyOperation] + :vartype key_ops: list[str or ~azure.keyvault.v7_5.models.JsonWebKeyOperation] :ivar key_attributes: The attributes of a key managed by the key vault service. - :vartype key_attributes: ~key_vault_client.models.KeyAttributes + :vartype key_attributes: ~azure.keyvault.v7_5.models.KeyAttributes :ivar tags: Application specific metadata in the form of key-value pairs. :vartype tags: dict[str, str] :ivar curve: Elliptic curve name. For valid values, see JsonWebKeyCurveName. Known values are: "P-256", "P-384", "P-521", and "P-256K". - :vartype curve: str or ~key_vault_client.models.JsonWebKeyCurveName + :vartype curve: str or ~azure.keyvault.v7_5.models.JsonWebKeyCurveName :ivar release_policy: The policy rules under which the key can be exported. - :vartype release_policy: ~key_vault_client.models.KeyReleasePolicy + :vartype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ _validation = { @@ -696,22 +696,22 @@ def __init__( """ :keyword kty: The type of key to create. For valid values, see JsonWebKeyType. Required. Known values are: "EC", "EC-HSM", "RSA", "RSA-HSM", "oct", and "oct-HSM". - :paramtype kty: str or ~key_vault_client.models.JsonWebKeyType + :paramtype kty: str or ~azure.keyvault.v7_5.models.JsonWebKeyType :keyword key_size: The key size in bits. For example: 2048, 3072, or 4096 for RSA. :paramtype key_size: int :keyword public_exponent: The public exponent for a RSA key. :paramtype public_exponent: int :keyword key_ops: - :paramtype key_ops: list[str or ~key_vault_client.models.JsonWebKeyOperation] + :paramtype key_ops: list[str or ~azure.keyvault.v7_5.models.JsonWebKeyOperation] :keyword key_attributes: The attributes of a key managed by the key vault service. - :paramtype key_attributes: ~key_vault_client.models.KeyAttributes + :paramtype key_attributes: ~azure.keyvault.v7_5.models.KeyAttributes :keyword tags: Application specific metadata in the form of key-value pairs. :paramtype tags: dict[str, str] :keyword curve: Elliptic curve name. For valid values, see JsonWebKeyCurveName. Known values are: "P-256", "P-384", "P-521", and "P-256K". - :paramtype curve: str or ~key_vault_client.models.JsonWebKeyCurveName + :paramtype curve: str or ~azure.keyvault.v7_5.models.JsonWebKeyCurveName :keyword release_policy: The policy rules under which the key can be exported. - :paramtype release_policy: ~key_vault_client.models.KeyReleasePolicy + :paramtype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ super().__init__(**kwargs) self.kty = kty @@ -729,13 +729,13 @@ class KeyExportParameters(_serialization.Model): :ivar wrapping_key: The export key encryption Json web key. This key MUST be a RSA key that supports encryption. - :vartype wrapping_key: ~key_vault_client.models.JsonWebKey + :vartype wrapping_key: ~azure.keyvault.v7_5.models.JsonWebKey :ivar wrapping_kid: The export key encryption key identifier. This key MUST be a RSA key that supports encryption. :vartype wrapping_kid: str :ivar enc: The encryption algorithm to use to protected the exported key material. Known values are: "CKM_RSA_AES_KEY_WRAP", "RSA_AES_KEY_WRAP_256", and "RSA_AES_KEY_WRAP_384". - :vartype enc: str or ~key_vault_client.models.KeyEncryptionAlgorithm + :vartype enc: str or ~azure.keyvault.v7_5.models.KeyEncryptionAlgorithm """ _attribute_map = { @@ -755,13 +755,13 @@ def __init__( """ :keyword wrapping_key: The export key encryption Json web key. This key MUST be a RSA key that supports encryption. - :paramtype wrapping_key: ~key_vault_client.models.JsonWebKey + :paramtype wrapping_key: ~azure.keyvault.v7_5.models.JsonWebKey :keyword wrapping_kid: The export key encryption key identifier. This key MUST be a RSA key that supports encryption. :paramtype wrapping_kid: str :keyword enc: The encryption algorithm to use to protected the exported key material. Known values are: "CKM_RSA_AES_KEY_WRAP", "RSA_AES_KEY_WRAP_256", and "RSA_AES_KEY_WRAP_384". - :paramtype enc: str or ~key_vault_client.models.KeyEncryptionAlgorithm + :paramtype enc: str or ~azure.keyvault.v7_5.models.KeyEncryptionAlgorithm """ super().__init__(**kwargs) self.wrapping_key = wrapping_key @@ -772,18 +772,18 @@ def __init__( class KeyImportParameters(_serialization.Model): """The key import parameters. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar hsm: Whether to import as a hardware key (HSM) or software key. :vartype hsm: bool :ivar key: The Json web key. Required. - :vartype key: ~key_vault_client.models.JsonWebKey + :vartype key: ~azure.keyvault.v7_5.models.JsonWebKey :ivar key_attributes: The key management attributes. - :vartype key_attributes: ~key_vault_client.models.KeyAttributes + :vartype key_attributes: ~azure.keyvault.v7_5.models.KeyAttributes :ivar tags: Application specific metadata in the form of key-value pairs. :vartype tags: dict[str, str] :ivar release_policy: The policy rules under which the key can be exported. - :vartype release_policy: ~key_vault_client.models.KeyReleasePolicy + :vartype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ _validation = { @@ -812,13 +812,13 @@ def __init__( :keyword hsm: Whether to import as a hardware key (HSM) or software key. :paramtype hsm: bool :keyword key: The Json web key. Required. - :paramtype key: ~key_vault_client.models.JsonWebKey + :paramtype key: ~azure.keyvault.v7_5.models.JsonWebKey :keyword key_attributes: The key management attributes. - :paramtype key_attributes: ~key_vault_client.models.KeyAttributes + :paramtype key_attributes: ~azure.keyvault.v7_5.models.KeyAttributes :keyword tags: Application specific metadata in the form of key-value pairs. :paramtype tags: dict[str, str] :keyword release_policy: The policy rules under which the key can be exported. - :paramtype release_policy: ~key_vault_client.models.KeyReleasePolicy + :paramtype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ super().__init__(**kwargs) self.hsm = hsm @@ -835,7 +835,7 @@ class KeyListResult(_serialization.Model): :ivar value: A response message containing a list of keys in the key vault along with a link to the next page of keys. - :vartype value: list[~key_vault_client.models.KeyItem] + :vartype value: list[~azure.keyvault.v7_5.models.KeyItem] :ivar next_link: The URL to get the next set of keys. :vartype next_link: str """ @@ -903,12 +903,12 @@ def __init__(self, **kwargs: Any) -> None: class KeyOperationsParameters(_serialization.Model): """The key operations parameters. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar algorithm: algorithm identifier. Required. Known values are: "RSA-OAEP", "RSA-OAEP-256", "RSA1_5", "A128GCM", "A192GCM", "A256GCM", "A128KW", "A192KW", "A256KW", "A128CBC", "A192CBC", "A256CBC", "A128CBCPAD", "A192CBCPAD", and "A256CBCPAD". - :vartype algorithm: str or ~key_vault_client.models.JsonWebKeyEncryptionAlgorithm + :vartype algorithm: str or ~azure.keyvault.v7_5.models.JsonWebKeyEncryptionAlgorithm :ivar value: Required. :vartype value: bytes :ivar iv: Cryptographically random, non-repeating initialization vector for symmetric @@ -948,7 +948,7 @@ def __init__( :keyword algorithm: algorithm identifier. Required. Known values are: "RSA-OAEP", "RSA-OAEP-256", "RSA1_5", "A128GCM", "A192GCM", "A256GCM", "A128KW", "A192KW", "A256KW", "A128CBC", "A192CBC", "A256CBC", "A128CBCPAD", "A192CBCPAD", and "A256CBCPAD". - :paramtype algorithm: str or ~key_vault_client.models.JsonWebKeyEncryptionAlgorithm + :paramtype algorithm: str or ~azure.keyvault.v7_5.models.JsonWebKeyEncryptionAlgorithm :keyword value: Required. :paramtype value: bytes :keyword iv: Cryptographically random, non-repeating initialization vector for symmetric @@ -977,14 +977,14 @@ class KeyProperties(_serialization.Model): :vartype exportable: bool :ivar key_type: The type of key pair to be used for the certificate. Known values are: "EC", "EC-HSM", "RSA", "RSA-HSM", "oct", and "oct-HSM". - :vartype key_type: str or ~key_vault_client.models.JsonWebKeyType + :vartype key_type: str or ~azure.keyvault.v7_5.models.JsonWebKeyType :ivar key_size: The key size in bits. For example: 2048, 3072, or 4096 for RSA. :vartype key_size: int :ivar reuse_key: Indicates if the same key pair will be used on certificate renewal. :vartype reuse_key: bool :ivar curve: Elliptic curve name. For valid values, see JsonWebKeyCurveName. Known values are: "P-256", "P-384", "P-521", and "P-256K". - :vartype curve: str or ~key_vault_client.models.JsonWebKeyCurveName + :vartype curve: str or ~azure.keyvault.v7_5.models.JsonWebKeyCurveName """ _attribute_map = { @@ -1011,14 +1011,14 @@ def __init__( :paramtype exportable: bool :keyword key_type: The type of key pair to be used for the certificate. Known values are: "EC", "EC-HSM", "RSA", "RSA-HSM", "oct", and "oct-HSM". - :paramtype key_type: str or ~key_vault_client.models.JsonWebKeyType + :paramtype key_type: str or ~azure.keyvault.v7_5.models.JsonWebKeyType :keyword key_size: The key size in bits. For example: 2048, 3072, or 4096 for RSA. :paramtype key_size: int :keyword reuse_key: Indicates if the same key pair will be used on certificate renewal. :paramtype reuse_key: bool :keyword curve: Elliptic curve name. For valid values, see JsonWebKeyCurveName. Known values are: "P-256", "P-384", "P-521", and "P-256K". - :paramtype curve: str or ~key_vault_client.models.JsonWebKeyCurveName + :paramtype curve: str or ~azure.keyvault.v7_5.models.JsonWebKeyCurveName """ super().__init__(**kwargs) self.exportable = exportable @@ -1031,7 +1031,7 @@ def __init__( class KeyReleaseParameters(_serialization.Model): """The release key parameters. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar target_attestation_token: The attestation assertion for the target of the key release. Required. @@ -1040,7 +1040,7 @@ class KeyReleaseParameters(_serialization.Model): :vartype nonce: str :ivar enc: The encryption algorithm to use to protected the exported key material. Known values are: "CKM_RSA_AES_KEY_WRAP", "RSA_AES_KEY_WRAP_256", and "RSA_AES_KEY_WRAP_384". - :vartype enc: str or ~key_vault_client.models.KeyEncryptionAlgorithm + :vartype enc: str or ~azure.keyvault.v7_5.models.KeyEncryptionAlgorithm """ _validation = { @@ -1069,7 +1069,7 @@ def __init__( :paramtype nonce: str :keyword enc: The encryption algorithm to use to protected the exported key material. Known values are: "CKM_RSA_AES_KEY_WRAP", "RSA_AES_KEY_WRAP_256", and "RSA_AES_KEY_WRAP_384". - :paramtype enc: str or ~key_vault_client.models.KeyEncryptionAlgorithm + :paramtype enc: str or ~azure.keyvault.v7_5.models.KeyEncryptionAlgorithm """ super().__init__(**kwargs) self.target_attestation_token = target_attestation_token @@ -1146,7 +1146,7 @@ def __init__(self, **kwargs: Any) -> None: class KeyRestoreParameters(_serialization.Model): """The key restore parameters. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar key_bundle_backup: The backup blob associated with a key bundle. Required. :vartype key_bundle_backup: bytes @@ -1179,9 +1179,9 @@ class KeyRotationPolicy(_serialization.Model): :ivar lifetime_actions: Actions that will be performed by Key Vault over the lifetime of a key. For preview, lifetimeActions can only have two items at maximum: one for rotate, one for notify. Notification time would be default to 30 days before expiry and it is not configurable. - :vartype lifetime_actions: list[~key_vault_client.models.LifetimeActions] + :vartype lifetime_actions: list[~azure.keyvault.v7_5.models.LifetimeActions] :ivar attributes: The key rotation policy attributes. - :vartype attributes: ~key_vault_client.models.KeyRotationPolicyAttributes + :vartype attributes: ~azure.keyvault.v7_5.models.KeyRotationPolicyAttributes """ _validation = { @@ -1205,9 +1205,9 @@ def __init__( :keyword lifetime_actions: Actions that will be performed by Key Vault over the lifetime of a key. For preview, lifetimeActions can only have two items at maximum: one for rotate, one for notify. Notification time would be default to 30 days before expiry and it is not configurable. - :paramtype lifetime_actions: list[~key_vault_client.models.LifetimeActions] + :paramtype lifetime_actions: list[~azure.keyvault.v7_5.models.LifetimeActions] :keyword attributes: The key rotation policy attributes. - :paramtype attributes: ~key_vault_client.models.KeyRotationPolicyAttributes + :paramtype attributes: ~azure.keyvault.v7_5.models.KeyRotationPolicyAttributes """ super().__init__(**kwargs) self.id = None @@ -1257,13 +1257,13 @@ def __init__(self, *, expiry_time: Optional[str] = None, **kwargs: Any) -> None: class KeySignParameters(_serialization.Model): """The key operations parameters. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar algorithm: The signing/verification algorithm identifier. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm. Required. Known values are: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "RSNULL", "ES256", "ES384", "ES512", and "ES256K". - :vartype algorithm: str or ~key_vault_client.models.JsonWebKeySignatureAlgorithm + :vartype algorithm: str or ~azure.keyvault.v7_5.models.JsonWebKeySignatureAlgorithm :ivar value: Required. :vartype value: bytes """ @@ -1286,7 +1286,7 @@ def __init__( possible algorithm types, see JsonWebKeySignatureAlgorithm. Required. Known values are: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "RSNULL", "ES256", "ES384", "ES512", and "ES256K". - :paramtype algorithm: str or ~key_vault_client.models.JsonWebKeySignatureAlgorithm + :paramtype algorithm: str or ~azure.keyvault.v7_5.models.JsonWebKeySignatureAlgorithm :keyword value: Required. :paramtype value: bytes """ @@ -1300,13 +1300,13 @@ class KeyUpdateParameters(_serialization.Model): :ivar key_ops: Json web key operations. For more information on possible key operations, see JsonWebKeyOperation. - :vartype key_ops: list[str or ~key_vault_client.models.JsonWebKeyOperation] + :vartype key_ops: list[str or ~azure.keyvault.v7_5.models.JsonWebKeyOperation] :ivar key_attributes: The attributes of a key managed by the key vault service. - :vartype key_attributes: ~key_vault_client.models.KeyAttributes + :vartype key_attributes: ~azure.keyvault.v7_5.models.KeyAttributes :ivar tags: Application specific metadata in the form of key-value pairs. :vartype tags: dict[str, str] :ivar release_policy: The policy rules under which the key can be exported. - :vartype release_policy: ~key_vault_client.models.KeyReleasePolicy + :vartype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ _attribute_map = { @@ -1328,13 +1328,13 @@ def __init__( """ :keyword key_ops: Json web key operations. For more information on possible key operations, see JsonWebKeyOperation. - :paramtype key_ops: list[str or ~key_vault_client.models.JsonWebKeyOperation] + :paramtype key_ops: list[str or ~azure.keyvault.v7_5.models.JsonWebKeyOperation] :keyword key_attributes: The attributes of a key managed by the key vault service. - :paramtype key_attributes: ~key_vault_client.models.KeyAttributes + :paramtype key_attributes: ~azure.keyvault.v7_5.models.KeyAttributes :keyword tags: Application specific metadata in the form of key-value pairs. :paramtype tags: dict[str, str] :keyword release_policy: The policy rules under which the key can be exported. - :paramtype release_policy: ~key_vault_client.models.KeyReleasePolicy + :paramtype release_policy: ~azure.keyvault.v7_5.models.KeyReleasePolicy """ super().__init__(**kwargs) self.key_ops = key_ops @@ -1349,7 +1349,7 @@ class KeyVaultError(_serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar error: The key vault server error. - :vartype error: ~key_vault_client.models.Error + :vartype error: ~azure.keyvault.v7_5.models.Error """ _validation = { @@ -1369,12 +1369,12 @@ def __init__(self, **kwargs: Any) -> None: class KeyVerifyParameters(_serialization.Model): """The key verify parameters. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar algorithm: The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm. Required. Known values are: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "RSNULL", "ES256", "ES384", "ES512", and "ES256K". - :vartype algorithm: str or ~key_vault_client.models.JsonWebKeySignatureAlgorithm + :vartype algorithm: str or ~azure.keyvault.v7_5.models.JsonWebKeySignatureAlgorithm :ivar digest: The digest used for signing. Required. :vartype digest: bytes :ivar signature: The signature to be verified. Required. @@ -1405,7 +1405,7 @@ def __init__( :keyword algorithm: The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm. Required. Known values are: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "RSNULL", "ES256", "ES384", "ES512", and "ES256K". - :paramtype algorithm: str or ~key_vault_client.models.JsonWebKeySignatureAlgorithm + :paramtype algorithm: str or ~azure.keyvault.v7_5.models.JsonWebKeySignatureAlgorithm :keyword digest: The digest used for signing. Required. :paramtype digest: bytes :keyword signature: The signature to be verified. Required. @@ -1444,9 +1444,9 @@ class LifetimeActions(_serialization.Model): """Action and its trigger that will be performed by Key Vault over the lifetime of a key. :ivar trigger: The condition that will execute the action. - :vartype trigger: ~key_vault_client.models.LifetimeActionsTrigger + :vartype trigger: ~azure.keyvault.v7_5.models.LifetimeActionsTrigger :ivar action: The action that will be executed. - :vartype action: ~key_vault_client.models.LifetimeActionsType + :vartype action: ~azure.keyvault.v7_5.models.LifetimeActionsType """ _attribute_map = { @@ -1463,9 +1463,9 @@ def __init__( ) -> None: """ :keyword trigger: The condition that will execute the action. - :paramtype trigger: ~key_vault_client.models.LifetimeActionsTrigger + :paramtype trigger: ~azure.keyvault.v7_5.models.LifetimeActionsTrigger :keyword action: The action that will be executed. - :paramtype action: ~key_vault_client.models.LifetimeActionsType + :paramtype action: ~azure.keyvault.v7_5.models.LifetimeActionsType """ super().__init__(**kwargs) self.trigger = trigger @@ -1509,7 +1509,7 @@ class LifetimeActionsType(_serialization.Model): :ivar type: The type of the action. The value should be compared case-insensitively. Known values are: "Rotate" and "Notify". - :vartype type: str or ~key_vault_client.models.ActionType + :vartype type: str or ~azure.keyvault.v7_5.models.ActionType """ _attribute_map = { @@ -1520,7 +1520,7 @@ def __init__(self, *, type: Optional[Union[str, "_models.ActionType"]] = None, * """ :keyword type: The type of the action. The value should be compared case-insensitively. Known values are: "Rotate" and "Notify". - :paramtype type: str or ~key_vault_client.models.ActionType + :paramtype type: str or ~azure.keyvault.v7_5.models.ActionType """ super().__init__(**kwargs) self.type = type @@ -1529,7 +1529,7 @@ def __init__(self, *, type: Optional[Union[str, "_models.ActionType"]] = None, * class RandomBytes(_serialization.Model): """The get random bytes response object containing the bytes. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar value: The bytes encoded as a base64url string. Required. :vartype value: bytes diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_challenge_auth_policy.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_challenge_auth_policy.py index 3c2ef95e3176..6fc8f7892ac8 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_challenge_auth_policy.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/async_challenge_auth_policy.py @@ -14,6 +14,7 @@ protocol again. """ +from copy import deepcopy import time from typing import Any, Optional from urllib.parse import urlparse @@ -22,6 +23,7 @@ from azure.core.credentials_async import AsyncTokenCredential from azure.core.pipeline import PipelineRequest, PipelineResponse from azure.core.pipeline.policies import AsyncBearerTokenCredentialPolicy +from azure.core.rest import HttpRequest from . import http_challenge_cache as ChallengeCache from .challenge_auth_policy import _enforce_tls, _update_challenge @@ -39,6 +41,7 @@ def __init__(self, credential: AsyncTokenCredential, *scopes: str, **kwargs: Any self._credential = credential self._token: Optional[AccessToken] = None self._verify_challenge_resource = kwargs.pop("verify_challenge_resource", True) + self._request_copy: Optional[HttpRequest] = None async def on_request(self, request: PipelineRequest) -> None: _enforce_tls(request) @@ -60,12 +63,17 @@ async def on_request(self, request: PipelineRequest) -> None: # else: discover authentication information by eliciting a challenge from Key Vault. Remove any request data, # saving it for later. Key Vault will reject the request as unauthorized and respond with a challenge. - # on_challenge will parse that challenge, reattach any body removed here, authorize the request, and tell - # super to send it again. - if request.http_request.body: - request.context["key_vault_request_data"] = request.http_request.body - request.http_request.set_json_body(None) - request.http_request.headers["Content-Length"] = "0" + # on_challenge will parse that challenge, use the original request including the body, authorize the + # request, and tell super to send it again. + if request.http_request.content: + self._request_copy = request.http_request + bodiless_request = HttpRequest( + method=request.http_request.method, + url=request.http_request.url, + headers=deepcopy(request.http_request.headers), + ) + bodiless_request.headers["Content-Length"] = "0" + request.http_request = bodiless_request async def on_challenge(self, request: PipelineRequest, response: PipelineResponse) -> bool: @@ -89,8 +97,9 @@ async def on_challenge(self, request: PipelineRequest, response: PipelineRespons "See https://aka.ms/azsdk/blog/vault-uri for more information." ) - body = request.context.pop("key_vault_request_data", None) - request.http_request.set_text_body(body) # no-op when text is None + # If we had created a request copy in on_request, use it now to send along the original body content + if self._request_copy: + request.http_request = self._request_copy # The tenant parsed from AD FS challenges is "adfs"; we don't actually need a tenant for AD FS authentication # For AD FS we skip cross-tenant authentication per https://github.com/Azure/azure-sdk-for-python/issues/28648 diff --git a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/challenge_auth_policy.py b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/challenge_auth_policy.py index 7cd10de68a86..41ed3fe794b8 100644 --- a/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/challenge_auth_policy.py +++ b/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_shared/challenge_auth_policy.py @@ -14,6 +14,7 @@ protocol again. """ +from copy import deepcopy import time from typing import Any, Optional from urllib.parse import urlparse @@ -22,6 +23,7 @@ from azure.core.exceptions import ServiceRequestError from azure.core.pipeline import PipelineRequest, PipelineResponse from azure.core.pipeline.policies import BearerTokenCredentialPolicy +from azure.core.rest import HttpRequest from .http_challenge import HttpChallenge from . import http_challenge_cache as ChallengeCache @@ -68,6 +70,7 @@ def __init__(self, credential: TokenCredential, *scopes: str, **kwargs: Any) -> self._credential = credential self._token: Optional[AccessToken] = None self._verify_challenge_resource = kwargs.pop("verify_challenge_resource", True) + self._request_copy: Optional[HttpRequest] = None def on_request(self, request: PipelineRequest) -> None: _enforce_tls(request) @@ -89,12 +92,17 @@ def on_request(self, request: PipelineRequest) -> None: # else: discover authentication information by eliciting a challenge from Key Vault. Remove any request data, # saving it for later. Key Vault will reject the request as unauthorized and respond with a challenge. - # on_challenge will parse that challenge, reattach any body removed here, authorize the request, and tell - # super to send it again. - if request.http_request.body: - request.context["key_vault_request_data"] = request.http_request.body - request.http_request.set_json_body(None) - request.http_request.headers["Content-Length"] = "0" + # on_challenge will parse that challenge, use the original request including the body, authorize the + # request, and tell super to send it again. + if request.http_request.content: + self._request_copy = request.http_request + bodiless_request = HttpRequest( + method=request.http_request.method, + url=request.http_request.url, + headers=deepcopy(request.http_request.headers), + ) + bodiless_request.headers["Content-Length"] = "0" + request.http_request = bodiless_request def on_challenge(self, request: PipelineRequest, response: PipelineResponse) -> bool: try: @@ -117,8 +125,9 @@ def on_challenge(self, request: PipelineRequest, response: PipelineResponse) -> "See https://aka.ms/azsdk/blog/vault-uri for more information." ) - body = request.context.pop("key_vault_request_data", None) - request.http_request.set_text_body(body) # no-op when text is None + # If we had created a request copy in on_request, use it now to send along the original body content + if self._request_copy: + request.http_request = self._request_copy # The tenant parsed from AD FS challenges is "adfs"; we don't actually need a tenant for AD FS authentication # For AD FS we skip cross-tenant authentication per https://github.com/Azure/azure-sdk-for-python/issues/28648 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 323118523b54..0be6566ce508 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 @@ -24,7 +24,7 @@ class ApiVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Key Vault API versions supported by this package""" #: this is the default version - V7_5_PREVIEW_1 = "7.5-preview.1" + V7_5 = "7.5" V7_4 = "7.4" V7_3 = "7.3" V7_2 = "7.2" @@ -33,7 +33,7 @@ class ApiVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): V2016_10_01 = "2016-10-01" -DEFAULT_VERSION = ApiVersion.V7_5_PREVIEW_1 +DEFAULT_VERSION = ApiVersion.V7_5 _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False diff --git a/sdk/keyvault/azure-keyvault-keys/setup.py b/sdk/keyvault/azure-keyvault-keys/setup.py index eb7a849b9a73..eac5b0d90870 100644 --- a/sdk/keyvault/azure-keyvault-keys/setup.py +++ b/sdk/keyvault/azure-keyvault-keys/setup.py @@ -68,8 +68,7 @@ ), python_requires=">=3.8", install_requires=[ - "azure-common~=1.1", - "azure-core<2.0.0,>=1.24.0", + "azure-core<2.0.0,>=1.29.5", "cryptography>=2.1.4", "isodate>=0.6.1", "typing-extensions>=4.0.1", diff --git a/sdk/keyvault/azure-keyvault-keys/tests/_test_case.py b/sdk/keyvault/azure-keyvault-keys/tests/_test_case.py index 940b365e1e06..d404de84f6c9 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/_test_case.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/_test_case.py @@ -13,7 +13,7 @@ from devtools_testutils import AzureRecordedTestCase -HSM_SUPPORTED_VERSIONS = {ApiVersion.V7_2, ApiVersion.V7_3, ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1} +HSM_SUPPORTED_VERSIONS = {ApiVersion.V7_2, ApiVersion.V7_3, ApiVersion.V7_4, ApiVersion.V7_5} def get_attestation_token(attestation_uri): diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth.py b/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth.py index ffa89967d1fb..92a7948c0e9d 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth.py @@ -20,8 +20,8 @@ from azure.core.exceptions import ServiceRequestError from azure.core.pipeline import Pipeline from azure.core.pipeline.policies import SansIOHTTPPolicy -from azure.core.pipeline.transport import HttpRequest -from azure.identity import ClientSecretCredential +from azure.core.rest import HttpRequest +from azure.identity import AzureCliCredential, AzurePowerShellCredential, ClientSecretCredential from azure.keyvault.keys import KeyClient from azure.keyvault.keys._shared import ChallengeAuthPolicy, HttpChallenge, HttpChallengeCache from azure.keyvault.keys._shared.client_base import DEFAULT_VERSION @@ -48,9 +48,17 @@ def test_multitenant_authentication(self, client, is_hsm, **kwargs): # we set up a client for this method to align with the async test, but we actually want to create a new client # this new client should use a credential with an initially fake tenant ID and still succeed with a real request - credential = ClientSecretCredential( - tenant_id=str(uuid4()), client_id=client_id, client_secret=client_secret, additionally_allowed_tenants="*" - ) + if os.environ.get("AZURE_TEST_USE_PWSH_AUTH") == "true": + credential = AzurePowerShellCredential(tenant_id=str(uuid4()), additionally_allowed_tenants="*") + elif os.environ.get("AZURE_TEST_USE_CLI_AUTH") == "true": + credential = AzureCliCredential(tenant_id=str(uuid4()), additionally_allowed_tenants="*") + else: + credential = ClientSecretCredential( + tenant_id=str(uuid4()), + client_id=client_id, + client_secret=client_secret, + additionally_allowed_tenants="*", + ) managed_hsm_url = kwargs.pop("managed_hsm_url", None) keyvault_url = kwargs.pop("vault_url", None) vault_url = managed_hsm_url if is_hsm else keyvault_url diff --git a/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth_async.py b/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth_async.py index f81587208c1a..baec31692be0 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth_async.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_challenge_auth_async.py @@ -17,8 +17,8 @@ from azure.core.exceptions import ServiceRequestError from azure.core.pipeline import AsyncPipeline from azure.core.pipeline.policies import SansIOHTTPPolicy -from azure.core.pipeline.transport import HttpRequest -from azure.identity.aio import ClientSecretCredential +from azure.core.rest import HttpRequest +from azure.identity.aio import AzureCliCredential, AzurePowerShellCredential, ClientSecretCredential from azure.keyvault.keys._shared import AsyncChallengeAuthPolicy,HttpChallenge, HttpChallengeCache from azure.keyvault.keys._shared.client_base import DEFAULT_VERSION from azure.keyvault.keys.aio import KeyClient @@ -49,9 +49,17 @@ async def test_multitenant_authentication(self, client, is_hsm, **kwargs): # we set up a client for this method so it gets awaited, but we actually want to create a new client # this new client should use a credential with an initially fake tenant ID and still succeed with a real request - credential = ClientSecretCredential( - tenant_id=str(uuid4()), client_id=client_id, client_secret=client_secret, additionally_allowed_tenants="*" - ) + if os.environ.get("AZURE_TEST_USE_PWSH_AUTH") == "true": + credential = AzurePowerShellCredential(tenant_id=str(uuid4()), additionally_allowed_tenants="*") + elif os.environ.get("AZURE_TEST_USE_CLI_AUTH") == "true": + credential = AzureCliCredential(tenant_id=str(uuid4()), additionally_allowed_tenants="*") + else: + credential = ClientSecretCredential( + tenant_id=str(uuid4()), + client_id=client_id, + client_secret=client_secret, + additionally_allowed_tenants="*", + ) managed_hsm_url = kwargs.pop("managed_hsm_url", None) keyvault_url = kwargs.pop("vault_url", None) vault_url = managed_hsm_url if is_hsm else keyvault_url 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 65dc3cd69867..930cb728fe5a 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_crypto_client.py @@ -49,7 +49,7 @@ all_api_versions = get_decorator() only_hsm = get_decorator(only_hsm=True) -only_vault_7_4_plus = get_decorator(only_vault=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1]) +only_vault_7_4_plus = get_decorator(only_vault=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5]) no_get = get_decorator(permissions=NO_GET) 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 79ce63f3ed4c..b96faf936416 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 @@ -37,9 +37,7 @@ all_api_versions = get_decorator(is_async=True) only_hsm = get_decorator(only_hsm=True, is_async=True) -only_vault_7_4_plus = get_decorator( - only_vault=True, is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1] -) +only_vault_7_4_plus = get_decorator(only_vault=True, is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5]) no_get = get_decorator(is_async=True, permissions=NO_GET) 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 6e7d5edcd563..3b57d5465d9b 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_key_client.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_key_client.py @@ -36,9 +36,9 @@ all_api_versions = get_decorator() only_hsm = get_decorator(only_hsm=True) -only_hsm_7_4_plus = get_decorator(only_hsm=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1]) -only_vault_7_4_plus = get_decorator(only_vault=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1]) -only_7_4_plus = get_decorator(api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1]) +only_hsm_7_4_plus = get_decorator(only_hsm=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5]) +only_vault_7_4_plus = get_decorator(only_vault=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5]) +only_7_4_plus = get_decorator(api_versions=[ApiVersion.V7_4, ApiVersion.V7_5]) logging_enabled = get_decorator(logging_enable=True) logging_disabled = get_decorator(logging_enable=False) @@ -519,7 +519,7 @@ def test_get_random_bytes(self, client, **kwargs): def test_key_release(self, client, is_hsm, **kwargs): if (self.is_live and os.environ["KEYVAULT_SKU"] != "premium"): pytest.skip("This test is not supported on standard SKU vaults. Follow up with service team") - if is_hsm and client.api_version == ApiVersion.V7_5_PREVIEW_1: + if is_hsm and client.api_version == ApiVersion.V7_5: pytest.skip("Currently failing on 7.5-preview.1; skipping for now") set_bodiless_matcher() @@ -547,7 +547,7 @@ def test_key_release(self, client, is_hsm, **kwargs): @KeysClientPreparer() @recorded_by_proxy def test_imported_key_release(self, client, **kwargs): - if client.api_version == ApiVersion.V7_5_PREVIEW_1: + if client.api_version == ApiVersion.V7_5: pytest.skip("Currently failing on 7.5-preview.1; skipping for now") set_bodiless_matcher() @@ -572,7 +572,7 @@ def test_imported_key_release(self, client, **kwargs): def test_update_release_policy(self, client, **kwargs): if (self.is_live and os.environ["KEYVAULT_SKU"] != "premium"): pytest.skip("This test is not supported on standard SKU vaults. Follow up with service team") - if client.api_version == ApiVersion.V7_5_PREVIEW_1: + if client.api_version == ApiVersion.V7_5: pytest.skip("Currently failing on 7.5-preview.1; skipping for now") set_bodiless_matcher() 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 d80770b64c51..b29fd650381c 100644 --- a/sdk/keyvault/azure-keyvault-keys/tests/test_keys_async.py +++ b/sdk/keyvault/azure-keyvault-keys/tests/test_keys_async.py @@ -37,12 +37,12 @@ all_api_versions = get_decorator(is_async=True) only_hsm = get_decorator(only_hsm=True, is_async=True) only_hsm_7_4_plus = get_decorator( - only_hsm=True, is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1] + only_hsm=True, is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5] ) only_vault_7_4_plus = get_decorator( - only_vault=True, is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1] + only_vault=True, is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5] ) -only_7_4_plus = get_decorator(is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5_PREVIEW_1]) +only_7_4_plus = get_decorator(is_async=True, api_versions=[ApiVersion.V7_4, ApiVersion.V7_5]) logging_enabled = get_decorator(is_async=True, logging_enable=True) logging_disabled = get_decorator(is_async=True, logging_enable=False) @@ -525,7 +525,7 @@ async def test_get_random_bytes(self, client, **kwargs): async def test_key_release(self, client, is_hsm, **kwargs): if (self.is_live and os.environ["KEYVAULT_SKU"] != "premium"): pytest.skip("This test is not supported on standard SKU vaults. Follow up with service team") - if is_hsm and client.api_version == ApiVersion.V7_5_PREVIEW_1: + if is_hsm and client.api_version == ApiVersion.V7_5: pytest.skip("Currently failing on 7.5-preview.1; skipping for now") set_bodiless_matcher() @@ -554,7 +554,7 @@ async def test_key_release(self, client, is_hsm, **kwargs): @AsyncKeysClientPreparer() @recorded_by_proxy_async async def test_imported_key_release(self, client, **kwargs): - if client.api_version == ApiVersion.V7_5_PREVIEW_1: + if client.api_version == ApiVersion.V7_5: pytest.skip("Currently failing on 7.5-preview.1; skipping for now") set_bodiless_matcher() @@ -580,7 +580,7 @@ async def test_imported_key_release(self, client, **kwargs): async def test_update_release_policy(self, client, **kwargs): if (self.is_live and os.environ["KEYVAULT_SKU"] != "premium"): pytest.skip("This test is not supported on standard SKU vaults. Follow up with service team") - if client.api_version == ApiVersion.V7_5_PREVIEW_1: + if client.api_version == ApiVersion.V7_5: pytest.skip("Currently failing on 7.5-preview.1; skipping for now") set_bodiless_matcher()