[Azure Application Gateway] Add AppGw Advanced Routing capability to Az Powershell - #30183
Merged
DanielMicrosoft merged 11 commits intoSep 23, 2026
Merged
DanielMicrosoft merged 11 commits into
DanielMicrosoft merged 11 commits into
Conversation
Contributor
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Thank you for your contribution paawankohli! We will review the pull request and get back to you soon. |
Contributor
|
/azp run |
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. |
Contributor
There was a problem hiding this comment.
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
Open (6)
DefaultAuthConfigs are dropped during map conversion · New AuthConfigs are dropped during rule conversion · New Missing validation for invalid condition property combinations · New Missing validation for mutually exclusive routing parameters · New New-AzApplicationGateway help omits advanced routing parameters · New Routing rule help omits advanced routing map options · New
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.
paawankohli
force-pushed
the
paawankohli/ARR
branch
from
September 23, 2026 06:00
ab6f693 to
6507bdc
Compare
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
…direct parameter sets
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
DanielMicrosoft
approved these changes
Sep 23, 2026
DanielMicrosoft
merged commit Sep 23, 2026
713f694
into
Azure:release-network-2026-01-01
12 checks passed
3 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



🤖 PR Validation —⚠️ Review suggested
️✔️Az.Accounts
️✔️Az.ApplicationInsights
️✔️Az.CognitiveServices
️✔️Az.Compute
️✔️Az.Dns
️✔️Az.Maintenance
️✔️Az.ManagedServiceIdentity
️✔️Az.Monitor
️✔️Az.OperationalInsights
️✔️Az.PrivateDns
️✔️Az.RecoveryServices
️✔️Az.Resources
️✔️Az.Security
️✔️Az.ServiceBus
️✔️Az.Sql
️✔️Az.Storage
️✔️Az.Websites
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
New/Add/Get/Set/Remove-AzApplicationGatewayAdvancedRoutingMapNew/Add/Get/Set/Remove-AzApplicationGatewayAdvancedRoutingConditionSetNew-AzApplicationGatewayAdvancedRoutingRuleConfigNew-AzApplicationGatewayAdvancedRoutingConditionMaps 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 — matchingNew-AzApplicationGatewayPathRuleConfigand theRewriteRule*family.Changes to existing cmdlets
New/Add/Set-AzApplicationGatewayRequestRoutingRule:-RuleTypenow acceptsAdvancedRouting, plus new-AdvancedRoutingMap/-AdvancedRoutingMapIdparameters.New-AzApplicationGateway: new-AdvancedRoutingMapsand-AdvancedRoutingConditionSetsparameters, so a gateway can be created with advanced routing in one call.Mandatory Checklist
Please choose the target release of Azure PowerShell. (⚠️ Target release is a different concept from API readiness. Please click below links for details.)
Check this box to confirm: I have read the Submitting Changes section of
CONTRIBUTING.mdand reviewed the following information:ChangeLog.mdfile(s) appropriatelysrc/Network/Network/ChangeLog.md.## Upcoming Releaseheader in the past tense.ChangeLog.mdif no new release is required, such as fixing test case only.