[BC]StackHCI Module Breaking Changes Announcement Date Update#29134
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 pull request updates the breaking change announcement dates for the Az.StackHCI module and adds several new cmdlets for MSI-based registration and Arc enablement functionality.
Changes:
- Updated breaking change announcement dates from Azure PowerShell version 15.0.0 (November 2025) to version 16.0.0 (May 2026) across all breaking change directives in README.md
- Added seven new cmdlets: Enable-ArcOnNodes, Invoke-MSIFlow, Invoke-MSIUnregistrationFlow, Test-ArcNodeClusterLink, Test-ClusterArcEnabled, Test-ClusterMsiSupport, and Test-ComputerNameHasDnsSuffix
- Added new parameter
-useStableAgentVersionto Register-AzStackHCI cmdlet to enable using the stable HCI Arc agent for server registration
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| src/StackHCI/StackHCI.Autorest/README.md | Updated breaking change dates from 2025/11 to 2026/05 and version from 15.0.0 to 16.0.0 across 15 breaking change directives |
| src/StackHCI/StackHCI.Autorest/Properties/AssemblyInfo.cs | Updated assembly version from 2.6.1 to 2.6.6 |
| src/StackHCI/StackHCI/Az.StackHCI.psd1 | Updated module manifest generation date, uncommented ScriptsToProcess and TypesToProcess, added new cmdlets to FunctionsToExport, updated Tags formatting |
| src/StackHCI/StackHCI.sln | Updated project GUID reference for AutoRest project |
| src/StackHCI/StackHCI.Autorest/generate-info.json | Updated generate_Id GUID |
| src/StackHCI/StackHCI/help/*.md | Added help documentation files for 7 new cmdlets with incomplete placeholder content |
| src/StackHCI/StackHCI.Autorest/docs/*.md | Added documentation files for 7 new cmdlets, updated module index, and added new parameter documentation to Register-AzStackHCI |
| src/StackHCI/StackHCI.Autorest/test/*.Tests.ps1 | Added 7 new Pester test files for new cmdlets with placeholder/skipped test implementations |
| src/StackHCI/StackHCI.Autorest/examples/*.md | Added 7 example documentation files with placeholder template content |
| ## SYNOPSIS | ||
|
|
||
| ## SYNTAX | ||
|
|
||
| ``` | ||
| Test-ComputerNameHasDnsSuffix [-ComputerName] <String> | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ## DESCRIPTION | ||
|
|
||
| ## EXAMPLES | ||
|
|
||
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
There was a problem hiding this comment.
The SYNOPSIS section is empty and contains placeholder examples with template text like '{{ Add title here }}' and '{{ Add code here }}'. According to the custom guideline 1000004, cmdlet reference documentation should avoid over-simplified descriptions. These should be properly documented with meaningful descriptions, real examples with actual code and output, and complete parameter descriptions before being included in a release.
| ## SYNOPSIS | ||
|
|
||
| ## SYNTAX | ||
|
|
||
| ``` | ||
| Test-ClusterMsiSupport [-ClusterNodeSession] <PSSession> | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ## DESCRIPTION | ||
|
|
||
| ## EXAMPLES | ||
|
|
||
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
There was a problem hiding this comment.
The SYNOPSIS section is empty and contains placeholder examples with template text like '{{ Add title here }}' and '{{ Add code here }}'. According to the custom guideline 1000004, cmdlet reference documentation should avoid over-simplified descriptions. These should be properly documented with meaningful descriptions, real examples with actual code and output, and complete parameter descriptions before being included in a release.
| Invoke-MSIFlow [-ClusterNodes] <Array> [-ClusterDNSSuffix] <String> [-ResourceId] <String> | ||
| [-RPAPIVersion] <String> [-TenantId] <String> [-Region] <String> [-ResourceGroupName] <String> | ||
| [-ResourceName] <String> [-SubscriptionId] <String> [-ClusterNodeSession] <PSSession> | ||
| [[-Credential] <PSCredential>] [[-Tag] <Hashtable>] [[-registrationOutput] <PSObject>] |
There was a problem hiding this comment.
The parameter name 'registrationOutput' does not follow PowerShell naming conventions. PowerShell cmdlet parameters should use PascalCase (also known as UpperCamelCase), not camelCase. This parameter should be named 'RegistrationOutput' to be consistent with PowerShell standards.
| Accept wildcard characters: False | ||
| ``` | ||
|
|
||
| ### -useStableAgentVersion |
There was a problem hiding this comment.
The parameter name 'useStableAgentVersion' does not follow PowerShell naming conventions. PowerShell cmdlet parameters should use PascalCase (also known as UpperCamelCase), not camelCase. This parameter should be named 'UseStableAgentVersion' to be consistent with other parameters in this cmdlet like 'UseDeviceAuthentication', 'IsWAC', 'RepairRegistration', etc.
| Accept wildcard characters: False | ||
| ``` | ||
|
|
||
| ### -useStableAgentVersion |
There was a problem hiding this comment.
The parameter name 'useStableAgentVersion' does not follow PowerShell naming conventions. PowerShell cmdlet parameters should use PascalCase (also known as UpperCamelCase), not camelCase. This parameter should be named 'UseStableAgentVersion' to be consistent with other parameters in this cmdlet.
| ## SYNOPSIS | ||
|
|
||
| ## SYNTAX | ||
|
|
||
| ``` | ||
| Test-ClusterArcEnabled [-ClusterNodes] <Array> [-ClusterDNSSuffix] <String> [-SubscriptionId] <String> | ||
| [-ArcResourceGroupName] <String> [[-Credential] <PSCredential>] | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ## DESCRIPTION | ||
|
|
||
| ## EXAMPLES | ||
|
|
||
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} |
There was a problem hiding this comment.
The SYNOPSIS section is empty and contains placeholder examples with template text like '{{ Add title here }}' and '{{ Add code here }}'. According to the custom guideline 1000004, cmdlet reference documentation should avoid over-simplified descriptions. These should be properly documented with meaningful descriptions, real examples with actual code and output, and complete parameter descriptions before being included in a release.
| ## SYNOPSIS | ||
|
|
||
| ## SYNTAX | ||
|
|
||
| ``` | ||
| Enable-ArcOnNodes [-ClusterNodes] <Array> [-ClusterDNSSuffix] <String> [-SubscriptionId] <String> | ||
| [-ResourceGroupName] <String> [-TenantId] <String> [-Location] <String> [-EnvironmentName] <String> | ||
| [-AccessToken] <String> [[-Credential] <PSCredential>] [[-UseStableAgent] <Boolean>] | ||
| [[-IsManagementNode] <Boolean>] [[-ComputerName] <String>] | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ## DESCRIPTION | ||
|
|
||
| ## EXAMPLES | ||
|
|
||
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here }} | ||
| ``` |
There was a problem hiding this comment.
The SYNOPSIS section is empty and contains placeholder examples with template text like '{{ Add title here }}' and '{{ Add code here }}'. According to the custom guideline 1000004, cmdlet reference documentation should avoid over-simplified descriptions. These should be properly documented with meaningful descriptions, real examples with actual code and output, and complete parameter descriptions before being included in a release.
| ### -ComputerName | ||
|
|
There was a problem hiding this comment.
The parameter description for 'ComputerName' is empty. According to custom guideline 1000004, cmdlet reference documentation should avoid over-simplified descriptions and provide meaningful parameter descriptions. This parameter should have a description explaining what the ComputerName represents and how it's used by this cmdlet.
| Accept wildcard characters: False | ||
| ``` | ||
|
|
||
| ### -registrationOutput |
There was a problem hiding this comment.
The parameter name 'registrationOutput' does not follow PowerShell naming conventions. PowerShell cmdlet parameters should use PascalCase (also known as UpperCamelCase), not camelCase. This parameter should be named 'RegistrationOutput' to be consistent with PowerShell standards and other parameters in this cmdlet like 'ClusterNodes', 'ResourceId', etc.
| Invoke-MSIFlow [-ClusterNodes] <Array> [-ClusterDNSSuffix] <String> [-ResourceId] <String> | ||
| [-RPAPIVersion] <String> [-TenantId] <String> [-Region] <String> [-ResourceGroupName] <String> | ||
| [-ResourceName] <String> [-SubscriptionId] <String> [-ClusterNodeSession] <PSSession> | ||
| [[-Credential] <PSCredential>] [[-Tag] <Hashtable>] [[-registrationOutput] <PSObject>] |
There was a problem hiding this comment.
The parameter name 'registrationOutput' does not follow PowerShell naming conventions. PowerShell cmdlet parameters should use PascalCase (also known as UpperCamelCase), not camelCase. This parameter should be named 'RegistrationOutput' to be consistent with PowerShell standards.
| [[-Credential] <PSCredential>] [[-Tag] <Hashtable>] [[-registrationOutput] <PSObject>] | |
| [[-Credential] <PSCredential>] [[-Tag] <Hashtable>] [[-RegistrationOutput] <PSObject>] |
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` |
There was a problem hiding this comment.
This example file is still a template with placeholders. Replace the placeholder title/code/output/description with a real, runnable example so it can be used for documentation/help generation.
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` |
There was a problem hiding this comment.
This docs page still contains placeholder example content (for example {{ Add title here }} / {{ Add code here }}). Replace placeholders with real, runnable examples and fill in SYNOPSIS/DESCRIPTION so the published docs are usable.
| 'Disable-AzStackHCIRemoteSupport', 'Enable-ArcOnNodes', | ||
| 'Enable-AzStackHCIAttestation', 'Enable-AzStackHCIRemoteSupport', | ||
| 'Get-AzStackHciArcSetting', 'Get-AzStackHciCluster', | ||
| 'Get-AzStackHciDeploymentSetting', 'Get-AzStackHciEdgeDevice', | ||
| 'Get-AzStackHciExtension', 'Get-AzStackHCILogsDirectory', |
There was a problem hiding this comment.
FunctionsToExport now includes helper-style functions that are not Az-prefixed (for example Enable-ArcOnNodes). Exporting these expands the public surface area and risks naming collisions. If these are intended as internal helpers for Register-AzStackHCI, consider not exporting them (or marking them as non-exported); if they are intended to be public cmdlets, align their naming and help/test quality with the rest of the module.
| ### -useStableAgentVersion | ||
| Specifies whether to use the stable HCI Arc agent for server registration. | ||
| When set to true, uses the stable HCI Arc agent. | ||
| When set to false or not specified, uses the default Azure Connected Machine Agent. |
There was a problem hiding this comment.
The parameter is shown as -useStableAgentVersion (lowercase leading character). This will appear inconsistent in Get-Help output versus other parameters (typically PascalCase). Consider standardizing the displayed name (for example, -UseStableAgentVersion) in the reference docs and the underlying parameter definition.
| - Additional information about change #1 | ||
| --> | ||
| ## Upcoming Release | ||
| * Updated preannouncement breaking changes date to May 2026. |
There was a problem hiding this comment.
The changelog entry is quite vague for users and doesn’t mention what the breaking changes are tied to (for example, the Az version and/or a link to the breaking change announcement). Consider updating this entry to clearly state which breaking change preannouncement is being moved and to what Az.StackHCI/Az version/date, so users know the impact.
| * Updated preannouncement breaking changes date to May 2026. | |
| * Updated the effective date for the Az.StackHCI breaking changes that were preannounced in Version 2.6.2 to May 2026; for details see https://go.microsoft.com/fwlink/?linkid=2333229. |
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
There was a problem hiding this comment.
This reference-help page still contains placeholder example content (for example {{ Add title here }} / {{ Add code here }}). Replace the placeholders with at least one real, runnable example and a short synopsis/description before shipping.
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` |
There was a problem hiding this comment.
This example file is still a template with placeholders. Replace the placeholder title/code/output/description with a real, runnable example so it can be used for documentation/help generation.
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` |
There was a problem hiding this comment.
This reference-help page still contains placeholder example content (for example {{ Add title here }} / {{ Add code here }}). Replace the placeholders with at least one real, runnable example and a short synopsis/description before shipping.
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
There was a problem hiding this comment.
This reference-help page still contains placeholder example content (for example {{ Add title here }} / {{ Add code here }}). Replace the placeholders with at least one real, runnable example and a short synopsis/description before shipping.
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` |
There was a problem hiding this comment.
This example file is still a template with placeholders. Replace the placeholder title/code/output/description with a real, runnable example so it can be used for documentation/help generation.
| [[-CertificateThumbprint] <String>] [-RepairRegistration] [-UseDeviceAuthentication] | ||
| [[-Credential] <PSCredential>] [-IsWAC] [[-ArcServerResourceGroupName] <String>] | ||
| [[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>] | ||
| [[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>] [-useStableAgentVersion] |
There was a problem hiding this comment.
The new parameter is documented as -useStableAgentVersion (lowercase leading letter), which is inconsistent with the rest of this cmdlet’s parameters (e.g., -UseDeviceAuthentication, -RepairRegistration). For user-facing consistency, consider renaming/documenting it as -UseStableAgentVersion (and updating the underlying parameter name if needed) so the syntax/help output follows the standard PascalCase convention used elsewhere.
| [[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>] [-useStableAgentVersion] | |
| [[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>] [-UseStableAgentVersion] |
| --- | ||
| Module Name: Az.StackHCI | ||
| Module Guid: ecca9195-88b3-4c8f-a865-4fa09629fc69 | ||
| Module Guid: ed069c15-afdb-4020-9677-d3db308109f7 |
There was a problem hiding this comment.
Module Guid was changed here, but it no longer matches the module GUID used elsewhere for StackHCI (e.g., src/StackHCI/StackHCI/Az.StackHCI.psd1 and src/StackHCI/StackHCI/help/Az.StackHCI.md both use 7a80d748-b6f0-42d1-a08d-215c5a006769). If this value is meant to identify the module, it should stay stable and consistent; otherwise please clarify why the docs module GUID differs/changed.
| Module Guid: ed069c15-afdb-4020-9677-d3db308109f7 | |
| Module Guid: 7a80d748-b6f0-42d1-a08d-215c5a006769 |
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.