devcenter microsoft.dev center 2024 05 01 preview
Data Plane API - Pull Request
This PR adds a new 2024-05-01-preview API version to the DevCenter.
This API introduces:
- Support for new properties on customization tasks
- timeout
- runAs (System, User)
- Add new property cloudPcConnectionUrl on the /projects/{projectName}/users/{userId}/devboxes/{devBoxName}/remoteConnection
- Link to open a remote desktop session via a dev box's underlying Cloud PC.
- Support for new customization task states to dataplane
- Add new customization task states WaitingForUserInputUAC and WaitingForUserSession. This is needed for the Dev Home scenario we are supporting.
- Data Plane changes to support abilities
- /projects/{projectName}/users/{userId}/abilities
- /projects/{projectName}/environmentTypes/{environmentTypeName}
- /projects/{projectName}/environmentTypes/{environmentTypeName}/users/{userId}/abilities
This API reintroduces (these were first added in 2023-10-01-preview, and removed for the 2024-02-01. We are now adding these back into this preview version)
- Customization groups (central IT managed customizations for Dev Boxes)
- Customization tasks (surfacing available customizations for the Dev Box)
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:
Is this review for (select one):
- [ ] a private preview
- [x] a public preview
- [ ] GA release
Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.
- Design Document:
- Previous API Spec Doc:
- Updated paths:
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 Swagger-Suppression-Process to get 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
Checks stuck in `queued` state?
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.
Next Steps to Merge
✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.
Swagger Validation Report
️❌BreakingChange: 8 Errors, 0 Warnings failed [Detail]
| Compared specs (v0.10.8) | new version | base version |
|---|---|---|
| devcenter.json | 2023-04-01(b5b8192) | 2023-04-01(main) |
| devcenter.json | 2024-02-01(b5b8192) | 2024-02-01(main) |
️❌Breaking Change(Cross-Version): 4 Errors, 37 Warnings failed [Detail]
| Compared specs (v0.10.8) | new version | base version |
|---|---|---|
| devcenter.json | 2024-05-01-preview(b5b8192) | 2024-02-01(main) |
| devcenter.json | 2024-05-01-preview(b5b8192) | 2023-10-01-preview(main) |
The following breaking changes are detected by comparison with the latest stable version:
| Rule | Message |
|---|---|
1029 - ReadonlyPropertyChanged |
The read only property has changed from 'false' to 'true'. New: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L5469:9 Old: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L4286:9 |
1036 - ConstraintChanged |
The new version has a different 'pattern' value than the previous one. New: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L5469:9 Old: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L4286:9 |
1036 - ConstraintChanged |
The new version has a different 'maxLength' value than the previous one. New: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L5469:9 Old: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L4286:9 |
1036 - ConstraintChanged |
The new version has a different 'minLength' value than the previous one. New: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L5469:9 Old: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L4286:9 |
The following breaking changes are detected by comparison with the latest preview version:
Only 30 items are listed, please refer to log for more details.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 8 Warnings warning [Detail]
| Compared specs (v2.2.2) | new version | base version |
|---|---|---|
| package-2024-02-01 | package-2024-02-01(b5b8192) | package-2024-02-01(main) |
| package-2023-04-01 | package-2023-04-01(b5b8192) | package-2023-04-01(main) |
| package-2024-05-01-preview | package-2024-05-01-preview(b5b8192) | default(main) |
[must fix]The following errors/warnings are introduced by current PR:
| Rule | Message | Related RPC [For API reviewers] |
|---|---|---|
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L313 |
|
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L522 |
RPC-Async-V1-05 |
| :warning: PageableOperation | Based on the response model schema, operation 'Environments_GetEnvironmentTypeAbilities' might be pageable. Consider adding the x-ms-pageable extension. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L741 |
|
| :warning: PaginationResponse | Operation might be pageable. Consider adding the x-ms-pageable extension. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L741 |
|
| :warning: PageableOperation | Based on the response model schema, operation 'DevCenter_GetProjectAbilities' might be pageable. Consider adding the x-ms-pageable extension. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L1200 |
|
| :warning: PaginationResponse | Operation might be pageable. Consider adding the x-ms-pageable extension. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L1200 |
|
| :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/preview/2024-05-01-preview/devcenter.json#L4118 |
|
| :warning: PropertyType | Property should have a defined type. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L4270 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
| Rule | Message |
|---|---|
| :warning: SecurityDefinitionDescription | Security definition should have a description. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L45 |
| :warning: OperationId | OperationId for put method should contain both 'Create' and 'Update' Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L1380 |
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L1546 |
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L1620 |
| :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/preview/2024-05-01-preview/devcenter.json#L1658 |
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L1701 |
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L1775 |
| :warning: ListInOperationName | Since operation response has model definition in array type, it should be of the form '_list'. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L2153 |
| :warning: OperationId | OperationId for patch method should contain 'Update' Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L2985 |
| :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/preview/2024-05-01-preview/devcenter.json#L2985 |
| :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/preview/2024-05-01-preview/devcenter.json#L5163 |
| :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/preview/2024-05-01-preview/devcenter.json#L5167 |
| :warning: PropertyType | Property should have a defined type. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L5306 |
| :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/preview/2024-05-01-preview/devcenter.json#L5309 |
| :warning: PropertyType | Property should have a defined type. Location: Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json#L5808 |
| :warning: SecurityDefinitionDescription | Security definition should have a description. Location: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L45 |
| :warning: OperationId | OperationId for put method should contain both 'Create' and 'Update' Location: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L969 |
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L1135 |
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L1209 |
| :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/2023-04-01/devcenter.json#L1247 |
| :warning: LongRunningOperationsOptionsValidator | A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L1290 |
| :warning: ListInOperationName | Since operation response has model definition in array type, it should be of the form '_list'. Location: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L1668 |
| :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/2023-04-01/devcenter.json#L2720 |
| :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/2023-04-01/devcenter.json#L2724 |
| :warning: PropertyType | Property should have a defined type. Location: Microsoft.DevCenter/stable/2023-04-01/devcenter.json#L3035 |
| :warning: SecurityDefinitionDescription | Security definition should have a description. Location: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L45 |
| :warning: OperationId | OperationId for put method should contain both 'Create' and 'Update' Location: Microsoft.DevCenter/stable/2024-02-01/devcenter.json#L1018 |
| :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/devcenter.json#L1184 |
| :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/devcenter.json#L1258 |
| :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/devcenter.json#L1296 |
️️✔️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
️️✔️ApiDocPreview succeeded [Detail] [Expand]
Please click here to preview with your @microsoft account.
️❌ azure-sdk-for-net-track2 failed [Detail]
❌Failed in generating from 469d7af311742fd3996a6431e7c89bf62923028f. SDK Automation 14.0.0command pwsh ./eng/scripts/Automation-Sdk-Init.ps1 ../azure-sdk-for-net_tmp/initInput.json ../azure-sdk-for-net_tmp/initOutput.json warn specification/devcenter/data-plane/readme.md skipped due to azure-sdk-for-net-track2 not found in swagger-to-sdk command pwsh ./eng/scripts/Invoke-GenerateAndBuildV2.ps1 ../azure-sdk-for-net_tmp/generateInput.json ../azure-sdk-for-net_tmp/generateOutput.json cmderr [Invoke-GenerateAndBuildV2.ps1] GeneratePackage: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/Invoke-GenerateAndBuildV2.ps1:131 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 131 | GeneratePackage ` cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Failed to generate sdk. exit code: False cmderr [Invoke-GenerateAndBuildV2.ps1] Get-ChildItem: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:807 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 807 | … rtifacts += Get-ChildItem $artifactsPath -Filter *.nupkg -exclude *.s … cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Cannot find path cmderr [Invoke-GenerateAndBuildV2.ps1] | '/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/packages/Debug/' because cmderr [Invoke-GenerateAndBuildV2.ps1] | it does not exist. cmderr [Invoke-GenerateAndBuildV2.ps1] GeneratePackage: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/Invoke-GenerateAndBuildV2.ps1:131 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 131 | GeneratePackage ` cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Failed to generate sdk artifact
❌Azure.Developer.DevCenter [Preview SDK Changes]info [Changelog]
️⚠️ azure-sdk-for-python warning [Detail]
⚠️Warning in generating from 469d7af311742fd3996a6431e7c89bf62923028f. SDK Automation 14.0.0command sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json cmderr [automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed. cmderr [automation_init.sh] cmderr [automation_init.sh] npm notice New minor version of npm available! 10.5.0 -> 10.7.0 cmderr [automation_init.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.7.0> cmderr [automation_init.sh] npm notice Run `npm install -g [email protected]` to update! cmderr [automation_init.sh] npm notice warn specification/devcenter/data-plane/readme.md skipped due to azure-sdk-for-python not found in swagger-to-sdk command sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
️✔️azure-developer-devcenter [Preview SDK Changes]- azure-developer-devcenter-1.0.0.zip
- azure_developer_devcenter-1.0.0-py3-none-any.whl
info [Changelog] data-plan skip changelog generation temporarily
️❌ azure-sdk-for-js failed [Detail]
❌Code Generator Failed in generating from 469d7af311742fd3996a6431e7c89bf62923028f. SDK Automation 14.0.0command sh .scripts/automation_init.sh ../azure-sdk-for-js_tmp/initInput.json ../azure-sdk-for-js_tmp/initOutput.json warn File azure-sdk-for-js_tmp/initOutput.json not found to read warn specification/devcenter/data-plane/readme.md skipped due to azure-sdk-for-js not found in swagger-to-sdk command sh .scripts/automation_generate.sh ../azure-sdk-for-js_tmp/generateInput.json ../azure-sdk-for-js_tmp/generateOutput.json cmderr [automation_generate.sh] [ERROR] Command failed: pwsh ./eng/common/scripts/TypeSpec-Project-Process.ps1 /mnt/vss/_work/1/s/azure-rest-api-specs/specification/devcenter/DevCenter 469d7af311742fd3996a6431e7c89bf62923028f https://github.com/Azure/azure-rest-api-specs cmderr [automation_generate.sh] [ERROR] Command failed: pwsh ./eng/common/scripts/TypeSpec-Project-Process.ps1 /mnt/vss/_work/1/s/azure-rest-api-specs/specification/devcenter/DevCenter 469d7af311742fd3996a6431e7c89bf62923028f https://github.com/Azure/azure-rest-api-specs error Script return with result [failed] code [1] signal [null] cwd [azure-sdk-for-js]: sh .scripts/automation_generate.sh warn Skip package processing as generation is failed
️️✔️ azure-sdk-for-java succeeded [Detail] [Expand]
️✔️Succeeded in generating from 469d7af311742fd3996a6431e7c89bf62923028f. SDK Automation 14.0.0command ./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json warn specification/devcenter/data-plane/readme.md skipped due to azure-sdk-for-java not found in swagger-to-sdk command ./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
️✔️azure-developer-devcenter [Preview SDK Changes]- pom.xml
- azure-developer-devcenter-1.1.0-beta.1.jar
- azure-developer-devcenter-1.1.0-beta.1-sources.jar
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Java | azure-developer-devcenter | https://apiview.dev/Assemblies/Review/77592e1c02504994a45ad468b6905fbe?revisionId=06a70b670b02447e9d4fb2e64323eaf3 |
| Python | azure-developer-devcenter | Create ApiView failed. To get help, please see [aka.ms/azsdk/pr-getting-help](https://aka.ms/azsdk/pr-getting-help). |
| TypeSpec | DevCenter | https://apiview.dev/Assemblies/Review/f71b6b5342c94485b30a59ccf89bf41f?revisionId=c58e40d5a86e4864a48256155fa8c75a |
| Swagger | Microsoft.DevCenter | https://apiview.dev/Assemblies/Review/37fdba396e0b47ccb1abdee047f985b9?revisionId=2ce747cc47a04a90a330e33fe62430cd |
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
Looks like one of your samples isnt following your spec: https://apidrop.visualstudio.com/Content%20CI/_build/results?buildId=427932&view=logs&j=fd490c07-0b22-5182-fac9-6d67fe1e939b&t=a04569be-1b08-5c9a-7e65-a83076350a0c&l=35
that's probably why the swagger apidocpreview step failed
Looks like one of your samples isnt following your spec: https://apidrop.visualstudio.com/Content%20CI/_build/results?buildId=427932&view=logs&j=fd490c07-0b22-5182-fac9-6d67fe1e939b&t=a04569be-1b08-5c9a-7e65-a83076350a0c&l=35
that's probably why the swagger apidocpreview step failed
Opened an IcM here: https://portal.microsofticm.com/imp/v3/incidents/incident/501251550/summary as per instructions here: https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/ci-fix.md#swagger-apidocpreview
/azp run
Azure Pipelines successfully started running 4 pipeline(s).