Microsoft.Cdn profiles/endpoints 2017-10-12

The profiles/endpoints resource type can be deployed to: Resource groups.

To learn about resource group deployments, see Bicep or ARM template.

Template format

To create a Microsoft.Cdn/profiles/endpoints resource, add the following Bicep or JSON to your template.

resource symbolicname 'Microsoft.Cdn/profiles/endpoints@2017-10-12' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    contentTypesToCompress: [ 'string' ]
    deliveryPolicy: {
      description: 'string'
      rules: [
        {
          actions: [
            {
              name: 'string'
              // For remaining properties, see DeliveryRuleAction objects
            }
          ]
          conditions: [
            {
              name: 'string'
              // For remaining properties, see DeliveryRuleCondition objects
            }
          ]
          order: int
        }
      ]
    }
    geoFilters: [
      {
        action: 'string'
        countryCodes: [ 'string' ]
        relativePath: 'string'
      }
    ]
    isCompressionEnabled: bool
    isHttpAllowed: bool
    isHttpsAllowed: bool
    optimizationType: 'string'
    originHostHeader: 'string'
    originPath: 'string'
    origins: [
      {
        name: 'string'
        properties: {
          hostName: 'string'
          httpPort: int
          httpsPort: int
        }
      }
    ]
    probePath: 'string'
    queryStringCachingBehavior: 'string'
  }
}

DeliveryRuleAction objects

Set the name property to specify the type of object.

For CacheExpiration, use:

  name: 'CacheExpiration'
  parameters: {
    @odata.type: 'Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters'
    cacheBehavior: 'string'
    cacheDuration: 'string'
    cacheType: 'All'
  }

DeliveryRuleCondition objects

Set the name property to specify the type of object.

For UrlFileExtension, use:

  name: 'UrlFileExtension'
  parameters: {
    @odata.type: 'Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionConditionParameters'
    extensions: [ 'string' ]
  }

For UrlPath, use:

  name: 'UrlPath'
  parameters: {
    @odata.type: 'Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathConditionParameters'
    matchType: 'string'
    path: 'string'
  }

Property values

profiles/endpoints

Name Description Value
type The resource type

For Bicep, set this value in the resource declaration.
'Microsoft.Cdn/profiles/endpoints'
apiVersion The resource api version

For Bicep, set this value in the resource declaration.
'2017-10-12'
name The resource name

See how to set names and types for child resources in Bicep or JSON ARM templates.
string (required)
location Resource location. string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties The JSON object that contains the properties required to create an endpoint. EndpointProperties

EndpointProperties

Name Description Value
contentTypesToCompress List of content types on which compression applies. The value should be a valid MIME type. string[]
deliveryPolicy A policy that specifies the delivery rules to be used for an endpoint. EndpointPropertiesUpdateParametersDeliveryPolicy
geoFilters List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/ GeoFilter[]
isCompressionEnabled Indicates whether content compression is enabled on CDN. 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 CDN when requested content is smaller than 1 byte or larger than 1 MB. bool
isHttpAllowed Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed. bool
isHttpsAllowed Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed. bool
optimizationType Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization. 'DynamicSiteAcceleration'
'GeneralMediaStreaming'
'GeneralWebDelivery'
'LargeFileDownload'
'VideoOnDemandMediaStreaming'
originHostHeader The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. string
originPath A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath. string
origins The source of the content being delivered via CDN. DeepCreatedOrigin[] (required)
probePath Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. 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. 'BypassCaching'
'IgnoreQueryString'
'NotSet'
'UseQueryString'

EndpointPropertiesUpdateParametersDeliveryPolicy

Name Description Value
description User-friendly description of the policy. string
rules A list of the delivery rules. DeliveryRule[] (required)

DeliveryRule

Name Description Value
actions A list of actions that are executed when all the conditions of a rule are satisfied. DeliveryRuleAction[] (required)
conditions A list of conditions that must be matched for the actions to be executed DeliveryRuleCondition[]
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. int (required)

DeliveryRuleAction

Name Description Value
name Set the object type CacheExpiration

DeliveryRuleCacheExpirationAction

Name Description Value
name The name of the action for the delivery rule. 'CacheExpiration'
parameters Defines the parameters for the cache expiration action. CacheExpirationActionParameters (required)

CacheExpirationActionParameters

Name Description Value
@odata.type 'Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters'
cacheBehavior Caching behavior for the requests that include query strings. 'BypassCache'
'Override'
'SetIfMissing'
cacheDuration The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss string
cacheType The level at which the content needs to be cached. 'All'

DeliveryRuleCondition

Name Description Value
name Set the object type UrlFileExtension
UrlPath

DeliveryRuleUrlFileExtensionCondition

Name Description Value
name The name of the condition for the delivery rule. 'UrlFileExtension'
parameters Defines the parameters for the URL file extension condition. UrlFileExtensionConditionParameters (required)

UrlFileExtensionConditionParameters

Name Description Value
@odata.type 'Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionConditionParameters'
extensions A list of extensions for the condition of the delivery rule. string[] (required)

DeliveryRuleUrlPathCondition

Name Description Value
name The name of the condition for the delivery rule. 'UrlPath'
parameters Defines the parameters for the URL path condition. UrlPathConditionParameters (required)

UrlPathConditionParameters

Name Description Value
@odata.type 'Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathConditionParameters'
matchType The match type for the condition of the delivery rule 'Literal'
'Wildcard'
path A URL path for the condition of the delivery rule string (required)

GeoFilter

Name Description Value
action Action of the geo filter, i.e. allow or block access. 'Allow'
'Block'
countryCodes Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US. string[] (required)
relativePath Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.) string (required)

DeepCreatedOrigin

Name Description Value
name Origin name string (required)
properties Properties of the origin created on the CDN endpoint. DeepCreatedOriginProperties

DeepCreatedOriginProperties

Name Description Value
hostName The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. string (required)
httpPort The value of the HTTP port. Must be between 1 and 65535 int
httpsPort The value of the HTTPS port. Must be between 1 and 65535 int

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
eShop Website with ILB ASE

Deploy to Azure
An App Service Environment is a Premium service plan option of Azure App Service that provides a fully isolated and dedicated environment for securely running Azure App Service apps at high scale, including Web Apps, Mobile Apps, and API Apps.
Create a CDN Profile and a CDN Endpoint with parameters

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with parameterized configuration settings
Create a CDN Profile and a CDN Endpoint with custom origin

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN.
Create a CDN Endpoint with cache override through Rules

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN. This template also configures rules engine with a path based rule and overrides cache expiration.
Create a CDN Endpoint with response header addition

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN. This template also configures rules engine with Remote address based match and adds corresponding response headers.
Create a CDN Endpoint with rewrite and redirect rules

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN. This template also configures rules engine device based path rewrite and request scheme based redirect.
Create a CDN Endpoint with UrlSigning action

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN. This template also configures rules engine UrlSigning action for default and override parameters.
Create a CDN Profile, Endpoint and a Storage Account

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with origin as a Storage Account. Note that user needs to create a public container in the Storage Account in order for CDN Endpoint to serve content from the Storage Account.
Apply a WAF Policy with custom rules to a CDN Endpoint

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN. This template also links a CDN WAF Policy to the Endpoint which applies example custom rules for blocking and redirecting requests based on geo-location, ip address, and SESSIONID header.
Apply a WAF Policy for the OWASP top 10 to a CDN Endpoint

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN. This template also links a CDN WAF Policy to the Endpoint which applies the managed rule set DefaultRuleSet_1.0.
Apply a WAF Policy with rate limit rules to a CDN Endpoint

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a user specified origin and all of our most commonly used settings on CDN. This template also links a CDN WAF Policy to the Endpoint which applies example rate limit rules for blocking and redirecting rate-limited requests.
Create a CDN Profile, a CDN Endpoint and a Web App

Deploy to Azure
This template creates a CDN Profile and a CDN Endpoint with a Web App as the origin