Skip to content

Conversation

@mkherani
Copy link
Member

@mkherani mkherani commented Feb 20, 2024

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.

Note

As of January 2024 there is no PR assignee. This is expected. See https://aka.ms/azsdk/pr-arm-review.

PR review workflow diagram

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

diagram

Click here to see the details of Step 1

Breaking changes review (Diagram Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

  • The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
  • You believe there is no need for you to request breaking change approval, for any reason.
    Such claims must be reviewed, and the process is the same.
Click here to see the details of Step 2

ARM API changes review (Diagram Step 2)

Click here to see the diagram footnotes

Diagram footnotes

[1] See ARM review queue (for PR merge queues, see [2]).
[2] public repo merge queue, private repo merge queue (for ARM review queue, [1])
The ARM reviewer on-call engineer visits the merge queue twice a day, so the approximate ETA for merges is 12 - 24 hours.

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 generated using OpenAPI Hub).
  • 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.
  • 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.

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.
  • 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 PR workflow diagram Step 2 (ARM review), 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.

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Feb 20, 2024

Next Steps to Merge

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

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Feb 20, 2024

Swagger Validation Report

️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️⚠️Breaking Change(Cross-Version): 11 Warnings warning [Detail]
Compared specs (v0.10.7) new version base version
dataprotection.json 2024-03-01(277f40c) 2023-12-01(main)
dataprotection.json 2024-03-01(277f40c) 2024-02-01-preview(main)

The following breaking changes are detected by comparison with the latest preview version:

Rule Message
⚠️ 1005 - RemovedPath The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateForModifyBackup' removed or restructured?
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L1372:5
⚠️ 1005 - RemovedPath The new version is missing a path that was found in the old version. Was path '/{resourceId}/providers/Microsoft.DataProtection/backupInstances' removed or restructured?
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L1964:5
⚠️ 1005 - RemovedPath The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}/triggerCancel' removed or restructured?
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L2731:5
⚠️ 1005 - RemovedPath The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}/generateProgressUrl' removed or restructured?
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L2795:5
⚠️ 1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'GenericBackupDatasourceParameters' removed or renamed?
New: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L4098:3
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L4335:3
⚠️ 1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'GenericRestoreDatasourceCriteria' removed or renamed?
New: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L4098:3
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L4335:3
⚠️ 1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'ResourceListSelectionCriteria' removed or renamed?
New: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L4098:3
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L4335:3
⚠️ 1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'ValidateForModifyBackupRequest' removed or renamed?
New: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L4098:3
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L4335:3
⚠️ 1007 - RemovedClientParameter The new version is missing a client parameter that was found in the old version. Was 'ResourceId' removed or renamed?
New: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L8217:3
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L8536:3
⚠️ 1007 - RemovedClientParameter The new version is missing a client parameter that was found in the old version. Was 'RestrictedVaultName' removed or renamed?
New: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L8217:3
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L8536:3
⚠️ 1033 - RemovedProperty The new version is missing a property found in the old version. Was 'sourceDataStoreType' renamed or removed?
New: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L4352:7
Old: Microsoft.DataProtection/preview/2024-02-01-preview/dataprotection.json#L4589:7
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 0 Warnings warning [Detail]
Compared specs (v2.2.0) new version base version
package-2024-03 package-2024-03(277f40c) default(main)

The following errors/warnings exist before current PR submission:

Only 30 items are listed, please refer to log for more details.

Rule Message
GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L42
ParametersOrder The parameters:operationId,location should be kept in the same order as they present in the path.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L64
GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L307
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L429
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L446
LroLocationHeader A 202 response should include an Location response header.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L473
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L482
LroLocationHeader A 202 response should include an Location response header.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L532
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L538
OperationsApiSchemaUsesCommonTypes Operations API path must follow the schema provided in the common types.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L749
GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L797
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L869
GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1005
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1073
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1137
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1148
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1202
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1278
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1354
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'BackupInstances' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1375
LroLocationHeader A 202 response should include an Location response header.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1409
GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1470
ParametersInPost $filter is a query parameter. Post operation must not contain any query parameter other than api-version.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1556
ParametersInPost $skipToken is a query parameter. Post operation must not contain any query parameter other than api-version.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1556
ParametersInPost $filter is a query parameter. Post operation must not contain any query parameter other than api-version.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1834
PostResponseCodes Long-running POST operations must have responses with 202 and default return codes. They must also have a 200 return code if only if the final response is intended to have a schema, if not the 200 return code must not be specified. They also must not have other response codes.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1889
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L1946
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L2025
PostResponseCodes 200 return code does not have a schema specified. LRO POST must have a 200 return code if only if the final response is intended to have a schema, if not the 200 return code must not be specified.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L2047
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.DataProtection/stable/2024-03-01/dataprotection.json#L2098
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️SwaggerAPIView succeeded [Detail] [Expand]
️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️Automated merging requirements met succeeded [Detail] [Expand]
Posted by Swagger Pipeline | How to fix these errors?

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Feb 20, 2024

Swagger Generation Artifacts

️️✔️ApiDocPreview succeeded [Detail] [Expand]

Only 0 items are rendered, please refer to log for more details.

️❌ azure-sdk-for-net-track2 failed [Detail]

Only 0 items are rendered, please refer to log for more details.

️⚠️ azure-sdk-for-python warning [Detail]

Only 0 items are rendered, please refer to log for more details.

️⚠️ azure-sdk-for-java warning [Detail]

Only 0 items are rendered, please refer to log for more details.

️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]

Only 0 items are rendered, please refer to log for more details.

️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]

Only 0 items are rendered, please refer to log for more details.

️⚠️ azure-powershell warning [Detail]

Only 0 items are rendered, please refer to log for more details.

Posted by Swagger Pipeline | How to fix these errors?

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Feb 20, 2024

@ms-henglu
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@ms-henglu ms-henglu added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Feb 21, 2024
@openapi-workflow-bot openapi-workflow-bot bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Feb 21, 2024
@mkherani mkherani added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required DoNotMerge <valid label in PR review process> use to hold merge after approval labels Feb 21, 2024
@openapi-workflow-bot openapi-workflow-bot bot removed the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Feb 21, 2024
@mkherani
Copy link
Member Author

mkherani commented Feb 21, 2024

Please refer #24388 for the new commit changes. These changes are part of earlier 2023-06-01-preview version and now going for stable release without any change in the specs. No breaking change.

@ms-henglu ms-henglu added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Feb 22, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the no-recent-activity There has been no recent activity on this issue. label Mar 11, 2024
@mkherani mkherani removed the DoNotMerge <valid label in PR review process> use to hold merge after approval label Mar 19, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot removed the no-recent-activity There has been no recent activity on this issue. label Mar 19, 2024
@jeevan-gaikwad jeevan-gaikwad self-requested a review March 19, 2024 12:22
@mkherani
Copy link
Member Author

/pr RequestMerge

@ms-zhenhua
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@AzureRestAPISpecReview AzureRestAPISpecReview added ARMChangesRequested BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required and removed ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review labels Mar 22, 2024
@openapi-workflow-bot
Copy link

Please address or respond to feedback from the ARM API reviewer.
When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
This will notify the reviewer to have another look.
If the feedback provided needs further discussion, please use this Teams channel to post your questions - aka.ms/azsdk/support/specreview-channel.
Please include [ARM Query] in the title of your question to indicate that it is ARM-related.

@ms-zhenhua
Copy link
Contributor

Please get a breaking changes approval from Azure Breaking Changes Reviewers [email protected] and ARM can review the changes afterwards. Once you have the approval, please remove the "ARMChangesRequested" label from the PR to make the PR visible to the ARM reviewers.

https://github.com/Azure/azure-rest-api-specs/pull/27833/checks?check_run_id=22960657591

@AzureRestAPISpecReview AzureRestAPISpecReview removed the BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required label Mar 26, 2024
@jeevan-gaikwad jeevan-gaikwad added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 26, 2024
@jeevan-gaikwad
Copy link
Contributor

After re-sync with main branch, breaking changes test passed and the label removed automatically. Now this PR is ready for merge. ARM Sign off requested again.

@ms-henglu ms-henglu added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Mar 27, 2024
@openapi-workflow-bot openapi-workflow-bot bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 27, 2024
@mkherani
Copy link
Member Author

/pr RequestMerge

@ms-henglu ms-henglu merged commit 92c409d into main Mar 27, 2024
@ms-henglu ms-henglu deleted the mkherani-dataprotection-Microsoft.DataProtection-2024-03-01 branch March 27, 2024 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review new-api-version ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test resource-manager

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants