Skip to content

Add C# client customizations for ContainerInstance mgmt SDK migration#42361

Draft
ArcturusZhang wants to merge 6 commits intoAzure:mainfrom
ArcturusZhang:containerinstance-csharp-mgmt-migration
Draft

Add C# client customizations for ContainerInstance mgmt SDK migration#42361
ArcturusZhang wants to merge 6 commits intoAzure:mainfrom
ArcturusZhang:containerinstance-csharp-mgmt-migration

Conversation

@ArcturusZhang
Copy link
Copy Markdown
Member

TypeSpec for ContainerInstance Management - C# SDK Migration

Adding TypeSpec project for ContainerInstance management plane, converted from Swagger via @autorest/openapi-to-typespec v0.11.13, with C# client customizations for backward compatibility during SDK migration to the new @azure-typespec/http-client-csharp-mgmt emitter.

What's included

  • TypeSpec project at specification/containerinstance/ContainerInstance.Management/
  • main.tsp, models.tsp, ContainerGroup.tsp, ContainerGroupProfile.tsp, NGroup.tsp, routes.tsp
  • client.tsp — ~80+ C# @@clientName / @@alternateType / @@access decorators for backward compatibility
  • back-compatible.tsp@@Legacy.flattenProperty, @@Legacy.hierarchyBuilding, @@clientLocation decorators
  • tspconfig.yaml with @azure-typespec/http-client-csharp-mgmt emitter configured
  • Stable/preview swagger outputs and examples

Related SDK PR

ArcturusZhang and others added 4 commits April 10, 2026 16:31
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rators

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- DnsNameLabelReusePolicy → AutoGeneratedDomainNameLabelScope
- Enum casing: TCP→Tcp, UDP→Udp, Noreuse→NoReuse
- Property renames: AddressType, IP, OSType, IPAddressType, etc.
- Uri/ResourceIdentifier alternateType: VaultBaseUri, IdentityUri, ResourceId
- Probe property renames: InitialDelayInSeconds, PeriodInSeconds, TimeoutInSeconds

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 14, 2026

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ The required check named TypeSpec Validation has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide


Comment generated by summarize-checks workflow run.

@github-actions github-actions bot added the TypeSpec Authored with TypeSpec label Apr 14, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 14, 2026

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
TypeSpec Microsoft.ContainerInstance
Python azure-mgmt-containerinstance
Swagger Microsoft.ContainerInstance-ContainerInstance
Go sdk/resourcemanager/containerinstance/armcontainerinstance
JavaScript @azure/arm-containerinstance
Java com.azure.resourcemanager:azure-resourcemanager-containerinstance

- Move client.tsp/back-compatible.tsp changes from ContainerInstance.Management/
  to resource-manager/Microsoft.ContainerInstance/ContainerInstance/
- Remove incorrect ContainerInstance.Management/ directory
- Fix ContainerGroupProfile/NGroup: TrackedResourceWithOptionalLocation → ProxyResource
  with explicit location?/tags? properties for TrackedResourceData inheritance
- Add emitter entry to tspconfig.yaml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Restore @@clientLocation decorators for ContainerGroupProfiles ops with 'csharp' scope
  (needed so C# generator routes CRUD ops to the correct resource, not the CGProfile interface)
- Use ArmTagsProperty spread instead of inline tags for ContainerGroupProfile and NGroup
- Add doc comment for location property

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant