Skip to content

[BC]StackHCI Module Breaking Changes Announcement Date Update#29134

Merged
NoriZC merged 7 commits into
Azure:mainfrom
JiaSeng-v:jiaseng/StackHCI-breakingchanges
Apr 8, 2026
Merged

[BC]StackHCI Module Breaking Changes Announcement Date Update#29134
NoriZC merged 7 commits into
Azure:mainfrom
JiaSeng-v:jiaseng/StackHCI-breakingchanges

Conversation

@JiaSeng-v

@JiaSeng-v JiaSeng-v commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

Description

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

Copilot AI review requested due to automatic review settings February 4, 2026 07:43
@JiaSeng-v JiaSeng-v added Breaking Change Preannounce This PR adds preannouncement about upcoming breaking change autorest v4 migration pr migrating module from generated by autorest.powershell v3 to v4 labels Feb 4, 2026
@azure-client-tools-bot-prd

Copy link
Copy Markdown
Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 -useStableAgentVersion to 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

Comment on lines +10 to +44
## 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 }}

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +10 to +44
## 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 }}

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot generated this review using guidance from repository custom instructions.
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>]

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Accept wildcard characters: False
```

### -useStableAgentVersion

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Accept wildcard characters: False
```

### -useStableAgentVersion

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +10 to +44
## 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 }}

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +10 to +44
## 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 }}
```

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +47 to +48
### -ComputerName

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot generated this review using guidance from repository custom instructions.
Accept wildcard characters: False
```

### -registrationOutput

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
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>]

Copilot AI Feb 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
[[-Credential] <PSCredential>] [[-Tag] <Hashtable>] [[-registrationOutput] <PSObject>]
[[-Credential] <PSCredential>] [[-Tag] <Hashtable>] [[-RegistrationOutput] <PSObject>]

Copilot uses AI. Check for mistakes.
@NoriZC NoriZC self-assigned this Mar 26, 2026
Copilot AI review requested due to automatic review settings March 26, 2026 10:40
NoriZC
NoriZC previously approved these changes Mar 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 38 out of 38 changed files in this pull request and generated 32 comments.

Comment on lines +1 to +4
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +25 to +28
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment thread src/StackHCI/StackHCI/Az.StackHCI.psd1 Outdated
Comment on lines +73 to +77
'Disable-AzStackHCIRemoteSupport', 'Enable-ArcOnNodes',
'Enable-AzStackHCIAttestation', 'Enable-AzStackHCIRemoteSupport',
'Get-AzStackHciArcSetting', 'Get-AzStackHciCluster',
'Get-AzStackHciDeploymentSetting', 'Get-AzStackHciEdgeDevice',
'Get-AzStackHciExtension', 'Get-AzStackHCILogsDirectory',

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +374 to +377
### -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.

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
- Additional information about change #1
-->
## Upcoming Release
* Updated preannouncement breaking changes date to May 2026.

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
* 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.

Copilot uses AI. Check for mistakes.
Comment on lines +24 to +28
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +4
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +23 to +26
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +26 to +30
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +4
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
@NoriZC NoriZC enabled auto-merge (squash) March 26, 2026 11:05
Copilot AI review requested due to automatic review settings March 30, 2026 00:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

[[-CertificateThumbprint] <String>] [-RepairRegistration] [-UseDeviceAuthentication]
[[-Credential] <PSCredential>] [-IsWAC] [[-ArcServerResourceGroupName] <String>]
[[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>]
[[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>] [-useStableAgentVersion]

Copilot AI Mar 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
[[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>] [-useStableAgentVersion]
[[-ArcSpnCredential] <PSCredential>] [[-LogsDirectory] <String>] [-UseStableAgentVersion]

Copilot uses AI. Check for mistakes.
---
Module Name: Az.StackHCI
Module Guid: ecca9195-88b3-4c8f-a865-4fa09629fc69
Module Guid: ed069c15-afdb-4020-9677-d3db308109f7

Copilot AI Mar 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
Module Guid: ed069c15-afdb-4020-9677-d3db308109f7
Module Guid: 7a80d748-b6f0-42d1-a08d-215c5a006769

Copilot uses AI. Check for mistakes.
@JiaSeng-v JiaSeng-v requested a review from NoriZC March 30, 2026 00:54
@jsntcy jsntcy requested a review from VeryEarly April 7, 2026 03:46
@NoriZC NoriZC merged commit 3dcceb6 into Azure:main Apr 8, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autorest v4 migration pr migrating module from generated by autorest.powershell v3 to v4 Breaking Change Preannounce This PR adds preannouncement about upcoming breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants