Skip to content

Conversation

@audunn
Copy link
Member

@audunn audunn commented Oct 24, 2025

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 Oct 24, 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 ARMReview new-api-version resource-manager TypeSpec Authored with TypeSpec WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Oct 24, 2025
@github-actions
Copy link

github-actions bot commented Oct 24, 2025

API Change Check

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

Language API Review for Package
TypeSpec Microsoft.NetApp
Go sdk/resourcemanager/netapp/armnetapp
JavaScript @azure/arm-netapp
Java com.azure.resourcemanager:azure-resourcemanager-netapp
Python azure-mgmt-netapp
Swagger Microsoft.NetApp-NetApp

@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 Oct 24, 2025
@audunn audunn added the BreakingChange-Approved-BugFix Changes are to correct the REST API definition to correctly describe service behavior label Oct 24, 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 Oct 24, 2025
@ramoka178
Copy link
Contributor

ramoka178 commented Oct 24, 2025

Please fix Swagger LintDiff , Swagger PrettierCheck and TypeSpec Validation / TypeSpec Validation (pull_request)

On it, thanks.
Did not expect some of those errors when using TypeSpec compiles, for example prettier seem it is just copying the examples directly, and patch properties we expected, incorrectly, them to behave correctly for example with defautl values. But seems we still need to define a separate PATCH model without the defaults. And this is not caught by TypeSpec compilation.
We are fixing the issues.

@ramoka178 ramoka178 added ARMChangesRequested and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Oct 24, 2025
@audunn audunn added PublishToCustomers Acknowledgement the changes will be published to Azure customers. and removed ARMChangesRequested labels Oct 28, 2025
@github-actions github-actions bot added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Oct 28, 2025
@audunn audunn force-pushed the release-Microsoft.NetApp-2025-09-01 branch from e069dac to 099c8f0 Compare October 28, 2025 21:53
@razvanbadea-msft
Copy link
Member

*/
Succeeded: "Succeeded",
}

// /**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: is the commented out section needed or it can be removed?

* The 2025-09-01-preview API version.
*/
@previewVersion
v2025_09_01_preview: "2025-09-01-preview",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are you adding two versions?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are relesing stable and preview at the same time, with minimal changes in stable and new public preview features in preview.
Thought it would save time to do both in one PR.
If needed can create new pr for stable lt me know

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@raych1 , for this case, is it possible to let SDK automation to run twice on each of the added api version?
So we could better detect the SDK generation & breaking change related issues for this PR.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lirenhe: Would it be easier to instead enforce "only add one API version per PR"? My understanding, this was always the recommendation, it just wasn't enforced. Otherwise, we'd need to look at every PR check, and make sure it can handle multiple new API versions in a single PR.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the new proposal of supporting preview version in TypeSpec, adding stable along with a new preview will be a common scenario. I don't know if @markcowl has discussed with you about the tooling support for new preview guide?

...ResourceNameParameter<
Resource = RansomwareReport,
KeyName = "ransomwareReportName",
SegmentName = "ransomwarereports",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn be ransomwareReports to be camel case

* Suspect File extension
*/
@visibility(Lifecycle.Read)
extension?: string;
Copy link
Member

@razvanbadea-msft razvanbadea-msft Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will the suspectFiles array contain only files with this extension? cant be a mixed list? #Resolved

Copy link
Member Author

@audunn audunn Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It returns a list of suspect extensions, each suspect has a separate list of files.

/**
* The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'.
*/
keyVaultPrivateEndpointResourceId?: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cant this be also an armResourceIdentifier?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, updating

* The mount target's IPv4 address, used to mount the cache.
*/
@visibility(Lifecycle.Read)
ipAddress?: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if it is only ipv4 the you could use the ipv4 scalar

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated

userName?: string;

/** An array of DNS server IP addresses(IPv4 only) for the Active Directory */
dns?: string[];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could use ipv4 scalar

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated

/** Identity used to authenticate with key vault. */
@added(Versions.v2025_09_01_preview)
model SecretPasswordIdentity {
/** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */
Copy link
Member

@razvanbadea-msft razvanbadea-msft Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i see this is used also for patch so is this field read-only as described? or add @visibility(Lifecycle.Read)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Patchmodel was to avoid requred fields in patch request, that is not needed for SecretPasswordIdentity since there is no requred filed in that model.

principalId?: string;

/** The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */
userAssignedIdentity?: Azure.Core.armResourceIdentifier<[
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in other places you set it like a string, can you update also to be like this? or use the definition from common-types

@github-actions github-actions bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review labels Nov 6, 2025
@github-actions github-actions bot added ARMAutoSignedOff 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 7, 2025
@github-actions github-actions bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed ARMAutoSignedOff ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review labels Nov 10, 2025
@audunn
Copy link
Member Author

audunn commented Nov 10, 2025

After sync with main we now get an lintDiff issue with an old api-verison 2021-08-01 that we are not changing in this PR

@github-actions github-actions bot added ARMAutoSignedOff 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 10, 2025
@audunn audunn merged commit 3035036 into Azure:main Nov 10, 2025
38 of 41 checks passed
anushkasingh16 pushed a commit to anushkasingh16/azure-rest-api-specs that referenced this pull request Nov 11, 2025
* Update to 2025-09-01

* VolumeQuotaRulesProperties provisioningState

* VolumeQuotaRulesProperties provisioningState

* Pretty, elastic snapshotpolicy fix

* elastic volum patch fix

* example

* volume fix

* lindiff fixes

* format

* principal string

* ElasticSnapshotPolicies_ListVolumes

* ElasticSnapshotPolicies_ListVolumes

* ElasticSnapshotPolicies_ListVolumes

* format

* example filepath

* client rename

* client rename

* review comments

* review comments

* rebase refactor folder structure

* readme

* readme

* format

* patch fixes

* patch properties

* read-create

* remove max min on list

* rename service folder

* Revert "rename service folder"

This reverts commit 45ca15f.

* rename service folder

* Revert "rename service folder"

This reverts commit b2e2352.

* Fixes

* Fixes 2

* Fixes 3

* Fixes 4

* Fixes 5

* tsv fix

* TSP fix

* clean temp file

* example

* example

* TSP fix

* TSP fix

* TSP fix

* TSP fix

* name

---------

Co-authored-by: Daniel Jurek <djurek@microsoft.com>
Co-authored-by: Mike Harder <mharder@microsoft.com>
@tadelesh
Copy link
Member

@markcowl @mikeharder This is an example of service adding stable and preview at the same time. With current SDK automation logic, we could only generate SDK with the latest preview version, so the SDK breaking changes could not be detected (preview version could accept breaking changes, so no label is added). Do we have plan to update the tool? cc: @lirenhe

@mikeharder
Copy link
Member

mikeharder commented Nov 12, 2025

@markcowl @mikeharder This is an example of service adding stable and preview at the same time. With current SDK automation logic, we could only generate SDK with the latest preview version, so the SDK breaking changes could not be detected (preview version could accept breaking changes, so no label is added). Do we have plan to update the tool? cc: @lirenhe

@tadelesh: Is the problem having a stable and preview with the same date (2025-09-01)? Is the problem adding a stable and preview in the same PR? Or both?

The former could be detected by tool Avocado, because it's something that should statically never be true.

The latter would need to be detected by tool openapi-diff (aka "Breaking Changes"). This could be a new rule named something like MultipleVersionsAdded, similar to existing rule NoVersionChange (https://github.com/Azure/openapi-diff/tree/main/docs).

For either tool, you can open an issue in the corresponding repo. If you'd like the issue fixed with priority, you can also open a PR adding the feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ARMAutoSignedOff ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-Approved-BugFix Changes are to correct the REST API definition to correctly describe service behavior BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required new-api-version PublishToCustomers Acknowledgement the changes will be published to Azure customers. resource-manager TypeSpec Authored with TypeSpec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants