add stable API 2024-02-01 for GA
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.
- 💬 Teams Channel
Click here for links to tools, specs, guidelines & other good stuff
Tooling
- Open API validation tools were run on this PR. Go here to see how to fix errors
- Spectral Linting
- Open API Hub
Guidelines & Specifications
Helpful Links
fix https://github.com/Azure/azure-rest-api-specs/issues/27369
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]
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
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.
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.
I see @mikekistler previously approved the uri breaking changes, so I'm applying the appropriate label.
APIView looks fine, so approving.