Skip to content

Commit fc82782

Browse files
authored
[Key Vault] Support 7.5 API version in Secrets (#34230)
1 parent 71288ca commit fc82782

24 files changed

+657
-703
lines changed

sdk/keyvault/azure-keyvault-secrets/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## 4.8.0b3 (Unreleased)
44

55
### Features Added
6+
- Added support for service API version `7.5`
67

78
### Breaking Changes
89

@@ -12,6 +13,8 @@
1213
- Python 3.7 is no longer supported. Please use Python version 3.8 or later.
1314
- `asyncio` is no longer directly referenced by the library
1415
([#33819](https://github.com/Azure/azure-sdk-for-python/pull/33819))
16+
- Updated minimum `azure-core` version to 1.29.5
17+
- Dropped `azure-common` requirement
1518

1619
## 4.8.0b2 (2023-11-03)
1720

sdk/keyvault/azure-keyvault-secrets/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "python",
44
"TagPrefix": "python/keyvault/azure-keyvault-secrets",
5-
"Tag": "python/keyvault/azure-keyvault-secrets_cecaeadbda"
5+
"Tag": "python/keyvault/azure-keyvault-secrets_e959803e9e"
66
}

sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_generated/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
88

9-
from ._key_vault_client import KeyVaultClient
9+
from ._client import KeyVaultClient
1010

1111
try:
1212
from ._patch import __all__ as _patch_all
Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,59 @@
1010
from typing import Any
1111

1212
from azure.core import PipelineClient
13+
from azure.core.pipeline import policies
1314
from azure.core.rest import HttpRequest, HttpResponse
1415

1516
from . import models as _models
1617
from ._configuration import KeyVaultClientConfiguration
18+
from ._operations import KeyVaultClientOperationsMixin
1719
from ._serialization import Deserializer, Serializer
18-
from .operations import KeyVaultClientOperationsMixin
1920

2021

2122
class KeyVaultClient(KeyVaultClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword
2223
"""The key vault client performs cryptographic key operations and vault operations against the Key
2324
Vault service.
2425
25-
:keyword api_version: Api Version. Default value is "7.5-preview.1". Note that overriding this
26-
default value may result in unsupported behavior.
26+
:keyword api_version: Api Version. Default value is "7.5". Note that overriding this default
27+
value may result in unsupported behavior.
2728
:paramtype api_version: str
2829
"""
2930

3031
def __init__(self, **kwargs: Any) -> None: # pylint: disable=missing-client-constructor-parameter-credential
3132
_endpoint = "{vaultBaseUrl}"
3233
self._config = KeyVaultClientConfiguration(**kwargs)
33-
self._client: PipelineClient = PipelineClient(base_url=_endpoint, config=self._config, **kwargs)
34-
35-
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
34+
_policies = kwargs.pop("policies", None)
35+
if _policies is None:
36+
_policies = [
37+
policies.RequestIdPolicy(**kwargs),
38+
self._config.headers_policy,
39+
self._config.user_agent_policy,
40+
self._config.proxy_policy,
41+
policies.ContentDecodePolicy(**kwargs),
42+
self._config.redirect_policy,
43+
self._config.retry_policy,
44+
self._config.authentication_policy,
45+
self._config.custom_hook_policy,
46+
self._config.logging_policy,
47+
policies.DistributedTracingPolicy(**kwargs),
48+
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
49+
self._config.http_logging_policy,
50+
]
51+
self._client: PipelineClient = PipelineClient(base_url=_endpoint, policies=_policies, **kwargs)
52+
53+
client_models = {k: v for k, v in _models._models.__dict__.items() if isinstance(v, type)}
54+
client_models.update({k: v for k, v in _models.__dict__.items() if isinstance(v, type)})
3655
self._serialize = Serializer(client_models)
3756
self._deserialize = Deserializer(client_models)
3857
self._serialize.client_side_validation = False
3958

40-
def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
59+
def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
4160
"""Runs the network request through the client's chained policies.
4261
4362
>>> from azure.core.rest import HttpRequest
4463
>>> request = HttpRequest("GET", "https://www.example.org/")
4564
<HttpRequest [GET], url: 'https://www.example.org/'>
46-
>>> response = client._send_request(request)
65+
>>> response = client.send_request(request)
4766
<HttpResponse: 200 OK>
4867
4968
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:
5776

5877
request_copy = deepcopy(request)
5978
request_copy.url = self._client.format_url(request_copy.url)
60-
return self._client.send_request(request_copy, **kwargs)
79+
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
6180

6281
def close(self) -> None:
6382
self._client.close()

sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_generated/_configuration.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,28 @@
88

99
from typing import Any
1010

11-
from azure.core.configuration import Configuration
1211
from azure.core.pipeline import policies
1312

1413
VERSION = "unknown"
1514

1615

17-
class KeyVaultClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
16+
class KeyVaultClientConfiguration: # pylint: disable=too-many-instance-attributes
1817
"""Configuration for KeyVaultClient.
1918
2019
Note that all parameters used to create this instance are saved as instance
2120
attributes.
2221
23-
:keyword api_version: Api Version. Default value is "7.5-preview.1". Note that overriding this
24-
default value may result in unsupported behavior.
22+
:keyword api_version: Api Version. Default value is "7.5". Note that overriding this default
23+
value may result in unsupported behavior.
2524
:paramtype api_version: str
2625
"""
2726

2827
def __init__(self, **kwargs: Any) -> None:
29-
super(KeyVaultClientConfiguration, self).__init__(**kwargs)
30-
api_version: str = kwargs.pop("api_version", "7.5-preview.1")
28+
api_version: str = kwargs.pop("api_version", "7.5")
3129

3230
self.api_version = api_version
3331
kwargs.setdefault("sdk_moniker", "keyvault/{}".format(VERSION))
32+
self.polling_interval = kwargs.get("polling_interval", 30)
3433
self._configure(**kwargs)
3534

3635
def _configure(self, **kwargs: Any) -> None:
@@ -39,7 +38,7 @@ def _configure(self, **kwargs: Any) -> None:
3938
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
4039
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
4140
self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs)
42-
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
4341
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
4442
self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
43+
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
4544
self.authentication_policy = kwargs.get("authentication_policy")

sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_generated/operations/__init__.py renamed to sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_generated/_operations/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
88

9-
from ._key_vault_client_operations import KeyVaultClientOperationsMixin
9+
from ._operations import KeyVaultClientOperationsMixin
1010

1111
from ._patch import __all__ as _patch_all
1212
from ._patch import * # pylint: disable=unused-wildcard-import

0 commit comments

Comments
 (0)