Skip to content

Commit 466fae9

Browse files
authored
[KV] Regenerate, add immutable release policy property (Azure#22872)
1 parent 8774321 commit 466fae9

File tree

112 files changed

+26734
-15239
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+26734
-15239
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
### Other Changes
1212
- Python 2.7 is no longer supported. Please use Python version 3.6 or later.
13+
- Updated minimum `azure-core` version to 1.20.0
1314

1415
## 4.1.0b2 (2021-11-11)
1516

sdk/keyvault/azure-keyvault-administration/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@
6666
]
6767
),
6868
python_requires=">=3.6",
69-
install_requires=["azure-common~=1.1", "azure-core<2.0.0,>=1.15.0", "msrest>=0.6.21", "six>=1.11.0"],
69+
install_requires=["azure-common~=1.1", "azure-core<2.0.0,>=1.20.0", "msrest>=0.6.21", "six>=1.11.0"],
7070
)

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@
33
## 4.5.0b6 (Unreleased)
44

55
### Features Added
6+
- Added `immutable` keyword-only argument and property to `KeyReleasePolicy` to support immutable
7+
release policies. Once a release policy is marked as immutable, it can no longer be modified.
68

79
### Breaking Changes
10+
> These changes do not impact the API of stable versions such as 4.4.0.
11+
> Only code written against a beta version such as 4.5.0b1 may be affected.
12+
- Renamed the required argument `data` in `KeyReleasePolicy`'s constructor to
13+
`encoded_policy`
814

915
### Bugs Fixed
1016

1117
### Other Changes
1218
- Python 2.7 is no longer supported. Please use Python version 3.6 or later.
19+
- Updated minimum `azure-core` version to 1.20.0
1320

1421
## 4.5.0b5 (2021-11-11)
1522

sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_client.py

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,9 @@ def create_key(self, name, key_type, **kwargs):
130130

131131
policy = kwargs.pop("release_policy", None)
132132
if policy is not None:
133-
policy = self._models.KeyReleasePolicy(data=policy.encoded_policy, content_type=policy.content_type)
133+
policy = self._models.KeyReleasePolicy(
134+
encoded_policy=policy.encoded_policy, content_type=policy.content_type, immutable=policy.immutable
135+
)
134136
parameters = self._models.KeyCreateParameters(
135137
kty=key_type,
136138
key_size=kwargs.pop("size", None),
@@ -143,11 +145,7 @@ def create_key(self, name, key_type, **kwargs):
143145
)
144146

145147
bundle = self._client.create_key(
146-
vault_base_url=self.vault_url,
147-
key_name=name,
148-
parameters=parameters,
149-
error_map=_error_map,
150-
**kwargs
148+
vault_base_url=self.vault_url, key_name=name, parameters=parameters, error_map=_error_map, **kwargs
151149
)
152150
return KeyVaultKey._from_key_bundle(bundle)
153151

@@ -513,7 +511,10 @@ def begin_recover_deleted_key(self, name, **kwargs):
513511
)
514512
command = partial(self.get_key, name=name, **kwargs)
515513
polling_method = DeleteRecoverPollingMethod(
516-
finished=False, command=command, final_resource=recovered_key, interval=polling_interval,
514+
finished=False,
515+
command=command,
516+
final_resource=recovered_key,
517+
interval=polling_interval,
517518
)
518519

519520
return KeyVaultOperationPoller(polling_method)
@@ -559,7 +560,9 @@ def update_key_properties(self, name, version=None, **kwargs):
559560

560561
policy = kwargs.pop("release_policy", None)
561562
if policy is not None:
562-
policy = self._models.KeyReleasePolicy(content_type=policy.content_type, data=policy.encoded_policy)
563+
policy = self._models.KeyReleasePolicy(
564+
content_type=policy.content_type, encoded_policy=policy.encoded_policy, immutable=policy.immutable
565+
)
563566
parameters = self._models.KeyUpdateParameters(
564567
key_ops=kwargs.pop("key_operations", None),
565568
key_attributes=attributes,
@@ -568,12 +571,7 @@ def update_key_properties(self, name, version=None, **kwargs):
568571
)
569572

570573
bundle = self._client.update_key(
571-
self.vault_url,
572-
name,
573-
key_version=version or "",
574-
parameters=parameters,
575-
error_map=_error_map,
576-
**kwargs
574+
self.vault_url, name, key_version=version or "", parameters=parameters, error_map=_error_map, **kwargs
577575
)
578576
return KeyVaultKey._from_key_bundle(bundle)
579577

@@ -676,7 +674,9 @@ def import_key(self, name, key, **kwargs):
676674

677675
policy = kwargs.pop("release_policy", None)
678676
if policy is not None:
679-
policy = self._models.KeyReleasePolicy(content_type=policy.content_type, data=policy.encoded_policy)
677+
policy = self._models.KeyReleasePolicy(
678+
content_type=policy.content_type, encoded_policy=policy.encoded_policy, immutable=policy.immutable
679+
)
680680
parameters = self._models.KeyImportParameters(
681681
key=key._to_generated_model(),
682682
key_attributes=attributes,
@@ -685,13 +685,7 @@ def import_key(self, name, key, **kwargs):
685685
release_policy=policy,
686686
)
687687

688-
bundle = self._client.import_key(
689-
self.vault_url,
690-
name,
691-
parameters=parameters,
692-
error_map=_error_map,
693-
**kwargs
694-
)
688+
bundle = self._client.import_key(self.vault_url, name, parameters=parameters, error_map=_error_map, **kwargs)
695689
return KeyVaultKey._from_key_bundle(bundle)
696690

697691
@distributed_trace
@@ -720,7 +714,9 @@ def release_key(self, name, target_attestation_token, version=None, **kwargs):
720714
key_name=name,
721715
key_version=version or "",
722716
parameters=self._models.KeyReleaseParameters(
723-
target=target_attestation_token, nonce=kwargs.pop("nonce", None), enc=kwargs.pop("algorithm", None)
717+
target_attestation_token=target_attestation_token,
718+
nonce=kwargs.pop("nonce", None),
719+
enc=kwargs.pop("algorithm", None),
724720
),
725721
**kwargs
726722
)

sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_generated/_key_vault_client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
# pylint: disable=unused-import,ungrouped-imports
2424
from typing import Any, Optional
2525

26-
from azure.core.pipeline.transport import HttpRequest, HttpResponse
27-
2826
class _SDKClient(object):
2927
def __init__(self, *args, **kwargs):
3028
"""This is a fake class to support current implemetation of MultiApiClientMixin."

0 commit comments

Comments
 (0)