This PR adds Dev Box functionality to the extension. Dev Boxes are cloud VMs offered by Microsoft. This PR is part of changes that will enable Dev Home to list and control Dev Boxes.
Detailed description of the pull request / Additional comments
This PR adds the actual implementation for the skeleton methods added as part of the framework PR. Ther implementation includes enumerating all the dev boxes, and their starting, stopping, deleting and restarting.
Diagram idea credit @bbonaby
sequenceDiagram
Dev Home->>AzureExt(DevBoxProvider): GetComputeSystemsAsync()
AzureExt(DevBoxProvider)->>ManagementService: Get all dev center projects for user
ManagementService->>AuthenticationService: Get HTTP Client to use
AuthenticationService->>TokenService: Get token to use
TokenService-->>AuthenticationService: Returns AzureResourceManager token
AuthenticationService-->>ManagementService: Returns HTTP Client w/ ARM token
ManagementService-->>AzureExt(DevBoxProvider): Returns projects
AzureExt(DevBoxProvider)->>ManagementService: Get all dev boxes under project
ManagementService->>AuthenticationService: Get HTTP Client to use
AuthenticationService->>TokenService: Get token to use
TokenService-->>AuthenticationService: Returns Data Plane token
AuthenticationService-->>ManagementService: Returns Client w/ Data Plane token
ManagementService-->>AzureExt(DevBoxProvider): Returns Dev Boxes
AzureExt(DevBoxProvider)->>ManagementService: Get dev boxes' details
ManagementService->>AuthenticationService: Get HTTP Client to use
AuthenticationService-->>ManagementService: Returns Client w/ Data Plane token
ManagementService-->>AzureExt(DevBoxProvider): Returns details
AzureExt(DevBoxProvider)-)Dev Home: Returns List of IComputeSystems
Validation steps performed
Unit Tests
Manual validation
PR checklist
[ ] Closes #xxx
[x] Tests added/passed
[ ] Documentation updated
Note: Currently the PR doesn't build since it uses a SDK that has ComputeSystem changes as needed for this feature.
Summary of the pull request
This PR adds Dev Box functionality to the extension. Dev Boxes are cloud VMs offered by Microsoft. This PR is part of changes that will enable Dev Home to list and control Dev Boxes.
Detailed description of the pull request / Additional comments
This PR adds the actual implementation for the skeleton methods added as part of the framework PR. Ther implementation includes enumerating all the dev boxes, and their starting, stopping, deleting and restarting.
Diagram idea credit @bbonaby
Validation steps performed
Unit Tests Manual validation
PR checklist
Note: Currently the PR doesn't build since it uses a SDK that has ComputeSystem changes as needed for this feature.