Skip to content

[Azure Application Gateway] Add AppGw Advanced Routing capability to Az Powershell - #30183

Merged
DanielMicrosoft merged 11 commits into
Azure:release-network-2026-01-01from
paawankohli:paawankohli/ARR
Sep 23, 2026
Merged

DanielMicrosoft merged 11 commits into
Azure:release-network-2026-01-01from
paawankohli:paawankohli/ARR

Conversation

@paawankohli

@paawankohli paawankohli commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

🤖 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% 72.49 % 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% 72.49% 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% 72.49% 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% 72.49% 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
Type Cmdlet Example Line RuleName Description Extent Remediation
⚠️ Add-AzApplicationGatewayAdvancedRoutingMap 1 4 Unassigned_Variable Add-AzApplicationGatewayAdvancedRoutingMap -AdvancedRoutingRule $rule is a null-valued parameter value. -AdvancedRoutingRule Assign value for $rule.
⚠️ Add-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Add-AzApplicationGatewayRequestRoutingRule -BackendHttpSettings $Setting is a null-valued parameter value. -BackendHttpSettings Assign value for $Setting.
⚠️ Add-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Add-AzApplicationGatewayRequestRoutingRule -HttpListener $Listener is a null-valued parameter value. -HttpListener Assign value for $Listener.
⚠️ Add-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Add-AzApplicationGatewayRequestRoutingRule -BackendAddressPool $Pool is a null-valued parameter value. -BackendAddressPool Assign value for $Pool.
⚠️ New-AzApplicationGateway 2 5 Unassigned_Variable Get-AzVirtualNetworkSubnetConfig -Name $Subnet01 is a null-valued parameter value. -Name Assign value for $Subnet01.
⚠️ New-AzApplicationGatewayAdvancedRoutingMap 1 4 Unassigned_Variable New-AzApplicationGatewayAdvancedRoutingMap -AdvancedRoutingRule $rule1, $rule2 is a null-valued parameter value. -AdvancedRoutingRule Assign value for $rule1, $rule2.
⚠️ New-AzApplicationGatewayRequestRoutingRule 1 1 Unassigned_Variable New-AzApplicationGatewayRequestRoutingRule -BackendHttpSettings $Setting is a null-valued parameter value. -BackendHttpSettings Assign value for $Setting.
⚠️ New-AzApplicationGatewayRequestRoutingRule 1 1 Unassigned_Variable New-AzApplicationGatewayRequestRoutingRule -HttpListener $Listener is a null-valued parameter value. -HttpListener Assign value for $Listener.
⚠️ New-AzApplicationGatewayRequestRoutingRule 1 1 Unassigned_Variable New-AzApplicationGatewayRequestRoutingRule -BackendAddressPool $Pool is a null-valued parameter value. -BackendAddressPool Assign value for $Pool.
⚠️ Set-AzApplicationGatewayAdvancedRoutingMap 1 5 Mismatched_Parameter_Value_Type Set-AzApplicationGatewayAdvancedRoutingMap -AdvancedRoutingRule ($map.AdvancedRoutingRules + $newRule) is not an expected parameter value type. -AdvancedRoutingRule Use correct parameter value type. Expected Type is Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayAdvancedRoutingRule. Now the type is Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayAdvancedRoutingMap.(Command).
⚠️ Set-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Set-AzApplicationGatewayRequestRoutingRule -BackendHttpSettings $Setting is a null-valued parameter value. -BackendHttpSettings Assign value for $Setting.
⚠️ Set-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Set-AzApplicationGatewayRequestRoutingRule -HttpListener $Listener is a null-valued parameter value. -HttpListener Assign value for $Listener.
⚠️ Set-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Set-AzApplicationGatewayRequestRoutingRule -BackendAddressPool $Pool is a null-valued parameter value. -BackendAddressPool Assign value for $Pool.
⚠️Windows PowerShell - Windows
Type Cmdlet Example Line RuleName Description Extent Remediation
⚠️ Add-AzApplicationGatewayAdvancedRoutingMap 1 4 Unassigned_Variable Add-AzApplicationGatewayAdvancedRoutingMap -AdvancedRoutingRule $rule is a null-valued parameter value. -AdvancedRoutingRule Assign value for $rule.
⚠️ Add-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Add-AzApplicationGatewayRequestRoutingRule -BackendHttpSettings $Setting is a null-valued parameter value. -BackendHttpSettings Assign value for $Setting.
⚠️ Add-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Add-AzApplicationGatewayRequestRoutingRule -HttpListener $Listener is a null-valued parameter value. -HttpListener Assign value for $Listener.
⚠️ Add-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Add-AzApplicationGatewayRequestRoutingRule -BackendAddressPool $Pool is a null-valued parameter value. -BackendAddressPool Assign value for $Pool.
⚠️ New-AzApplicationGateway 2 5 Unassigned_Variable Get-AzVirtualNetworkSubnetConfig -Name $Subnet01 is a null-valued parameter value. -Name Assign value for $Subnet01.
⚠️ New-AzApplicationGatewayAdvancedRoutingMap 1 4 Unassigned_Variable New-AzApplicationGatewayAdvancedRoutingMap -AdvancedRoutingRule $rule1, $rule2 is a null-valued parameter value. -AdvancedRoutingRule Assign value for $rule1, $rule2.
⚠️ New-AzApplicationGatewayRequestRoutingRule 1 1 Unassigned_Variable New-AzApplicationGatewayRequestRoutingRule -BackendHttpSettings $Setting is a null-valued parameter value. -BackendHttpSettings Assign value for $Setting.
⚠️ New-AzApplicationGatewayRequestRoutingRule 1 1 Unassigned_Variable New-AzApplicationGatewayRequestRoutingRule -HttpListener $Listener is a null-valued parameter value. -HttpListener Assign value for $Listener.
⚠️ New-AzApplicationGatewayRequestRoutingRule 1 1 Unassigned_Variable New-AzApplicationGatewayRequestRoutingRule -BackendAddressPool $Pool is a null-valued parameter value. -BackendAddressPool Assign value for $Pool.
⚠️ Set-AzApplicationGatewayAdvancedRoutingMap 1 5 Mismatched_Parameter_Value_Type Set-AzApplicationGatewayAdvancedRoutingMap -AdvancedRoutingRule ($map.AdvancedRoutingRules + $newRule) is not an expected parameter value type. -AdvancedRoutingRule Use correct parameter value type. Expected Type is Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayAdvancedRoutingRule. Now the type is Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayAdvancedRoutingMap.(Command).
⚠️ Set-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Set-AzApplicationGatewayRequestRoutingRule -BackendHttpSettings $Setting is a null-valued parameter value. -BackendHttpSettings Assign value for $Setting.
⚠️ Set-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Set-AzApplicationGatewayRequestRoutingRule -HttpListener $Listener is a null-valued parameter value. -HttpListener Assign value for $Listener.
⚠️ Set-AzApplicationGatewayRequestRoutingRule 1 2 Unassigned_Variable Set-AzApplicationGatewayRequestRoutingRule -BackendAddressPool $Pool is a null-valued parameter value. -BackendAddressPool Assign value for $Pool.
️✔️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 PowerShell support for Application Gateway advanced routing, which selects a backend based on conditions evaluated against request headers, query string arguments, path, client IP address, or HTTP method.

New cmdlets

Family Cmdlets
Advanced routing map New / Add / Get / Set / Remove-AzApplicationGatewayAdvancedRoutingMap
Advanced routing condition set New / Add / Get / Set / Remove-AzApplicationGatewayAdvancedRoutingConditionSet
Advanced routing rule (nested) New-AzApplicationGatewayAdvancedRoutingRuleConfig
Routing condition (nested) New-AzApplicationGatewayAdvancedRoutingCondition

Maps and condition sets are top-level gateway collections and get the full verb set. Rules and conditions exist only inside their parent, so they are New-only config builders — matching New-AzApplicationGatewayPathRuleConfig and the RewriteRule* family.

Changes to existing cmdlets

  • New/Add/Set-AzApplicationGatewayRequestRoutingRule: -RuleType now accepts AdvancedRouting, plus new -AdvancedRoutingMap / -AdvancedRoutingMapId parameters.
  • New-AzApplicationGateway: new -AdvancedRoutingMaps and -AdvancedRoutingConditionSets parameters, so a gateway can be created with advanced routing in one call.

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/Network/Network/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-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Thank you for your contribution paawankohli! We will review the pull request and get back to you soon.

@DanielMicrosoft

Copy link
Copy Markdown
Contributor

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

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.

Copilot review overview

🟡 Changes recommended

Unresolved critical property-preservation and validation issues, along with missing help and formatting updates, block approval.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity · 2 Medium severity · 2 Low severity

Open (6)
What changed in this PR

Adds PowerShell support for Application Gateway advanced routing, including routing maps, condition sets, nested rules, and request conditions.

Changes:

  • Added advanced-routing models and lifecycle cmdlets.
  • Integrated advanced routing with gateway creation and request-routing rules.
  • Added mappings, exports, help, changelog entries, and unit tests.
File Summary
src/​Network/​Network/​Properties/​Resources.resx Adds advanced-routing resource names.
src/​Network/​Network/​Properties/​Resources.Designer.cs Adds generated resource accessors.
src/​Network/​Network/​Models/​PSApplicationGatewayRequestRoutingRule.cs Adds advanced-routing map references.
src/​Network/​Network/​Models/​PSApplicationGatewayAdvancedRoutingRule.cs Defines advanced-routing rules. Critical: AuthConfigs is omitted; formatting views are also not generated.
src/​Network/​Network/​Models/​PSApplicationGatewayAdvancedRoutingPropertyValueMatcher.cs Defines matcher options.
src/​Network/​Network/​Models/​PSApplicationGatewayAdvancedRoutingMap.cs Defines routing maps. Critical: DefaultAuthConfigs is omitted from mapping.
src/​Network/​Network/​Models/​PSApplicationGatewayAdvancedRoutingConditionSet.cs Defines condition sets.
src/​Network/​Network/​Models/​PSApplicationGatewayAdvancedRoutingCondition.cs Defines routing conditions.
src/​Network/​Network/​Models/​PSApplicationGateway.cs Adds gateway advanced-routing collections.
src/​Network/​Network/​help/​Set-AzApplicationGatewayAdvancedRoutingMap.md Documents map updates.
src/​Network/​Network/​help/​Set-AzApplicationGatewayAdvancedRoutingConditionSet.md Documents condition-set updates.
src/​Network/​Network/​help/​Remove-AzApplicationGatewayAdvancedRoutingMap.md Documents map removal.
src/​Network/​Network/​help/​Remove-AzApplicationGatewayAdvancedRoutingConditionSet.md Documents condition-set removal.
src/​Network/​Network/​help/​New-AzApplicationGatewayAdvancedRoutingRuleConfig.md Documents rule configuration.
src/​Network/​Network/​help/​New-AzApplicationGatewayAdvancedRoutingMap.md Documents map creation.
src/​Network/​Network/​help/​New-AzApplicationGatewayAdvancedRoutingConditionSet.md Documents condition-set creation.
src/​Network/​Network/​help/​New-AzApplicationGatewayAdvancedRoutingCondition.md Documents condition creation.
src/​Network/​Network/​help/​Get-AzApplicationGatewayAdvancedRoutingMap.md Documents map retrieval.
src/​Network/​Network/​help/​Get-AzApplicationGatewayAdvancedRoutingConditionSet.md Documents condition-set retrieval.
src/​Network/​Network/​help/​Az.Network.md Indexes advanced-routing help topics.
src/​Network/​Network/​help/​Add-AzApplicationGatewayAdvancedRoutingMap.md Documents adding maps.
src/​Network/​Network/​help/​Add-AzApplicationGatewayAdvancedRoutingConditionSet.md Documents adding condition sets.
src/​Network/​Network/​Common/​NetworkResourceManagerProfile.cs Adds SDK and PowerShell model mappings.
src/​Network/​Network/​ChangeLog.md Documents the feature.
src/​Network/​Network/​Az.Network.psd1 Exports new cmdlets.
src/​Network/​Network/​ApplicationGateway/​RequestRoutingRule/​AzureApplicationGatewayRequestRoutingRuleBase.cs Adds advanced-routing rule support. Nit: existing request-routing help was not regenerated.
src/​Network/​Network/​ApplicationGateway/​NewAzureApplicationGatewayCommand.cs Adds advanced-routing gateway parameters. Nit: existing help was not regenerated.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingRule/​NewAzureApplicationGatewayAdvancedRoutingRuleConfigCommand.cs Adds the nested rule builder cmdlet.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingRule/​AzureApplicationGatewayAdvancedRoutingRuleConfigBase.cs Implements rule configuration. Moderate: backend and redirect parameters are not mutually exclusive.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingMap/​SetAzureApplicationGatewayAdvancedRoutingMapCommand.cs Implements map updates.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingMap/​RemoveAzureApplicationGatewayAdvancedRoutingMapCommand.cs Implements map removal.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingMap/​NewAzureApplicationGatewayAdvancedRoutingMapCommand.cs Implements map creation.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingMap/​GetAzureApplicationGatewayAdvancedRoutingMapCommand.cs Implements map retrieval.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingMap/​AzureApplicationGatewayAdvancedRoutingMapBase.cs Provides map command base behavior.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingMap/​AddAzureApplicationGatewayAdvancedRoutingMapCommand.cs Implements adding maps.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingConditionSet/​SetAzureApplicationGatewayAdvancedRoutingConditionSetCommand.cs Implements condition-set updates.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingConditionSet/​RemoveAzureApplicationGatewayAdvancedRoutingConditionSetCommand.cs Implements condition-set removal.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingConditionSet/​NewAzureApplicationGatewayAdvancedRoutingConditionSetCommand.cs Implements condition-set creation.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingConditionSet/​GetAzureApplicationGatewayAdvancedRoutingConditionSetCommand.cs Implements condition-set retrieval.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingConditionSet/​AzureApplicationGatewayAdvancedRoutingConditionSetBase.cs Provides condition-set command base behavior.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingConditionSet/​AddAzureApplicationGatewayAdvancedRoutingConditionSetCommand.cs Implements adding condition sets.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingCondition/​NewAzureApplicationGatewayAdvancedRoutingConditionCommand.cs Implements condition creation.
src/​Network/​Network/​ApplicationGateway/​AdvancedRoutingCondition/​AzureApplicationGatewayAdvancedRoutingConditionBase.cs Provides condition command base behavior. Moderate: documented condition constraints are not validated.
src/​Network/​Network.Test/​UnitTests/​ApplicationGatewayAdvancedRoutingTests.cs Tests mappings and configuration builders.
Files not reviewed (1)
  • src/Network/Network/Properties/Resources.Designer.cs: Generated file

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@paawankohli paawankohli changed the title Add AppGw Advanced Routing capability to Az Powershell [Azure Application Gateway] Add AppGw Advanced Routing capability to Az Powershell Sep 23, 2026
@DanielMicrosoft
DanielMicrosoft merged commit 713f694 into Azure:release-network-2026-01-01 Sep 23, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants