Skip to content

Conversation

@fmabroukmsft
Copy link
Member

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.

Copied the files in a separate commit.
This allows reviewers to easily diff subsequent changes against the previous spec.
Updated the API version from stable/2025-09-01 to stable/2025-12-01.
@github-actions
Copy link

github-actions bot commented Nov 17, 2025

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).


Comment generated by summarize-checks workflow run.

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

github-actions bot commented Nov 17, 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.MachineLearningServices
Go sdk/resourcemanager/machinelearning/armmachinelearning
Java com.azure.resourcemanager:azure-resourcemanager-machinelearning
C# Azure.ResourceManager.MachineLearning
JavaScript @azure/arm-machinelearning
Python azure-mgmt-machinelearningservices

@fmabroukmsft fmabroukmsft removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Nov 17, 2025
@github-actions github-actions bot added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Nov 17, 2025
@fmabroukmsft
Copy link
Member Author

No changes between this API version and the previous API version. However, we still need to release this API version as Microsoft.MachineLearningServices API versions must line up with Microsoft.CognitiveServices, who will also be releasing a 2025-12-01 version

@ravimeda
Copy link
Member

        "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.",

nit - Remove the


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:263 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

        "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"

Use v6 unless there is a need to stay at v3.


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:46 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

      "title": "Number of gPUs",

Curious why the lowercase g in gPUs?


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:947 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

  "description": "A DataFactory compute.",

Databrick?


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:2097 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

        "running",

Use PascalCase e.g., Running.


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:2492 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

        "running",

Applies to all other enums.


In reply to: 3564805938


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:2492 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

      "description": "Application port inside the container."

nit - For consistency, let us end the description text with a period. Applies to all occurrences in the specs.


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:2798 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

      "type": "string",

Curious why a string and not a date-time?


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:3388 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

  "description": "Defines an Aml Instance DataMount.",

What is Aml?


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:3395 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

      "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun."

Replace with Logical Unit Number (LUN), and use LUN in rest of the description text.


Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:3493 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

@ravimeda
Copy link
Member

Please address 'Swagger Avocado' errors.

@github-actions github-actions bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Nov 21, 2025
@fmabroukmsft
Copy link
Member Author

        "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.",

nit - Remove the

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:263 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

The controller servicing this route does not differentiate based on API version, updating the description here would cause an incongruency between this API version and previous API versions

@fmabroukmsft fmabroukmsft reopened this Nov 24, 2025
@fmabroukmsft
Copy link
Member Author

        "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.",

nit - Remove the

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:263 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

The controller servicing this route does not differentiate based on API version, updating the description here would cause an incongruency between this API version and previous API versions

@fmabroukmsft
Copy link
Member Author

  "description": "A DataFactory compute.",

Databrick?

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:2097 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

Looks to be an almost 4 year old inconsistency on both swagger and service side code, would require service side code changes. Will initiate a discussion with owners

@fmabroukmsft
Copy link
Member Author

        "running",

Applies to all other enums.

In reply to: 3564805938

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:2492 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

Will leave these enum values as is for consistency

@fmabroukmsft
Copy link
Member Author

      "type": "string",

Curious why a string and not a date-time?

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:3388 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

Good question, I created a work item to discuss this with code owner for next api version: Bug 4843851: idleTimeBeforeShutdown string format discussion

@fmabroukmsft
Copy link
Member Author

  "description": "Defines an Aml Instance DataMount.",

What is Aml?

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-12-01/machineLearningServices.json:3395 in 851e0b3. [](commit_id = 851e0b3, deletion_comment = False)

Azure machine learning

@fmabroukmsft
Copy link
Member Author

he lun is used to uniquely identify each data disk.

Created a work item for this discussion here: Bug 4843851: idleTimeBeforeShutdown string format discussion

@fmabroukmsft
Copy link
Member Author

fmabroukmsft commented Nov 24, 2025

Please address 'Swagger Avocado' errors.

The swagger avocado will need approval from ARM reviewer team, this needed ARM approval on previous PRs as well. For example:
#34884 (comment)

@fmabroukmsft fmabroukmsft added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed ARMChangesRequested labels Nov 24, 2025
@mentat9
Copy link
Member

mentat9 commented Nov 25, 2025

@fmabroukmsft - You should be able to update descriptions without any issues, even if your service doesn't currently distinguish API versions (should only affect the docs). Likewise adding a date-time format requirement to a string type is a cross-platform client breaking change but shouldn't affect the service which is already (presumably) validating that string is a date-time.

I'm signing off for ARM, since we don't generally require changes to APIs that have shipped in an earlier API version. Please consider the feedback, but it's not blocking.

@mentat9 mentat9 added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Nov 25, 2025
@github-actions github-actions bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved-Avocado ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-JavaScript-Sdk brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. new-api-version resource-manager

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants