-
Notifications
You must be signed in to change notification settings - Fork 5.6k
[Hub Generated] Review request for Microsoft.DataProtection to add version stable/2023-11-01 #26491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Hub Generated] Review request for Microsoft.DataProtection to add version stable/2023-11-01 #26491
Conversation
…023-05-01 to version 2023-11-01
Next Steps to Merge✔️ All automated merging requirements have been met! Refer to step 4 in the PR workflow diagram (even if your PR is for data plane, not ARM). |
Swagger Validation Report
|
| compared swaggers (via Oad v0.10.4)] | new version | base version |
|---|---|---|
| dataprotection.json | 2023-11-01(1fead77) | 2023-08-01(main) |
| dataprotection.json | 2023-11-01(1fead77) | 2023-08-01-preview(main) |
The following breaking changes are detected by comparison with the latest preview version:
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️❌LintDiff: 3 Errors, 3 Warnings failed [Detail]
| compared tags (via openapi-validator v2.1.6) | new version | base version |
|---|---|---|
| package-2023-11 | package-2023-11(1fead77) | default(main) |
[must fix]The following errors/warnings are introduced by current PR:
| Rule | Message | Related RPC [For API reviewers] |
|---|---|---|
ParametersInPost |
$filter is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1547 |
RPC-Post-V1-05 |
ParametersInPost |
$skipToken is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1547 |
RPC-Post-V1-05 |
ParametersInPost |
$filter is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1825 |
RPC-Post-V1-05 |
| OperationId should contain the verb: 'fetchsecondaryrecoverypoints' in:'FetchSecondaryRecoveryPoints_List'. Consider updating the operationId Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1543 |
||
| OperationId should contain the verb: 'fetchcrossregionrestorejob' in:'FetchCrossRegionRestoreJob_Get'. Consider updating the operationId Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1767 |
||
| OperationId should contain the verb: 'fetchcrossregionrestorejobs' in:'FetchCrossRegionRestoreJobs_List'. Consider updating the operationId Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1821 |
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/2023-11-01/dataprotection.json#L42 |
LroExtension |
Operations with a 202 response must specify x-ms-long-running-operation: true.Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L64 |
ParametersOrder |
The parameters:operationId,location should be kept in the same order as they present in the path. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L64 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L94 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.DataProtection/stable/2023-11-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/2023-11-01/dataprotection.json#L426 |
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/2023-11-01/dataprotection.json#L440 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L467 |
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/2023-11-01/dataprotection.json#L476 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L526 |
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/2023-11-01/dataprotection.json#L532 |
LroExtension |
Operations with a 202 response must specify x-ms-long-running-operation: true.Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L545 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L580 |
OperationsApiSchemaUsesCommonTypes |
Operations API path must follow the schema provided in the common types. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L740 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L788 |
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/2023-11-01/dataprotection.json#L860 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L996 |
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/2023-11-01/dataprotection.json#L1064 |
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/2023-11-01/dataprotection.json#L1128 |
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/2023-11-01/dataprotection.json#L1139 |
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/2023-11-01/dataprotection.json#L1193 |
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/2023-11-01/dataprotection.json#L1269 |
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/2023-11-01/dataprotection.json#L1345 |
LroExtension |
Operations with a 202 response must specify x-ms-long-running-operation: true.Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1361 |
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/2023-11-01/dataprotection.json#L1366 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1400 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1400 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.DataProtection/stable/2023-11-01/dataprotection.json#L1461 |
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/2023-11-01/dataprotection.json#L1880 |
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/2023-11-01/dataprotection.json#L1937 |
️️✔️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]
Swagger Generation Artifacts
|
Generated ApiView
|
|
This PR moves APIs from previous preview version to stable along with few additional changes |
|
Preview PR Link: #23391 |
|
Make sure there are no int Diff errors and automated merging requirements are met. |
…01' of https://github.com/Azure/azure-rest-api-specs into asmitt-dataprotection-Microsoft.DataProtection-2023-11-01
|
I don't know that this has ever been formalized as a guidelines, but I think you can make an argument that POST parameters aren't really intended to use filters and paging in the URL because they're not collections, or at least they don't seem like it in terms of the conventions of the ARM resource model. For instance we explicitly disallow such patterns with 'point GET', the GET of a single resource. Also the filtering seems sort of mandatory instead of optional in terms of the API design. So I would be happier to recommend changing to pass in the body (and reconsider whether even naming them things like 'filter' is really what you want to do.) What are you supposed to be filtering on by the way? |
@TimLovellSmith The API returns list of long running jobs for the resource. Filter allows to filter these based on fields like status and startTime. Filters are not mandatory and are optional. FetchRecoverySecondaryPoints API: https://github.com/Azure/azure-rest-api-specs/blob/main/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-04-01-preview/dataprotection.json#L1531C5-L1605C5 |
Thanks for the explanation. This use case sounds pretty reasonable to me. |
|
To satiate the linter warnings, can 'FetchSecondaryRecoveryPoints' operation be renamed to 'SecondaryRecoveryPoints_List'? |
|
There does seem to be a notable downside of making all those POST 'fetch secondary region data' APIs POST verbs, to me: you need more than just read access in order to use them. Is that going to be okay for your user's use cases? |
|
Can you please add suppressions for the filters in POST linter errors |
|
/pr RequestMerge |
|
@TimLovellSmith have you reviewed the suppressions already ? If so can you add the tag for the suppression approval since it is blocking the automated merge requirements ? |
|
@raosuhas can we merge this PR? |
|
/pr RequestMerge |
This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.
[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label
ARMChangesRequestedis removed from your PR. This should cause the label
WaitForARMFeedbackto be added.[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see
Getting helpsection below.Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!
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:
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.
Breaking changes review (Step 1)
you must follow the breaking changes process.
IMPORTANT This applies even if:
Such claims must be reviewed, and the process is the same.
ARM API changes review (Step 2)
ARMReviewlabel.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 ApiViewcomment 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
Swagger-Suppression-Process
to get approval.
Getting help
and https://aka.ms/ci-fix.