[PS] Migrate LabServices module to autorest v4#27877
Conversation
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the LabServices PowerShell module to AutoRest v4 by updating model namespaces, unifying command implementations, and refreshing generation directives and assembly metadata.
- Updated cmdlet scripts to use the new
Microsoft.Azure.PowerShell.Cmdlets.LabServices.Modelstypes instead ofApi20211001Previewvariants. - Adjusted internal invocations in list commands to point at private helper functions.
- Refreshed UX JSON descriptions, updated autorest directives, and added an
AssemblyInfo.csfor module metadata.
Reviewed Changes
Copilot reviewed 142 out of 142 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/LabServices/.../custom/*.ps1 | Swapped out Api20211001Preview model types for Models.*; updated OutputType and parameter type references. |
| src/LabServices/.../Get-AzLabServicesLab_ListBySubscription.ps1 | Changed internal call from internal\Get-AzLabServicesLab to private\Get-AzLabServicesLab_List. |
| src/LabServices/.../Get-AzLabServicesLab_ListByResourceGroup.ps1 | Changed internal call to private\Get-AzLabServicesLab_List1. |
| src/LabServices/.../UX/Microsoft.LabServices/labs.json | Revised the “Publish-AzLabServicesLab” description text. |
| src/LabServices/.../README.md | Updated AutoRest directives for deprecation, password handling, and command variants. |
| src/LabServices/.../AssemblyInfo.cs | Added assembly metadata file with version and licensing. |
Comments suppressed due to low confidence (2)
src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_ListBySubscription.ps1:86
- [nitpick] The helper function name
Get-AzLabServicesLab_Listis too generic and may confuse readers. Consider renaming it to reflect the context (e.g.,Get-AzLabServicesLab_ListBySubscriptionPrivate) for clarity.
return Az.LabServices.private\Get-AzLabServicesLab_List @PSBoundParameters
src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_ListByResourceGroup.ps1:90
- [nitpick] The numeric suffix in
Get-AzLabServicesLab_List1is unclear. A more descriptive name matching the cmdlet (e.g.,Get-AzLabServicesLab_ListByResourceGroupPrivate) would improve maintainability.
return Az.LabServices.private\Get-AzLabServicesLab_List1 @PSBoundParameters
|
|
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the LabServices PowerShell module to use AutoRest v4 schemas and updated codegen artifacts.
- Updated all cmdlet scripts to reference the general
Microsoft.Azure.PowerShell.Cmdlets.LabServices.Models.*interfaces instead of the versionedApi20211001Previewtypes - Swapped internal invocation namespace to
Az.LabServices.privateand adjusted private helper names in list cmdlets - Refreshed Autorest directives in
README.mdand added a newAssemblyInfo.cswith metadata
Reviewed Changes
Copilot reviewed 141 out of 141 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesUserVM_Get.ps1 | Updated .Outputs and OutputType to use Models.IVirtualMachine |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesTemplateVM_Lab.ps1 | Updated .Outputs and OutputType to use Models.IVirtualMachine and reference Models.Lab |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesTemplateVM_Get.ps1 | Updated .Outputs and OutputType to use Models.IVirtualMachine |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesSchedule_ResourceId.ps1 | Updated .Outputs and OutputType to use Models.ISchedule |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesSchedule_Lab.ps1 | Updated .Outputs and OutputType to use Models.ISchedule and reference Models.Lab |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesPlanImage_ResourceId.ps1 | Updated .Outputs and OutputType to use Models.IImage |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesPlanImage_ListByDisplayName.ps1 | Updated .Outputs and OutputType to use Models.IImage |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesPlanImage_LabPlan.ps1 | Updated .Outputs and OutputType to use Models.IImage and reference Models.LabPlan |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLabforVM.ps1 | Updated .Outputs and OutputType to use Models.ILab |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_ResourceId.ps1 | Updated .Outputs and OutputType to use Models.ILab |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_ListBySubscription.ps1 | Updated .Outputs, OutputType, and switched to Az.LabServices.private\Get-AzLabServicesLab_List |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_ListByResourceGroup.ps1 | Updated .Outputs, OutputType, and switched to Az.LabServices.private\Get-AzLabServicesLab_List1 |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_ListByLabName.ps1 | Updated .Outputs and OutputType to use Models.ILab |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_LabPlan.ps1 | Updated .Outputs and OutputType to use Models.ILab and reference Models.LabPlan |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLabPlan_ResourceId.ps1 | Updated .Outputs and OutputType to use Models.ILabPlan |
| src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLabPlan_ListByLabPlanName.ps1 | Updated .Outputs and OutputType to use Models.ILabPlan |
| src/LabServices/LabServices.Autorest/custom/Add-AzLabServicesUserQuota_User.ps1 | Updated .Outputs and OutputType to use Models.IUser and reference Models.User |
| src/LabServices/LabServices.Autorest/custom/Add-AzLabServicesUserQuota_Email.ps1 | Updated .Outputs and OutputType to use Models.IUser |
| src/LabServices/LabServices.Autorest/README.md | Refreshed Autorest v4 directives, deprecation notices, transforms, and removed old extension block |
| src/LabServices/LabServices.Autorest/Properties/AssemblyInfo.cs | Added new AssemblyInfo with license header and assembly metadata |
Comments suppressed due to low confidence (2)
src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesSchedule_ResourceId.ps1:26
- The function name
Get-AzLabServicesSchedule_LabObjectdoes not match the file nameGet-AzLabServicesSchedule_ResourceId.ps1. Rename the function toGet-AzLabServicesSchedule_ResourceIdfor consistency.
function Get-AzLabServicesSchedule_LabObject {
src/LabServices/LabServices.Autorest/custom/Get-AzLabServicesLab_ListByResourceGroup.ps1:90
- The helper invocation references
Get-AzLabServicesLab_List1, which is an unexpected suffix. Verify and correct the function name (e.g.,Get-AzLabServicesLab_ListByResourceGroupor a consistent private helper) to prevent runtime errors.
return Az.LabServices.private\Get-AzLabServicesLab_List1 @PSBoundParameters
…ix cmd Stop User VM variant stop bug.
|
Please check the CI results and remove the secrets. |
Description
Mandatory Checklist
Please choose the target release of Azure PowerShell. (⚠️ Target release is a different concept from API readiness. Please click below links for details.)
Check this box to confirm: I have read the Submitting Changes section of
CONTRIBUTING.mdand reviewed the following information:ChangeLog.mdfile(s) appropriatelysrc/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.## Upcoming Releaseheader in the past tense.ChangeLog.mdif no new release is required, such as fixing test case only.