Share via


az afd rule

Manage delivery rules within the specified rule set.

Commands

Name Description Type Status
az afd rule action Core GA
az afd rule action add

Update a new delivery rule within the specified rule set.

Core GA
az afd rule action list

Get an existing delivery rule within a rule set.

Core GA
az afd rule action remove

Update a new delivery rule within the specified rule set.

Core GA
az afd rule condition Core GA
az afd rule condition add

Update a new delivery rule within the specified rule set.

Core GA
az afd rule condition list

Get an existing delivery rule within a rule set.

Core GA
az afd rule condition remove

Update a new delivery rule within the specified rule set.

Core GA
az afd rule create

Create a new delivery rule within the specified rule set.

Core GA
az afd rule delete

Delete an existing delivery rule within a rule set.

Core GA
az afd rule list

List all of the existing delivery rules within a rule set.

Core GA
az afd rule show

Get an existing delivery rule within a rule set.

Core GA
az afd rule update

Update a new delivery rule within the specified rule set.

Core GA
az afd rule wait

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

Core GA

az afd rule create

Create a new delivery rule within the specified rule set.

az afd rule create --name
                   --profile-name
                   --resource-group
                   --rule-set-name
                   [--action-name]
                   [--cache-behavior]
                   [--cache-duration]
                   [--custom-fragment]
                   [--custom-hostname]
                   [--custom-path]
                   [--custom-querystring]
                   [--destination]
                   [--enable-caching {0, 1, f, false, n, no, t, true, y, yes}]
                   [--enable-compression {0, 1, f, false, n, no, t, true, y, yes}]
                   [--forwarding-protocol]
                   [--header-action]
                   [--header-name]
                   [--header-value]
                   [--match-processing-behavior {Continue, Stop}]
                   [--match-values]
                   [--match-variable]
                   [--negate-condition {0, 1, f, false, n, no, t, true, y, yes}]
                   [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                   [--operator]
                   [--order]
                   [--origin-group]
                   [--preserve-unmatched-path {0, 1, f, false, n, no, t, true, y, yes}]
                   [--query-parameters]
                   [--query-string-caching-behavior]
                   [--redirect-protocol]
                   [--redirect-type]
                   [--selector]
                   [--source-pattern]
                   [--transforms]

Examples

Create a rule to append a response header for requests from Thailand.

az afd rule create -g group --rule-set-name ruleset1 --profile-name profile --order 2 --match-variable RemoteAddress --operator GeoMatch --match-values TH --rule-name disablecaching --action-name ModifyResponseHeader --header-action Append --header-name X-CDN --header-value AFDX

Create a rule for http to https redirect

az afd rule create -g group --rule-set-name ruleset1 --profile-name profile --order 1 --rule-name "redirect" --match-variable RequestScheme --operator Equal --match-values HTTP --action-name "UrlRedirect" --redirect-protocol Https --redirect-type Moved

Required Parameters

--name --rule-name -n

Name of the delivery rule which is unique within the endpoint.

--profile-name

Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.

--resource-group -g

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

--rule-set-name

Name of the rule set under the profile.

Optional Parameters

--action-name
--cache-behavior

Caching behavior for the requests.

--cache-duration

The duration for which the content needs to be cached. Allowed format is hh:mm:ss.xxxxxx.

--custom-fragment

Fragment to add to the redirect URL.

--custom-hostname

Host to redirect. Leave empty to use the incoming host as the destination host.

--custom-path

The full path to redirect. Path cannot be empty and must start with /.Leave empty to use the incoming path as destination pat.

--custom-querystring

The set of query strings to be placed in the redirect URL.leave empty to preserve the incoming query string.

--destination

The destination path to be used in the rewrite.

--enable-caching

Indicates whether to enable caching on the route.

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--enable-compression

Indicates whether content compression is enabled on AzureFrontDoor. Default value is false.If compression is enabled, content will be served as compressed if user requests for a compressed version.Content won't be compressed on AzureFrontDoorwhen requested content is smaller than 1 byte or larger than 1 MB.

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--forwarding-protocol

Protocol this rule will use when forwarding traffic to backends.

--header-action

Header action for the requests.

--header-name

Name of the header to modify.

--header-value

Value of the header.

--match-processing-behavior

If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.

Accepted values: Continue, Stop
Default value: Continue
--match-values

Match values of the match condition. e.g, space separated values 'GET' 'HTTP'. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--match-variable
--negate-condition

If true, negates the condition.

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--no-wait

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

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--operator

Operator of the match condition.

--order

The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.

--origin-group

Name or ID of the OriginGroup that would override the default OriginGroup.

--preserve-unmatched-path

If True, the remaining path after the source pattern will be appended to the new destination path.

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--query-parameters

Query parameters to include or exclude. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--query-string-caching-behavior

Defines how CDN caches requests that include query strings.You can ignore any query strings when caching,bypass caching to prevent requests that contain query strings from being cached,or cache every request with a unique URL.

--redirect-protocol

Protocol to use for the redirect.

--redirect-type

The redirect type the rule will use when redirecting traffic.

--selector

Selector of the match condition.

--source-pattern

A request URI pattern that identifies the type of requests that may be rewritten.

--transforms

Transform to apply before matching. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--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.

az afd rule delete

Delete an existing delivery rule within a rule set.

az afd rule delete [--ids]
                   [--name]
                   [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                   [--profile-name]
                   [--resource-group]
                   [--rule-set-name]
                   [--subscription]
                   [--yes]

Examples

Remove a rule with name rule1.

az afd rule delete -g group --rule-set-name ruleSetName --profile-name profile --rule-name rule1

Optional Parameters

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

--name --rule-name -n

Name of the delivery rule which is unique within the endpoint.

--no-wait

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

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--profile-name

Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.

--resource-group -g

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

--rule-set-name

Name of the rule set under the profile.

--subscription

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

--yes -y

Do not prompt for confirmation.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--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.

az afd rule list

List all of the existing delivery rules within a rule set.

az afd rule list --profile-name
                 --resource-group
                 --rule-set-name
                 [--max-items]
                 [--next-token]

Examples

List all the routes within the specified endpoint.

az afd route list -g group --profile-name profile --endpoint-name endpoint1

Required Parameters

--profile-name

Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.

--resource-group -g

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

--rule-set-name

Name of the rule set under the profile.

Optional Parameters

--max-items

Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command.

--next-token

Token to specify where to start paginating. This is the token value from a previously truncated response.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--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.

az afd rule show

Get an existing delivery rule within a rule set.

az afd rule show [--ids]
                 [--name]
                 [--profile-name]
                 [--resource-group]
                 [--rule-set-name]
                 [--subscription]

Examples

show details of the delivery rule with name rule1.

az afd rule show -g group --rule-set-name ruleSetName --profile-name profile --rule-name rule1

Optional Parameters

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

--name --rule-name -n

Name of the delivery rule which is unique within the endpoint.

--profile-name

Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.

--resource-group -g

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

--rule-set-name

Name of the rule set under the profile.

--subscription

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

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--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.

az afd rule update

Update a new delivery rule within the specified rule set.

az afd rule update [--actions]
                   [--add]
                   [--conditions]
                   [--force-string {0, 1, f, false, n, no, t, true, y, yes}]
                   [--ids]
                   [--match-processing-behavior {Continue, Stop}]
                   [--name]
                   [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                   [--order]
                   [--profile-name]
                   [--remove]
                   [--resource-group]
                   [--rule-set-name]
                   [--set]
                   [--subscription]

Optional Parameters

--actions

A list of actions that are executed when all the conditions of a rule are satisfied. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

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

--conditions

A list of conditions that must be matched for the actions to be executed Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--force-string

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

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--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.

--match-processing-behavior

If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.

Accepted values: Continue, Stop
--name --rule-name -n

Name of the delivery rule which is unique within the endpoint.

--no-wait

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

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--order

The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.

--profile-name

Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.

--remove

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

--resource-group -g

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

--rule-set-name

Name of the rule set under the profile.

--set

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

--subscription

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

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--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.

az afd rule wait

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

az afd rule wait [--created]
                 [--custom]
                 [--deleted]
                 [--exists]
                 [--ids]
                 [--interval]
                 [--name]
                 [--profile-name]
                 [--resource-group]
                 [--rule-set-name]
                 [--subscription]
                 [--timeout]
                 [--updated]

Optional Parameters

--created

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

Default value: False
--custom

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

--deleted

Wait until deleted.

Default value: False
--exists

Wait until the resource exists.

Default value: False
--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.

--interval

Polling interval in seconds.

Default value: 30
--name --rule-name -n

Name of the delivery rule which is unique within the endpoint.

--profile-name

Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.

--resource-group -g

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

--rule-set-name

Name of the rule set under the profile.

--subscription

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

--timeout

Maximum wait in seconds.

Default value: 3600
--updated

Wait until updated with provisioningState at 'Succeeded'.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--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.