Skip to content

[Python] TypeSpec migration for azure-mgmt-billingbenefits#45961

Draft
msyyc wants to merge 3 commits intoAzure:mainfrom
msyyc:sdk-azure-mgmt-billingbenefits
Draft

[Python] TypeSpec migration for azure-mgmt-billingbenefits#45961
msyyc wants to merge 3 commits intoAzure:mainfrom
msyyc:sdk-azure-mgmt-billingbenefits

Conversation

@msyyc
Copy link
Copy Markdown
Member

@msyyc msyyc commented Mar 27, 2026

[Python] TypeSpec migration for azure-mgmt-billingbenefits

Spec Source

TypeSpec folder: specification/billingbenefits/BillingBenefits.Management

Pre-migration Source

Pre-migration swagger: specification/billingbenefits/resource-manager@2b47198d

Swagger API version: 2024-11-01-preview (default tag: package-preview-2024-11-01-preview)

Generated with apiVersion: 2025-12-01-preview (latest in TypeSpec enum Versions)

Breaking Change Analysis

5 mitigated | 37 accepted

Mitigated (in spec PR: Azure/azure-rest-api-specs#41833)

Breaking Change Mitigation
Model BillingBenefitsRP deleted @@clientName(Microsoft.BillingBenefits, "BillingBenefitsRP", "python")
Enum value BillingPlan.P1_M renamed @@clientName(BillingPlan.P1M, "P1_M", "python")
Enum value Term.P1_Y renamed @@clientName(Term.P1Y, "P1_Y", "python")
Enum value Term.P3_Y renamed @@clientName(Term.P3Y, "P3_Y", "python")
Enum value Term.P5_Y renamed @@clientName(Term.P5Y, "P5_Y", "python")

Accepted Breaking Changes (37)

Property flattening removal (22 changes):

  • Discount properties (entity_type, product_code, start_at, system_id, provisioning_state, billing_account_resource_id, billing_profile_resource_id, customer_resource_id, display_name, status, benefit_resource_id, applied_scope_type) moved under .properties
  • SavingsPlanOrderAliasModel properties (display_name, savings_plan_order_id, provisioning_state, billing_scope_id, term, billing_plan, applied_scope_type, applied_scope_properties, commitment, renew) moved under .properties

Pageable model removal (3 changes): DiscountList, SavingsPlanModelList, SavingsPlanOrderModelList — Python SDK uses iterators, doesn't expose paging wrapper models

Unreferenced/new-API-version models (7 changes): AppliedDiscount, BillingInformation, DiscountProvisioningSubState, OperationResultError, PricingCurrencyDuration, PricingCurrencyTotal, SavingsPlanPurchaseValidateRequest — Models either unreferenced from operations or restructured between API versions

Common types upgrade (1 change): ResourceModelWithAllowedPropertySet — Legacy ARM common type not present in TypeSpec

Parameter kind change (5 changes): SavingsPlanOperations.list_all parameters orderby, refresh_summary, skiptoken, selected_state, take changed from positional to keyword-only (Python SDK generator improvement)

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