Skip to content

[Az.SignalR] Migrate Autorest Generation v3 to v4#29564

Merged
Pan-Qi merged 14 commits into
Azure:mainfrom
khang-11:recreate/pr-29050
May 25, 2026
Merged

[Az.SignalR] Migrate Autorest Generation v3 to v4#29564
Pan-Qi merged 14 commits into
Azure:mainfrom
khang-11:recreate/pr-29050

Conversation

@khang-11

Copy link
Copy Markdown
Contributor

Description

Preannouncement PR: #29080

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 May 12, 2026 03:32
@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

Migrates the Az.SignalR AutoRest-based Web PubSub surface from AutoRest PowerShell v3 to v4, regenerating cmdlets, documentation, and recordings, and introducing/refreshing Update-* cmdlets and supporting customizations.

Changes:

  • Updated AutoRest configuration and regenerated the Az.SignalR (Web PubSub) module output for v4.
  • Added/updated cmdlets and parameter sets (notably Update-AzWebPubSubHub / Update-AzWebPubSubCustomDomain) and refreshed exported functions/manifest.
  • Refreshed help/docs/examples and updated test assets/recordings to match the regenerated surface.

Reviewed changes

Copilot reviewed 124 out of 129 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
src/SignalR/SignalR/help/Update-AzWebPubSubHub.md New generated help for Update-AzWebPubSubHub.
src/SignalR/SignalR/help/Update-AzWebPubSubCustomDomain.md New generated help for Update-AzWebPubSubCustomDomain.
src/SignalR/SignalR/help/Update-AzWebPubSub.md Updated help to reflect v4-generated parameters/types.
src/SignalR/SignalR/help/Test-AzWebPubSubNameAvailability.md Added JSON input parameter sets and updated output type namespace.
src/SignalR/SignalR/help/Restart-AzWebPubSub.md Help cleanup for identity parameter notes.
src/SignalR/SignalR/help/Remove-AzWebPubSubHub.md Added HubInputObject parameter set docs.
src/SignalR/SignalR/help/Remove-AzWebPubSubCustomDomain.md Added WebPubSubInputObject parameter set docs.
src/SignalR/SignalR/help/Remove-AzWebPubSubCustomCertificate.md Added WebPubSubInputObject parameter set docs.
src/SignalR/SignalR/help/Remove-AzWebPubSub.md Help cleanup for identity parameter notes.
src/SignalR/SignalR/help/New-AzWebPubSubKey.md Updated KeyType type and output namespace.
src/SignalR/SignalR/help/New-AzWebPubSubHub.md Added JSON input parameter sets and updated model namespaces.
src/SignalR/SignalR/help/New-AzWebPubSubEventNameFilterObject.md Updated output type namespace.
src/SignalR/SignalR/help/New-AzWebPubSubEventHubEndpointObject.md Updated output type namespace.
src/SignalR/SignalR/help/New-AzWebPubSubCustomDomain.md Updated output type namespace.
src/SignalR/SignalR/help/New-AzWebPubSubCustomCertificate.md Added JSON input parameter sets and updated output namespace.
src/SignalR/SignalR/help/New-AzWebPubSub.md Updated syntax/parameters (incl. system identity enablement) and namespaces.
src/SignalR/SignalR/help/Get-AzWebPubSubUsage.md Updated output type namespace.
src/SignalR/SignalR/help/Get-AzWebPubSubSku.md Updated output type namespace.
src/SignalR/SignalR/help/Get-AzWebPubSubKey.md Updated output type namespace.
src/SignalR/SignalR/help/Get-AzWebPubSubHub.md Added HubInputObject parameter set docs and updated namespace.
src/SignalR/SignalR/help/Get-AzWebPubSubCustomDomain.md Added WebPubSubInputObject parameter set docs and updated namespace.
src/SignalR/SignalR/help/Get-AzWebPubSubCustomCertificate.md Added WebPubSubInputObject parameter set docs and updated namespace.
src/SignalR/SignalR/help/Get-AzWebPubSub.md Updated output type namespace and identity parameter notes.
src/SignalR/SignalR/help/Az.SignalR.md Updated module help index (synopses + new Update-* entries).
src/SignalR/SignalR/ChangeLog.md Added Upcoming Release entry for the migration/breaking-change note.
src/SignalR/SignalR/Az.SignalR.psd1 Updated manifest metadata, required Az.Accounts version, and exported functions.
src/SignalR/SignalR.sln Updated project GUID mapping for the generated Az.SignalR project.
src/SignalR/SignalR.Autorest/test/utils.ps1 Adjusted test environment naming and resource creation configuration.
src/SignalR/SignalR.Autorest/test/Update-AzWebPubSubHub.Tests.ps1 Added placeholder Pester file for Update-AzWebPubSubHub.
src/SignalR/SignalR.Autorest/test/Update-AzWebPubSubCustomDomain.Tests.ps1 Added placeholder Pester file for Update-AzWebPubSubCustomDomain.
src/SignalR/SignalR.Autorest/test/Update-AzWebPubSub.Tests.ps1 Updated tests to new identity parameter naming.
src/SignalR/SignalR.Autorest/test/Test-AzWebPubSubNameAvailability.Recording.json Updated recording to reflect new env naming and responses.
src/SignalR/SignalR.Autorest/test/New-AzWebPubSubCustomDomain.Tests.ps1 Marked E2E test as skipped.
src/SignalR/SignalR.Autorest/test/New-AzWebPubSub.Tests.ps1 Updated tests to new identity parameter naming.
src/SignalR/SignalR.Autorest/test/Get-AzWebPubSubUsage.Recording.json Refreshed recording content/headers for v4 runs.
src/SignalR/SignalR.Autorest/test/Get-AzWebPubSubSku.Recording.json Refreshed recording content/headers for v4 runs.
src/SignalR/SignalR.Autorest/test/Get-AzWebPubSubKey.Recording.json Refreshed recording and redacted key material.
src/SignalR/SignalR.Autorest/test/Get-AzWebPubSubHub.Recording.json Refreshed hub list/get recordings for v4 runs.
src/SignalR/SignalR.Autorest/test/env.json Updated test environment constants (names, tenant, subscription).
src/SignalR/SignalR.Autorest/README.md Updated AutoRest directives for v4 generation and command shaping.
src/SignalR/SignalR.Autorest/Properties/AssemblyInfo.cs Bumped assembly version to 2.3.3.
src/SignalR/SignalR.Autorest/generate-info.json Updated generation ID.
src/SignalR/SignalR.Autorest/examples/Update-AzWebPubSubHub.md Added examples for Update-AzWebPubSubHub.
src/SignalR/SignalR.Autorest/examples/Update-AzWebPubSubCustomDomain.md Added examples for Update-AzWebPubSubCustomDomain.
src/SignalR/SignalR.Autorest/examples/Update-AzWebPubSub.md Updated example to new identity parameter naming.
src/SignalR/SignalR.Autorest/examples/New-AzWebPubSub.md Updated example to new identity parameter naming.
src/SignalR/SignalR.Autorest/docs/Update-AzWebPubSubHub.md Added reference doc page for Update-AzWebPubSubHub.
src/SignalR/SignalR.Autorest/docs/Update-AzWebPubSubCustomDomain.md Added reference doc page for Update-AzWebPubSubCustomDomain.
src/SignalR/SignalR.Autorest/docs/Update-AzWebPubSub.md Updated reference doc to match v4-generated cmdlet shape.
src/SignalR/SignalR.Autorest/docs/Test-AzWebPubSubNameAvailability.md Added JSON input parameter sets and updated output namespace.
src/SignalR/SignalR.Autorest/docs/Restart-AzWebPubSub.md Reference doc cleanup for identity parameter notes.
src/SignalR/SignalR.Autorest/docs/Remove-AzWebPubSubHub.md Added HubInputObject parameter set docs.
src/SignalR/SignalR.Autorest/docs/Remove-AzWebPubSubCustomDomain.md Added WebPubSubInputObject parameter set docs.
src/SignalR/SignalR.Autorest/docs/Remove-AzWebPubSubCustomCertificate.md Added WebPubSubInputObject parameter set docs.
src/SignalR/SignalR.Autorest/docs/Remove-AzWebPubSub.md Reference doc cleanup for identity parameter notes.
src/SignalR/SignalR.Autorest/docs/New-AzWebPubSubKey.md Updated KeyType type and output namespace.
src/SignalR/SignalR.Autorest/docs/New-AzWebPubSubHub.md Added JSON input parameter sets and updated namespaces.
src/SignalR/SignalR.Autorest/docs/New-AzWebPubSubEventNameFilterObject.md Updated output type namespace.
src/SignalR/SignalR.Autorest/docs/New-AzWebPubSubEventHubEndpointObject.md Updated output type namespace.
src/SignalR/SignalR.Autorest/docs/New-AzWebPubSubCustomDomain.md Updated output type namespace.
src/SignalR/SignalR.Autorest/docs/New-AzWebPubSubCustomCertificate.md Added JSON input parameter sets and updated namespaces.
src/SignalR/SignalR.Autorest/docs/New-AzWebPubSub.md Updated cmdlet syntax/params and namespaces.
src/SignalR/SignalR.Autorest/docs/Get-AzWebPubSubUsage.md Updated output type namespace.
src/SignalR/SignalR.Autorest/docs/Get-AzWebPubSubSku.md Updated output type namespace.
src/SignalR/SignalR.Autorest/docs/Get-AzWebPubSubKey.md Updated output type namespace.
src/SignalR/SignalR.Autorest/docs/Get-AzWebPubSubHub.md Added HubInputObject parameter set docs and updated namespace.
src/SignalR/SignalR.Autorest/docs/Get-AzWebPubSubCustomDomain.md Added WebPubSubInputObject parameter set docs and updated namespace.
src/SignalR/SignalR.Autorest/docs/Get-AzWebPubSubCustomCertificate.md Added WebPubSubInputObject parameter set docs and updated namespace.
src/SignalR/SignalR.Autorest/docs/Get-AzWebPubSub.md Updated output type namespace and identity parameter notes.
src/SignalR/SignalR.Autorest/docs/Az.SignalR.md Updated reference index page (synopses + new Update-* entries).
src/SignalR/SignalR.Autorest/custom/scripts/New-AzWebPubSubKey.ps1 Updated output type; KeyType now string and internal flow still returns keys.
src/SignalR/SignalR.Autorest/custom/scripts/New-AzWebPubSubEventNameFilterObject.ps1 Updated model type and output type declaration.
src/SignalR/SignalR.Autorest/custom/scripts/New-AzWebPubSubEventHubEndpointObject.ps1 Updated model type and output type declaration.
src/SignalR/SignalR.Autorest/custom/scripts/New-AzWebPubSubCustomDomain.ps1 Updated output type namespace.
src/SignalR/SignalR.Autorest/custom/scripts/New-AzWebPubSub.ps1 Updated output type and identity-related parameter naming/types.
src/SignalR/SignalR.Autorest/custom/scripts/Get-AzWebPubSubKey_ListViaIdentity.ps1 Updated output type namespace.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSubHub_UpdateViaIdentityHubExpanded.cs New partial override to route default errors via WriteError.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSubHub_UpdateViaIdentityExpanded.cs New partial override to route default errors via WriteError.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSubHub_UpdateExpanded.cs New partial override to route default errors via WriteError.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSubCustomDomain_UpdateViaIdentityWebPubSubExpanded.cs New partial override to route default errors via WriteError.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSubCustomDomain_UpdateViaIdentityExpanded.cs New partial override to route default errors via WriteError.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSubCustomDomain_UpdateExpanded.cs New partial override to route default errors via WriteError.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSub_UpdateViaIdentityExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/UpdateAzWebPubSub_UpdateExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/TestAzWebPubSubNameAvailability_CheckExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RestErrorHandler.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RestartAzWebPubSub_RestartViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RestartAzWebPubSub_Restart.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSubHub_DeleteViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSubHub_Delete.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSubCustomDomain_DeleteViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSubCustomDomain_Delete.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSubCustomCertificate_DeleteViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSubCustomCertificate_Delete.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSub_DeleteViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/RemoveAzWebPubSub_Delete.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/NewAzWebPubSubKey_RegenerateViaIdentityExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/NewAzWebPubSubKey_RegenerateExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/NewAzWebPubSubHub_CreateExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/NewAzWebPubSubCustomDomain_CreateExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/NewAzWebPubSubCustomCertificate_CreateExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/NewAzWebPubSub_CreateExpanded.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubUsage_List.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubSku_List.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubKey_List.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubHub_List.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubHub_GetViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubHub_Get.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubCustomDomain_List.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubCustomDomain_GetViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubCustomDomain_Get.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubCustomCertificate_List.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubCustomCertificate_GetViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSubCustomCertificate_Get.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSub_List1.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSub_List.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSub_GetViaIdentity.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzWebPubSub_Get.cs Fixed using/import namespace for v4 model types.
src/SignalR/SignalR.Autorest/custom/csharp/GetAzOperation_List.cs Fixed using/import namespace for v4 model types.

- Additional information about change #1
-->
## Upcoming Release
* Improved user experience and consistency. This may introduce breaking changes. Please refer to [here](https://go.microsoft.com/fwlink/?linkid=2340249).
Comment on lines +330 to +333
- where:
subject: WebPubSubCustomCertificate
verb: Update
remove: true
Comment on lines +116 to 123
### -EnableSystemAssignedIdentity
[ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.ManagedIdentityType])]
[System.String]
[Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.ManagedIdentityType]
Represent the identity type: systemAssigned, userAssigned, None

```yaml
Type: System.Management.Automation.SwitchParameter
Comment on lines 108 to 112
### -KeyType
[ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.KeyType])]
[Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.KeyType]
The keyType to regenerate.
Must be either 'primary', 'secondary' or 'salt'(case-insensitive).
Comment on lines +145 to +146
Event listener settings for forwarding your client events to listeners.Event listener is transparent to Web PubSub clients, and it doesn't return any result to clients nor interrupt the lifetime of clients.One event can be sent to multiple listeners, as long as it matches the filters in those listeners.
The order of the array elements doesn't matter.Maximum count of event listeners among all hubs is 10.
Comment on lines 76 to 83
[Parameter(Mandatory)]
[ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.KeyType])]
# [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.KeyType])]
[Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Category('Body')]
[Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.KeyType]
[System.String]
# [Microsoft.Azure.PowerShell.Cmdlets.WebPubSub.Support.KeyType]
# The keyType to regenerate.
# Must be either 'primary', 'secondary' or 'salt'(case-insensitive).
${KeyType},
Comment on lines +74 to 76
## If the resource create keep failing, could do it manually in portal or cli first to avoid the issue blocking other tests.
$createWpsJob1 = New-AzWebPubSub -ResourceGroupName $env.ResourceGroupName -Name $env.Wps1 -Location $env.Location -SkuName Premium_P1 -AsJob
$createWpsJob2 = New-AzWebPubSub -ResourceGroupName $env.ResourceGroupName -Name $env.Wps2 -Location $env.Location -SkuName Standard_S1 -AsJob
Comment on lines +18 to +28
It 'UpdateExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

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

It 'UpdateViaIdentityExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
Comment on lines +18 to +28
It 'UpdateExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

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

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

Describe 'New-AzWebPubSubCustomDomain' {
It 'CreateExpanded' {
It 'CreateExpanded' -skip{
@YanaXu YanaXu added the autorest v4 migration pr migrating module from generated by autorest.powershell v3 to v4 label May 13, 2026
@Pan-Qi Pan-Qi added the Contains Breaking Change This PR contains breaking change label May 22, 2026
@github-actions

Copy link
Copy Markdown

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.

@Pan-Qi Pan-Qi merged commit 7053205 into Azure:main May 25, 2026
17 of 18 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 Contains Breaking Change This PR contains breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants