Skip to content

[Python] TypeSpec migration for azure-mgmt-cdn#46978

Closed
msyyc wants to merge 12 commits into
Azure:mainfrom
msyyc:sdk-azure-mgmt-cdn
Closed

[Python] TypeSpec migration for azure-mgmt-cdn#46978
msyyc wants to merge 12 commits into
Azure:mainfrom
msyyc:sdk-azure-mgmt-cdn

Conversation

@msyyc
Copy link
Copy Markdown
Member

@msyyc msyyc commented May 19, 2026

TypeSpec migration: azure-mgmt-cdn

Sources

Breaking change classification

Category Classification Rule Count
Property flattening removed (nested properties restored) ACCEPT 11 (Removal of multi-level flattened properties) ~180
Polymorphic certificate base/subclasses dropped (Certificate, CustomerCertificate, ManagedCertificate, AzureFirstPartyManagedCertificate) ACCEPT 7 (Removal of Unreferenced Models) 4
Pageable list-wrapper models dropped (CdnWebApplicationFirewallPolicyList, ManagedRuleSetDefinitionList, EdgenodeResult) ACCEPT 8 (Removal of Pageable Models) 3
Response wrapper dropped (ValidationToken) ACCEPT 7 (Removal of Unreferenced Models) 1
LogAnalyticsOperations parameters changed positional_or_keywordkeyword_only ACCEPT 9 (Parameters Changed to Keyword-only) ~29

Total: All breaking changes are ACCEPT per the SDK Breaking Changes Guide. No client.tsp mitigations are required.

Accepted breaking changes that will remain

  1. Nested properties access required (Rule 11): Properties on resource models such as AFDDomain, AFDEndpoint, AFDOrigin, AFDOriginGroup, Endpoint, Origin, OriginGroup, Route, Rule, RuleSet, Secret, SecurityPolicy, Operation, and their *UpdateParameters counterparts must now be accessed through the nested .properties object instead of directly on the resource (e.g. endpoint.host_nameendpoint.properties.host_name). The new structure mirrors the actual REST API hierarchy.

  2. Removed polymorphic certificate types: Certificate base class and its three derived classes (AzureFirstPartyManagedCertificate, CustomerCertificate, ManagedCertificate) are no longer exposed. Users wiring secrets should use the *Parameters types (CustomerCertificateParameters, ManagedCertificateParameters, AzureFirstPartyManagedCertificateParameters) which remain available.

  3. Removed pageable list models: CdnWebApplicationFirewallPolicyList, ManagedRuleSetDefinitionList, EdgenodeResult — list operations return ItemPaged[T] directly; these wrapper types are not needed.

  4. Removed ValidationToken model — the validate-token API now returns the token value directly.

  5. LogAnalyticsOperations query parameters are keyword-only: get_log_analytics_metrics, get_log_analytics_rankings, get_waf_log_analytics_metrics, get_waf_log_analytics_rankings — pass parameters like metrics=, date_time_begin=, granularity= as keyword arguments.

Spec mitigation PR

None required — no MITIGATE-classified breaking changes.

@msyyc msyyc marked this pull request as ready for review May 21, 2026 07:05
@msyyc msyyc requested a review from ChenxiJiang333 as a code owner May 21, 2026 07:05
Copilot AI review requested due to automatic review settings May 21, 2026 07:05
@msyyc msyyc marked this pull request as draft May 21, 2026 07:05
Copy link
Copy Markdown
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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@msyyc msyyc closed this May 22, 2026
@msyyc msyyc deleted the sdk-azure-mgmt-cdn branch May 22, 2026 08:00
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.

2 participants