[AutoPR azure-mgmt-containerregistry]-generated-from-SDK Generation - Python-5777145#44775
[AutoPR azure-mgmt-containerregistry]-generated-from-SDK Generation - Python-5777145#44775azure-sdk wants to merge 15 commits intoAzure:mainfrom
Conversation
…rosoft.ContainerRegistry/Registry/tspconfig.yaml', API Version: 2025-11-01, SDK Release Type: stable, and CommitSHA: 'eb320d1d85f5b46c3cfe6cf60a1f0de4ef3b01d9' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5777145 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
…rosoft.ContainerRegistry/Registry/tspconfig.yaml', API Version: 2025-11-01, SDK Release Type: stable, and CommitSHA: '9e837dc0b9ac5fa4a798367b6560336cb7ca28d3' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5783027 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
| - Model `ConnectedRegistryUpdateParameters` deleted or renamed its instance variable `garbage_collection` | ||
| - Model `CredentialSetUpdateParameters` deleted or renamed its instance variable `auth_credentials` | ||
| - Model `OperationDefinition` deleted or renamed its instance variable `service_specification` | ||
| - Model `RegistryUpdateParameters` deleted or renamed its instance variable `admin_user_enabled` |
There was a problem hiding this comment.
@CodeJourneys Are these unflattened changes expected?
In the newly generated SDK, RegistryUpdateParameters has a nested structure:
class RegistryUpdateParameters:
properties: RegistryPropertiesUpdateParameters # Nested
identity: IdentityProperties
tags: dict[str, str]
sku: Sku
However, the current SDK uses flattened properties where all update parameters inherit directly from RegistryPropertiesUpdateParameters: https://github.com/azure-sdk/azure-sdk-for-python/blob/main/sdk/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/models/_models_py3.py#L4728C1-L4729C1
This structural change would require changes on cli side when consuming the new SDK
There was a problem hiding this comment.
@msyyc - Could you confirm expected structure given the azure-mgmt-containerregistry split in this PR and the corresponding tasks PR?
There was a problem hiding this comment.
@lizMSFT I get your concern. Yeah, there is structure change since we release from Typespec which introduces new model type. But SDK team have also designed black magic to keep compatible with existing SDK models so we expect there is actually no runtime behavior change for these models.
NOTE: If needed, SDK team could prepare private package before public release for CLI team in advance so that CLI team could have more time to take the adoption work.
|
Reviewed with @lizMSFT, and it looks like this SDK release (both registry and registrytasks) is single API. As far as I'm aware, past SDK releases for container registry have been multi-api. @msyyc - Could you help us understand if any updates are needed to continue supporting multi-API until the consolidation work is finished? |
Let us discuss about it in e-mail |
There was a problem hiding this comment.
Pull request overview
This PR updates azure-mgmt-containerregistry to a new Python code generator and the 2025-11-01 API version, introducing a new client shape, consolidated operations, and updated models/enums to match the latest service surface. It also bumps the package to 15.0.0 with documented breaking changes and improves serialization safety.
Changes:
- Switches from AutoRest to the new Python code generator, including new
_client,_configuration, and consolidated_operationswiring for both sync and async clients. - Updates the models and enums surface (
_models,_enums,models/__init__.py) to the 2025-11-01 API, adding new property-bag models and removing older task/agent-related types and enums. - Refactors core serialization utilities to avoid
eval, updates versioning/metadata to 15.0.0 + 2025-11-01, and refreshes changelog and package metadata accordingly.
Reviewed changes
Copilot reviewed 38 out of 201 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
azure/mgmt/containerregistry/operations/__init__.py |
Rewires operations exports to use consolidated _operations and updates generator banner. |
azure/mgmt/containerregistry/models/_patch.py |
Modernizes __all__ typing to PEP 585 style. |
azure/mgmt/containerregistry/models/_enums.py |
Updates/streamlines enums for new API version and adds ContainerRegistryResourceType; adjusts several enum docstrings. |
azure/mgmt/containerregistry/models/__init__.py |
Switches to new _models module and refreshes exported models/enums to match new API surface. |
azure/mgmt/containerregistry/aio/operations/_tokens_operations.py |
Removes per-operation async tokens client in favor of consolidated _operations. |
azure/mgmt/containerregistry/aio/operations/_tasks_operations.py |
Removes per-operation async tasks client. |
azure/mgmt/containerregistry/aio/operations/_task_runs_operations.py |
Removes per-operation async task-runs client. |
azure/mgmt/containerregistry/aio/operations/_scope_maps_operations.py |
Removes per-operation async scope-maps client. |
azure/mgmt/containerregistry/aio/operations/_runs_operations.py |
Removes per-operation async runs client. |
azure/mgmt/containerregistry/aio/operations/_replications_operations.py |
Removes per-operation async replications client. |
azure/mgmt/containerregistry/aio/operations/_private_endpoint_connections_operations.py |
Removes per-operation async private-endpoint-connections client. |
azure/mgmt/containerregistry/aio/operations/_patch.py |
Modernizes __all__ typing in async operations patch module. |
azure/mgmt/containerregistry/aio/operations/_credential_sets_operations.py |
Removes per-operation async credential-sets client. |
azure/mgmt/containerregistry/aio/operations/_cache_rules_operations.py |
Removes per-operation async cache-rules client. |
azure/mgmt/containerregistry/aio/operations/__init__.py |
Rewires async operations exports to use consolidated _operations and updates generator banner. |
azure/mgmt/containerregistry/aio/_patch.py |
Modernizes __all__ typing for async package patching. |
azure/mgmt/containerregistry/aio/_configuration.py |
Introduces new async configuration with base_url and api_version handling and updated docs. |
azure/mgmt/containerregistry/aio/_client.py |
Introduces new async client implementation with send_request, endpoint templating, and updated operation wiring. |
azure/mgmt/containerregistry/aio/__init__.py |
Points async package entry to new _client and updates generator banner. |
azure/mgmt/containerregistry/_version.py |
Bumps package version to 15.0.0 and updates generator banner. |
azure/mgmt/containerregistry/_utils/serialization.py |
Replaces eval-based basic-type (de)serialization with explicit, safer logic and clearer error messages. |
azure/mgmt/containerregistry/_utils/__init__.py |
Updates generator banner. |
azure/mgmt/containerregistry/_patch.py |
Modernizes __all__ typing for sync package patching. |
azure/mgmt/containerregistry/_configuration.py |
Introduces new sync configuration with base_url and api_version handling and updated docs. |
azure/mgmt/containerregistry/_client.py |
Introduces new sync client implementation with send_request, endpoint templating, and updated operation wiring. |
azure/mgmt/containerregistry/__init__.py |
Points sync package entry to new _client and updates generator banner. |
sdk/containerregistry/azure-mgmt-containerregistry/_metadata.json |
Updates metadata for new API version, commit, and Typespec emitter info. |
sdk/containerregistry/azure-mgmt-containerregistry/CHANGELOG.md |
Adds 15.0.0 entry with listed new features and breaking changes. |
Comments suppressed due to low confidence (1)
sdk/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/models/_enums.py:181
- The updated docstring for
ProvisioningStaterefers to "the archive", which doesn't match how this enum is used across the Container Registry management surface (it represents the provisioning state of various resources like registries, replications, etc.). Consider rephrasing to a resource-agnostic description such as "The provisioning state of the resource at the time the operation was called." to avoid confusion for consumers.
class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The provisioning state of the archive at the time the operation was called."""
CREATING = "Creating"
UPDATING = "Updating"
DELETING = "Deleting"
SUCCEEDED = "Succeeded"
FAILED = "Failed"
CANCELED = "Canceled"
Configurations: 'specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/tspconfig.yaml', API Version: 2025-11-01, SDK Release Type: stable, and CommitSHA: 'eb320d1d85f5b46c3cfe6cf60a1f0de4ef3b01d9' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5777145 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. Release plan link: https://web.powerapps.com/apps/821ab569-ae60-420d-8264-d7b5d5ef734c?release-plan-id=1857cf38-61f6-f011-8406-000d3a5c46b0 Submitted by: clarkporter@microsoft.com
Release Plan Details
Spec pull request: fix(containerregistry): added preview version decorator to properties incorrectly flagged as stable azure-rest-api-specs#39455
Spec API version: 2025-11-01