Share via


az afd route

Manage routes under an AFD endpoint.

Commands

Name Description Type Status
az afd route create

Create a new route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

Core GA
az afd route delete

Delete an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

Core GA
az afd route list

List all of the existing origins within a profile.

Core GA
az afd route show

Get an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

Core GA
az afd route update

Update a new route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

Core GA
az afd route wait

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

Core GA

az afd route create

Create a new route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

az afd route create --endpoint-name
                    --name
                    --profile-name
                    --resource-group
                    [--content-types-to-compress]
                    [--custom-domains]
                    [--enable-caching {0, 1, f, false, n, no, t, true, y, yes}]
                    [--enable-compression {0, 1, f, false, n, no, t, true, y, yes}]
                    [--enabled-state {Disabled, Enabled}]
                    [--forwarding-protocol {HttpOnly, HttpsOnly, MatchRequest}]
                    [--https-redirect {Disabled, Enabled}]
                    [--link-to-default-domain {Disabled, Enabled}]
                    [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                    [--origin-group]
                    [--origin-path]
                    [--patterns-to-match]
                    [--query-parameters]
                    [--query-string-caching-behavior]
                    [--rule-sets]
                    [--supported-protocols]

Examples

Creates a route to associate the endpoint's default domain with an origin group for all HTTPS requests.

az afd route create -g group --endpoint-name endpoint1 --profile-name profile --route-name route1 --https-redirect Disabled --origin-group og001 --supported-protocols Https --link-to-default-domain Enabled --forwarding-protocol MatchRequest

Creates a route to associate the endpoint's default domain with an origin group for all requests and use the specified rule sets to customize the route behavior.

az afd route create -g group --endpoint-name endpoint1 --profile-name profile --route-name route1 --rule-sets ruleset1 rulseset2 --origin-group og001 --supported-protocols Http Https --link-to-default-domain Enabled --forwarding-protocol MatchRequest --https-redirect Disabled

Creates a route to associate the endpoint's default domain and a custom domain with an origin group for all requests with the specified path patterns and redirect all trafic to use Https.

az afd route create -g group --endpoint-name endpoint1 --profile-name profile --route-name route1 --patterns-to-match /test1/* /tes2/* --origin-group og001 --supported-protocols Http Https --custom-domains cd001 --forwarding-protocol MatchRequest --https-redirect Enabled --link-to-default-domain Enabled

Required Parameters

--endpoint-name

Name of the endpoint under the profile which is unique globally.

--name --route-name -n

Name of the routing rule.

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

Optional Parameters

--content-types-to-compress

List of content types on which compression applies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--custom-domains

Custom domains referenced by this endpoint. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--enable-caching

Indicates whether caching is enanbled on that 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
--enabled-state

Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.

Accepted values: Disabled, Enabled
--forwarding-protocol

Protocol this rule will use when forwarding traffic to backends.

Accepted values: HttpOnly, HttpsOnly, MatchRequest
Default value: MatchRequest
--https-redirect

Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up this rule and it will be the first rule that gets executed.

Accepted values: Disabled, Enabled
Default value: Disabled
--link-to-default-domain

Whether this route will be linked to the default endpoint domain.

Accepted values: Disabled, Enabled
Default value: Disabled
--no-wait

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

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

Name or ID of the origin group to be associated with.

--origin-path

A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.

--patterns-to-match

The route patterns of the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--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 Frontdoor caches requests that include query strings.You can ignore any query strings when caching, ignore specific query strings,cache every request with a unique URL, or cache specific query strings.

--rule-sets

Collection of ID or name of rule set referenced by the route. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--supported-protocols

List of supported protocols for this route. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

Default value: ['Http', 'Https']
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 route delete

Delete an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

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

Examples

Delete an route named route1.

az afd route delete -g group --profile-name profile --endpoint-name endpoint1 --route-name route1

Optional Parameters

--endpoint-name

Name of the endpoint under the profile which is unique globally.

--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 --route-name -n

Name of the routing rule.

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

--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 route list

List all of the existing origins within a profile.

az afd route list --endpoint-name
                  --profile-name
                  --resource-group
                  [--max-items]
                  [--next-token]

Required Parameters

--endpoint-name

Name of the endpoint under the profile which is unique globally.

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

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 route show

Get an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

az afd route show [--endpoint-name]
                  [--ids]
                  [--name]
                  [--profile-name]
                  [--resource-group]
                  [--subscription]

Optional Parameters

--endpoint-name

Name of the endpoint under the profile which is unique globally.

--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 --route-name -n

Name of the routing rule.

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

--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 route update

Update a new route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.

az afd route update [--add]
                    [--content-types-to-compress]
                    [--custom-domains]
                    [--enable-caching {0, 1, f, false, n, no, t, true, y, yes}]
                    [--enable-compression {0, 1, f, false, n, no, t, true, y, yes}]
                    [--enabled-state {Disabled, Enabled}]
                    [--endpoint-name]
                    [--force-string {0, 1, f, false, n, no, t, true, y, yes}]
                    [--forwarding-protocol {HttpOnly, HttpsOnly, MatchRequest}]
                    [--https-redirect {Disabled, Enabled}]
                    [--ids]
                    [--link-to-default-domain {Disabled, Enabled}]
                    [--name]
                    [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                    [--origin-group]
                    [--origin-path]
                    [--patterns-to-match]
                    [--profile-name]
                    [--query-parameters]
                    [--query-string-caching-behavior]
                    [--remove]
                    [--resource-group]
                    [--rule-sets]
                    [--set]
                    [--subscription]
                    [--supported-protocols]

Examples

Update a route to accept both Http and Https requests and redirect all trafic to use Https.

az afd route update -g group --endpoint-name endpoint1 --profile-name profile --route-name route1 --supported-protocols Http Https --https-redirect Enabled

Update a route's rule sets settings to customize the route behavior.

az afd route update -g group --endpoint-name endpoint1 --profile-name profile --route-name route1 --rule-sets ruleset1 rulseset2

Update a route's compression settings to enable compression for the specified content types.

az afd route update -g group --endpoint-name endpoint1 --profile-name profile --route-name route1 --query-string-caching-behavior IgnoreQueryString --enable-compression true --content-types-to-compress text/javascript text/plain

Optional Parameters

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

--content-types-to-compress

List of content types on which compression applies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--custom-domains

Custom domains referenced by this endpoint. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--enable-caching

Indicates whether caching is enanbled on that 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
--enabled-state

Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.

Accepted values: Disabled, Enabled
--endpoint-name

Name of the endpoint under the profile which is unique globally.

--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
--forwarding-protocol

Protocol this rule will use when forwarding traffic to backends.

Accepted values: HttpOnly, HttpsOnly, MatchRequest
--https-redirect

Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up this rule and it will be the first rule that gets executed.

Accepted values: Disabled, Enabled
--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.

--link-to-default-domain

Whether this route will be linked to the default endpoint domain.

Accepted values: Disabled, Enabled
--name --route-name -n

Name of the routing rule.

--no-wait

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

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

Name or ID of the origin group to be associated with.

--origin-path

A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.

--patterns-to-match

The route patterns of the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

--profile-name

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

--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 Frontdoor caches requests that include query strings.You can ignore any query strings when caching, ignore specific query strings,cache every request with a unique URL, or cache specific query strings.

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

Collection of ID or name of rule set referenced by the route. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more.

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

--supported-protocols

List of supported protocols for this route. 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 route wait

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

az afd route wait [--created]
                  [--custom]
                  [--deleted]
                  [--endpoint-name]
                  [--exists]
                  [--ids]
                  [--interval]
                  [--name]
                  [--profile-name]
                  [--resource-group]
                  [--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
--endpoint-name

Name of the endpoint under the profile which is unique globally.

--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 --route-name -n

Name of the routing rule.

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

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