az network application-gateway rule

Evaluate probe information and define HTTP/HTTPS routing rules.

For more information, visit https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/application-gateway-customize-waf-rules-cli.

Commands

Name Description Type Status
az network application-gateway rule create

Create a rule.

Core GA
az network application-gateway rule delete

Delete a rule.

Core GA
az network application-gateway rule list

List rules.

Core GA
az network application-gateway rule show

Get the details of a rule.

Core GA
az network application-gateway rule update

Update a rule.

Core GA
az network application-gateway rule wait

Place the CLI in a waiting state until a condition is met.

Core GA

az network application-gateway rule create

Create a rule.

Rules are executed in the order in which they are created.

az network application-gateway rule create --gateway-name
                                           --name
                                           --resource-group
                                           [--acquire-policy-token]
                                           [--address-pool]
                                           [--advanced-routing-map]
                                           [--auth-configs]
                                           [--change-reference]
                                           [--entra-jwt-config --entra-jwt-validation-config]
                                           [--http-listener]
                                           [--http-settings]
                                           [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                                           [--priority]
                                           [--redirect-config]
                                           [--rewrite-rule-set]
                                           [--rule-type {AdvancedRouting, Basic, PathBasedRouting}]
                                           [--url-path-map]

Examples

Create a basic rule.

az network application-gateway rule create -g MyResourceGroup --gateway-name MyAppGateway -n MyRule --http-listener MyBackendListener --rule-type Basic --address-pool MyAddressPool --http-settings MyHttpSettings

Create a rule that routes requests by an advanced routing map.

az network application-gateway rule create -g MyResourceGroup --gateway-name MyAppGateway -n MyRule --http-listener MyListener --rule-type AdvancedRouting --advanced-routing-map MyAdvancedRoutingMap --priority 200

Required Parameters

--gateway-name

Name of the application gateway.

--name -n

Name of the request routing rule.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Optional Parameters

The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.

--acquire-policy-token

Acquiring an Azure Policy token automatically for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--address-pool

Name or ID of the backend address pool. If only one exists, omit to use as default.

Property Value
Parameter group: Properties Arguments
--advanced-routing-map

Name or ID of the advanced routing map.

Property Value
Parameter group: Properties Arguments
--auth-configs

Authentication configuration bindings of the request routing rule. Only one authentication configuration is supported. Authentication configuration names must be unique across the Application Gateway, and an Application Gateway can reference at most 100 distinct authentication policies. Authentication policies can only be bound to Application Gateways using the Standard_v2 or WAF_v2 SKU. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

Property Value
Parameter group: Properties Arguments
--change-reference

The related change reference ID for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--entra-jwt-config --entra-jwt-validation-config

Entra JWT validation configuration resource of the application gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

Property Value
Parameter group: Properties Arguments
--http-listener

Name or ID of the HTTP listener. If only one exists, omit to use as default.

Property Value
Parameter group: Properties Arguments
--http-settings

Name or ID of the HTTP settings. If only one exists, omit to use as default.

Property Value
Parameter group: Properties Arguments
--no-wait

Do not wait for the long-running operation to finish.

Property Value
Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--priority

Priority of the request routing rule. Supported SKU tiers are Standard_v2, WAF_v2.

--redirect-config

Name or ID of the redirect configuration to use with the created rule.

Property Value
Parameter group: Properties Arguments
--rewrite-rule-set

Name or ID of the rewrite rule set.

Property Value
Parameter group: Properties Arguments
--rule-type

Type of the request routing rule.

Property Value
Default value: Basic
Accepted values: AdvancedRouting, Basic, PathBasedRouting
--url-path-map

Name or ID of the url path map.

Property Value
Parameter group: Properties Arguments
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

Property Value
Default value: False
--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

Property Value
Default value: False
--output -o

Output format.

Property Value
Default value: json
Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

Property Value
Default value: False

az network application-gateway rule delete

Delete a rule.

az network application-gateway rule delete --gateway-name
                                           --name
                                           --resource-group
                                           [--acquire-policy-token]
                                           [--change-reference]
                                           [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]

Examples

Delete a rule.

az network application-gateway rule delete -g MyResourceGroup --gateway-name MyAppGateway -n MyRule

Required Parameters

--gateway-name

Name of the application gateway.

--name -n

Name of the request routing rule that is unique within an Application Gateway.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Optional Parameters

The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.

--acquire-policy-token

Acquiring an Azure Policy token automatically for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--change-reference

The related change reference ID for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--no-wait

Do not wait for the long-running operation to finish.

Property Value
Accepted values: 0, 1, f, false, n, no, t, true, y, yes
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

Property Value
Default value: False
--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

Property Value
Default value: False
--output -o

Output format.

Property Value
Default value: json
Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

Property Value
Default value: False

az network application-gateway rule list

List rules.

az network application-gateway rule list --gateway-name
                                         --resource-group

Examples

List rules.

az network application-gateway rule list -g MyResourceGroup --gateway-name MyAppGateway

Required Parameters

--gateway-name

Name of the application gateway.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

Property Value
Default value: False
--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

Property Value
Default value: False
--output -o

Output format.

Property Value
Default value: json
Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

Property Value
Default value: False

az network application-gateway rule show

Get the details of a rule.

az network application-gateway rule show --gateway-name
                                         --name
                                         --resource-group

Examples

Get the details of a rule.

az network application-gateway rule show -g MyResourceGroup --gateway-name MyAppGateway -n MyRule

Required Parameters

--gateway-name

Name of the application gateway.

--name -n

Name of the request routing rule that is unique within an Application Gateway.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

Property Value
Default value: False
--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

Property Value
Default value: False
--output -o

Output format.

Property Value
Default value: json
Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

Property Value
Default value: False

az network application-gateway rule update

Update a rule.

az network application-gateway rule update --gateway-name
                                           --name
                                           --resource-group
                                           [--acquire-policy-token]
                                           [--add]
                                           [--address-pool]
                                           [--advanced-routing-map]
                                           [--auth-configs]
                                           [--change-reference]
                                           [--entra-jwt-config --entra-jwt-validation-config]
                                           [--force-string {0, 1, f, false, n, no, t, true, y, yes}]
                                           [--http-listener]
                                           [--http-settings]
                                           [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                                           [--priority]
                                           [--redirect-config]
                                           [--remove]
                                           [--rewrite-rule-set]
                                           [--rule-type {AdvancedRouting, Basic, PathBasedRouting}]
                                           [--set]
                                           [--url-path-map]

Examples

Update a rule use a new HTTP listener.

az network application-gateway rule update -g MyResourceGroup --gateway-name MyAppGateway -n MyRule --http-listener MyNewBackendListener

Required Parameters

--gateway-name

Name of the application gateway.

--name -n

Name of the request routing rule.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Optional Parameters

The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.

--acquire-policy-token

Acquiring an Azure Policy token automatically for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--add

Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty <key=value, string or JSON string>.

Property Value
Parameter group: Generic Update Arguments
--address-pool

Name or ID of the backend address pool. If only one exists, omit to use as default.

Property Value
Parameter group: Properties Arguments
--advanced-routing-map

Name or ID of the advanced routing map.

Property Value
Parameter group: Properties Arguments
--auth-configs

Authentication configuration bindings of the request routing rule. Only one authentication configuration is supported. Authentication configuration names must be unique across the Application Gateway, and an Application Gateway can reference at most 100 distinct authentication policies. Authentication policies can only be bound to Application Gateways using the Standard_v2 or WAF_v2 SKU. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

Property Value
Parameter group: Properties Arguments
--change-reference

The related change reference ID for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--entra-jwt-config --entra-jwt-validation-config

Entra JWT validation configuration resource of the application gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

Property Value
Parameter group: Properties Arguments
--force-string

When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON.

Property Value
Parameter group: Generic Update Arguments
Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--http-listener

Name or ID of the HTTP listener. If only one exists, omit to use as default.

Property Value
Parameter group: Properties Arguments
--http-settings

Name or ID of the HTTP settings. If only one exists, omit to use as default.

Property Value
Parameter group: Properties Arguments
--no-wait

Do not wait for the long-running operation to finish.

Property Value
Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--priority

Priority of the request routing rule. Supported SKU tiers are Standard_v2, WAF_v2.

--redirect-config

Name or ID of the redirect configuration to use with the created rule.

Property Value
Parameter group: Properties Arguments
--remove

Remove a property or an element from a list. Example: --remove property.list <indexToRemove> OR --remove propertyToRemove.

Property Value
Parameter group: Generic Update Arguments
--rewrite-rule-set

Name or ID of the rewrite rule set.

Property Value
Parameter group: Properties Arguments
--rule-type

Type of the request routing rule.

Property Value
Accepted values: AdvancedRouting, Basic, PathBasedRouting
--set

Update an object by specifying a property path and value to set. Example: --set property1.property2=<value>.

Property Value
Parameter group: Generic Update Arguments
--url-path-map

Name or ID of the url path map.

Property Value
Parameter group: Properties Arguments
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

Property Value
Default value: False
--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

Property Value
Default value: False
--output -o

Output format.

Property Value
Default value: json
Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

Property Value
Default value: False

az network application-gateway rule wait

Place the CLI in a waiting state until a condition is met.

az network application-gateway rule wait [--acquire-policy-token]
                                         [--change-reference]
                                         [--created]
                                         [--custom]
                                         [--deleted]
                                         [--exists]
                                         [--gateway-name]
                                         [--ids]
                                         [--interval]
                                         [--resource-group]
                                         [--subscription]
                                         [--timeout]
                                         [--updated]

Optional Parameters

The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.

--acquire-policy-token

Acquiring an Azure Policy token automatically for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--change-reference

The related change reference ID for this resource operation.

Property Value
Parameter group: Global Policy Arguments
--created

Wait until created with 'provisioningState' at 'Succeeded'.

Property Value
Parameter group: Wait Condition Arguments
Default value: False
--custom

Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running'].

Property Value
Parameter group: Wait Condition Arguments
--deleted

Wait until deleted.

Property Value
Parameter group: Wait Condition Arguments
Default value: False
--exists

Wait until the resource exists.

Property Value
Parameter group: Wait Condition Arguments
Default value: False
--gateway-name

Name of the application gateway.

Property Value
Parameter group: Resource Id Arguments
--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

Property Value
Parameter group: Resource Id Arguments
--interval

Polling interval in seconds.

Property Value
Parameter group: Wait Condition Arguments
Default value: 30
--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Property Value
Parameter group: Resource Id Arguments
--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

Property Value
Parameter group: Resource Id Arguments
--timeout

Maximum wait in seconds.

Property Value
Parameter group: Wait Condition Arguments
Default value: 3600
--updated

Wait until updated with provisioningState at 'Succeeded'.

Property Value
Parameter group: Wait Condition Arguments
Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

Property Value
Default value: False
--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

Property Value
Default value: False
--output -o

Output format.

Property Value
Default value: json
Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

Property Value
Default value: False