Skip to content

[AutoPR azure-keyvault-certificates]-generated-from-SDK Generation - Python-5985841#45607

Closed
azure-sdk wants to merge 3 commits intoAzure:mainfrom
azure-sdk:sdkauto/azure-keyvault-certificates-5985841
Closed

[AutoPR azure-keyvault-certificates]-generated-from-SDK Generation - Python-5985841#45607
azure-sdk wants to merge 3 commits intoAzure:mainfrom
azure-sdk:sdkauto/azure-keyvault-certificates-5985841

Conversation

@azure-sdk
Copy link
Collaborator

@azure-sdk azure-sdk commented Mar 10, 2026

Configurations: 'specification/keyvault/Security.KeyVault.Certificates/tspconfig.yaml', API Version: 2025-07-01, SDK Release Type: stable, and CommitSHA: '48e2c462287288d03adad21e682404d90375462e' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5985841 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

4.11.0 (2026-03-10)

Features Added

  • Added uris property to SubjectAlternativeNames for URI alternative names
  • Added ip_addresses property to SubjectAlternativeNames for IP address alternative names

…s/tspconfig.yaml', API Version: 2025-07-01, SDK Release Type: stable, and CommitSHA: '48e2c462287288d03adad21e682404d90375462e' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5985841 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
@rohitsinghal4u rohitsinghal4u marked this pull request as ready for review March 10, 2026 20:21
@rohitsinghal4u rohitsinghal4u requested a review from a team as a code owner March 10, 2026 20:21
Copilot AI review requested due to automatic review settings March 10, 2026 20:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR appears to be an automated TypeSpec/codegen refresh for azure-keyvault-certificates targeting Key Vault Certificates spec API version 2025-07-01, along with packaging and generated-model updates.

Changes:

  • Updates codegen inputs/metadata (tsp-location.yaml, _metadata.json) to the new swagger commit and API version.
  • Refactors packaging/versioning to come from azure.keyvault.certificates._generated, moves py.typed handling, and bumps azure-core minimum version.
  • Updates generated client/models (including adding SAN URI/IP address support) and adjusts generated plumbing (serialization/model base, operations paging/types).

Reviewed changes

Copilot reviewed 71 out of 71 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
sdk/keyvault/azure-keyvault-certificates/tsp-location.yaml Updates spec repo commit and additional directories reference.
sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py Adds pylint suppression header; minor formatting change.
sdk/keyvault/azure-keyvault-certificates/tests/certs.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/setup.py Switches version source to _generated; adjusts package discovery and package data; bumps azure-core min.
sdk/keyvault/azure-keyvault-certificates/sdk_packaging.toml Removes packaging config file (moved to pyproject.toml).
sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/parse_certificate_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/parse_certificate.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/issuers_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/issuers.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/import_certificate_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/import_certificate.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/contacts_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/contacts.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations.py Adds pylint suppression header.
sdk/keyvault/azure-keyvault-certificates/pyproject.toml Adds [packaging] auto_update = false config.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/py.typed Removes top-level py.typed marker (moved under _generated).
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/_polling_async.py Removes legacy handwritten async polling implementation.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/_client.py Removes legacy handwritten async CertificateClient.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/init.py Removes legacy aio package init/export.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_version.py Removes legacy version constant.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/http_challenge_cache.py Removes legacy challenge cache implementation.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/http_challenge.py Removes legacy challenge parsing implementation.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/client_base.py Removes legacy base client/versioning utilities.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/challenge_auth_policy.py Removes legacy sync challenge auth policy.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_client_base.py Removes legacy async base client.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_challenge_auth_policy.py Removes legacy async challenge auth policy.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/_polling_async.py Removes legacy async delete/recover polling.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/_polling.py Removes legacy sync polling helpers.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/init.py Removes legacy shared exports/utilities (incl. parse helpers).
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_sdk_moniker.py Removes legacy SDK moniker composition.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_polling.py Removes legacy create-certificate polling method.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_enums.py Removes legacy public enums module.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_client.py Removes legacy handwritten sync CertificateClient and API surface.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/init.py Replaces public API exports with namespace-package stub.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/init.py Simplifies to namespace-package stub.
sdk/keyvault/azure-keyvault-certificates/azure/init.py Simplifies to namespace-package stub.
sdk/keyvault/azure-keyvault-certificates/apiview-properties.json Adds APIView cross-language mapping metadata.
sdk/keyvault/azure-keyvault-certificates/_metadata.json Adds codegen metadata (apiVersion, commit, emitterVersion, etc.).
sdk/keyvault/azure-keyvault-certificates/MANIFEST.in Updates included py.typed path and includes certificates __init__.py.
sdk/keyvault/azure-keyvault-certificates/CHANGELOG.md Adds 4.11.0 header but with non-release-note content.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/models/_patch.py Updates typing for __all__ in generated patch module.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/models/_models.py Updates typing annotations; adds SAN URI/IP support; doc tweaks.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/models/_enums.py Docstring punctuation changes (and retains a typo).
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_vendor.py Removes generated vendor typing mixin.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_patch.py Updates typing for __all__ in aio patch module.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_operations/_patch.py Updates typing for __all__ in aio operations patch module.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_operations/_operations.py Updates generated aio operations (paging return types, failsafe deserialize, stream decompress option).
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_operations/init.py Renames operations mixin symbol; changes exports handling.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_configuration.py Updates api_version default/docstring to 2025-07-01.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_client.py Updates aio client to use renamed mixin and updated api_version docstring.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_version.py Bumps generated version to 4.11.0.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_vendor.py Removes generated vendor typing mixin.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_utils/serialization.py Updates typing + removes eval usage; refines serialization/deserialization internals.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_utils/model_base.py Significant generated model runtime changes (array-encoded formats, failsafe deserialize signature, caching mutable values).
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_patch.py Updates typing for __all__ in generated patch module.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_operations/_patch.py Updates typing for __all__ in generated operations patch module.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_operations/init.py Renames operations mixin symbol; changes exports handling.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_configuration.py Updates api_version default/docstring to 2025-07-01.
sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_client.py Updates sync client to use renamed mixin and updated api_version docstring.

Comment on lines 54 to 61
packages=find_packages(
exclude=[
"samples",
"tests",
# Exclude packages that will be covered by PEP420 or nspkg
"azure",
"azure.keyvault",
"azure.keyvault.certificates",
]
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In find_packages(exclude=...), excluding azure.keyvault.certificates will prevent the package azure.keyvault.certificates (and potentially its subpackages) from being included in the wheel, which will break imports like azure.keyvault.certificates._generated. Other Key Vault track-2 packages only exclude azure and azure.keyvault. Consider removing azure.keyvault.certificates from the exclude list (or using an explicit include pattern instead).

Copilot uses AI. Check for mistakes.

from ._version import VERSION
__version__ = VERSION
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This __init__.py change removes all public exports (CertificateClient, models/enums, ApiVersion, __version__, etc.) and leaves only a namespace package stub. That is a breaking change for azure-keyvault-certificates and will also break this package’s own tests/samples that import azure.keyvault.certificates.CertificateClient. If the intent is to move implementation under _generated, please re-export the public surface here (or provide compatibility wrappers) to preserve the existing API.

Suggested change
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
from ._client import CertificateClient
from . import _models
from . import _enums
from ._version import VERSION
__all__ = ["CertificateClient"]
__all__ += _models.__all__
__all__ += _enums.__all__
__version__ = VERSION

Copilot uses AI. Check for mistakes.
Comment on lines +5 to 8
skip changelog generation for data-plane package and please add changelog manually.

## 4.10.1 (Unreleased)

Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 4.11.0 section contains an internal instruction (“skip changelog generation…”) and doesn’t list the actual user-facing changes mentioned in the PR description (e.g., SAN uris / ip_addresses). Please replace this with real release notes, and ensure the “(Unreleased)” section is bumped to the next version as per repo conventions.

Suggested change
skip changelog generation for data-plane package and please add changelog manually.
## 4.10.1 (Unreleased)
### Features Added
- Added support for specifying subject alternative names (SANs) as `uris` and `ip_addresses` when creating certificates.
### Breaking Changes
### Bugs Fixed
### Other Changes
## 4.11.1 (Unreleased)

Copilot uses AI. Check for mistakes.
Comment on lines +1465 to +1472
uniform_resource_identifiers: Optional[list[str]] = rest_field(
name="uris", visibility=["read", "create", "update", "delete", "query"]
)
"""Uniform Resource Identifiers."""
ip_addresses: Optional[list[str]] = rest_field(
name="ipAddresses", visibility=["read", "create", "update", "delete", "query"]
)
"""IP addresses; supports IPv4 and IPv6."""
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new SubjectAlternativeNames field is exposed as uniform_resource_identifiers (mapped to REST name uris), but the PR description/release notes call out an added uris property. If this is intended to be a public model property, the Python attribute name should likely be uris for consistency with the service field name and the existing SAN naming pattern (dns_names, ip_addresses, etc.). Consider renaming the attribute to uris (with appropriate compatibility if needed).

Copilot uses AI. Check for mistakes.
Comment on lines +37 to +42
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"""
System wil permanently delete it after 90 days, if not recovered."""
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docstring typo: “System wil permanently delete…” should be “System will permanently delete…”. Since these lines were modified, it would be good to fix the spelling while touching the docstring.

Copilot uses AI. Check for mistakes.
Comment on lines +4 to +5
additionalDirectories:
- specification/keyvault/Security.KeyVault.Common
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other Key Vault packages’ tsp-location.yaml entries for additionalDirectories include a trailing slash (e.g., .../Security.KeyVault.Common/). Dropping the slash and changing formatting here may cause path resolution differences in tooling. Consider keeping the same convention as the other Key Vault packages for consistency.

Copilot uses AI. Check for mistakes.
@@ -1,3 +1,4 @@
# pylint: disable=line-too-long,useless-suppression
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# pylint: disable=... includes useless-suppression, which disables pylint’s check that suppression directives are actually needed. Since line-too-long is already being suppressed for this file, consider dropping useless-suppression and keeping only the targeted disable(s).

Copilot uses AI. Check for mistakes.
rohitsinghal4u pushed a commit that referenced this pull request Mar 12, 2026
…1.0, fix tsp-location.yaml

- Rename Python attribute uniform_resource_identifiers -> uris in SubjectAlternativeNames model
  (matches REST field name, consistent with other SAN fields like dns_names, ip_addresses)
- Bump package version 4.10.1 -> 4.11.0 (new feature, minor version bump)
- Update CHANGELOG with proper release notes for 4.11.0
- Fix tsp-location.yaml: add trailing slash to Security.KeyVault.Common path
- Add _metadata.json and apiview-properties.json from generator output
- Update tsp-location.yaml commit SHA to spec PR merge commit

Addresses Copilot review feedback on PR #45607
@rohitsinghal4u
Copy link

Superseded by #45654 which fixes post-generation issues. Closing this PR.

@github-project-automation github-project-automation bot moved this from Untriaged to Done in Azure SDK for Key Vault Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants