Skip to content

Add PowerShell cmdlets for Microsoft.Network/interconnectGroups - #30004

Merged
ZelinWang (wangzelin007) merged 1 commit into
Azure:release-network-2025-09-01from
jbouzarouata1:feature/interconnect-groups-cmdlets
Aug 19, 2026
Merged

ZelinWang (wangzelin007) merged 1 commit into
Azure:release-network-2025-09-01from
jbouzarouata1:feature/interconnect-groups-cmdlets

Conversation

@jbouzarouata1

@jbouzarouata1 jbouzarouata1 commented Aug 13, 2026

Copy link
Copy Markdown
Member

🤖 PR Validation — ⚠️ Review suggested

Tests
⚠️ 150/150
️✔️Az.Accounts
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.ApplicationInsights
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Az.Batch
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 79.10 % 79.17% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 79.10% 79.17% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 79.10% 79.17% Test coverage cannot be lower than the number of the last release.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 79.10% 79.17% Test coverage cannot be lower than the number of the last release.
️✔️Az.CognitiveServices
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.Compute
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Az.ContainerRegistry
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.00 % 80.00% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.00% 80.00% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.00% 80.00% Test coverage cannot be lower than the number of the last release.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.00% 80.00% Test coverage cannot be lower than the number of the last release.
⚠️Az.CosmosDB
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 73.54 % 85.63% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 73.54% 85.63% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 73.54% 85.63% Test coverage cannot be lower than the number of the last release.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 73.54% 85.63% Test coverage cannot be lower than the number of the last release.
⚠️Az.DataLakeStore
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 31.82 % Test coverage for the module cannot be lower than 50%.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 31.82% Test coverage for the module cannot be lower than 50%.
⚠️PowerShell Core - Windows
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 31.82% Test coverage for the module cannot be lower than 50%.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 31.82% Test coverage for the module cannot be lower than 50%.
️✔️Az.Dns
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Az.EventHub
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.47 % 87.76% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.47% 87.76% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.47% 87.76% Test coverage cannot be lower than the number of the last release.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 75.47% 87.76% Test coverage cannot be lower than the number of the last release.
⚠️Az.KeyVault
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 25.56 % Test coverage for the module cannot be lower than 50%.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 25.56% Test coverage for the module cannot be lower than 50%.
⚠️PowerShell Core - Windows
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 25.56% Test coverage for the module cannot be lower than 50%.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Description
⚠️ Test Coverage Less Than 50% 25.56% Test coverage for the module cannot be lower than 50%.
️✔️Az.Maintenance
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.ManagedServiceIdentity
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.Monitor
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Az.NetAppFiles
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 66.98 % 78.87% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 66.98% 78.87% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 66.98% 78.87% Test coverage cannot be lower than the number of the last release.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 66.98% 78.87% Test coverage cannot be lower than the number of the last release.
⚠️Az.Network
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Breaking Change Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Signature Check
⚠️PowerShell Core - Windows
Type Cmdlet Description Remediation
⚠️ Get-AzNetworkSecurityPerimeter Get-AzNetworkSecurityPerimeter Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeter Get-AzNetworkSecurityPerimeter changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterAccessRule Get-AzNetworkSecurityPerimeterAccessRule Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterAccessRule Get-AzNetworkSecurityPerimeterAccessRule changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterAssociableResourceType Get-AzNetworkSecurityPerimeterAssociableResourceType Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterAssociableResourceType Get-AzNetworkSecurityPerimeterAssociableResourceType changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterAssociation Get-AzNetworkSecurityPerimeterAssociation Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterAssociation Get-AzNetworkSecurityPerimeterAssociation changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterLink Get-AzNetworkSecurityPerimeterLink Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterLink Get-AzNetworkSecurityPerimeterLink changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterLinkReference Get-AzNetworkSecurityPerimeterLinkReference Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterLinkReference Get-AzNetworkSecurityPerimeterLinkReference changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterLoggingConfiguration Get-AzNetworkSecurityPerimeterLoggingConfiguration Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterLoggingConfiguration Get-AzNetworkSecurityPerimeterLoggingConfiguration changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterProfile Get-AzNetworkSecurityPerimeterProfile Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterProfile Get-AzNetworkSecurityPerimeterProfile changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterServiceTag Get-AzNetworkSecurityPerimeterServiceTag Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterServiceTag Get-AzNetworkSecurityPerimeterServiceTag changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️Windows PowerShell - Windows
Type Cmdlet Description Remediation
⚠️ Get-AzNetworkSecurityPerimeter Get-AzNetworkSecurityPerimeter Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeter Get-AzNetworkSecurityPerimeter changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterAccessRule Get-AzNetworkSecurityPerimeterAccessRule Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterAccessRule Get-AzNetworkSecurityPerimeterAccessRule changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterAssociableResourceType Get-AzNetworkSecurityPerimeterAssociableResourceType Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterAssociableResourceType Get-AzNetworkSecurityPerimeterAssociableResourceType changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterAssociation Get-AzNetworkSecurityPerimeterAssociation Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterAssociation Get-AzNetworkSecurityPerimeterAssociation changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterLink Get-AzNetworkSecurityPerimeterLink Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterLink Get-AzNetworkSecurityPerimeterLink changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterLinkReference Get-AzNetworkSecurityPerimeterLinkReference Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterLinkReference Get-AzNetworkSecurityPerimeterLinkReference changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterLoggingConfiguration Get-AzNetworkSecurityPerimeterLoggingConfiguration Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterLoggingConfiguration Get-AzNetworkSecurityPerimeterLoggingConfiguration changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterProfile Get-AzNetworkSecurityPerimeterProfile Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterProfile Get-AzNetworkSecurityPerimeterProfile changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzNetworkSecurityPerimeterServiceTag Get-AzNetworkSecurityPerimeterServiceTag Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzNetworkSecurityPerimeterServiceTag Get-AzNetworkSecurityPerimeterServiceTag changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
️✔️Help Example Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Help File Existence Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️File Change Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️UX Metadata Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.OperationalInsights
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.PrivateDns
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.RecoveryServices
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.Resources
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Az.Search
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 70.00 % 82.35% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 70.00% 82.35% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 70.00% 82.35% Test coverage cannot be lower than the number of the last release.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 70.00% 82.35% Test coverage cannot be lower than the number of the last release.
️✔️Az.Security
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.ServiceBus
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Az.SignalR
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Test
⚠️PowerShell Core - Linux
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 76.47 % 90.62% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - MacOS
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 76.47% 90.62% Test coverage cannot be lower than the number of the last release.
⚠️PowerShell Core - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 76.47% 90.62% Test coverage cannot be lower than the number of the last release.
⚠️Windows PowerShell - Windows
Type Title Current Coverage Last Coverage Description
⚠️ Test Coverage Less Than 80% 76.47% 90.62% Test coverage cannot be lower than the number of the last release.
️✔️Az.Sql
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.Storage
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Az.Websites
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows

Description

Adds full PowerShell support for the Microsoft.Network/interconnectGroups resource and its read-only subgroups child resource.

New cmdlets

Cmdlet Purpose
Get-AzInterconnectGroup Get an interconnect group by name/resource ID, or list by resource group / subscription (supports wildcards)
New-AzInterconnectGroup Create an interconnect group
Set-AzInterconnectGroup Update an interconnect group (pipeline-friendly)
Remove-AzInterconnectGroup Delete by name, input object, or resource ID
Get-AzInterconnectGroupSubgroup Get/list subgroups of an interconnect group
Get-AzInterconnectGroupNodeAvailability Retrieve node availability for an interconnect group

Example

# Create
New-AzInterconnectGroup -ResourceGroupName "myRg" -Name "myIcg" `
    -Location "eastus2" -VMSize "Standard_ND128isr_GB300_v6" `
    -Scope "InfiniBand" -SubgroupScope "VerticalConnect" -SubgroupSize 18

# Get / list
Get-AzInterconnectGroup -ResourceGroupName "myRg" -Name "myIcg"
Get-AzInterconnectGroup -ResourceGroupName "myRg"

# Update
$icg = Get-AzInterconnectGroup -ResourceGroupName "myRg" -Name "myIcg"
$icg.Tag = @{ env = "prod" }
$icg | Set-AzInterconnectGroup

# Subgroups and node availability
Get-AzInterconnectGroupSubgroup -ResourceGroupName "myRg" -InterconnectGroupName "myIcg"
Get-AzInterconnectGroupNodeAvailability -ResourceGroupName "myRg" -Name "myIcg"

# Delete
Remove-AzInterconnectGroup -ResourceGroupName "myRg" -Name "myIcg" -Force

Changes

  • PS models (5): PSInterconnectGroup, PSSubgroup, PSSubgroupProfile, PSInterconnectGroupNodeAvailability, PSSubgroupNodeAvailabilityEntry
  • Cmdlets (7 files) under src/Network/Network/InterconnectGroup/
  • AutoMapper bidirectional mappings in NetworkResourceManagerProfile.cs
  • Module exports in Az.Network.psd1 and ChangeLog.md
  • Help — 6 new markdown files with worked examples, plus Az.Network.md module page entries
  • Tests — 9 scenario tests with live session recordings

No SDK changes: InterconnectGroupsOperations / SubgroupsOperations already exist in Network.Management.Sdk at api-version 2025-09-01 (added by #29992).

Checklist

  • SHOULD select release-network-2025-09-01 as the target branch
  • Change files added under ChangeLog.md
  • Tests added and session recordings included (9/9 pass in Playback)
  • Static analysis passes with zero issues
  • Help documentation generated for all new cmdlets

@jbouzarouata1
jbouzarouata1 force-pushed the feature/interconnect-groups-cmdlets branch from 491214a to d898bf2 Compare August 13, 2026 17:36
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

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

Adds SDK-based Az.Network support for interconnect groups and their read-only subgroups, using Network SDK operations introduced by #29992.

Changes:

  • Adds six cmdlets and five PowerShell models.
  • Adds mappings, exports, changelog entries, and reference help.
  • Adds nine recorded scenario tests covering CRUD and availability workflows.

Reviewed changes

Copilot reviewed 24 out of 33 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Models/PSSubgroupProfile.cs Defines subgroup configuration.
Models/PSSubgroupNodeAvailabilityEntry.cs Defines subgroup availability data.
Models/PSSubgroup.cs Defines subgroup output.
Models/PSInterconnectGroupNodeAvailability.cs Defines availability output.
Models/PSInterconnectGroup.cs Defines interconnect-group output.
InterconnectGroup/SetAzureRmInterconnectGroupCommand.cs Implements updates.
InterconnectGroup/RemoveAzureRmInterconnectGroupCommand.cs Implements deletion.
InterconnectGroup/NewAzureRmInterconnectGroupCommand.cs Implements creation.
InterconnectGroup/InterconnectGroupBaseCmdlet.cs Provides shared SDK access.
InterconnectGroup/GetAzureRmInterconnectGroupSubgroupCommand.cs Implements subgroup retrieval.
InterconnectGroup/GetAzureRmInterconnectGroupNodeAvailabilityCommand.cs Implements availability retrieval.
InterconnectGroup/GetAzureRmInterconnectGroupCommand.cs Implements get/list operations.
help/Set-AzInterconnectGroup.md Documents update usage.
help/Remove-AzInterconnectGroup.md Documents deletion usage.
help/New-AzInterconnectGroup.md Documents creation usage.
help/Get-AzInterconnectGroupSubgroup.md Documents subgroup retrieval.
help/Get-AzInterconnectGroupNodeAvailability.md Documents availability retrieval.
help/Get-AzInterconnectGroup.md Documents get/list usage.
help/Az.Network.md Adds module help links.
Common/NetworkResourceManagerProfile.cs Registers model mappings.
ChangeLog.md Announces the cmdlets.
Az.Network.psd1 Exports the cmdlets.
ScenarioTests/InterconnectGroupTests.ps1 Defines scenario workflows.
ScenarioTests/InterconnectGroupTests.cs Registers nine xUnit tests.
SessionRecords/.../TestInterconnectGroupCRUD.json Records CRUD traffic.
SessionRecords/.../TestInterconnectGroupCRUDWithTags.json Records tagged CRUD traffic.
SessionRecords/.../TestInterconnectGroupCRUDWithSubgroupProfile.json Records profile traffic.
SessionRecords/.../TestInterconnectGroupGetByResourceId.json Records resource-ID retrieval.
SessionRecords/.../TestInterconnectGroupList.json Records listing traffic.
SessionRecords/.../TestInterconnectGroupSet.json Records update traffic.
SessionRecords/.../TestInterconnectGroupRemoveByPipeline.json Records pipeline deletion.
SessionRecords/.../TestInterconnectGroupSubgroupGet.json Records subgroup traffic.
SessionRecords/.../TestInterconnectGroupNodeAvailability.json Records availability traffic.
Suppressed comments (1)

src/Network/Network.Test/ScenarioTests/InterconnectGroupTests.ps1:317

  • The recorded list response is empty, so this conditional is skipped and the new subgroup get-by-name and get-by-resource-ID paths pass playback without ever being exercised. The scenario should arrange at least one subgroup (or provide a focused mocked test) and assert both paths unconditionally.
        if ($subgroups.Count -gt 0)

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +206 to +208
$filtered = Get-AzInterconnectGroup -ResourceGroupName $rgName -Name $interconnectGroupName1
Assert-AreEqual 1 @($filtered).Count
Assert-AreEqual $interconnectGroupName1 $filtered[0].Name

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Fixed. Get-AzInterconnectGroup -ResourceGroupName <rg> -Name <literal> satisfies ShouldGetByName, so the cmdlet took the direct Get path and TopLevelWildcardFilter never ran. The recorded traffic confirmed it: a single-resource GET .../interconnectGroups/ps4711, not a list.

Test-InterconnectGroupList now follows the NetworkInterfaceTests.ps1 precedent (lines 951-966) plus a narrowing assertion:

$list = Get-AzInterconnectGroup -ResourceGroupName "*" -Name "*"
Assert-True { $list.Count -ge 0 }

$list = Get-AzInterconnectGroup -Name "*"
Assert-True { $list.Count -ge 0 }

$list = Get-AzInterconnectGroup -ResourceGroupName "*"
Assert-True { $list.Count -ge 0 }

# Wildcard pattern matching only the first group exercises TopLevelWildcardFilter
$wildcardFiltered = Get-AzInterconnectGroup -ResourceGroupName $rgName -Name "$interconnectGroupName1*"
Assert-AreEqual 1 @($wildcardFiltered).Count
Assert-AreEqual $interconnectGroupName1 $wildcardFiltered[0].Name

The last block is the important one: Get-ResourceName emits a fixed-length ps + 4 digits, so ps4711* cannot also match the second group. That proves the filter actually narrows the list rather than just running.

The same treatment was applied to Get-AzInterconnectGroupSubgroup for the other comment, following the Get-AzVirtualNetworkPeering -Name "*" precedent in VirtualNetworkTests.ps1:964:

# Wildcard name exercises SubResourceWildcardFilter regardless of subgroup count
$wildcardSubgroups = @(Get-AzInterconnectGroupSubgroup -ResourceGroupName $rgName -InterconnectGroupName $interconnectGroupName -Name "*")
Assert-AreEqual $subgroups.Count $wildcardSubgroups.Count

This runs unconditionally, so SubResourceWildcardFilter is now covered even when the group has no subgroups. The exact-name and -ResourceId direct-Get paths still cannot be exercised: subgroups are service-allocated read-only children created when VMs land in the group, so a freshly created group legitimately has none, and materialising one would require deploying Standard_ND128isr_GB300_v6 VMs from a scenario test.

TestInterconnectGroupList and TestInterconnectGroupSubgroupGet were re-recorded against 2025-09-01; the full class passes playback 9/9.

@wangzelin007

Copy link
Copy Markdown
Member

jbouzarouata1
Please resolve the conflicts.

@wangzelin007

Copy link
Copy Markdown
Member

The new PSInterconnectGroup and PSSubgroup output types declare table formatting through Ps1Xml, but Network.generated.format.ps1xml has no corresponding views. This file is loaded as a committed artifact and is not generated during build or at runtime. Could you regenerate and commit it so these cmdlets use their intended table output?

@jbouzarouata1
jbouzarouata1 force-pushed the feature/interconnect-groups-cmdlets branch from d898bf2 to 744f142 Compare August 18, 2026 19:19
Adds full PowerShell support for the interconnectGroups resource and its
read-only subgroups child resource:

- Get-AzInterconnectGroup
- New-AzInterconnectGroup
- Set-AzInterconnectGroup
- Remove-AzInterconnectGroup
- Get-AzInterconnectGroupSubgroup
- Get-AzInterconnectGroupNodeAvailability

Includes PS output models, AutoMapper mappings, module exports, help
documentation, scenario tests, and session recordings.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3c9d8850-606a-4274-9d52-ef56118d58d0
@jbouzarouata1
jbouzarouata1 force-pushed the feature/interconnect-groups-cmdlets branch from 744f142 to bf96ca1 Compare August 18, 2026 19:51
@jbouzarouata1

Copy link
Copy Markdown
Member Author

The new PSInterconnectGroup and PSSubgroup output types declare table formatting through Ps1Xml, but Network.generated.format.ps1xml has no corresponding views.

Good catch — fixed in bf96ca1d9.

What was wrong: the [Ps1Xml] attributes on PSInterconnectGroup / PSSubgroup are build-time metadata only. Since Network.generated.format.ps1xml is a committed artifact loaded via FormatsToProcess in Az.Network.psd1, the attributes had no runtime effect and both cmdlets fell back to PowerShell's default list output.

Fix: ran New-FormatPs1Xml from tools/FormatPs1XmlGenerator against the built module and merged in the two new views at the position the generator emits them (after PSUsage, before PSIpAllocation), matching how #30007 and #30017 landed their views. Diff is +104 / -0 — purely additive, no existing view touched.

Resulting tables:

Type Columns
PSInterconnectGroup ResourceGroupName, Name, Location, ProvisioningState, Scope, VMSize
PSSubgroup Name, ProvisioningState, InternalSubgroupId

VMSize resolves through the declared ScriptBlock ($_.SubgroupProfile.VMSize).

While regenerating I also noticed PSSubgroup produced ProvisioningState as the leading column: it derives from PSChildResource, which pins Name at Position = 1, leaving position 0 free for the first unpositioned property. I added explicit Position values so Name leads, consistent with PSVirtualNetworkPeering and PSNetworkInterfaceTapConfiguration. This only affects display shape, so no session records needed re-recording.

Verified: XML well-formed, view count 230 -> 232, CRLF preserved, Network.csproj + Network.Test.csproj build 0 warnings / 0 errors, and all 9 InterconnectGroupTests still pass on playback.

Conflicts are also resolved — the PR now reports mergeable = true on a single commit.

@wangzelin007

Copy link
Copy Markdown
Member

/azp run

@wangzelin007
ZelinWang (wangzelin007) requested a balanced review from Copilot August 19, 2026 01:21
@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

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 25 out of 34 changed files in this pull request and generated no new comments.

@wangzelin007
ZelinWang (wangzelin007) merged commit 8d12186 into Azure:release-network-2025-09-01 Aug 19, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants