New powershell module for 'servicegroups'#29282
Open
meghanagupta95 wants to merge 8 commits intoAzure:mainfrom
Open
New powershell module for 'servicegroups'#29282meghanagupta95 wants to merge 8 commits intoAzure:mainfrom
meghanagupta95 wants to merge 8 commits intoAzure:mainfrom
Conversation
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds the initial scaffold for a new Azure PowerShell module Az.ServiceGroups, including module packaging, generated cmdlet help, AutoRest workspace, and Pester test stubs.
Changes:
- Introduces the
ServiceGroupsmodule project, manifest, changelog, and solution entries. - Adds initial help markdown for cmdlets plus AutoRest-generated docs/examples structure.
- Adds Pester test scaffolding and test utilities for record/playback workflows.
Reviewed changes
Copilot reviewed 53 out of 53 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ServiceGroups/ServiceGroups/help/Update-AzServiceGroup.md | Adds cmdlet help markdown for Update-AzServiceGroup (currently includes placeholders). |
| src/ServiceGroups/ServiceGroups/help/Remove-AzServiceGroup.md | Adds cmdlet help markdown for Remove-AzServiceGroup (currently includes placeholders). |
| src/ServiceGroups/ServiceGroups/help/New-AzServiceGroup.md | Adds cmdlet help markdown for New-AzServiceGroup (currently includes placeholders). |
| src/ServiceGroups/ServiceGroups/help/Get-AzServiceGroupAncestor.md | Adds cmdlet help markdown for Get-AzServiceGroupAncestor (currently includes placeholders). |
| src/ServiceGroups/ServiceGroups/help/Get-AzServiceGroup.md | Adds cmdlet help markdown for Get-AzServiceGroup (currently includes placeholders). |
| src/ServiceGroups/ServiceGroups/help/Az.ServiceGroups.md | Adds module-level help index markdown (currently includes placeholders). |
| src/ServiceGroups/ServiceGroups/ServiceGroups.csproj | Creates the module project and packages manifest + help assets. |
| src/ServiceGroups/ServiceGroups/Properties/AssemblyInfo.cs | Adds assembly metadata/versioning for the new module. |
| src/ServiceGroups/ServiceGroups/ChangeLog.md | Adds initial changelog with 0.1.0 entry. |
| src/ServiceGroups/ServiceGroups/Az.ServiceGroups.psd1 | Adds module manifest including dependencies and exports. |
| src/ServiceGroups/ServiceGroups.sln | Adds solution entries for ServiceGroups and its AutoRest project. |
| src/ServiceGroups/ServiceGroups.Autorest/utils/Unprotect-SecureString.ps1 | Adds utility to convert SecureString to plaintext. |
| src/ServiceGroups/ServiceGroups.Autorest/utils/Get-SubscriptionIdTestSafe.ps1 | Adds helper to get subscription id safely for tests. |
| src/ServiceGroups/ServiceGroups.Autorest/test/utils.ps1 | Adds Pester test utilities and env setup helpers. |
| src/ServiceGroups/ServiceGroups.Autorest/test/loadEnv.ps1 | Adds env loader for record/playback tests. |
| src/ServiceGroups/ServiceGroups.Autorest/test/Update-AzServiceGroupsServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/Update-AzServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/Remove-AzServiceGroupsServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/Remove-AzServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/README.md | Adds documentation for test modes and how to run tests. |
| src/ServiceGroups/ServiceGroups.Autorest/test/New-AzServiceGroupsServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/New-AzServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/Get-AzServiceGroupsServiceGroupAncestor.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/Get-AzServiceGroupsServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/Get-AzServiceGroupAncestor.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/test/Get-AzServiceGroup.Tests.ps1 | Adds generated Pester stub (skipped). |
| src/ServiceGroups/ServiceGroups.Autorest/resources/README.md | Adds AutoRest module resources folder guidance. |
| src/ServiceGroups/ServiceGroups.Autorest/how-to.md | Adds contributor guidance for building/testing/packing the module. |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Update-AzServiceGroupsServiceGroup.md | Adds examples for update cmdlet (contains parameter-name mismatch). |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Update-AzServiceGroup.md | Adds example stub file (placeholders). |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Remove-AzServiceGroupsServiceGroup.md | Adds examples for remove cmdlet. |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Remove-AzServiceGroup.md | Adds example stub file (placeholders). |
| src/ServiceGroups/ServiceGroups.Autorest/examples/New-AzServiceGroupsServiceGroup.md | Adds examples for new cmdlet (contains parameter-name mismatch). |
| src/ServiceGroups/ServiceGroups.Autorest/examples/New-AzServiceGroup.md | Adds example stub file (placeholders). |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Get-AzServiceGroupsServiceGroupAncestor.md | Adds examples for ancestor listing. |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Get-AzServiceGroupsServiceGroup.md | Adds examples for get cmdlet. |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Get-AzServiceGroupAncestor.md | Adds example stub file (placeholders). |
| src/ServiceGroups/ServiceGroups.Autorest/examples/Get-AzServiceGroup.md | Adds example stub file (placeholders). |
| src/ServiceGroups/ServiceGroups.Autorest/docs/Update-AzServiceGroup.md | Adds generated docs markdown for update cmdlet (still placeholders for examples). |
| src/ServiceGroups/ServiceGroups.Autorest/docs/Remove-AzServiceGroup.md | Adds generated docs markdown for remove cmdlet (still placeholders for examples). |
| src/ServiceGroups/ServiceGroups.Autorest/docs/README.md | Adds generated docs folder guidance. |
| src/ServiceGroups/ServiceGroups.Autorest/docs/New-AzServiceGroup.md | Adds generated docs markdown for new cmdlet (still placeholders for examples). |
| src/ServiceGroups/ServiceGroups.Autorest/docs/Get-AzServiceGroupAncestor.md | Adds generated docs markdown for ancestor cmdlet (still placeholders for examples). |
| src/ServiceGroups/ServiceGroups.Autorest/docs/Get-AzServiceGroup.md | Adds generated docs markdown for get cmdlet (still placeholders for examples). |
| src/ServiceGroups/ServiceGroups.Autorest/docs/Az.ServiceGroups.md | Adds generated module index docs markdown. |
| src/ServiceGroups/ServiceGroups.Autorest/custom/README.md | Adds guidance for implementing custom cmdlets. |
| src/ServiceGroups/ServiceGroups.Autorest/custom/Az.ServiceGroups.custom.psm1 | Adds loader for private/internal assemblies and script cmdlets. |
| src/ServiceGroups/ServiceGroups.Autorest/UX/Microsoft.Management/serviceGroups.json | Adds UX metadata for resourceType commands and examples. |
| src/ServiceGroups/ServiceGroups.Autorest/README.md | Adds AutoRest config + module overview (dependency statement differs from manifest). |
| src/ServiceGroups/ServiceGroups.Autorest/Properties/AssemblyInfo.cs | Adds AutoRest-generated assembly metadata for private assembly. |
| src/ServiceGroups/ServiceGroups.Autorest/.gitignore | Adds ignore patterns for generated output folders/files. |
| src/ServiceGroups/ServiceGroups.Autorest/.gitattributes | Sets text normalization defaults. |
Comments suppressed due to low confidence (11)
src/ServiceGroups/ServiceGroups.Autorest/test/loadEnv.ps1:1
$envFilePathis computed to support loading env files from either the current folder or the parent folder, but the code reads from(Join-Path $PSScriptRoot $envFile)instead of$envFilePath. This will fail in theelsebranch (when env file is located in..\). Use$envFilePathforGet-Contentto match the earlier path resolution.
src/ServiceGroups/ServiceGroups/Az.ServiceGroups.psd1:1- Exporting all variables and aliases (
'*') can pollute the caller's session and make imports less predictable. For Az modules, it’s typically safer to export none (e.g.,@()) unless the module intentionally defines public variables/aliases. Consider settingVariablesToExportandAliasesToExportto empty arrays (or explicitly enumerating intended exports).
src/ServiceGroups/ServiceGroups/help/Az.ServiceGroups.md:1 - This module-level help file still contains template placeholders. Since
help\\*.mdis configured to be copied to the output inServiceGroups.csproj, these placeholders may ship and degrade the user experience. Replace placeholders with real values (or generate this file from the same source asServiceGroups.Autorest/docs/Az.ServiceGroups.md) before release.
src/ServiceGroups/ServiceGroups/help/Az.ServiceGroups.md:1 - This module-level help file still contains template placeholders. Since
help\\*.mdis configured to be copied to the output inServiceGroups.csproj, these placeholders may ship and degrade the user experience. Replace placeholders with real values (or generate this file from the same source asServiceGroups.Autorest/docs/Az.ServiceGroups.md) before release.
src/ServiceGroups/ServiceGroups/help/Update-AzServiceGroup.md:1 - Cmdlet help contains placeholder examples/titles/descriptions. If these help files are intended to ship, replace placeholders with real examples (you already have non-placeholder examples under
ServiceGroups.Autorest/examplesfor some cmdlets), or remove the empty example blocks entirely to avoid publishing unusable help content.
src/ServiceGroups/ServiceGroups/help/New-AzServiceGroup.md:1 -ProgressActiondescription is still a template placeholder. Replace it with the standard Az help text forProgressAction(or omit this parameter section if the help generator should provide standardized wording). This placeholder appears in multiple cmdlet help files in this PR.
src/ServiceGroups/ServiceGroups.Autorest/utils/Unprotect-SecureString.ps1:1- This utility converts a
SecureStringinto plaintext, which is inherently sensitive and easy to misuse (plaintext may linger in memory, logs, transcripts, etc.). If this is only needed for local testing, consider relocating it under a clearly test-only path and ensuring it is not packaged/shipped; also add explicit warnings in comments/help to discourage production use.
src/ServiceGroups/ServiceGroups.Autorest/utils/Unprotect-SecureString.ps1:1 - This utility converts a
SecureStringinto plaintext, which is inherently sensitive and easy to misuse (plaintext may linger in memory, logs, transcripts, etc.). If this is only needed for local testing, consider relocating it under a clearly test-only path and ensuring it is not packaged/shipped; also add explicit warnings in comments/help to discourage production use.
src/ServiceGroups/ServiceGroups/ChangeLog.md:1 - The changelog format in the header comment suggests releases should be recorded as
## YYYY.MM.DD - Version X.Y.Z (Previous Release), but0.1.0is listed without a date. Consider updating the heading to match the documented format for consistency with tooling/readers that may parse changelogs.
src/ServiceGroups/ServiceGroups/ServiceGroups.csproj:1 - This project copies
help\\*.mdinto the output, but the PR also introduces another set of generated documentation underServiceGroups.Autorest/docsand examples underServiceGroups.Autorest/examples. Right now thehelpmarkdown includes many placeholders while the AutoRest docs index is populated. To reduce duplication and prevent shipping inconsistent help, consider having a single source of truth for shipped help content (either generate/populatehelp\\*.mdor wire packaging to use the generated docs consistently).
src/ServiceGroups/ServiceGroups/ChangeLog.md:1 - The PR description template is left unfilled (no target release selection, no summary), which makes it harder to validate whether
Upcoming Release/ versioning / packaging changes align with the intended release plan. Please update the PR description with the target release type and a brief summary of intended ship scope for this initial module drop.
You can also share your feedback on Copilot code review. Take the survey.
src/ServiceGroups/ServiceGroups.Autorest/examples/New-AzServiceGroupsServiceGroup.md
Outdated
Show resolved
Hide resolved
src/ServiceGroups/ServiceGroups.Autorest/test/Get-AzServiceGroup.Tests.ps1
Outdated
Show resolved
Hide resolved
Contributor
|
/azp run |
Contributor
|
Azure Pipelines successfully started running 3 pipeline(s). |
Contributor
|
/azp run |
Contributor
|
Azure Pipelines successfully started running 3 pipeline(s). |
Contributor
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
You can also share your feedback on Copilot code review. Take the survey.
Contributor
|
/azp run |
1 similar comment
Member
Author
|
/azp run |
Contributor
|
Commenter does not have sufficient privileges for PR 29282 in repo Azure/azure-powershell |
Contributor
|
Azure Pipelines successfully started running 3 pipeline(s). |
Member
Author
|
/azp run |
Contributor
|
Commenter does not have sufficient privileges for PR 29282 in repo Azure/azure-powershell |
Contributor
|
/azp run |
Contributor
|
Azure Pipelines successfully started running 3 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a new module for the resource type 'ServiceGroups' using the code generation method. This is required as part of our move to public preview.
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.