Skip to content

[Python] TypeSpec migration for azure-mgmt-containerinstance#47197

Draft
msyyc wants to merge 4 commits into
Azure:mainfrom
msyyc:sdk-azure-mgmt-containerinstance
Draft

[Python] TypeSpec migration for azure-mgmt-containerinstance#47197
msyyc wants to merge 4 commits into
Azure:mainfrom
msyyc:sdk-azure-mgmt-containerinstance

Conversation

@msyyc
Copy link
Copy Markdown
Member

@msyyc msyyc commented May 28, 2026

TypeSpec migration: azure-mgmt-containerinstance

Spec source

Breaking-change classification summary

Category Count Action
Multi-level flattening removal (Rule 11) 4 models (ContainerGroup, ContainerGroupProperties, InitContainerDefinition, NGroupPatch) ACCEPT
Pageable wrapper removal (Rule 8) ListResultContainerGroup, NGroupsSkusList, return-type changes on ContainerGroupsOperations.list / list_by_resource_group ACCEPT
Internal flattening helper removal (Rule 11/7) ListResultContainerGroupProperties ACCEPT
Unreferenced model removal (Rule 7) NGroupSkus (no corresponding model in new SDK; operation surface removed) ACCEPT
Parameter moved to keyword-only (Rule 9) ContainersOperations.list_logs parameters tail, timestamps ACCEPT
Enum removed but recoverable ContainerGroupProvisioningState MITIGATE

Mitigations applied (in spec PR #43583)

  • @@access(ContainerGroupProvisioningState, Access.public, "python"); added to client.tsp — restores the ContainerGroupProvisioningState enum on the Python public surface (it already existed in models.tsp but was only exposed for C#).

Accepted breaking changes that will remain

These are the standard, documented outcomes of the Swagger -> TypeSpec migration for ARM Python SDKs:

  • ContainerGroup, ContainerGroupProperties, InitContainerDefinition, NGroupPatch: flattened sub-properties are no longer hoisted onto the top-level model. Users must now access them via the new .properties sub-object (REST hierarchy preservation, hybrid_model_migration guide).
  • Pageable wrapper models removed (ListResultContainerGroup, ListResultContainerGroupProperties, NGroupsSkusList); list operations now return ItemPaged[ContainerGroup] etc. directly.
  • NGroupSkus model removed (no equivalent model in the migrated surface).
  • ContainersOperations.list_logs: tail and timestamps are now keyword-only parameters.

After spec PR #43583 merges, regenerate the SDK to confirm ContainerGroupProvisioningState is restored and remaining changes match this report.

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.

1 participant