Skip to content

[AutoPR azure-mgmt-containerregistry]-generated-from-SDK Generation - Python-5777145#44775

Open
azure-sdk wants to merge 15 commits intoAzure:mainfrom
azure-sdk:sdkauto/azure-mgmt-containerregistry-5777145
Open

[AutoPR azure-mgmt-containerregistry]-generated-from-SDK Generation - Python-5777145#44775
azure-sdk wants to merge 15 commits intoAzure:mainfrom
azure-sdk:sdkauto/azure-mgmt-containerregistry-5777145

Conversation

@azure-sdk
Copy link
Collaborator

@azure-sdk azure-sdk commented Jan 21, 2026

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

…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.
- 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`
Copy link
Member

Choose a reason for hiding this comment

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

@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

Copy link

@CodeJourneys CodeJourneys Jan 23, 2026

Choose a reason for hiding this comment

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

@msyyc - Could you confirm expected structure given the azure-mgmt-containerregistry split in this PR and the corresponding tasks PR?

Copy link
Member

Choose a reason for hiding this comment

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

@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.

@CodeJourneys
Copy link

CodeJourneys commented Jan 27, 2026

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?

@msyyc
Copy link
Member

msyyc commented Jan 28, 2026

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 RE: Convert multiapi SDK "azure-mgmt-containerregistry" to singleapi

@CodeJourneys CodeJourneys marked this pull request as ready for review February 2, 2026 17:42
Copilot AI review requested due to automatic review settings February 2, 2026 17:42
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 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 _operations wiring 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 ProvisioningState refers 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"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants