[AutoPR Azure.ResourceManager.TrafficManager]-generated-from-SDK Generation - .NET-6353134 - #59451
Conversation
…oft.Network/TrafficManager/tspconfig.yaml', API Version: 2024-04-01-preview, SDK Release Type: beta, and CommitSHA: 'ca0784fe187196aedbb4e71056746cbdfcc8106b' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6353134 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
There was a problem hiding this comment.
Pull request overview
This PR is an auto-generated update for Azure.ResourceManager.TrafficManager from the azure-rest-api-specs TypeSpec config, moving the library to API version 2024-04-01-preview and refreshing generated management-plane code accordingly.
Changes:
- Bump generated Traffic Manager management API version defaults to
2024-04-01-preview(including metadata + docstrings). - Update generated REST operation signatures to use
GuidforsubscriptionIdand update most generated call sites accordingly. - Add new profile property support for
recordTypeviaTrafficManagerRecordTypeand surface it through model factory / serialization.
Reviewed changes
Copilot reviewed 2 out of 30 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/tsp-location.yaml | Updates spec repo commit reference used for generation. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/TrafficManagerUserMetricsResource.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/TrafficManagerProfileResource.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/TrafficManagerProfileData.cs | Adds RecordType property surface to the profile model. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/TrafficManagerProfileCollection.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/TrafficManagerHeatMapResource.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/TrafficManagerHeatMapCollection.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/TrafficManagerGeographicHierarchyResource.cs | Updates default API version. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/RestOperations/TrafficManagerUserMetricsKeysRestOperations.cs | Changes REST request builders to accept Guid subscriptionId. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/RestOperations/ProfilesRestOperations.cs | Changes REST request builders to accept Guid subscriptionId. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/RestOperations/HeatMapRestOperations.cs | Changes REST request builders to accept Guid subscriptionId. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/RestOperations/EndpointsRestOperations.cs | Changes REST request builders to accept Guid subscriptionId. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/NestedEndpointTrafficManagerEndpointResource.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/NestedEndpointTrafficManagerEndpointCollection.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/Models/TrafficManagerRecordType.cs | Introduces new model type for profile recordType. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/Models/ProfileProperties.Serialization.cs | Adds JSON read/write support for recordType. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/Models/ProfileProperties.cs | Adds RecordType property to profile properties model. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/ExternalEndpointTrafficManagerEndpointResource.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/ExternalEndpointTrafficManagerEndpointCollection.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/AzureEndpointTrafficManagerEndpointResource.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/AzureEndpointTrafficManagerEndpointCollection.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/Extensions/MockableTrafficManagerTenantResource.cs | Updates default API version for mocking extensions. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/Extensions/MockableTrafficManagerSubscriptionResource.cs | Updates default API version and switches subscriptionId calls to Guid.Parse(...). |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/Extensions/MockableTrafficManagerResourceGroupResource.cs | Updates default API version in XML docs. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/CollectionResults/ProfilesGetBySubscriptionCollectionResultOfT.cs | Changes subscriptionId storage/ctor from string to Guid. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/CollectionResults/ProfilesGetBySubscriptionAsyncCollectionResultOfT.cs | Changes subscriptionId storage/ctor from string to Guid. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/CollectionResults/ProfilesGetByResourceGroupCollectionResultOfT.cs | Changes subscriptionId storage/ctor from string to Guid. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/CollectionResults/ProfilesGetByResourceGroupAsyncCollectionResultOfT.cs | Changes subscriptionId storage/ctor from string to Guid. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/ArmTrafficManagerModelFactory.cs | Adds recordType to the mock model factory method signature and wiring. |
| sdk/trafficmanager/Azure.ResourceManager.TrafficManager/metadata.json | Updates declared RP API version to 2024-04-01-preview. |
There was a problem hiding this comment.
Management SDK Review Summary
- Scope:
Azure.ResourceManager.TrafficManager(1.2.0-beta.2) - Versioning: ✅ Pass — version is
1.2.0-beta.2,ApiCompatVersionis1.1.3(present and unchanged), no major version bump - API surface: ❌ Fail — 1 blocking violation (see below)
- Contextual naming: evaluated 9 new public types, flagged 0 — all type names carry clear
TrafficManagerdomain context - ApiCompat / breaking changes: ⏳ CI checks are still in progress — cannot confirm pass/fail yet
- Migration-specific checks: N/A (this PR is a TypeSpec-based SDK refresh, not a Swagger→TypeSpec migration)
[BOOL001] TrafficManagerDeleteOperationResult.OperationResult — blocking
File: sdk/trafficmanager/Azure.ResourceManager.TrafficManager/api/Azure.ResourceManager.TrafficManager.net10.0.cs
public bool? OperationResult { get { throw null; } }The property OperationResult is of type bool? but does not start with a required verb prefix (Is, Can, Has, Does, Should, Allow, Enable, Disable, Use, Support). This violates the Azure SDK .NET naming guidelines for boolean properties.
Required fix: Rename to IsSuccessful (or similar — e.g., IsDeleted) by adding a @@clientName`` decorator in client.tsp for the TypeSpec-defined property:
@`@clientName`(DeleteOperationResult.operationResult, "IsSuccessful", "csharp");Or, if the property is not directly accessible in the service TypeSpec, add a customization via [CodeGenType] in src/Customization/.
New public types evaluated (contextual-naming pass)
| Type | Verdict |
|---|---|
AzureEndpointTrafficManagerEndpointCollection |
OK |
AzureEndpointTrafficManagerEndpointResource |
OK |
AzureResourceManagerTrafficManagerContext |
OK |
ExternalEndpointTrafficManagerEndpointCollection |
OK |
ExternalEndpointTrafficManagerEndpointResource |
OK |
NestedEndpointTrafficManagerEndpointCollection |
OK |
NestedEndpointTrafficManagerEndpointResource |
OK |
TrafficManagerDeleteOperationResult |
OK (type name OK; property naming violation flagged above) |
TrafficManagerEndpointType |
OK |
All 9 new types have sufficient TrafficManager-domain context in their names.
i️ CI is still in progress at the time of this review. Please verify CI results once available.
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/26639654216
There was a problem hiding this comment.
Management SDK Review Summary
- Scope:
Azure.ResourceManager.TrafficManager(1.2.0-beta.2) - Versioning: ✅ Pass —
ApiCompatVersion: 1.1.3present; version bump is a valid beta increment; noApiCompatBaseline.txtchanges - API surface (scanner): ✅ Pass — 0 new naming violations (13 pre-existing baseline violations filtered out)
- Contextual naming: Evaluated 10 new public types, flagged 0 — all carry
TrafficManagerprefix; no contextual naming concerns - ApiCompat / breaking changes:
⚠️ CI in progress — cannot confirm build/ApiCompat results yet. Three existing review comments (from prior automated review) flagGuid subscriptionIdvsstringmismatches in customization call sites (TrafficManagerProfileResource.cs,TrafficManagerEndpointCollection.cs,TrafficManagerUserMetricsResource.cs) which will cause build failures; please resolve those as well. - Migration-specific checks: N/A (incremental TypeSpec regeneration, not Swagger→TypeSpec migration)
Summary: One blocking issue found:
The PR adds a new GetTrafficManagerUserMetric (singular) accessor alongside the previously-shipped GetTrafficManagerUserMetrics (plural). Per SDK guidelines, both names must not be exposed simultaneously — rename the generated method back to the previously shipped GetTrafficManagerUserMetrics via a @@clientName`` decorator in client.tsp. See inline comment for details.
Note: The existing unresolved inline comments about
Guid subscriptionId/stringmismatches in customization code are still relevant and must be addressed before merge.
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/26652022830
There was a problem hiding this comment.
Management SDK Review Summary
- Scope:
Azure.ResourceManager.TrafficManager(1.2.0-beta.2, API version 2024-04-01-preview) - Versioning: Pass —
ApiCompatVersionpresent (1.1.3), no major bump, no new ApiCompatBaseline entries - API surface: Pass — scanner found no violations after baseline filtering
- Contextual naming: Evaluated 10 new public types, flagged 0
AzureEndpointTrafficManagerEndpointCollection/Resource✅ExternalEndpointTrafficManagerEndpointCollection/Resource✅NestedEndpointTrafficManagerEndpointCollection/Resource✅AzureResourceManagerTrafficManagerContext✅TrafficManagerDeleteOperationResult✅TrafficManagerEndpointType✅TrafficManagerRecordType✅
- ApiCompat / breaking changes: CI still in progress — no failures to report yet; no breaking changes detected vs stable 1.1.3 baseline (all changed types were introduced in the beta)
- Migration-specific checks: Not applicable (already TypeSpec-based; only commit SHA updated in
tsp-location.yaml)
Summary:
No blocking management SDK review issues found. One non-blocking note posted inline:
-
TrafficManagerUserMetricsResource.cscontains two TODO comments acknowledging incorrect customization patterns (tracked in #59410). Please resolve before releasing 1.2.0-beta.2. The[CodeGenType("TrafficManagerUserMetricResource")]attribute should be replaced with a@@clientName`` decorator inclient.tsp. -
The
CHANGELOG.md1.2.0-beta.2 (Unreleased)section is empty; please add entries for the newTrafficManagerRecordTypeenum andRecordTypeproperty onTrafficManagerProfileDatabefore release.
Previous review comments from @copilot-pull-request-reviewer regarding subscriptionId: string → Guid type mismatches in customization call sites appear to be resolved in this revision (all call sites now use Guid.Parse(Id.SubscriptionId)).
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/26659615408
Arthur Ma (ArthurMa1978)
left a comment
There was a problem hiding this comment.
Please update CHANGELOG.md:
- Update the Unreleased section in with your expected release date. Use the date format yyyy-mm-dd (for example, 2026-06-01).
Add one line under the Features Added section: "- Updated the api-version to 2024-04-01-preview."
Remove the empty sections: Breaking Changes, Bugs Fixed, Other Changes
There was a problem hiding this comment.
Management SDK Review Summary
- Scope:
Azure.ResourceManager.TrafficManager(1.2.0-beta.2, TypeSpec-generated) - Versioning: ✅ Pass — version is beta,
ApiCompatVersionis present (1.1.3), no major version bump, noApiCompatBaseline.txtentries added - API surface (automated scanner): ✅ Pass — 13 naming warnings found, all 13 present in the 1.1.3 baseline and therefore out of scope for this review
- Contextual naming: Evaluated 10 new public types, flagged 0
AzureEndpointTrafficManagerEndpointCollection/Resource— OKExternalEndpointTrafficManagerEndpointCollection/Resource— OKNestedEndpointTrafficManagerEndpointCollection/Resource— OKAzureResourceManagerTrafficManagerContext— OK (serialization context, internal-ish)TrafficManagerDeleteOperationResult— OKTrafficManagerEndpointType— OKTrafficManagerRecordType— OK
- ApiCompat / breaking changes: CI is still in progress at time of review; no ApiCompat baseline entries were added for this package
- Migration-specific checks: PR adds
tsp-location.yamlandmetadata.json, confirming TypeSpec migration. All prior review threads (Guid/string mismatch, API baseline, method duplication, incorrectCodeGenTypecustomization pattern) are resolved.
No blocking management SDK review issues found. Once CI completes clean, this PR looks good from the management SDK review perspective.
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/26827514347
Dismissed because Azure .NET Management SDK PR Review found no blocking issues on newer commit e41b7c8.
…eManager.TrafficManager-6353134 # Conflicts: # sdk/trafficmanager/Azure.ResourceManager.TrafficManager/api/Azure.ResourceManager.TrafficManager.net10.0.cs # sdk/trafficmanager/Azure.ResourceManager.TrafficManager/api/Azure.ResourceManager.TrafficManager.net8.0.cs # sdk/trafficmanager/Azure.ResourceManager.TrafficManager/api/Azure.ResourceManager.TrafficManager.netstandard2.0.cs # sdk/trafficmanager/Azure.ResourceManager.TrafficManager/src/Generated/ArmTrafficManagerModelFactory.cs
There was a problem hiding this comment.
Management SDK Review Summary
- Scope:
Azure.ResourceManager.TrafficManager(v1.2.0-beta.2, api-version 2024-04-01-preview) - Versioning: ✅ Pass — version is
1.2.0-beta.2(no major version bump),ApiCompatVersionis present (1.1.3), noApiCompatBaseline.txtchanges - API surface: ✅ Pass — automated naming scanner found 0 violations (13 baseline violations correctly filtered out)
- Contextual naming: Evaluated 10 new public types, flagged 0
- ApiCompat / breaking changes: ⏳ CI checks still in progress — no breaking changes visible from API diff (no types removed, no signatures changed from
1.1.3baseline) - Migration-specific checks:
tsp-location.yamlpresent (TypeSpec migration); noautorest.mddeletion detected (.bakpresent); generated code insrc/Generated/appears to be generator output, not hand-edited
New public types (all OK)
| Type | Verdict |
|---|---|
AzureEndpointTrafficManagerEndpointCollection |
✅ OK — endpoint-type-specific split of the endpoint collection, clearly prefixed |
AzureEndpointTrafficManagerEndpointResource |
✅ OK |
AzureResourceManagerTrafficManagerContext |
✅ OK — AOT ModelReaderWriterContext type, internal ctor |
ExternalEndpointTrafficManagerEndpointCollection |
✅ OK |
ExternalEndpointTrafficManagerEndpointResource |
✅ OK |
NestedEndpointTrafficManagerEndpointCollection |
✅ OK |
NestedEndpointTrafficManagerEndpointResource |
✅ OK |
TrafficManagerDeleteOperationResult |
✅ OK — delete result model, correctly TrafficManager-prefixed |
TrafficManagerEndpointType |
✅ OK — enum for Azure/External/Nested endpoint types |
TrafficManagerRecordType |
✅ OK — DNS record type enum (A, AAAA, CNAME), correctly prefixed |
New API surface on existing types
TrafficManagerProfileData.RecordType(TrafficManagerRecordType?) — new property from 2024-04-01-preview spec, name is clear and well-typed. ✅ OK
No blocking management SDK review issues found.
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/26886310286
Dismissed because Azure .NET Management SDK PR Review found no blocking issues on newer commit 8cc6601.
There was a problem hiding this comment.
Management SDK Review Summary
- Scope:
Azure.ResourceManager.TrafficManager(v1.2.0-beta.2, API version 2024-04-01-preview) - Versioning: ✅ Pass — no major version bump;
ApiCompatVersion=1.1.3present and unchanged. - API surface: ✅ Pass — naming scanner found 13 warnings, all filtered as pre-existing baseline (unchanged from v1.1.3). Zero new violations.
- Contextual naming: evaluated 10 new public types, flagged 0
AzureEndpointTrafficManagerEndpointCollection/Resource✅ExternalEndpointTrafficManagerEndpointCollection/Resource✅NestedEndpointTrafficManagerEndpointCollection/Resource✅AzureResourceManagerTrafficManagerContext✅TrafficManagerDeleteOperationResult✅TrafficManagerEndpointType✅TrafficManagerRecordType✅
- ApiCompat / breaking changes: ⏳ CI still in progress — cannot confirm yet. Baseline is v1.1.3.
- Migration-specific checks: N/A
No blocking management SDK review issues found. All previously raised review threads are resolved. CI results are pending and should be verified once the build completes.
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/26896325894
Upgraded Azure.Core and Azure.ResourceManager dependencies.
…ration - .NET-6353134 (Azure#59451)
Configurations: 'specification/trafficmanager/resource-manager/Microsoft.Network/TrafficManager/tspconfig.yaml', API Version: 2024-04-01-preview, SDK Release Type: beta, and CommitSHA: 'ca0784fe187196aedbb4e71056746cbdfcc8106b' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6353134 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://azsdk-releaseplan-dashboard-hveph5aqhhcfhtgu.westus-01.azurewebsites.net/?releaseplan=2251 Submitted by: ranjanasinha@microsoft.com
Release Plan Details