Skip to content

[PS] Migrate StackHCI module to autorest v4#28363

Open
JoyerJin wants to merge 14 commits intomainfrom
joyer/stackhci-migration-v4
Open

[PS] Migrate StackHCI module to autorest v4#28363
JoyerJin wants to merge 14 commits intomainfrom
joyer/stackhci-migration-v4

Conversation

@JoyerJin
Copy link
Copy Markdown
Contributor

@JoyerJin JoyerJin commented Aug 8, 2025

Description

Preannouncement PR:

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

@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.

@JoyerJin JoyerJin marked this pull request as ready for review September 1, 2025 08:35
Copilot AI review requested due to automatic review settings September 1, 2025 08:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR migrates the StackHCI module from autorest v3 to autorest v4, updating generated PowerShell cmdlets and their documentation. The migration brings several structural changes to the module's API surface.

Key changes include:

  • Updated type definitions from strongly-typed enums to string types for better flexibility
  • Modified parameter sets and method signatures across cmdlets
  • Added new JSON input parameter support for several cmdlets
  • Restructured identity and authentication parameter handling

Reviewed Changes

Copilot reviewed 83 out of 84 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
help/*.md Updated cmdlet documentation with new parameter types and syntax changes
StackHCI.sln Updated project GUID references for autorest v4 compatibility
Az.StackHCI.psd1 Added new cmdlet exports and updated module metadata
test/utils.ps1 Fixed variable references in test utility functions
docs/*.md Updated autorest documentation with new type definitions

@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@JoyerJin
Copy link
Copy Markdown
Contributor Author

JoyerJin commented Sep 28, 2025

waiting the service team for recording test

@isra-fel isra-fel added the autorest v4 migration pr migrating module from generated by autorest.powershell v3 to v4 label Oct 2, 2025
@isra-fel
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command.

@Pan-Qi Pan-Qi added the Contains Breaking Change This PR contains breaking change label Jan 9, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 9, 2026

To the author of the pull request,
This PR was labeled "Contains Breaking Change" because breaking changes have been detected by the static analysis pipeline.

  • According to our policy, breaking changes can only take place during major release and they must be preannounced.
  • Please follow our guide on the detailed steps.
  • Required: Please fill in the task below to facilitate our contact,you will receive notifications related to breaking changes.

@isra-fel isra-fel added this to the Az 16.0.0 (TBD) milestone Jan 28, 2026
@isra-fel
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copilot AI review requested due to automatic review settings April 8, 2026 03:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 92 out of 93 changed files in this pull request and generated 19 comments.

Comment on lines 214 to +229
ResourceGroupName: Resource Group
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Get the get run for a specified update"/g, '"Get the Update run for a specified update"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Get all get summaries under the HCI cluster"/g, '"Get all Update summaries under the HCI cluster"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Delete specified delete Run"/g, '"Delete specified Update Run"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Delete delete Summaries"/g, '"Delete Update Summaries"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Put put runs for a specified update"/g, '"Put Update runs for a specified update"');
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

The source-file-csharp transform directives were added without any explanatory comments. In this repo’s AutoRest README.md files, each directive/transform should be annotated with a short “why” so future maintainers know what strings are being corrected and under what conditions it’s safe to change/remove them.

Suggested change
ResourceGroupName: Resource Group
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Get the get run for a specified update"/g, '"Get the Update run for a specified update"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Get all get summaries under the HCI cluster"/g, '"Get all Update summaries under the HCI cluster"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Delete specified delete Run"/g, '"Delete specified Update Run"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Delete delete Summaries"/g, '"Delete Update Summaries"');
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Put put runs for a specified update"/g, '"Put Update runs for a specified update"');
ResourceGroupName: Resource Group
# Correct a duplicated verb in the generated operation description for update runs.
# Safe to remove when the upstream spec or generator no longer emits "Get the get run for a specified update".
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Get the get run for a specified update"/g, '"Get the Update run for a specified update"');
# Correct a duplicated verb in the generated operation description for update summaries.
# Safe to remove when the upstream spec or generator no longer emits "Get all get summaries under the HCI cluster".
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Get all get summaries under the HCI cluster"/g, '"Get all Update summaries under the HCI cluster"');
# Correct a duplicated verb in the generated delete description for update runs.
# Safe to remove when the upstream spec or generator no longer emits "Delete specified delete Run".
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Delete specified delete Run"/g, '"Delete specified Update Run"');
# Correct a duplicated verb in the generated delete description for update summaries.
# Safe to remove when the upstream spec or generator no longer emits "Delete delete Summaries".
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Delete delete Summaries"/g, '"Delete Update Summaries"');
# Correct a duplicated verb in the generated create/update description for update runs.
# Safe to remove when the upstream spec or generator no longer emits "Put put runs for a specified update".
- from: source-file-csharp
where: $
transform: $ = $.replace(/"Put put runs for a specified update"/g, '"Put Update runs for a specified update"');
# Correct a duplicated verb in the generated create/update description for update summaries.
# Safe to remove when the upstream spec or generator no longer emits "Put put summaries under the HCI cluster".

Copilot uses AI. Check for mistakes.
Comment on lines +21 to 22
* Introduced various new features by upgrading code generator. Please see details [here](https://github.com/Azure/azure-powershell/blob/main/documentation/Autorest-powershell-v4-new-features.md).
* Updated preannouncement breaking changes date to May 2026.
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This ChangeLog entry is very vague (“various new features by upgrading code generator”) and doesn’t clearly tell users what changed in their day-to-day usage (for example, new parameters/parameter sets, behavior changes, or any breaking changes). Consider rewriting it to be specific about the user-visible impact of migrating StackHCI to AutoRest PowerShell v4, and add a related issue reference if one exists.

Copilot uses AI. Check for mistakes.
Comment on lines +17 to +28
Describe 'New-AzStackHciArcSettingIdentity' {
It 'Create' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

It 'CreateViaIdentityCluster' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

It 'CreateViaIdentity' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

These tests are currently placeholders (all It blocks are -skip and only assert NotImplementedException isn’t thrown), so they don’t provide coverage for the new cmdlet. Please add at least one real playback test (and recording) that exercises the primary parameter set(s) for New-AzStackHciArcSettingIdentity.

Copilot uses AI. Check for mistakes.
Comment on lines +17 to +21
Describe 'Invoke-MSIFlow' {
It '__AllParameterSets' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
}
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This newly added test file only contains skipped placeholder tests, so it doesn’t validate any behavior. Either add a real test scenario (with recording) or remove the file until the cmdlet flow is testable to avoid giving the impression of coverage.

Copilot uses AI. Check for mistakes.
Comment on lines +17 to +21
Describe 'Invoke-MSIUnregistrationFlow' {
It '__AllParameterSets' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
}
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This newly added test file only contains skipped placeholder tests, so it doesn’t validate any behavior. Either add a real test scenario (with recording) or remove the file until the cmdlet flow is testable to avoid giving the impression of coverage.

Copilot uses AI. Check for mistakes.
Comment on lines 82 to +90
'Invoke-AzStackHciConsentAndInstallDefaultExtension',
'Invoke-AzStackHciExtendClusterSoftwareAssuranceBenefit',
'Invoke-AzStackHciUpdate', 'New-AzStackHciArcSetting',
'New-AzStackHciCluster', 'New-AzStackHciDeploymentSetting',
'New-AzStackHciEdgeDevice', 'New-AzStackHciExtension',
'New-AzStackHciSecuritySetting', 'Register-AzStackHCI',
'Remove-AzStackHciArcSetting', 'Remove-AzStackHciCluster',
'Remove-AzStackHciDeploymentSetting', 'Remove-AzStackHciEdgeDevice',
'Remove-AzStackHciExtension', 'Remove-AzStackHCIRemoteSupport',
'New-AzStackHciArcSettingIdentity', 'New-AzStackHciCluster',
'New-AzStackHciDeploymentSetting', 'New-AzStackHciEdgeDevice',
'New-AzStackHciExtension', 'New-AzStackHciSecuritySetting',
'Register-AzStackHCI', 'Remove-AzStackHciArcSetting',
'Remove-AzStackHciCluster', 'Remove-AzStackHciDeploymentSetting',
'Remove-AzStackHciEdgeDevice', 'Remove-AzStackHciExtension',
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

New-AzStackHciArcSettingIdentity is being added to FunctionsToExport, but there’s no corresponding implementation in the generated StackHCI module scripts (no matching function/cmdlet definition found under generated/StackHCI/StackHCI.Autorest). This will leave the module exporting a non-existent command (and help/docs/tests refer to it). Please ensure the generator actually emits this cmdlet (or remove it from the manifest/help until it exists).

Copilot uses AI. Check for mistakes.
Comment on lines +15 to +37
### CreateExpanded (Default)
```
New-AzStackHciCluster -Name <String> -ResourceGroupName <String> [-SubscriptionId <String>] -Location <String>
[-AadApplicationObjectId <String>] [-AadClientId <String>] [-AadServicePrincipalObjectId <String>]
[-AadTenantId <String>] [-CloudManagementEndpoint <String>]
[-DesiredPropertyDiagnosticLevel <DiagnosticLevel>]
[-DesiredPropertyWindowsServerSubscription <WindowsServerSubscription>]
[-IdentityType <ManagedServiceIdentityType>] [-IdentityUserAssignedIdentity <Hashtable>]
[-SoftwareAssurancePropertySoftwareAssuranceIntent <SoftwareAssuranceIntent>] [-Tag <Hashtable>]
[-DefaultProfile <PSObject>] [-WhatIf] [-Confirm] [<CommonParameters>]
[-AadTenantId <String>] [-CloudManagementEndpoint <String>] [-DesiredPropertyDiagnosticLevel <String>]
[-DesiredPropertyWindowsServerSubscription <String>] [-EnableSystemAssignedIdentity]
[-SoftwareAssurancePropertySoftwareAssuranceIntent <String>] [-Tag <Hashtable>]
[-UserAssignedIdentity <String[]>] [-DefaultProfile <PSObject>] [-WhatIf]
[-Confirm] [<CommonParameters>]
```

### CreateViaJsonFilePath
```
New-AzStackHciCluster -Name <String> -ResourceGroupName <String> [-SubscriptionId <String>]
-JsonFilePath <String> [-DefaultProfile <PSObject>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### CreateViaJsonString
```
New-AzStackHciCluster -Name <String> -ResourceGroupName <String> [-SubscriptionId <String>]
-JsonString <String> [-DefaultProfile <PSObject>] [-WhatIf] [-Confirm]
[<CommonParameters>]
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This help file documents CreateViaJsonFilePath / CreateViaJsonString, EnableSystemAssignedIdentity, and UserAssignedIdentity, but the current generated module implementation of New-AzStackHciCluster still exposes IdentityType / IdentityUserAssignedIdentity and does not include any *ViaJson* parameter sets (see generated/StackHCI/StackHCI.Autorest/exports/New-AzStackHciCluster.ps1). Please regenerate/update the cmdlet implementation or adjust the help so it matches the actual parameters.

Copilot uses AI. Check for mistakes.
Comment on lines 15 to 40
### ValidateExpanded (Default)
```
Test-AzStackHciEdgeDevice -Name <String> -ResourceUri <String> -EdgeDeviceId <String[]>
[-AdditionalInfo <String>] [-DefaultProfile <PSObject>] [-AsJob] [-NoWait]
[-WhatIf] [-Confirm] [<CommonParameters>]
```

### Validate
### ValidateViaJsonString
```
Test-AzStackHciEdgeDevice -Name <String> -ResourceUri <String> -ValidateRequest <IValidateRequest>
Test-AzStackHciEdgeDevice -Name <String> -ResourceUri <String> -JsonString <String>
[-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### ValidateViaIdentityExpanded
### ValidateViaJsonFilePath
```
Test-AzStackHciEdgeDevice -InputObject <IStackHciIdentity> -EdgeDeviceId <String[]> [-AdditionalInfo <String>]
Test-AzStackHciEdgeDevice -Name <String> -ResourceUri <String> -JsonFilePath <String>
[-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### ValidateViaIdentity
### ValidateViaIdentityExpanded
```
Test-AzStackHciEdgeDevice -InputObject <IStackHciIdentity> -ValidateRequest <IValidateRequest>
Test-AzStackHciEdgeDevice -InputObject <IStackHciIdentity> -EdgeDeviceId <String[]> [-AdditionalInfo <String>]
[-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm]
[<CommonParameters>]
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This help file documents EdgeDeviceId/AdditionalInfo and ValidateViaJsonString / ValidateViaJsonFilePath parameter sets, but the current generated implementation of Test-AzStackHciEdgeDevice still uses a -ValidateRequest body parameter and does not include any *ViaJson* parameter sets (see generated/StackHCI/StackHCI.Autorest/exports/Test-AzStackHciEdgeDevice.ps1). Please regenerate/update the cmdlet implementation or adjust the help so it matches the actual parameters.

Copilot uses AI. Check for mistakes.
Comment on lines 15 to +33
### UpdateExpanded (Default)
```
Update-AzStackHciCluster -Name <String> -ResourceGroupName <String> [-SubscriptionId <String>]
[-AadTenantId <String>] [-CloudManagementEndpoint <String>]
[-DesiredPropertyDiagnosticLevel <DiagnosticLevel>]
[-DesiredPropertyWindowsServerSubscription <WindowsServerSubscription>]
[-IdentityType <ManagedServiceIdentityType>] [-IdentityUserAssignedIdentity <Hashtable>] [-Tag <Hashtable>]
[-DefaultProfile <PSObject>] [-WhatIf] [-Confirm] [<CommonParameters>]
[-AadApplicationObjectId <String>] [-AadServicePrincipalObjectId <String>] [-AadTenantId <String>]
[-CloudManagementEndpoint <String>] [-DesiredPropertyDiagnosticLevel <String>]
[-DesiredPropertyWindowsServerSubscription <String>] [-EnableSystemAssignedIdentity <Boolean>]
[-SoftwareAssurancePropertySoftwareAssuranceIntent <String>] [-Tag <Hashtable>]
[-UserAssignedIdentity <String[]>] [-DefaultProfile <PSObject>] [-WhatIf]
[-Confirm] [<CommonParameters>]
```

### UpdateViaIdentityExpanded
```
Update-AzStackHciCluster -InputObject <IStackHciIdentity> [-AadTenantId <String>]
[-CloudManagementEndpoint <String>] [-DesiredPropertyDiagnosticLevel <DiagnosticLevel>]
[-DesiredPropertyWindowsServerSubscription <WindowsServerSubscription>]
[-IdentityType <ManagedServiceIdentityType>] [-IdentityUserAssignedIdentity <Hashtable>] [-Tag <Hashtable>]
[-DefaultProfile <PSObject>] [-WhatIf] [-Confirm] [<CommonParameters>]
Update-AzStackHciCluster -InputObject <IStackHciIdentity> [-AadApplicationObjectId <String>]
[-AadServicePrincipalObjectId <String>] [-AadTenantId <String>] [-CloudManagementEndpoint <String>]
[-DesiredPropertyDiagnosticLevel <String>] [-DesiredPropertyWindowsServerSubscription <String>]
[-EnableSystemAssignedIdentity <Boolean>] [-SoftwareAssurancePropertySoftwareAssuranceIntent <String>]
[-Tag <Hashtable>] [-UserAssignedIdentity <String[]>] [-DefaultProfile <PSObject>]
[-WhatIf] [-Confirm] [<CommonParameters>]
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This help file documents new parameters (EnableSystemAssignedIdentity, UserAssignedIdentity) and changes several parameter types to System.String, but the current generated implementation of Update-AzStackHciCluster still exposes the older IdentityType / IdentityUserAssignedIdentity parameters and enum-typed parameters (see generated/StackHCI/StackHCI.Autorest/exports/Update-AzStackHciCluster.ps1). Please ensure the cmdlet implementation is regenerated/updated alongside the help so the published help matches the actual signature.

Copilot uses AI. Check for mistakes.
Comment on lines +8 to +33
# New-AzStackHciArcSettingIdentity

## SYNOPSIS
Create Aad identity for arc settings.

## SYNTAX

### Create (Default)
```
New-AzStackHciArcSettingIdentity -ArcSettingName <String> -ClusterName <String> -ResourceGroupName <String>
[-SubscriptionId <String>] [-DefaultProfile <PSObject>] [-AsJob] [-NoWait]
[-WhatIf] [-Confirm] [<CommonParameters>]
```

### CreateViaIdentityCluster
```
New-AzStackHciArcSettingIdentity -ArcSettingName <String> -ClusterInputObject <IStackHciIdentity>
[-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### CreateViaIdentity
```
New-AzStackHciArcSettingIdentity -InputObject <IStackHciIdentity> [-DefaultProfile <PSObject>] [-AsJob]
[-NoWait] [-WhatIf] [-Confirm] [<CommonParameters>]
```
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This help file describes the new New-AzStackHciArcSettingIdentity cmdlet, but there is no corresponding implementation currently generated under generated/StackHCI/StackHCI.Autorest (no exported function/cmdlet found). Please ensure the cmdlet exists in the module before adding help content, otherwise users will see help for a command that isn’t available.

Copilot uses AI. Check for mistakes.
@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copilot AI review requested due to automatic review settings April 10, 2026 05:15
@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 92 out of 93 changed files in this pull request and generated 6 comments.

Comment on lines 17 to 20
Describe 'Update-AzStackHciCluster' {
It 'UpdateExpanded' {
It 'UpdateExpanded' -skip{
Update-AzStackHciCluster -ResourceGroupName $env.ResourceGroup -Name $env.ClusterName -DesiredPropertyDiagnosticLevel "Enhanced" -DesiredPropertyWindowsServerSubscription "Disabled"
}
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

The Pester It block uses -skip{ without a separating space, which will be parsed incorrectly and can break the test file. Use -Skip { ... } (with a space) to skip the test while still providing the test body scriptblock, consistent with other tests in this module.

Copilot uses AI. Check for mistakes.
Comment on lines 15 to +23
### UpdateExpanded (Default)
```
Update-AzStackHciCluster -Name <String> -ResourceGroupName <String> [-SubscriptionId <String>]
[-AadTenantId <String>] [-CloudManagementEndpoint <String>]
[-DesiredPropertyDiagnosticLevel <DiagnosticLevel>]
[-DesiredPropertyWindowsServerSubscription <WindowsServerSubscription>]
[-IdentityType <ManagedServiceIdentityType>] [-IdentityUserAssignedIdentity <Hashtable>] [-Tag <Hashtable>]
[-DefaultProfile <PSObject>] [-WhatIf] [-Confirm] [<CommonParameters>]
[-AadApplicationObjectId <String>] [-AadServicePrincipalObjectId <String>] [-AadTenantId <String>]
[-CloudManagementEndpoint <String>] [-DesiredPropertyDiagnosticLevel <String>]
[-DesiredPropertyWindowsServerSubscription <String>] [-EnableSystemAssignedIdentity <Boolean>]
[-SoftwareAssurancePropertySoftwareAssuranceIntent <String>] [-Tag <Hashtable>]
[-UserAssignedIdentity <String[]>] [-DefaultProfile <PSObject>] [-WhatIf]
[-Confirm] [<CommonParameters>]
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

This help markdown appears to describe a different parameter surface than the current generated proxy cmdlet (e.g., -AadApplicationObjectId, -EnableSystemAssignedIdentity, and DesiredPropertyDiagnosticLevel as String). Please regenerate the help from the actual exported cmdlet (or include the corresponding regenerated cmdlet/proxy changes in this PR) so the documented parameters and output types match what users can invoke.

Copilot uses AI. Check for mistakes.
Comment on lines 323 to 326
## OUTPUTS

### Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.Api20240401.ICluster
### Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.ICluster

Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

The documented output type was changed to Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.ICluster, but the shipped proxy cmdlets in this repo currently output versioned models (e.g., Models.Api20240401.ICluster). Please ensure the help output type matches the actual cmdlet output type after the migration to avoid confusing users/tools.

Copilot uses AI. Check for mistakes.
Comment on lines 76 to 82
# Remove the unexpanded parameter set
# Generate Create variant for "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/createArcIdentity"
- where:
subject: ArcSetting$|Cluster|DeploymentSetting|EdgeDevice|Extension|SecuritySetting|Update$|UpdateRun|UpdateSummary
variant: ^(Create|Update)(?!.*?(Expanded|JsonFilePath|JsonString))|^CreateViaIdentityExpanded$
remove: true
- where:
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

The comment says "Generate Create variant" but the directive is removing variants (remove: true). Please adjust the comment to accurately describe why these variants are being removed/kept (Expanded/Json*), so future maintainers understand the intent.

Copilot uses AI. Check for mistakes.
Comment on lines 10 to 12
## SYNOPSIS
Create a EdgeDevice
Update a EdgeDevice

Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

Grammar: "Update a EdgeDevice" should use "an" (e.g., "Update an EdgeDevice") in both SYNOPSIS and DESCRIPTION.

Copilot uses AI. Check for mistakes.
Comment on lines 246 to 249
## OUTPUTS

### System.String
### Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IValidateResponse

Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

The documented output type was changed from System.String to Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IValidateResponse, but the current generated proxy cmdlet in this repo still declares [OutputType([System.String])]. Please align the help OUTPUTS section with the actual cmdlet output type (or include the regenerated cmdlet/proxy changes that update the output type).

Copilot uses AI. Check for mistakes.
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 Contains Breaking Change This PR contains breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants