Skip to content

[Key Vault] Test generation for apiview-properties #42207

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion sdk/keyvault/azure-keyvault-keys/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
include *.md
include LICENSE
include azure/keyvault/keys/py.typed
include azure/keyvault/keys/_generated/py.typed
recursive-include tests *.py
recursive-include samples *.py *.md
include azure/__init__.py
include azure/keyvault/__init__.py
include azure/keyvault/keys/__init__.py
3 changes: 3 additions & 0 deletions sdk/keyvault/azure-keyvault-keys/_metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"apiVersion": "2025-06-01-preview"
}
92 changes: 92 additions & 0 deletions sdk/keyvault/azure-keyvault-keys/apiview-properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"CrossLanguagePackageId": "KeyVault",
"CrossLanguageDefinitionId": {
"azure.keyvault.keys._generated.models.BackupKeyResult": "KeyVault.BackupKeyResult",
"azure.keyvault.keys._generated.models.DeletedKeyBundle": "KeyVault.DeletedKeyBundle",
"azure.keyvault.keys._generated.models.DeletedKeyItem": "KeyVault.DeletedKeyItem",
"azure.keyvault.keys._generated.models.GetRandomBytesRequest": "KeyVault.GetRandomBytesRequest",
"azure.keyvault.keys._generated.models.JsonWebKey": "KeyVault.JsonWebKey",
"azure.keyvault.keys._generated.models.KeyAttestation": "KeyVault.KeyAttestation",
"azure.keyvault.keys._generated.models.KeyAttributes": "KeyVault.KeyAttributes",
"azure.keyvault.keys._generated.models.KeyBundle": "KeyVault.KeyBundle",
"azure.keyvault.keys._generated.models.KeyCreateParameters": "KeyVault.KeyCreateParameters",
"azure.keyvault.keys._generated.models.KeyImportParameters": "KeyVault.KeyImportParameters",
"azure.keyvault.keys._generated.models.KeyItem": "KeyVault.KeyItem",
"azure.keyvault.keys._generated.models.KeyOperationResult": "KeyVault.KeyOperationResult",
"azure.keyvault.keys._generated.models.KeyOperationsParameters": "KeyVault.KeyOperationsParameters",
"azure.keyvault.keys._generated.models.KeyReleaseParameters": "KeyVault.KeyReleaseParameters",
"azure.keyvault.keys._generated.models.KeyReleasePolicy": "KeyVault.KeyReleasePolicy",
"azure.keyvault.keys._generated.models.KeyReleaseResult": "KeyVault.KeyReleaseResult",
"azure.keyvault.keys._generated.models.KeyRestoreParameters": "KeyVault.KeyRestoreParameters",
"azure.keyvault.keys._generated.models.KeyRotationPolicy": "KeyVault.KeyRotationPolicy",
"azure.keyvault.keys._generated.models.KeyRotationPolicyAttributes": "KeyVault.KeyRotationPolicyAttributes",
"azure.keyvault.keys._generated.models.KeySignParameters": "KeyVault.KeySignParameters",
"azure.keyvault.keys._generated.models.KeyUpdateParameters": "KeyVault.KeyUpdateParameters",
"azure.keyvault.keys._generated.models.KeyVaultError": "KeyVaultError",
"azure.keyvault.keys._generated.models.KeyVaultErrorError": "KeyVaultError.error.anonymous",
"azure.keyvault.keys._generated.models.KeyVerifyParameters": "KeyVault.KeyVerifyParameters",
"azure.keyvault.keys._generated.models.KeyVerifyResult": "KeyVault.KeyVerifyResult",
"azure.keyvault.keys._generated.models.LifetimeActions": "KeyVault.LifetimeActions",
"azure.keyvault.keys._generated.models.LifetimeActionsTrigger": "KeyVault.LifetimeActionsTrigger",
"azure.keyvault.keys._generated.models.LifetimeActionsType": "KeyVault.LifetimeActionsType",
"azure.keyvault.keys._generated.models.RandomBytes": "KeyVault.RandomBytes",
"azure.keyvault.keys._generated.models.JsonWebKeyType": "KeyVault.JsonWebKeyType",
"azure.keyvault.keys._generated.models.JsonWebKeyCurveName": "KeyVault.JsonWebKeyCurveName",
"azure.keyvault.keys._generated.models.DeletionRecoveryLevel": "KeyVault.DeletionRecoveryLevel",
"azure.keyvault.keys._generated.models.JsonWebKeyOperation": "KeyVault.JsonWebKeyOperation",
"azure.keyvault.keys._generated.models.JsonWebKeyEncryptionAlgorithm": "KeyVault.JsonWebKeyEncryptionAlgorithm",
"azure.keyvault.keys._generated.models.JsonWebKeySignatureAlgorithm": "KeyVault.JsonWebKeySignatureAlgorithm",
"azure.keyvault.keys._generated.models.KeyEncryptionAlgorithm": "KeyVault.KeyEncryptionAlgorithm",
"azure.keyvault.keys._generated.models.KeyRotationPolicyAction": "KeyVault.KeyRotationPolicyAction",
"azure.keyvault.keys._generated.KeyVaultClient.create_key": "KeyVault.createKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.create_key": "KeyVault.createKey",
"azure.keyvault.keys._generated.KeyVaultClient.rotate_key": "KeyVault.rotateKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.rotate_key": "KeyVault.rotateKey",
"azure.keyvault.keys._generated.KeyVaultClient.import_key": "KeyVault.importKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.import_key": "KeyVault.importKey",
"azure.keyvault.keys._generated.KeyVaultClient.delete_key": "KeyVault.deleteKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.delete_key": "KeyVault.deleteKey",
"azure.keyvault.keys._generated.KeyVaultClient.update_key": "KeyVault.updateKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.update_key": "KeyVault.updateKey",
"azure.keyvault.keys._generated.KeyVaultClient.get_key": "KeyVault.getKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_key": "KeyVault.getKey",
"azure.keyvault.keys._generated.KeyVaultClient.get_key_versions": "KeyVault.getKeyVersions",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_key_versions": "KeyVault.getKeyVersions",
"azure.keyvault.keys._generated.KeyVaultClient.get_keys": "KeyVault.getKeys",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_keys": "KeyVault.getKeys",
"azure.keyvault.keys._generated.KeyVaultClient.backup_key": "KeyVault.backupKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.backup_key": "KeyVault.backupKey",
"azure.keyvault.keys._generated.KeyVaultClient.restore_key": "KeyVault.restoreKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.restore_key": "KeyVault.restoreKey",
"azure.keyvault.keys._generated.KeyVaultClient.encrypt": "KeyVault.encrypt",
"azure.keyvault.keys._generated.aio.KeyVaultClient.encrypt": "KeyVault.encrypt",
"azure.keyvault.keys._generated.KeyVaultClient.decrypt": "KeyVault.decrypt",
"azure.keyvault.keys._generated.aio.KeyVaultClient.decrypt": "KeyVault.decrypt",
"azure.keyvault.keys._generated.KeyVaultClient.sign": "KeyVault.sign",
"azure.keyvault.keys._generated.aio.KeyVaultClient.sign": "KeyVault.sign",
"azure.keyvault.keys._generated.KeyVaultClient.verify": "KeyVault.verify",
"azure.keyvault.keys._generated.aio.KeyVaultClient.verify": "KeyVault.verify",
"azure.keyvault.keys._generated.KeyVaultClient.wrap_key": "KeyVault.wrapKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.wrap_key": "KeyVault.wrapKey",
"azure.keyvault.keys._generated.KeyVaultClient.unwrap_key": "KeyVault.unwrapKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.unwrap_key": "KeyVault.unwrapKey",
"azure.keyvault.keys._generated.KeyVaultClient.release": "KeyVault.release",
"azure.keyvault.keys._generated.aio.KeyVaultClient.release": "KeyVault.release",
"azure.keyvault.keys._generated.KeyVaultClient.get_deleted_keys": "KeyVault.getDeletedKeys",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_deleted_keys": "KeyVault.getDeletedKeys",
"azure.keyvault.keys._generated.KeyVaultClient.get_deleted_key": "KeyVault.getDeletedKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_deleted_key": "KeyVault.getDeletedKey",
"azure.keyvault.keys._generated.KeyVaultClient.purge_deleted_key": "KeyVault.purgeDeletedKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.purge_deleted_key": "KeyVault.purgeDeletedKey",
"azure.keyvault.keys._generated.KeyVaultClient.recover_deleted_key": "KeyVault.recoverDeletedKey",
"azure.keyvault.keys._generated.aio.KeyVaultClient.recover_deleted_key": "KeyVault.recoverDeletedKey",
"azure.keyvault.keys._generated.KeyVaultClient.get_key_rotation_policy": "KeyVault.getKeyRotationPolicy",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_key_rotation_policy": "KeyVault.getKeyRotationPolicy",
"azure.keyvault.keys._generated.KeyVaultClient.update_key_rotation_policy": "KeyVault.updateKeyRotationPolicy",
"azure.keyvault.keys._generated.aio.KeyVaultClient.update_key_rotation_policy": "KeyVault.updateKeyRotationPolicy",
"azure.keyvault.keys._generated.KeyVaultClient.get_random_bytes": "KeyVault.getRandomBytes",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_random_bytes": "KeyVault.getRandomBytes",
"azure.keyvault.keys._generated.KeyVaultClient.get_key_attestation": "KeyVault.getKeyAttestation",
"azure.keyvault.keys._generated.aio.KeyVaultClient.get_key_attestation": "KeyVault.getKeyAttestation"
}
}
34 changes: 17 additions & 17 deletions sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys/_client.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=too-many-lines
# ------------------------------------
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
Expand Down Expand Up @@ -78,12 +79,12 @@ def _get_attributes(
return None

def get_cryptography_client(
self,
key_name: str,
*,
key_version: Optional[str] = None,
**kwargs, # pylint: disable=unused-argument
) -> CryptographyClient:
self,
key_name: str,
*,
key_version: Optional[str] = None,
**kwargs, # pylint: disable=unused-argument
) -> CryptographyClient:
"""Gets a :class:`~azure.keyvault.keys.crypto.CryptographyClient` for the given key.

:param str key_name: The name of the key used to perform cryptographic operations.
Expand Down Expand Up @@ -398,7 +399,9 @@ def create_oct_key(
)

@distributed_trace
def begin_delete_key(self, name: str, **kwargs: Any) -> LROPoller[DeletedKey]: # pylint:disable=bad-option-value,delete-operation-wrong-return-type
def begin_delete_key(
self, name: str, **kwargs: Any
) -> LROPoller[DeletedKey]: # pylint:disable=bad-option-value,delete-operation-wrong-return-type
"""Delete all versions of a key and its cryptographic material.

Requires keys/delete permission. When this method returns Key Vault has begun deleting the key. Deletion may
Expand Down Expand Up @@ -519,7 +522,7 @@ def list_deleted_keys(self, **kwargs: Any) -> ItemPaged[DeletedKey]:
return self._client.get_deleted_keys(
maxresults=kwargs.pop("max_page_size", None),
cls=lambda objs: [DeletedKey._from_deleted_key_item(x) for x in objs],
**kwargs
**kwargs,
)

@distributed_trace
Expand All @@ -542,7 +545,7 @@ def list_properties_of_keys(self, **kwargs: Any) -> ItemPaged[KeyProperties]:
return self._client.get_keys(
maxresults=kwargs.pop("max_page_size", None),
cls=lambda objs: [KeyProperties._from_key_item(x) for x in objs],
**kwargs
**kwargs,
)

@distributed_trace
Expand All @@ -568,7 +571,7 @@ def list_properties_of_key_versions(self, name: str, **kwargs: Any) -> ItemPaged
name,
maxresults=kwargs.pop("max_page_size", None),
cls=lambda objs: [KeyProperties._from_key_item(x) for x in objs],
**kwargs
**kwargs,
)

@distributed_trace
Expand Down Expand Up @@ -709,9 +712,7 @@ def update_key_properties(
release_policy=policy,
)

bundle = self._client.update_key(
name, key_version=version or "", parameters=parameters, **kwargs
)
bundle = self._client.update_key(name, key_version=version or "", parameters=parameters, **kwargs)
return KeyVaultKey._from_key_bundle(bundle)

@distributed_trace
Expand Down Expand Up @@ -770,8 +771,7 @@ def restore_key_backup(self, backup: bytes, **kwargs: Any) -> KeyVaultKey:
:dedent: 8
"""
bundle = self._client.restore_key(
parameters=self._models.KeyRestoreParameters(key_bundle_backup=backup),
**kwargs
parameters=self._models.KeyRestoreParameters(key_bundle_backup=backup), **kwargs
)
return KeyVaultKey._from_key_bundle(bundle)

Expand Down Expand Up @@ -877,7 +877,7 @@ def release_key(
nonce=nonce,
enc=algorithm,
),
**kwargs
**kwargs,
)
return ReleaseKeyResult(result.value)

Expand Down Expand Up @@ -988,7 +988,7 @@ def update_key_rotation_policy( # pylint: disable=unused-argument
@distributed_trace
def get_key_attestation(self, name: str, version: Optional[str] = None, **kwargs: Any) -> KeyVaultKey:
"""Get a key and its attestation blob.

This method is applicable to any key stored in Azure Key Vault Managed HSM. This operation requires the keys/get
permission.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,24 @@
from azure.core.rest import HttpRequest, HttpResponse

from ._configuration import KeyVaultClientConfiguration
from ._operations import KeyVaultClientOperationsMixin
from ._operations._operations import _KeyVaultClientOperationsMixin
from ._utils.serialization import Deserializer, Serializer

if TYPE_CHECKING:
from azure.core.credentials import TokenCredential


class KeyVaultClient(KeyVaultClientOperationsMixin):
class KeyVaultClient(_KeyVaultClientOperationsMixin):
"""The key vault client performs cryptographic key operations and vault operations against the Key
Vault service.

:param vault_base_url: Required.
:type vault_base_url: str
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials.TokenCredential
:keyword api_version: The API version to use for this operation. Default value is "7.6". 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-06-01-preview". Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
"""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,14 @@ class KeyVaultClientConfiguration: # pylint: disable=too-many-instance-attribut
:type vault_base_url: str
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials.TokenCredential
:keyword api_version: The API version to use for this operation. Default value is "7.6". 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-06-01-preview". Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
"""

def __init__(self, vault_base_url: str, credential: "TokenCredential", **kwargs: Any) -> None:
api_version: str = kwargs.pop("api_version", "7.6")
api_version: str = kwargs.pop("api_version", "2025-06-01-preview")

if vault_base_url is None:
raise ValueError("Parameter 'vault_base_url' must not be None.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,11 @@
if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._operations import KeyVaultClientOperationsMixin # type: ignore

from ._patch import __all__ as _patch_all
from ._patch import *
from ._patch import patch_sdk as _patch_sdk

__all__ = [
"KeyVaultClientOperationsMixin",
]
__all__ = []
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
Loading
Loading