azure-rest-api-specs icon indicating copy to clipboard operation
azure-rest-api-specs copied to clipboard

add stable API 2024-02-01 for GA

Open jylama-99 opened this issue 1 year ago • 6 comments

Data Plane API - Pull Request

Copying 2023-10-01-preview API version into 2023-02-01 stable API version. This API is copied from 2023-10-01-preview but customizations has been removed . Additionally, all follow up concerns have also been addressed on this thread: https://github.com/Azure/azure-rest-api-specs/issues/25691#issuecomment-1745727521

API Info: The Basics

Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

  • Link to API Spec engagement record issue: N/A

Is this review for (select one):

  • [ ] a private preview
  • [ ] a public preview
  • [x] GA release

Change Scope

N/A (no changes from previous approval)

❔Got questions? Need additional info?? We are here to help!

Contact us!

The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

Click here for links to tools, specs, guidelines & other good stuff

Tooling

Guidelines & Specifications

Helpful Links

fix https://github.com/Azure/azure-rest-api-specs/issues/27369

jylama-99 avatar Jan 11 '24 23:01 jylama-99

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

️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️❌Breaking Change(Cross-Version): 17 Errors, 1 Warnings failed [Detail]
compared swaggers (via Oad v0.10.4)] new version base version
devcenter.json 2024-02-01(20c63d6) 2023-04-01(main)
devcenter.json 2024-02-01(20c63d6) 2023-10-01-preview(main)
environments.json 2024-02-01(20c63d6) 2023-04-01(main)
environments.json 2024-02-01(20c63d6) 2023-10-01-preview(main)

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

Rule Message
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L147:7
Old: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L147:7
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L131:11
Old: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L131:11
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L104:13
Old: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L104:13
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L144:5
Old: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L144:5
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1376:7
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L721:7
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1360:11
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L705:11
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L858:13
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L382:13
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1414:7
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L754:7
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1398:11
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L738:11
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1005:13
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L529:13
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1529:7
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L864:7
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1513:11
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L848:11
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1373:5
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L718:5
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1411:5
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L751:5
1034 - AddedRequiredProperty The new version has new required property 'uri' that was not found in the old version.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1526:5
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L861:5
Runtime Exception "new":"https://github.com/Azure/azure-rest-api-specs/blob/20c63d639e495a108f2a500a9b0050fdb42e64c4/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2024-02-01/devbox.json",
"old":"https://github.com/Azure/azure-rest-api-specs/blob/main/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devbox.json",
"details":"Breaking change detector (OAD) invoked AutoRest. AutoRest threw a runtime error. First 6 lines of stack trace follow,
indexed. First line should contain AutoRest command line invocation details. Second line should contain the main message reported by AutoRest.
====================
1: Command failed: node "/mnt/vss/_work/_tasks/AzureApiValidation_5654d05d-82c1-48da-ad8f-161b817f6d41/0.0.72/common/temp/node_modules/.pnpm/@[email protected]/node_modules/autorest/dist/app.js" --v2 --input-file=/mnt/vss/_work/1/cross-version-c93b354fd9c14905bb574a8834c4d69b/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devbox.json --output-artifact=swagger-document.json --output-artifact=swagger-document.map --output-file=old --output-folder=/tmp
--------------------
2: ERROR: Schema violation: No enum match for: operation-location
--------------------
3: - file:///mnt/vss/_work/1/cross-version-c93b354fd9c14905bb574a8834c4d69b/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devbox.json:715:10 ($.paths["/projects/projectName/users/userId/devboxes/devBoxName:restart"].post["x-ms-long-running-operation-options"]["final-state-via"])
--------------------
4: ERROR: Schema violation: No enum match for: operation-location
--------------------
5: - file:///mnt/vss/_work/1/cross-version-c93b354fd9c14905bb574a8834c4d69b/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devbox.json:657:10 ($.paths["/projects/projectName/users/userId/devboxes/devBoxName:stop"].post["x-ms-long-running-operation-options"]["final-state-via"])
--------------------
6: ERROR: Schema violation: No enum match for: operation-location
--------------------"
:warning: 1032 - DifferentAllOf The new version has a different 'allOf' property than the previous one.
New: Microsoft.DevCenter/stable/2024-02-01/environments.json#L1079:5
Old: Microsoft.DevCenter/stable/2023-04-01/environments.json#L603:5


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

Rule Message
Runtime Exception "new":"https://github.com/Azure/azure-rest-api-specs/blob/20c63d639e495a108f2a500a9b0050fdb42e64c4/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2024-02-01/devbox.json",
"old":"https://github.com/Azure/azure-rest-api-specs/blob/main/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json",
"details":"Breaking change detector (OAD) invoked AutoRest. AutoRest threw a runtime error. First 6 lines of stack trace follow,
indexed. First line should contain AutoRest command line invocation details. Second line should contain the main message reported by AutoRest.
====================
1: Command failed: node "/mnt/vss/_work/_tasks/AzureApiValidation_5654d05d-82c1-48da-ad8f-161b817f6d41/0.0.72/common/temp/node_modules/.pnpm/@[email protected]/node_modules/autorest/dist/app.js" --v2 --input-file=/mnt/vss/_work/1/cross-version-c93b354fd9c14905bb574a8834c4d69b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json --output-artifact=swagger-document.json --output-artifact=swagger-document.map --output-file=old --output-folder=/tmp
--------------------
2: ERROR: Schema violation: No enum match for: operation-location
--------------------
3: - file:///mnt/vss/_work/1/cross-version-c93b354fd9c14905bb574a8834c4d69b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json:974:10 ($.paths["/projects/projectName/users/userId/devboxes/devBoxName:repair"].post["x-ms-long-running-operation-options"]["final-state-via"])
--------------------
4: ERROR: Schema violation: No enum match for: operation-location
--------------------
5: - file:///mnt/vss/_work/1/cross-version-c93b354fd9c14905bb574a8834c4d69b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json:916:10 ($.paths["/projects/projectName/users/userId/devboxes/devBoxName:restart"].post["x-ms-long-running-operation-options"]["final-state-via"])
--------------------
6: ERROR: Schema violation: No enum match for: operation-location
--------------------"
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 0 Warnings warning [Detail]
compared tags (via openapi-validator v2.1.6) new version base version
package-2024-02-01 package-2024-02-01(20c63d6) 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
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'DevBoxes' 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.DevCenter/stable/2024-02-01/devbox.json#L421
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L62
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L113
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L164
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L219
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L287
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L333
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L899
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L950
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L1001
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Environments' 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.DevCenter/stable/2024-02-01/environments.json#L1046
:warning: PathParameterSchema Path parameter should specify a maximum length (maxLength) and characters allowed (pattern).
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L264
:warning: OperationId OperationId for put method should contain both 'Create' and 'Update'
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L528
:warning: SchemaTypeAndFormat Schema with type: number should specify format
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L592
:warning: LongRunningOperationsOptionsValidator A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled.
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L625
:warning: SchemaTypeAndFormat Schema with type: number should specify format
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L653
:warning: LongRunningOperationsOptionsValidator A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled.
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L683
:warning: SchemaTypeAndFormat Schema with type: number should specify format
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L714
:warning: LongRunningOperationsOptionsValidator A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled.
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L744
:warning: SchemaTypeAndFormat Schema with type: number should specify format
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L772
:warning: LongRunningOperationsOptionsValidator A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled.
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L802
:warning: SchemaTypeAndFormat Schema with type: number should specify format
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L830
:warning: ListInOperationName Since operation response has model definition in array type, it should be of the form '_list'.
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L1114
:warning: SchemaNamesConvention Schema name should be Pascal case.
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L1746
:warning: EnumInsteadOfBoolean Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.
Location: Microsoft.DevCenter/stable/2024-02-01/devbox.json#L2330
:warning: ErrorResponse Error response should contain a x-ms-error-code header.
Location: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L69
:warning: ErrorResponse Error response should contain a x-ms-error-code header.
Location: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L108
:warning: AvoidNestedProperties Consider using x-ms-client-flatten to provide a better end user experience
Location: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L260
:warning: OperationId OperationId for patch method should contain 'Update'
Location: Microsoft.DevCenter/stable/2024-02-01/environments.json#L287
:warning: PatchInOperationName 'PATCH' operation 'Environments_PatchEnvironment' should use method name 'Update'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
Location: Microsoft.DevCenter/stable/2024-02-01/environments.json#L287
️⚠️Avocado: 1 Warnings warning [Detail]
Rule Message
:warning: CIRCULAR_REFERENCE The JSON file has a circular reference.
readme: specification/devcenter/data-plane/readme.md
json: Microsoft.DevCenter/stable/2024-02-01/devcenter.json
️️✔️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?

Swagger Generation Artifacts

️️✔️ApiDocPreview succeeded [Detail] [Expand]
 Please click here to preview with your @microsoft account. 
️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]

Breaking Changes Tracking

Posted by Swagger Pipeline | How to fix these errors?

Generated ApiView

Language Package Name ApiView Link
Swagger Microsoft.DevCenter https://apiview.dev/Assemblies/Review/37fdba396e0b47ccb1abdee047f985b9?revisionId=71b011f0d8c94646862e51c2604ba06b

Hi @jylama-99! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version.
For more details refer to the wiki.

Justification/explanation for breaking change alerts:

  • Runtime exception is a known issue with the validator tracked by https://github.com/Azure/azure-sdk-tools/issues/6526
  • AddRequiredProperty is a false alarm for these properties. This was discussed and approved for our previous preview APIs, starting here: https://github.com/Azure/azure-rest-api-specs/pull/24291#issuecomment-1604620024.

chrissmiller avatar Jan 22 '24 22:01 chrissmiller

Based on the APIView diff from the previous preview, this looks fine. Were the previews reviews? Looking at the APIView diff from the last GA, there are quite a few additional endpoints and updates to models.

heaths avatar Jan 26 '24 00:01 heaths

I see @mikekistler previously approved the uri breaking changes, so I'm applying the appropriate label.

heaths avatar Jan 26 '24 00:01 heaths

APIView looks fine, so approving.

heaths avatar Jan 29 '24 19:01 heaths