Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
237c7e2
Configurations: 'specification/keyvault/KeyVault.Management/tspconfi…
azure-sdk Oct 21, 2025
a999888
update changelog
msyyc Oct 21, 2025
310b2b5
update changelog
msyyc Oct 21, 2025
12227ee
add customized code with easy way
msyyc Oct 21, 2025
5c5aed6
update testcases
ChenxiJiang333 Oct 21, 2025
d9bc043
update
msyyc Oct 22, 2025
6e09d1d
customize
msyyc Oct 22, 2025
7d05915
update test case for customization
msyyc Oct 22, 2025
ea6b48d
remove outdated test
msyyc Oct 22, 2025
b485b16
update test case for customization
msyyc Oct 22, 2025
b19e5fa
update testcases
ChenxiJiang333 Oct 22, 2025
5f5ce69
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python …
msyyc Oct 29, 2025
0c5090a
Configurations: 'specification/keyvault/KeyVault.Management/tspconfi…
azure-sdk Oct 29, 2025
b577be0
add customized code back after regeneration
msyyc Oct 29, 2025
17315e4
Update CHANGELOG.md
msyyc Nov 11, 2025
fdc42b4
Merge branch 'main' into sdkauto/azure-mgmt-keyvault-5479988
msyyc Nov 13, 2025
79b61c5
regeneration
msyyc Nov 13, 2025
5cf56be
customize
msyyc Nov 13, 2025
57b83f6
add tests and fix backcompat functions
Nov 17, 2025
5ab9969
add changelog
Nov 17, 2025
7e9e659
lint and run black
Nov 18, 2025
96f0302
run black
Nov 18, 2025
4db5a19
add get_old_attribute
Nov 18, 2025
00dc33d
Merge branch 'main' into sdkauto/azure-mgmt-keyvault-5479988
msyyc Dec 1, 2025
f21e2d1
add test case
msyyc Dec 1, 2025
ba0a62a
Merge branch 'main' into sdkauto/azure-mgmt-keyvault-5479988
msyyc Dec 3, 2025
65a68b8
Merge branch 'fix_backcompat_padding' of https://github.com/iscai-msf…
msyyc Dec 3, 2025
b542030
update test case
msyyc Dec 3, 2025
77f629d
update test case
msyyc Dec 3, 2025
2e0a793
update
msyyc Dec 3, 2025
b223bbc
switch to get_backcompat_attr_name
Dec 4, 2025
a7df72e
fix ci
msyyc Dec 4, 2025
f12b2b3
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python …
msyyc Dec 4, 2025
16793a8
format
msyyc Dec 4, 2025
bb2196e
Merge branch 'main' into fix_backcompat_padding
iscai-msft Dec 4, 2025
ccba443
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python …
msyyc Dec 5, 2025
7dd9542
Merge branch 'fix_backcompat_padding' of https://github.com/iscai-msf…
msyyc Dec 5, 2025
14df027
regeneration
msyyc Dec 5, 2025
6755029
merge
msyyc Dec 10, 2025
64b9eda
Configurations: 'specification/keyvault/KeyVault.Management/tspconfi…
azure-sdk Dec 10, 2025
5c31833
Update CHANGELOG.md
msyyc Dec 11, 2025
6feb1d5
Configurations: 'specification/keyvault/KeyVault.Management/tspconfi…
azure-sdk Dec 11, 2025
5db4b20
update patch and changelog
ChenxiJiang333 Dec 11, 2025
fe4c3a2
Update CHANGELOG.md
msyyc Dec 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions sdk/keyvault/azure-mgmt-keyvault/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# Release History

## 13.0.0 (2025-12-11)

### Features Added

- Client `KeyVaultManagementClient` added method `send_request`
- Model `DeletedManagedHsm` added property `system_data`
- Model `DeletedVault` added property `system_data`
- Model `Key` added property `properties`
- Model `Key` added property `system_data`
- Model `MHSMPrivateEndpointConnectionItem` added property `properties`
- Model `ManagedHsmKey` added property `properties`
- Model `ManagedHsmKey` added property `system_data`
- Model `Operation` added property `operation_properties`
- Model `Permissions` added property `keys_property`
- Model `PrivateEndpointConnection` added property `system_data`
- Model `PrivateEndpointConnectionItem` added property `properties`
- Model `PrivateLinkResource` added property `system_data`
- Model `Resource` added property `system_data`
- Model `Secret` added property `system_data`
- Model `VaultCheckNameAvailabilityParameters` added property `type`
- Added model `CloudError`
- Added model `OperationProperties`
- Added model `TrackedResource`

### Breaking Changes

- This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration.
- Model `Key` moved instance variable `attributes`, `kty`, `key_ops`, `key_size`, `curve_name`, `key_uri`, `key_uri_with_version`, `rotation_policy` and `release_policy` under property `properties`
- Model `MHSMPrivateEndpointConnectionItem` moved instance variable `private_endpoint`, `private_link_service_connection_state` and `provisioning_state` under property `properties`
- Model `ManagedHsmKey` moved instance variable `attributes`, `kty`, `key_ops`, `key_size`, `curve_name`, `key_uri`, `key_uri_with_version`, `rotation_policy` and `release_policy` under property `properties`
- Model `Operation` moved instance variable `service_specification` under property `operation_properties`
- Model `PrivateEndpointConnectionItem` moved instance variable `private_endpoint`, `private_link_service_connection_state` and `provisioning_state` under property `properties`
- Model `Permissions` renamed its instance variable `keys` to `keys_property`
- Model `Resource` deleted or renamed its instance variable `location`
- Model `Resource` deleted or renamed its instance variable `tags`
- Renamed model `ProxyResourceWithoutSystemData` to `ProxyResource`

## 12.1.1 (2025-10-09)

### Bugs Fixed
Expand Down
12 changes: 4 additions & 8 deletions sdk/keyvault/azure-mgmt-keyvault/_metadata.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
{
"commit": "520e1f6bc250b4ce51a22eaa7583cc0b24564b71",
"apiVersion": "2025-05-01",
"commit": "74db5e79837425a7723e81bca0b7576ab725c186",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest": "3.10.2",
"use": [
"@autorest/python@6.40.0",
"@autorest/modelerfour@4.27.0"
],
"autorest_command": "autorest specification/keyvault/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --package-mode=azure-mgmt --python --python-sdks-folder=/mnt/vss/_work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.40.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False",
"readme": "specification/keyvault/resource-manager/readme.md"
"typespec_src": "specification/keyvault/KeyVault.Management",
"emitterVersion": "0.55.0"
}
437 changes: 216 additions & 221 deletions sdk/keyvault/azure-mgmt-keyvault/apiview-properties.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wrong-import-position
Expand All @@ -12,7 +12,7 @@
if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._key_vault_management_client import KeyVaultManagementClient # type: ignore
from ._client import KeyVaultManagementClient # type: ignore
from ._version import VERSION

__version__ = VERSION
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

Expand All @@ -17,7 +17,6 @@
from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy
from azure.mgmt.core.tools import get_arm_endpoints

from . import models as _models
from ._configuration import KeyVaultManagementClientConfiguration
from ._utils.serialization import Deserializer, Serializer
from .operations import (
Expand All @@ -43,43 +42,42 @@ class KeyVaultManagementClient: # pylint: disable=too-many-instance-attributes
"""The Azure management API provides a RESTful set of web services that interact with Azure Key
Vault.

:ivar keys: KeysOperations operations
:vartype keys: azure.mgmt.keyvault.operations.KeysOperations
:ivar managed_hsm_keys: ManagedHsmKeysOperations operations
:vartype managed_hsm_keys: azure.mgmt.keyvault.operations.ManagedHsmKeysOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.keyvault.operations.Operations
:ivar vaults: VaultsOperations operations
:vartype vaults: azure.mgmt.keyvault.operations.VaultsOperations
:ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations
:vartype private_endpoint_connections:
azure.mgmt.keyvault.operations.PrivateEndpointConnectionsOperations
:ivar private_link_resources: PrivateLinkResourcesOperations operations
:vartype private_link_resources: azure.mgmt.keyvault.operations.PrivateLinkResourcesOperations
:ivar managed_hsms: ManagedHsmsOperations operations
:vartype managed_hsms: azure.mgmt.keyvault.operations.ManagedHsmsOperations
:ivar mhsm_private_endpoint_connections: MHSMPrivateEndpointConnectionsOperations operations
:vartype mhsm_private_endpoint_connections:
azure.mgmt.keyvault.operations.MHSMPrivateEndpointConnectionsOperations
:ivar secrets: SecretsOperations operations
:vartype secrets: azure.mgmt.keyvault.operations.SecretsOperations
:ivar keys: KeysOperations operations
:vartype keys: azure.mgmt.keyvault.operations.KeysOperations
:ivar managed_hsm_keys: ManagedHsmKeysOperations operations
:vartype managed_hsm_keys: azure.mgmt.keyvault.operations.ManagedHsmKeysOperations
:ivar private_link_resources: PrivateLinkResourcesOperations operations
:vartype private_link_resources: azure.mgmt.keyvault.operations.PrivateLinkResourcesOperations
:ivar mhsm_private_link_resources: MHSMPrivateLinkResourcesOperations operations
:vartype mhsm_private_link_resources:
azure.mgmt.keyvault.operations.MHSMPrivateLinkResourcesOperations
:ivar mhsm_regions: MHSMRegionsOperations operations
:vartype mhsm_regions: azure.mgmt.keyvault.operations.MHSMRegionsOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.keyvault.operations.Operations
:ivar secrets: SecretsOperations operations
:vartype secrets: azure.mgmt.keyvault.operations.SecretsOperations
:param credential: Credential needed for the client to connect to Azure. Required.
:ivar mhsm_private_endpoint_connections: MHSMPrivateEndpointConnectionsOperations operations
:vartype mhsm_private_endpoint_connections:
azure.mgmt.keyvault.operations.MHSMPrivateEndpointConnectionsOperations
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: Subscription credentials which uniquely identify Microsoft Azure
subscription. The subscription ID forms part of the URI for every service call. Required.
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
:param base_url: Service URL. Default value is None.
:param base_url: Service host. Default value is None.
:type base_url: str
:keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: Api Version. Default value is "2025-05-01". Note that overriding this
default value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Default value is "2025-05-01".
Note that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
Expand All @@ -94,6 +92,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
_endpoint = "{endpoint}"
_cloud = cloud_setting or settings.current.azure_cloud # type: ignore
_endpoints = get_arm_endpoints(_cloud)
if not base_url:
Expand All @@ -102,6 +101,7 @@ def __init__(
self._config = KeyVaultManagementClientConfiguration(
credential=credential,
subscription_id=subscription_id,
base_url=cast(str, base_url),
cloud_setting=cloud_setting,
credential_scopes=credential_scopes,
**kwargs
Expand All @@ -125,39 +125,38 @@ def __init__(
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
self._config.http_logging_policy,
]
self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, base_url), policies=_policies, **kwargs)
self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, _endpoint), policies=_policies, **kwargs)

client_models = {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 = Serializer()
self._deserialize = Deserializer()
self._serialize.client_side_validation = False
self.keys = KeysOperations(self._client, self._config, self._serialize, self._deserialize)
self.managed_hsm_keys = ManagedHsmKeysOperations(self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.vaults = VaultsOperations(self._client, self._config, self._serialize, self._deserialize)
self.private_endpoint_connections = PrivateEndpointConnectionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.private_link_resources = PrivateLinkResourcesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.managed_hsms = ManagedHsmsOperations(self._client, self._config, self._serialize, self._deserialize)
self.mhsm_private_endpoint_connections = MHSMPrivateEndpointConnectionsOperations(
self.secrets = SecretsOperations(self._client, self._config, self._serialize, self._deserialize)
self.keys = KeysOperations(self._client, self._config, self._serialize, self._deserialize)
self.managed_hsm_keys = ManagedHsmKeysOperations(self._client, self._config, self._serialize, self._deserialize)
self.private_link_resources = PrivateLinkResourcesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.mhsm_private_link_resources = MHSMPrivateLinkResourcesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.mhsm_regions = MHSMRegionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.secrets = SecretsOperations(self._client, self._config, self._serialize, self._deserialize)
self.mhsm_private_endpoint_connections = MHSMPrivateEndpointConnectionsOperations(
self._client, self._config, self._serialize, self._deserialize
)

def _send_request(self, request: HttpRequest, *, stream: bool = False, **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/")
<HttpRequest [GET], url: 'https://www.example.org/'>
>>> response = client._send_request(request)
>>> response = client.send_request(request)
<HttpResponse: 200 OK>

For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request
Expand All @@ -170,7 +169,11 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
"""

request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
path_format_arguments = {
"endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True),
}

request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments)
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore

def close(self) -> None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

Expand All @@ -24,23 +24,25 @@ class KeyVaultManagementClientConfiguration: # pylint: disable=too-many-instanc
Note that all parameters used to create this instance are saved as instance
attributes.

:param credential: Credential needed for the client to connect to Azure. Required.
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: Subscription credentials which uniquely identify Microsoft Azure
subscription. The subscription ID forms part of the URI for every service call. Required.
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
:param base_url: Service host. Default value is "https://management.azure.com".
:type base_url: str
:param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: Api Version. Default value is "2025-05-01". Note that overriding this
default value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Default value is "2025-05-01".
Note that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
"""

def __init__(
self,
credential: "TokenCredential",
subscription_id: str,
base_url: str = "https://management.azure.com",
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
Expand All @@ -53,6 +55,7 @@ def __init__(

self.credential = credential
self.subscription_id = subscription_id
self.base_url = base_url
self.cloud_setting = cloud_setting
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize
"""
from typing import List

__all__: List[str] = [] # Add all objects you want publicly available to users at this package level

__all__: list[str] = [] # Add all objects you want publicly available to users at this package level


def patch_sdk():
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
Loading
Loading