Skip to content

Conversation

@nmanjunath-microsoft
Copy link
Member

…main

ARM (Control Plane) API Specification Update Pull Request

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
  • A release plan has been created. If not, please create one as it will help guide you through the REST API and SDK creation process.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.
  • For guidance on SDK breaking change review, refer to https://aka.ms/ci-fix.

@github-actions
Copy link

github-actions bot commented Nov 14, 2025

Next Steps to Merge

✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.

Comment generated by summarize-checks workflow run.

@github-actions github-actions bot added the brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. label Nov 14, 2025
@github-actions github-actions bot added ARMReview new-api-version resource-manager RPaaS SuppressionReviewRequired WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 14, 2025
@github-actions
Copy link

github-actions bot commented Nov 14, 2025

API Change Check

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

Language API Review for Package
Swagger Microsoft.BillingBenefits
Go sdk/resourcemanager/billingbenefits/armbillingbenefits
Java com.azure.resourcemanager:azure-resourcemanager-billingbenefits
JavaScript @azure/arm-billingbenefits
Python azure-mgmt-billingbenefits

@github-actions github-actions bot added BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 14, 2025
@nmanjunath-microsoft nmanjunath-microsoft added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed NotReadyForARMReview labels Nov 14, 2025
@github-actions github-actions bot added NotReadyForARMReview and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 14, 2025
@nmanjunath-microsoft nmanjunath-microsoft added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed NotReadyForARMReview labels Nov 14, 2025
@github-actions github-actions bot added NotReadyForARMReview and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 14, 2025
@sandipsh
Copy link
Contributor

sandipsh commented Nov 14, 2025

"version": "2025-05-01-preview",

this version needs to be added to readme.md #Resolved


Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:4 in bf773bd. [](commit_id = bf773bd, deletion_comment = False)

@nmanjunath-microsoft nmanjunath-microsoft added the BreakingChange-Approved-Previously Changes were reviewed and approved in a previous PR label Nov 14, 2025
@github-actions github-actions bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed NotReadyForARMReview labels Nov 14, 2025
@nmanjunath-microsoft
Copy link
Member Author

PRs with breaking change approved in RPSaaSMaster:
2025-05-01-preview - https://github.com/Azure/azure-rest-api-specs-pr/pull/23005
2025-12-01-preview - https://github.com/Azure/azure-rest-api-specs-pr/pull/25230

@sandipsh
Copy link
Contributor

sandipsh commented Nov 14, 2025

"/providers/Microsoft.BillingBenefits/listSellerResources": {

what is the {scope} for this API? tenant or subscription level? #Resolved


Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:1891 in bf773bd. [](commit_id = bf773bd, deletion_comment = False)

@nmanjunath-microsoft nmanjunath-microsoft added the PublishToCustomers Acknowledgement the changes will be published to Azure customers. label Nov 14, 2025
@nmanjunath-microsoft
Copy link
Member Author

"/{scope}/providers/Microsoft.BillingBenefits/applicableDiscounts": {

isn't this subscription or rg level scope? why use scopeparameter like this.

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:1163 in bf773bd. [](commit_id = bf773bd, deletion_comment = False)

Scope that is currently supported is billing account. Not the tenant or subscription. But we want to keep it as {scope} so that we can include tenant or subscription when needed.

@nmanjunath-microsoft
Copy link
Member Author

"/providers/Microsoft.BillingBenefits/listSellerResources": {

what is the {scope} for this API? tenant or subscription level?

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:1891 in bf773bd. [](commit_id = bf773bd, deletion_comment = False)

Scope that is currently supported is billing account. Not the tenant or subscription. But we want to keep it as {scope} so that we can include tenant or subscription when needed.

@sandipsh
Copy link
Contributor

sandipsh commented Nov 14, 2025

  "pattern": "^[a-zA-Z0-9_\\-\\.:]+$",

this is not valid allowed character for resource id. I am not sure if it is possible to fix this point though. #Resolved


Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:6897 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

@nmanjunath-microsoft
Copy link
Member Author

  "pattern": "^[a-zA-Z0-9_\\-\\.:]+$",

this is not valid allowed character for resource id. I am not sure if it is possible to fix this point though.

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:6897 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

Looks like we have been using this pattern for resource Ids in the previous versions as well for other types. So I will preferably keep this as is for now. Please let us know what the pattern should be, we can use that for the new types moving forward.

@sandipsh
Copy link
Contributor

sandipsh commented Nov 14, 2025

  "description": "The billing period of the impact for the resource. Format YYYYMM"

if this expected format please put a pattern restriction on it.


Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:3654 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

@sandipsh
Copy link
Contributor

sandipsh commented Nov 14, 2025

    "Unknown"

this should be 1st member of the enum #Resolved


Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:4059 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

@sandipsh
Copy link
Contributor

},

are these Utc, if so update name and description accordingly.


Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:5005 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

@sandipsh
Copy link
Contributor

"AffiliateEndAt": {

name it as AffiliateEndAtUtc


Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:5006 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

@sandipsh sandipsh added ARMChangesRequested and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 14, 2025
@nmanjunath-microsoft
Copy link
Member Author

"version": "2025-05-01-preview",

this version needs to be added to readme.md

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:4 in bf773bd. [](commit_id = bf773bd, deletion_comment = False)

It is already added to readme.md Line:119

Tag: package-preview-2025-05-01-preview

These settings apply only when --tag=package-preview-2025-05-01-preview is specified on the command line.

input-file:
  - Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json

@nmanjunath-microsoft
Copy link
Member Author

  "description": "The billing period of the impact for the resource. Format YYYYMM"

if this expected format please put a pattern restriction on it.

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:3654 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

This property was introduced in 2023-11-01-preview which is already in production. To not break this functionality, I will keep it as such in this PR.

https://github.com/Azure/azure-rest-api-specs-pr/pull/16299/files

image

@nmanjunath-microsoft
Copy link
Member Author

    "Unknown"

this should be 1st member of the enum

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:4059 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

Done

@nmanjunath-microsoft
Copy link
Member Author

"AffiliateEndAt": {

name it as AffiliateEndAtUtc

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:5006 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

These are not new fields. These are already in production. AffiliateEndAt was introduced for 2024-11-01-preview version. We are using the recommended approach to append Utc suffix only to new date time properties and not changing the existing ones as it will break the contract for the customers.

@nmanjunath-microsoft
Copy link
Member Author

},

are these Utc, if so update name and description accordingly.

Refers to: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/preview/2025-05-01-preview/billingbenefits.json:5005 in 58199a0. [](commit_id = 58199a0, deletion_comment = False)

These are not new fields. These are already in production. We are using the recommended approach to append Utc suffix only to new date time properties and not changing the existing ones as it will break the contract for the customers.

@nmanjunath-microsoft nmanjunath-microsoft added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed ARMChangesRequested labels Nov 14, 2025
@sandipsh sandipsh added ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 14, 2025
@nmanjunath-microsoft nmanjunath-microsoft merged commit 5476cee into Azure:main Nov 15, 2025
85 of 86 checks passed
@mikekistler mikekistler added the BreakingChange-Approved-UserImpact Changes are not backward compatible and may cause customer disruption. label Nov 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved-Suppression ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-Approved-Previously Changes were reviewed and approved in a previous PR BreakingChange-Approved-UserImpact Changes are not backward compatible and may cause customer disruption. BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. new-api-version PublishToCustomers Acknowledgement the changes will be published to Azure customers. resource-manager RPaaS SuppressionReviewRequired

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants