Microsoft.Cdn profiles/afdEndpoints/routes 2020-09-01

Bicep resource definition

The profiles/afdEndpoints/routes resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cdn/profiles/afdEndpoints/routes resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Cdn/profiles/afdEndpoints/routes@2020-09-01' = {
  name: 'string'
  parent: resourceSymbolicName
  properties: {
    compressionSettings: {
      contentTypesToCompress: [
        'string'
      ]
      isCompressionEnabled: bool
    }
    customDomains: [
      {
        id: 'string'
      }
    ]
    enabledState: 'string'
    forwardingProtocol: 'string'
    httpsRedirect: 'string'
    linkToDefaultDomain: 'string'
    originGroup: {
      id: 'string'
    }
    originPath: 'string'
    patternsToMatch: [
      'string'
    ]
    queryStringCachingBehavior: 'string'
    ruleSets: [
      {
        id: 'string'
      }
    ]
    supportedProtocols: [
      'string'
    ]
  }
}

Property values

profiles/afdEndpoints/routes

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)

Character limit: 1-50

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric.

Resource name must be unique across Azure.
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: afdEndpoints
properties The JSON object that contains the properties of the Routes to create. RouteProperties

RouteProperties

Name Description Value
compressionSettings compression settings. CompressionSettings
customDomains Domains referenced by this endpoint. ResourceReference[]
enabledState Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' 'Disabled'
'Enabled'
forwardingProtocol Protocol this rule will use when forwarding traffic to backends. 'HttpOnly'
'HttpsOnly'
'MatchRequest'
httpsRedirect 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. 'Disabled'
'Enabled'
linkToDefaultDomain whether this route will be linked to the default endpoint domain. 'Disabled'
'Enabled'
originGroup A reference to the origin group. ResourceReference
originPath A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath. string
patternsToMatch The route patterns of the rule. string[]
queryStringCachingBehavior 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. 'IgnoreQueryString'
'NotSet'
'UseQueryString'
ruleSets rule sets referenced by this endpoint. ResourceReference[]
supportedProtocols List of supported protocols for this route. String array containing any of:
'Http'
'Https'

CompressionSettings

Name Description Value
contentTypesToCompress List of content types on which compression applies. The value should be a valid MIME type. string[]
isCompressionEnabled 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 AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. bool

ResourceReference

Name Description Value
id Resource ID. string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
FrontDoor CDN with WAF, Domains and Logs to EventHub

Deploy to Azure
This template creates a new Azure FrontDoor cdn profile. Create WAF with custom and managed rules, cdn routes, origin and groups with their association with WAF and routes, configures custom domains, create event hub and diagnostic settings for sending CDN access logs using event hub.
Front Door Premium with App Service origin and Private Link

Deploy to Azure
This template creates a Front Door Premium and an App Service, and uses a private endpoint for Front Door to send traffic to the application.
Front Door Premium with blob origin and Private Link

Deploy to Azure
This template creates a Front Door Premium and an Azure Storage blob container, and uses a private endpoint for Front Door to send traffic to the storage account.
Front Door Premium with VM and Private Link service

Deploy to Azure
This template creates a Front Door Premium and a virtual machine configured as a web server. Front Door uses a private endpoint with Private Link service to send traffic to the VM.
Front Door Premium with WAF and Microsoft-managed rule sets

Deploy to Azure
This template creates a Front Door Premium including a web application firewall with the Microsoft-managed default and bot protection rule sets.
Front Door Standard/Premium

Deploy to Azure
This template creates a Front Door Standard/Premium.
Front Door Standard/Premium with API Management origin

Deploy to Azure
This template creates a Front Door Premium and an API Management instance, and uses an NSG and global API Management policy to validate that traffic has come through the Front Door origin.
Front Door Standard/Premium with App Service origin

Deploy to Azure
This template creates a Front Door Standard/Premium, an App Service, and configures the App Service to validate that traffic has come through the Front Door origin.
Front Door Standard/Premium with Application Gateway origin

Deploy to Azure
This template creates a Front Door Standard/Premium and an Application Gateway instance, and uses an NSG and WAF policy to validate that traffic has come through the Front Door origin.
Front Door with Container Instances and Application Gateway

Deploy to Azure
This template creates a Front Door Standard/Premium with a container group and Application Gateway.
Front Door Standard/Premium with Azure Container Instances

Deploy to Azure
This template creates a Front Door Standard/Premium with a container group.
Front Door Standard/Premium with custom domain

Deploy to Azure
This template creates a Front Door Standard/Premium including a custom domain and Microsoft-managed certificate.
Front Door Standard/Premium with Azure DNS and custom domain

Deploy to Azure
This template creates a Front Door Standard/Premium including a custom domain on Azure DNS and Microsoft-managed certificate.
Front Door Standard/Premium with domain and certificate

Deploy to Azure
This template creates a Front Door Standard/Premium including a custom domain and customer-managed certificate.
Front Door Standard/Premium with Azure Functions origin

Deploy to Azure
This template creates a Front Door Standard/Premium, an Azure Functions app, and configures the function app to validate that traffic has come through the Front Door origin.
Front Door Standard/Premium with geo-filtering

Deploy to Azure
This template creates a Front Door Standard/Premium including a web application firewall with a geo-filtering rule.
Front Door Standard/Premium with rate limit

Deploy to Azure
This template creates a Front Door Standard/Premium including a web application firewall with a rate limit rule.
Front Door Standard/Premium with rule set

Deploy to Azure
This template creates a Front Door Standard/Premium including a rule set.
Front Door Standard/Premium with static website origin

Deploy to Azure
This template creates a Front Door Standard/Premium and an Azure Storage static website, and configured Front Door to send traffic to the static website.
Front Door Standard/Premium with WAF and custom rule

Deploy to Azure
This template creates a Front Door Standard/Premium including a web application firewall with a custom rule.
Function App secured by Azure Frontdoor

Deploy to Azure
This template allows you to deploy an azure premium function protected and published by Azure Frontdoor premium. The conenction between Azure Frontdoor and Azure Functions is protected by Azure Private Link.
Highly Available Multi-region Web App

Deploy to Azure
This template allows you to create a secure, highly available, multi-region end to end solution with two web apps in different regions behind Azure Front Door

ARM template resource definition

The profiles/afdEndpoints/routes resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cdn/profiles/afdEndpoints/routes resource, add the following JSON to your template.

{
  "type": "Microsoft.Cdn/profiles/afdEndpoints/routes",
  "apiVersion": "2020-09-01",
  "name": "string",
  "properties": {
    "compressionSettings": {
      "contentTypesToCompress": [ "string" ],
      "isCompressionEnabled": "bool"
    },
    "customDomains": [
      {
        "id": "string"
      }
    ],
    "enabledState": "string",
    "forwardingProtocol": "string",
    "httpsRedirect": "string",
    "linkToDefaultDomain": "string",
    "originGroup": {
      "id": "string"
    },
    "originPath": "string",
    "patternsToMatch": [ "string" ],
    "queryStringCachingBehavior": "string",
    "ruleSets": [
      {
        "id": "string"
      }
    ],
    "supportedProtocols": [ "string" ]
  }
}

Property values

profiles/afdEndpoints/routes

Name Description Value
type The resource type 'Microsoft.Cdn/profiles/afdEndpoints/routes'
apiVersion The resource api version '2020-09-01'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)

Character limit: 1-50

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric.

Resource name must be unique across Azure.
properties The JSON object that contains the properties of the Routes to create. RouteProperties

RouteProperties

Name Description Value
compressionSettings compression settings. CompressionSettings
customDomains Domains referenced by this endpoint. ResourceReference[]
enabledState Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' 'Disabled'
'Enabled'
forwardingProtocol Protocol this rule will use when forwarding traffic to backends. 'HttpOnly'
'HttpsOnly'
'MatchRequest'
httpsRedirect 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. 'Disabled'
'Enabled'
linkToDefaultDomain whether this route will be linked to the default endpoint domain. 'Disabled'
'Enabled'
originGroup A reference to the origin group. ResourceReference
originPath A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath. string
patternsToMatch The route patterns of the rule. string[]
queryStringCachingBehavior 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. 'IgnoreQueryString'
'NotSet'
'UseQueryString'
ruleSets rule sets referenced by this endpoint. ResourceReference[]
supportedProtocols List of supported protocols for this route. String array containing any of:
'Http'
'Https'

CompressionSettings

Name Description Value
contentTypesToCompress List of content types on which compression applies. The value should be a valid MIME type. string[]
isCompressionEnabled 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 AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. bool

ResourceReference

Name Description Value
id Resource ID. string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
FrontDoor CDN with WAF, Domains and Logs to EventHub

Deploy to Azure
This template creates a new Azure FrontDoor cdn profile. Create WAF with custom and managed rules, cdn routes, origin and groups with their association with WAF and routes, configures custom domains, create event hub and diagnostic settings for sending CDN access logs using event hub.
Front Door Premium with App Service origin and Private Link

Deploy to Azure
This template creates a Front Door Premium and an App Service, and uses a private endpoint for Front Door to send traffic to the application.
Front Door Premium with blob origin and Private Link

Deploy to Azure
This template creates a Front Door Premium and an Azure Storage blob container, and uses a private endpoint for Front Door to send traffic to the storage account.
Front Door Premium with VM and Private Link service

Deploy to Azure
This template creates a Front Door Premium and a virtual machine configured as a web server. Front Door uses a private endpoint with Private Link service to send traffic to the VM.
Front Door Premium with WAF and Microsoft-managed rule sets

Deploy to Azure
This template creates a Front Door Premium including a web application firewall with the Microsoft-managed default and bot protection rule sets.
Front Door Standard/Premium

Deploy to Azure
This template creates a Front Door Standard/Premium.
Front Door Standard/Premium with API Management origin

Deploy to Azure
This template creates a Front Door Premium and an API Management instance, and uses an NSG and global API Management policy to validate that traffic has come through the Front Door origin.
Front Door Standard/Premium with App Service origin

Deploy to Azure
This template creates a Front Door Standard/Premium, an App Service, and configures the App Service to validate that traffic has come through the Front Door origin.
Front Door Standard/Premium with Application Gateway origin

Deploy to Azure
This template creates a Front Door Standard/Premium and an Application Gateway instance, and uses an NSG and WAF policy to validate that traffic has come through the Front Door origin.
Front Door with Container Instances and Application Gateway

Deploy to Azure
This template creates a Front Door Standard/Premium with a container group and Application Gateway.
Front Door Standard/Premium with Azure Container Instances

Deploy to Azure
This template creates a Front Door Standard/Premium with a container group.
Front Door Standard/Premium with custom domain

Deploy to Azure
This template creates a Front Door Standard/Premium including a custom domain and Microsoft-managed certificate.
Front Door Standard/Premium with Azure DNS and custom domain

Deploy to Azure
This template creates a Front Door Standard/Premium including a custom domain on Azure DNS and Microsoft-managed certificate.
Front Door Standard/Premium with domain and certificate

Deploy to Azure
This template creates a Front Door Standard/Premium including a custom domain and customer-managed certificate.
Front Door Standard/Premium with Azure Functions origin

Deploy to Azure
This template creates a Front Door Standard/Premium, an Azure Functions app, and configures the function app to validate that traffic has come through the Front Door origin.
Front Door Standard/Premium with geo-filtering

Deploy to Azure
This template creates a Front Door Standard/Premium including a web application firewall with a geo-filtering rule.
Front Door Standard/Premium with rate limit

Deploy to Azure
This template creates a Front Door Standard/Premium including a web application firewall with a rate limit rule.
Front Door Standard/Premium with rule set

Deploy to Azure
This template creates a Front Door Standard/Premium including a rule set.
Front Door Standard/Premium with static website origin

Deploy to Azure
This template creates a Front Door Standard/Premium and an Azure Storage static website, and configured Front Door to send traffic to the static website.
Front Door Standard/Premium with WAF and custom rule

Deploy to Azure
This template creates a Front Door Standard/Premium including a web application firewall with a custom rule.
Function App secured by Azure Frontdoor

Deploy to Azure
This template allows you to deploy an azure premium function protected and published by Azure Frontdoor premium. The conenction between Azure Frontdoor and Azure Functions is protected by Azure Private Link.
Highly Available Multi-region Web App

Deploy to Azure
This template allows you to create a secure, highly available, multi-region end to end solution with two web apps in different regions behind Azure Front Door

Terraform (AzAPI provider) resource definition

The profiles/afdEndpoints/routes resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cdn/profiles/afdEndpoints/routes resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Cdn/profiles/afdEndpoints/routes@2020-09-01"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      compressionSettings = {
        contentTypesToCompress = [
          "string"
        ]
        isCompressionEnabled = bool
      }
      customDomains = [
        {
          id = "string"
        }
      ]
      enabledState = "string"
      forwardingProtocol = "string"
      httpsRedirect = "string"
      linkToDefaultDomain = "string"
      originGroup = {
        id = "string"
      }
      originPath = "string"
      patternsToMatch = [
        "string"
      ]
      queryStringCachingBehavior = "string"
      ruleSets = [
        {
          id = "string"
        }
      ]
      supportedProtocols = [
        "string"
      ]
    }
  })
}

Property values

profiles/afdEndpoints/routes

Name Description Value
type The resource type "Microsoft.Cdn/profiles/afdEndpoints/routes@2020-09-01"
name The resource name string (required)

Character limit: 1-50

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric.

Resource name must be unique across Azure.
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: afdEndpoints
properties The JSON object that contains the properties of the Routes to create. RouteProperties

RouteProperties

Name Description Value
compressionSettings compression settings. CompressionSettings
customDomains Domains referenced by this endpoint. ResourceReference[]
enabledState Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' "Disabled"
"Enabled"
forwardingProtocol Protocol this rule will use when forwarding traffic to backends. "HttpOnly"
"HttpsOnly"
"MatchRequest"
httpsRedirect 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. "Disabled"
"Enabled"
linkToDefaultDomain whether this route will be linked to the default endpoint domain. "Disabled"
"Enabled"
originGroup A reference to the origin group. ResourceReference
originPath A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath. string
patternsToMatch The route patterns of the rule. string[]
queryStringCachingBehavior 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. "IgnoreQueryString"
"NotSet"
"UseQueryString"
ruleSets rule sets referenced by this endpoint. ResourceReference[]
supportedProtocols List of supported protocols for this route. String array containing any of:
"Http"
"Https"

CompressionSettings

Name Description Value
contentTypesToCompress List of content types on which compression applies. The value should be a valid MIME type. string[]
isCompressionEnabled 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 AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. bool

ResourceReference

Name Description Value
id Resource ID. string