Microsoft.Cdn profiles/endpoints 2023-05-01
Bicep resource definition
The profiles/endpoints resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Cdn/profiles/endpoints resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Cdn/profiles/endpoints@2023-05-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
parent: resourceSymbolicName
properties: {
contentTypesToCompress: [
'string'
]
defaultOriginGroup: {
id: 'string'
}
deliveryPolicy: {
description: 'string'
rules: [
{
actions: [
{
name: 'string'
// For remaining properties, see DeliveryRuleActionAutoGenerated objects
}
]
conditions: [
{
name: 'string'
// For remaining properties, see DeliveryRuleCondition objects
}
]
name: 'string'
order: int
}
]
}
geoFilters: [
{
action: 'string'
countryCodes: [
'string'
]
relativePath: 'string'
}
]
isCompressionEnabled: bool
isHttpAllowed: bool
isHttpsAllowed: bool
optimizationType: 'string'
originGroups: [
{
name: 'string'
properties: {
healthProbeSettings: {
probeIntervalInSeconds: int
probePath: 'string'
probeProtocol: 'string'
probeRequestType: 'string'
}
origins: [
{
id: 'string'
}
]
responseBasedOriginErrorDetectionSettings: {
httpErrorRanges: [
{
begin: int
end: int
}
]
responseBasedDetectedErrorTypes: 'string'
responseBasedFailoverThresholdPercentage: int
}
trafficRestorationTimeToHealedOrNewEndpointsInMinutes: int
}
}
]
originHostHeader: 'string'
originPath: 'string'
origins: [
{
name: 'string'
properties: {
enabled: bool
hostName: 'string'
httpPort: int
httpsPort: int
originHostHeader: 'string'
priority: int
privateLinkAlias: 'string'
privateLinkApprovalMessage: 'string'
privateLinkLocation: 'string'
privateLinkResourceId: 'string'
weight: int
}
}
]
probePath: 'string'
queryStringCachingBehavior: 'string'
urlSigningKeys: [
{
keyId: 'string'
keySourceParameters: {
resourceGroupName: 'string'
secretName: 'string'
secretVersion: 'string'
subscriptionId: 'string'
typeName: 'KeyVaultSigningKeyParameters'
vaultName: 'string'
}
}
]
webApplicationFirewallPolicyLink: {
id: 'string'
}
}
}
DeliveryRuleActionAutoGenerated objects
Set the name property to specify the type of object.
For CacheExpiration, use:
name: 'CacheExpiration'
parameters: {
cacheBehavior: 'string'
cacheDuration: 'string'
cacheType: 'All'
typeName: 'DeliveryRuleCacheExpirationActionParameters'
}
For CacheKeyQueryString, use:
name: 'CacheKeyQueryString'
parameters: {
queryParameters: 'string'
queryStringBehavior: 'string'
typeName: 'DeliveryRuleCacheKeyQueryStringBehaviorActionParameters'
}
For ModifyRequestHeader, use:
name: 'ModifyRequestHeader'
parameters: {
headerAction: 'string'
headerName: 'string'
typeName: 'DeliveryRuleHeaderActionParameters'
value: 'string'
}
For ModifyResponseHeader, use:
name: 'ModifyResponseHeader'
parameters: {
headerAction: 'string'
headerName: 'string'
typeName: 'DeliveryRuleHeaderActionParameters'
value: 'string'
}
For OriginGroupOverride, use:
name: 'OriginGroupOverride'
parameters: {
originGroup: {
id: 'string'
}
typeName: 'DeliveryRuleOriginGroupOverrideActionParameters'
}
For RouteConfigurationOverride, use:
name: 'RouteConfigurationOverride'
parameters: {
cacheConfiguration: {
cacheBehavior: 'string'
cacheDuration: 'string'
isCompressionEnabled: 'string'
queryParameters: 'string'
queryStringCachingBehavior: 'string'
}
originGroupOverride: {
forwardingProtocol: 'string'
originGroup: {
id: 'string'
}
}
typeName: 'DeliveryRuleRouteConfigurationOverrideActionParameters'
}
For UrlRedirect, use:
name: 'UrlRedirect'
parameters: {
customFragment: 'string'
customHostname: 'string'
customPath: 'string'
customQueryString: 'string'
destinationProtocol: 'string'
redirectType: 'string'
typeName: 'DeliveryRuleUrlRedirectActionParameters'
}
For UrlRewrite, use:
name: 'UrlRewrite'
parameters: {
destination: 'string'
preserveUnmatchedPath: bool
sourcePattern: 'string'
typeName: 'DeliveryRuleUrlRewriteActionParameters'
}
For UrlSigning, use:
name: 'UrlSigning'
parameters: {
algorithm: 'SHA256'
parameterNameOverride: [
{
paramIndicator: 'string'
paramName: 'string'
}
]
typeName: 'DeliveryRuleUrlSigningActionParameters'
}
DeliveryRuleCondition objects
Set the name property to specify the type of object.
For ClientPort, use:
name: 'ClientPort'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleClientPortConditionParameters'
}
For Cookies, use:
name: 'Cookies'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
selector: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleCookiesConditionParameters'
}
For HostName, use:
name: 'HostName'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleHostNameConditionParameters'
}
For HttpVersion, use:
name: 'HttpVersion'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'Equal'
transforms: [
'string'
]
typeName: 'DeliveryRuleHttpVersionConditionParameters'
}
For IsDevice, use:
name: 'IsDevice'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'Equal'
transforms: [
'string'
]
typeName: 'DeliveryRuleIsDeviceConditionParameters'
}
For PostArgs, use:
name: 'PostArgs'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
selector: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRulePostArgsConditionParameters'
}
For QueryString, use:
name: 'QueryString'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleQueryStringConditionParameters'
}
For RemoteAddress, use:
name: 'RemoteAddress'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleRemoteAddressConditionParameters'
}
For RequestBody, use:
name: 'RequestBody'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleRequestBodyConditionParameters'
}
For RequestHeader, use:
name: 'RequestHeader'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
selector: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleRequestHeaderConditionParameters'
}
For RequestMethod, use:
name: 'RequestMethod'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'Equal'
transforms: [
'string'
]
typeName: 'DeliveryRuleRequestMethodConditionParameters'
}
For RequestScheme, use:
name: 'RequestScheme'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'Equal'
transforms: [
'string'
]
typeName: 'DeliveryRuleRequestSchemeConditionParameters'
}
For RequestUri, use:
name: 'RequestUri'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleRequestUriConditionParameters'
}
For ServerPort, use:
name: 'ServerPort'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleServerPortConditionParameters'
}
For SocketAddr, use:
name: 'SocketAddr'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleSocketAddrConditionParameters'
}
For SslProtocol, use:
name: 'SslProtocol'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'Equal'
transforms: [
'string'
]
typeName: 'DeliveryRuleSslProtocolConditionParameters'
}
For UrlFileExtension, use:
name: 'UrlFileExtension'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleUrlFileExtensionMatchConditionParameters'
}
For UrlFileName, use:
name: 'UrlFileName'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleUrlFilenameConditionParameters'
}
For UrlPath, use:
name: 'UrlPath'
parameters: {
matchValues: [
'string'
]
negateCondition: bool
operator: 'string'
transforms: [
'string'
]
typeName: 'DeliveryRuleUrlPathMatchConditionParameters'
}
Property values
profiles/endpoints
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. |
location | Resource location. | string (required) |
tags | Resource tags. | Dictionary of tag names and values. See Tags in templates |
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: profiles |
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[] |
defaultOriginGroup | A reference to the origin group. | ResourceReference |
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 for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization. | 'DynamicSiteAcceleration' 'GeneralMediaStreaming' 'GeneralWebDelivery' 'LargeFileDownload' 'VideoOnDemandMediaStreaming' |
originGroups | The origin groups comprising of origins that are used for load balancing the traffic based on availability. | DeepCreatedOriginGroup[] |
originHostHeader | The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.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. This property is only relevant when using a single origin. | 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' |
urlSigningKeys | List of keys used to validate the signed URL hashes. | UrlSigningKey[] |
webApplicationFirewallPolicyLink | Defines the Web Application Firewall policy for the endpoint (if applicable) | EndpointPropertiesUpdateParametersWebApplicationFire... |
ResourceReference
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
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. | DeliveryRuleActionAutoGenerated[] (required) |
conditions | A list of conditions that must be matched for the actions to be executed | DeliveryRuleCondition[] |
name | Name of the rule | string |
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) |
DeliveryRuleActionAutoGenerated
Name | Description | Value |
---|---|---|
name | Set the object type | CacheExpiration CacheKeyQueryString ModifyRequestHeader ModifyResponseHeader OriginGroupOverride RouteConfigurationOverride UrlRedirect UrlRewrite UrlSigning (required) |
DeliveryRuleCacheExpirationAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'CacheExpiration' (required) |
parameters | Defines the parameters for the action. | CacheExpirationActionParameters (required) |
CacheExpirationActionParameters
Name | Description | Value |
---|---|---|
cacheBehavior | Caching behavior for the requests | 'BypassCache' 'Override' 'SetIfMissing' (required) |
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' (required) |
typeName | 'DeliveryRuleCacheExpirationActionParameters' (required) |
DeliveryRuleCacheKeyQueryStringAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'CacheKeyQueryString' (required) |
parameters | Defines the parameters for the action. | CacheKeyQueryStringActionParameters (required) |
CacheKeyQueryStringActionParameters
Name | Description | Value |
---|---|---|
queryParameters | query parameters to include or exclude (comma separated). | string |
queryStringBehavior | Caching behavior for the requests | 'Exclude' 'ExcludeAll' 'Include' 'IncludeAll' (required) |
typeName | 'DeliveryRuleCacheKeyQueryStringBehaviorActionParameters' (required) |
DeliveryRuleRequestHeaderAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'ModifyRequestHeader' (required) |
parameters | Defines the parameters for the action. | HeaderActionParameters (required) |
HeaderActionParameters
Name | Description | Value |
---|---|---|
headerAction | Action to perform | 'Append' 'Delete' 'Overwrite' (required) |
headerName | Name of the header to modify | string (required) |
typeName | 'DeliveryRuleHeaderActionParameters' (required) | |
value | Value for the specified action | string |
DeliveryRuleResponseHeaderAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'ModifyResponseHeader' (required) |
parameters | Defines the parameters for the action. | HeaderActionParameters (required) |
OriginGroupOverrideAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'OriginGroupOverride' (required) |
parameters | Defines the parameters for the action. | OriginGroupOverrideActionParameters (required) |
OriginGroupOverrideActionParameters
Name | Description | Value |
---|---|---|
originGroup | defines the OriginGroup that would override the DefaultOriginGroup. | ResourceReference (required) |
typeName | 'DeliveryRuleOriginGroupOverrideActionParameters' (required) |
DeliveryRuleRouteConfigurationOverrideAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'RouteConfigurationOverride' (required) |
parameters | Defines the parameters for the action. | RouteConfigurationOverrideActionParameters (required) |
RouteConfigurationOverrideActionParameters
Name | Description | Value |
---|---|---|
cacheConfiguration | The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object. | CacheConfiguration |
originGroupOverride | A reference to the origin group override configuration. Leave empty to use the default origin group on route. | OriginGroupOverride |
typeName | 'DeliveryRuleRouteConfigurationOverrideActionParameters' (required) |
CacheConfiguration
Name | Description | Value |
---|---|---|
cacheBehavior | Caching behavior for the requests | 'HonorOrigin' 'OverrideAlways' 'OverrideIfOriginMissing' |
cacheDuration | The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss | string |
isCompressionEnabled | Indicates whether content compression is enabled. 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. | 'Disabled' 'Enabled' |
queryParameters | query parameters to include or exclude (comma separated). | string |
queryStringCachingBehavior | 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. | 'IgnoreQueryString' 'IgnoreSpecifiedQueryStrings' 'IncludeSpecifiedQueryStrings' 'UseQueryString' |
OriginGroupOverride
Name | Description | Value |
---|---|---|
forwardingProtocol | Protocol this rule will use when forwarding traffic to backends. | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
originGroup | defines the OriginGroup that would override the DefaultOriginGroup on route. | ResourceReference |
UrlRedirectAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'UrlRedirect' (required) |
parameters | Defines the parameters for the action. | UrlRedirectActionParameters (required) |
UrlRedirectActionParameters
Name | Description | Value |
---|---|---|
customFragment | Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #. | string |
customHostname | Host to redirect. Leave empty to use the incoming host as the destination host. | string |
customPath | The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path. | string |
customQueryString | The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in {key}={value} format. ? and & will be added automatically so do not include them. | string |
destinationProtocol | Protocol to use for the redirect. The default value is MatchRequest | 'Http' 'Https' 'MatchRequest' |
redirectType | The redirect type the rule will use when redirecting traffic. | 'Found' 'Moved' 'PermanentRedirect' 'TemporaryRedirect' (required) |
typeName | 'DeliveryRuleUrlRedirectActionParameters' (required) |
UrlRewriteAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'UrlRewrite' (required) |
parameters | Defines the parameters for the action. | UrlRewriteActionParameters (required) |
UrlRewriteActionParameters
Name | Description | Value |
---|---|---|
destination | Define the relative URL to which the above requests will be rewritten by. | string (required) |
preserveUnmatchedPath | Whether to preserve unmatched path. Default value is true. | bool |
sourcePattern | define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched. | string (required) |
typeName | 'DeliveryRuleUrlRewriteActionParameters' (required) |
UrlSigningAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'UrlSigning' (required) |
parameters | Defines the parameters for the action. | UrlSigningActionParameters (required) |
UrlSigningActionParameters
Name | Description | Value |
---|---|---|
algorithm | Algorithm to use for URL signing | 'SHA256' |
parameterNameOverride | Defines which query string parameters in the url to be considered for expires, key id etc. | UrlSigningParamIdentifier[] |
typeName | 'DeliveryRuleUrlSigningActionParameters' (required) |
UrlSigningParamIdentifier
Name | Description | Value |
---|---|---|
paramIndicator | Indicates the purpose of the parameter | 'Expires' 'KeyId' 'Signature' (required) |
paramName | Parameter name | string (required) |
DeliveryRuleCondition
Name | Description | Value |
---|---|---|
name | Set the object type | ClientPort Cookies HostName HttpVersion IsDevice PostArgs QueryString RemoteAddress RequestBody RequestHeader RequestMethod RequestScheme RequestUri ServerPort SocketAddr SslProtocol UrlFileExtension UrlFileName UrlPath (required) |
DeliveryRuleClientPortCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'ClientPort' (required) |
parameters | Defines the parameters for the condition. | ClientPortMatchConditionParameters (required) |
ClientPortMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleClientPortConditionParameters' (required) |
DeliveryRuleCookiesCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'Cookies' (required) |
parameters | Defines the parameters for the condition. | CookiesMatchConditionParameters (required) |
CookiesMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
selector | Name of Cookies to be matched | string |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleCookiesConditionParameters' (required) |
DeliveryRuleHostNameCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'HostName' (required) |
parameters | Defines the parameters for the condition. | HostNameMatchConditionParameters (required) |
HostNameMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleHostNameConditionParameters' (required) |
DeliveryRuleHttpVersionCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'HttpVersion' (required) |
parameters | Defines the parameters for the condition. | HttpVersionMatchConditionParameters (required) |
HttpVersionMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleHttpVersionConditionParameters' (required) |
DeliveryRuleIsDeviceCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'IsDevice' (required) |
parameters | Defines the parameters for the condition. | IsDeviceMatchConditionParameters (required) |
IsDeviceMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'Desktop' 'Mobile' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleIsDeviceConditionParameters' (required) |
DeliveryRulePostArgsCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'PostArgs' (required) |
parameters | Defines the parameters for the condition. | PostArgsMatchConditionParameters (required) |
PostArgsMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
selector | Name of PostArg to be matched | string |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRulePostArgsConditionParameters' (required) |
DeliveryRuleQueryStringCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'QueryString' (required) |
parameters | Defines the parameters for the condition. | QueryStringMatchConditionParameters (required) |
QueryStringMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleQueryStringConditionParameters' (required) |
DeliveryRuleRemoteAddressCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RemoteAddress' (required) |
parameters | Defines the parameters for the condition. | RemoteAddressMatchConditionParameters (required) |
RemoteAddressMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match. | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'GeoMatch' 'IPMatch' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRemoteAddressConditionParameters' (required) |
DeliveryRuleRequestBodyCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestBody' (required) |
parameters | Defines the parameters for the condition. | RequestBodyMatchConditionParameters (required) |
RequestBodyMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestBodyConditionParameters' (required) |
DeliveryRuleRequestHeaderCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestHeader' (required) |
parameters | Defines the parameters for the condition. | RequestHeaderMatchConditionParameters (required) |
RequestHeaderMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
selector | Name of Header to be matched | string |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestHeaderConditionParameters' (required) |
DeliveryRuleRequestMethodCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestMethod' (required) |
parameters | Defines the parameters for the condition. | RequestMethodMatchConditionParameters (required) |
RequestMethodMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'DELETE' 'GET' 'HEAD' 'OPTIONS' 'POST' 'PUT' 'TRACE' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestMethodConditionParameters' (required) |
DeliveryRuleRequestSchemeCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestScheme' (required) |
parameters | Defines the parameters for the condition. | RequestSchemeMatchConditionParameters (required) |
RequestSchemeMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'HTTP' 'HTTPS' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestSchemeConditionParameters' (required) |
DeliveryRuleRequestUriCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestUri' (required) |
parameters | Defines the parameters for the condition. | RequestUriMatchConditionParameters (required) |
RequestUriMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestUriConditionParameters' (required) |
DeliveryRuleServerPortCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'ServerPort' (required) |
parameters | Defines the parameters for the condition. | ServerPortMatchConditionParameters (required) |
ServerPortMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleServerPortConditionParameters' (required) |
DeliveryRuleSocketAddrCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'SocketAddr' (required) |
parameters | Defines the parameters for the condition. | SocketAddrMatchConditionParameters (required) |
SocketAddrMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'IPMatch' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleSocketAddrConditionParameters' (required) |
DeliveryRuleSslProtocolCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'SslProtocol' (required) |
parameters | Defines the parameters for the condition. | SslProtocolMatchConditionParameters (required) |
SslProtocolMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'TLSv1' 'TLSv1.1' 'TLSv1.2' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleSslProtocolConditionParameters' (required) |
DeliveryRuleUrlFileExtensionCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'UrlFileExtension' (required) |
parameters | Defines the parameters for the condition. | UrlFileExtensionMatchConditionParameters (required) |
UrlFileExtensionMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleUrlFileExtensionMatchConditionParameters' (required) |
DeliveryRuleUrlFileNameCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'UrlFileName' (required) |
parameters | Defines the parameters for the condition. | UrlFileNameMatchConditionParameters (required) |
UrlFileNameMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleUrlFilenameConditionParameters' (required) |
DeliveryRuleUrlPathCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'UrlPath' (required) |
parameters | Defines the parameters for the condition. | UrlPathMatchConditionParameters (required) |
UrlPathMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' 'Wildcard' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleUrlPathMatchConditionParameters' (required) |
GeoFilter
Name | Description | Value |
---|---|---|
action | Action of the geo filter, i.e. allow or block access. | 'Allow' 'Block' (required) |
countryCodes | Two letter country or region codes defining user country or region 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) |
DeepCreatedOriginGroup
Name | Description | Value |
---|---|---|
name | Origin group name which must be unique within the endpoint. | string (required) |
properties | Properties of the origin group created on the CDN endpoint. | DeepCreatedOriginGroupProperties |
DeepCreatedOriginGroupProperties
Name | Description | Value |
---|---|---|
healthProbeSettings | Health probe settings to the origin that is used to determine the health of the origin. | HealthProbeParameters |
origins | The source of the content being delivered via CDN within given origin group. | ResourceReference[] (required) |
responseBasedOriginErrorDetectionSettings | The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported. | ResponseBasedOriginErrorDetectionParameters |
trafficRestorationTimeToHealedOrNewEndpointsInMinutes | Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported. | int Constraints: Min value = 0 Max value = 50 |
HealthProbeParameters
Name | Description | Value |
---|---|---|
probeIntervalInSeconds | The number of seconds between health probes.Default is 240sec. | int Constraints: Min value = 1 Max value = 255 |
probePath | The path relative to the origin that is used to determine the health of the origin. | string |
probeProtocol | Protocol to use for health probe. | 'Http' 'Https' 'NotSet' |
probeRequestType | The type of health probe request that is made. | 'GET' 'HEAD' 'NotSet' |
ResponseBasedOriginErrorDetectionParameters
Name | Description | Value |
---|---|---|
httpErrorRanges | The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy. | HttpErrorRangeParameters[] |
responseBasedDetectedErrorTypes | Type of response errors for real user requests for which origin will be deemed unhealthy | 'None' 'TcpAndHttpErrors' 'TcpErrorsOnly' |
responseBasedFailoverThresholdPercentage | The percentage of failed requests in the sample where failover should trigger. | int Constraints: Min value = 0 Max value = 100 |
HttpErrorRangeParameters
Name | Description | Value |
---|---|---|
begin | The inclusive start of the http status code range. | int Constraints: Min value = 100 Max value = 999 |
end | The inclusive end of the http status code range. | int Constraints: Min value = 100 Max value = 999 |
DeepCreatedOrigin
Name | Description | Value |
---|---|---|
name | Origin name which must be unique within the endpoint. | string (required) |
properties | Properties of the origin created on the CDN endpoint. | DeepCreatedOriginProperties |
DeepCreatedOriginProperties
Name | Description | Value |
---|---|---|
enabled | Origin is enabled for load balancing or not. By default, origin is always enabled. | bool |
hostName | The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint. | string (required) |
httpPort | The value of the HTTP port. Must be between 1 and 65535. | int Constraints: Min value = 1 Max value = 65535 |
httpsPort | The value of the HTTPS port. Must be between 1 and 65535. | int Constraints: Min value = 1 Max value = 65535 |
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 |
priority | Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5. | int Constraints: Min value = 1 Max value = 5 |
privateLinkAlias | The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private' | string |
privateLinkApprovalMessage | A custom message to be included in the approval request to connect to the Private Link. | string |
privateLinkLocation | The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated | string |
privateLinkResourceId | The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private' | string |
weight | Weight of the origin in given origin group for load balancing. Must be between 1 and 1000 | int Constraints: Min value = 1 Max value = 1000 |
UrlSigningKey
Name | Description | Value |
---|---|---|
keyId | Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash. | string (required) |
keySourceParameters | Defines the parameters for using customer key vault for Url Signing Key. | KeyVaultSigningKeyParameters (required) |
KeyVaultSigningKeyParameters
Name | Description | Value |
---|---|---|
resourceGroupName | Resource group of the user's Key Vault containing the secret | string (required) |
secretName | The name of secret in Key Vault. | string (required) |
secretVersion | The version(GUID) of secret in Key Vault. | string (required) |
subscriptionId | Subscription Id of the user's Key Vault containing the secret | string (required) |
typeName | 'KeyVaultSigningKeyParameters' (required) | |
vaultName | The name of the user's Key Vault containing the secret | string (required) |
EndpointPropertiesUpdateParametersWebApplicationFire...
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
eShop Website with ILB ASE |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
This template creates a CDN Profile and a CDN Endpoint with a Web App as the origin |
ARM template resource definition
The profiles/endpoints resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Cdn/profiles/endpoints resource, add the following JSON to your template.
{
"type": "Microsoft.Cdn/profiles/endpoints",
"apiVersion": "2023-05-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"contentTypesToCompress": [ "string" ],
"defaultOriginGroup": {
"id": "string"
},
"deliveryPolicy": {
"description": "string",
"rules": [
{
"actions": [
{
"name": "string"
// For remaining properties, see DeliveryRuleActionAutoGenerated objects
}
],
"conditions": [
{
"name": "string"
// For remaining properties, see DeliveryRuleCondition objects
}
],
"name": "string",
"order": "int"
}
]
},
"geoFilters": [
{
"action": "string",
"countryCodes": [ "string" ],
"relativePath": "string"
}
],
"isCompressionEnabled": "bool",
"isHttpAllowed": "bool",
"isHttpsAllowed": "bool",
"optimizationType": "string",
"originGroups": [
{
"name": "string",
"properties": {
"healthProbeSettings": {
"probeIntervalInSeconds": "int",
"probePath": "string",
"probeProtocol": "string",
"probeRequestType": "string"
},
"origins": [
{
"id": "string"
}
],
"responseBasedOriginErrorDetectionSettings": {
"httpErrorRanges": [
{
"begin": "int",
"end": "int"
}
],
"responseBasedDetectedErrorTypes": "string",
"responseBasedFailoverThresholdPercentage": "int"
},
"trafficRestorationTimeToHealedOrNewEndpointsInMinutes": "int"
}
}
],
"originHostHeader": "string",
"originPath": "string",
"origins": [
{
"name": "string",
"properties": {
"enabled": "bool",
"hostName": "string",
"httpPort": "int",
"httpsPort": "int",
"originHostHeader": "string",
"priority": "int",
"privateLinkAlias": "string",
"privateLinkApprovalMessage": "string",
"privateLinkLocation": "string",
"privateLinkResourceId": "string",
"weight": "int"
}
}
],
"probePath": "string",
"queryStringCachingBehavior": "string",
"urlSigningKeys": [
{
"keyId": "string",
"keySourceParameters": {
"resourceGroupName": "string",
"secretName": "string",
"secretVersion": "string",
"subscriptionId": "string",
"typeName": "KeyVaultSigningKeyParameters",
"vaultName": "string"
}
}
],
"webApplicationFirewallPolicyLink": {
"id": "string"
}
}
}
DeliveryRuleActionAutoGenerated objects
Set the name property to specify the type of object.
For CacheExpiration, use:
"name": "CacheExpiration",
"parameters": {
"cacheBehavior": "string",
"cacheDuration": "string",
"cacheType": "All",
"typeName": "DeliveryRuleCacheExpirationActionParameters"
}
For CacheKeyQueryString, use:
"name": "CacheKeyQueryString",
"parameters": {
"queryParameters": "string",
"queryStringBehavior": "string",
"typeName": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters"
}
For ModifyRequestHeader, use:
"name": "ModifyRequestHeader",
"parameters": {
"headerAction": "string",
"headerName": "string",
"typeName": "DeliveryRuleHeaderActionParameters",
"value": "string"
}
For ModifyResponseHeader, use:
"name": "ModifyResponseHeader",
"parameters": {
"headerAction": "string",
"headerName": "string",
"typeName": "DeliveryRuleHeaderActionParameters",
"value": "string"
}
For OriginGroupOverride, use:
"name": "OriginGroupOverride",
"parameters": {
"originGroup": {
"id": "string"
},
"typeName": "DeliveryRuleOriginGroupOverrideActionParameters"
}
For RouteConfigurationOverride, use:
"name": "RouteConfigurationOverride",
"parameters": {
"cacheConfiguration": {
"cacheBehavior": "string",
"cacheDuration": "string",
"isCompressionEnabled": "string",
"queryParameters": "string",
"queryStringCachingBehavior": "string"
},
"originGroupOverride": {
"forwardingProtocol": "string",
"originGroup": {
"id": "string"
}
},
"typeName": "DeliveryRuleRouteConfigurationOverrideActionParameters"
}
For UrlRedirect, use:
"name": "UrlRedirect",
"parameters": {
"customFragment": "string",
"customHostname": "string",
"customPath": "string",
"customQueryString": "string",
"destinationProtocol": "string",
"redirectType": "string",
"typeName": "DeliveryRuleUrlRedirectActionParameters"
}
For UrlRewrite, use:
"name": "UrlRewrite",
"parameters": {
"destination": "string",
"preserveUnmatchedPath": "bool",
"sourcePattern": "string",
"typeName": "DeliveryRuleUrlRewriteActionParameters"
}
For UrlSigning, use:
"name": "UrlSigning",
"parameters": {
"algorithm": "SHA256",
"parameterNameOverride": [
{
"paramIndicator": "string",
"paramName": "string"
}
],
"typeName": "DeliveryRuleUrlSigningActionParameters"
}
DeliveryRuleCondition objects
Set the name property to specify the type of object.
For ClientPort, use:
"name": "ClientPort",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleClientPortConditionParameters"
}
For Cookies, use:
"name": "Cookies",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"selector": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleCookiesConditionParameters"
}
For HostName, use:
"name": "HostName",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleHostNameConditionParameters"
}
For HttpVersion, use:
"name": "HttpVersion",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "Equal",
"transforms": [ "string" ],
"typeName": "DeliveryRuleHttpVersionConditionParameters"
}
For IsDevice, use:
"name": "IsDevice",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "Equal",
"transforms": [ "string" ],
"typeName": "DeliveryRuleIsDeviceConditionParameters"
}
For PostArgs, use:
"name": "PostArgs",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"selector": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRulePostArgsConditionParameters"
}
For QueryString, use:
"name": "QueryString",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleQueryStringConditionParameters"
}
For RemoteAddress, use:
"name": "RemoteAddress",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleRemoteAddressConditionParameters"
}
For RequestBody, use:
"name": "RequestBody",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleRequestBodyConditionParameters"
}
For RequestHeader, use:
"name": "RequestHeader",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"selector": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleRequestHeaderConditionParameters"
}
For RequestMethod, use:
"name": "RequestMethod",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "Equal",
"transforms": [ "string" ],
"typeName": "DeliveryRuleRequestMethodConditionParameters"
}
For RequestScheme, use:
"name": "RequestScheme",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "Equal",
"transforms": [ "string" ],
"typeName": "DeliveryRuleRequestSchemeConditionParameters"
}
For RequestUri, use:
"name": "RequestUri",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleRequestUriConditionParameters"
}
For ServerPort, use:
"name": "ServerPort",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleServerPortConditionParameters"
}
For SocketAddr, use:
"name": "SocketAddr",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleSocketAddrConditionParameters"
}
For SslProtocol, use:
"name": "SslProtocol",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "Equal",
"transforms": [ "string" ],
"typeName": "DeliveryRuleSslProtocolConditionParameters"
}
For UrlFileExtension, use:
"name": "UrlFileExtension",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleUrlFileExtensionMatchConditionParameters"
}
For UrlFileName, use:
"name": "UrlFileName",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleUrlFilenameConditionParameters"
}
For UrlPath, use:
"name": "UrlPath",
"parameters": {
"matchValues": [ "string" ],
"negateCondition": "bool",
"operator": "string",
"transforms": [ "string" ],
"typeName": "DeliveryRuleUrlPathMatchConditionParameters"
}
Property values
profiles/endpoints
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.Cdn/profiles/endpoints' |
apiVersion | The resource api version | '2023-05-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. |
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[] |
defaultOriginGroup | A reference to the origin group. | ResourceReference |
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 for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization. | 'DynamicSiteAcceleration' 'GeneralMediaStreaming' 'GeneralWebDelivery' 'LargeFileDownload' 'VideoOnDemandMediaStreaming' |
originGroups | The origin groups comprising of origins that are used for load balancing the traffic based on availability. | DeepCreatedOriginGroup[] |
originHostHeader | The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.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. This property is only relevant when using a single origin. | 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' |
urlSigningKeys | List of keys used to validate the signed URL hashes. | UrlSigningKey[] |
webApplicationFirewallPolicyLink | Defines the Web Application Firewall policy for the endpoint (if applicable) | EndpointPropertiesUpdateParametersWebApplicationFire... |
ResourceReference
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
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. | DeliveryRuleActionAutoGenerated[] (required) |
conditions | A list of conditions that must be matched for the actions to be executed | DeliveryRuleCondition[] |
name | Name of the rule | string |
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) |
DeliveryRuleActionAutoGenerated
Name | Description | Value |
---|---|---|
name | Set the object type | CacheExpiration CacheKeyQueryString ModifyRequestHeader ModifyResponseHeader OriginGroupOverride RouteConfigurationOverride UrlRedirect UrlRewrite UrlSigning (required) |
DeliveryRuleCacheExpirationAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'CacheExpiration' (required) |
parameters | Defines the parameters for the action. | CacheExpirationActionParameters (required) |
CacheExpirationActionParameters
Name | Description | Value |
---|---|---|
cacheBehavior | Caching behavior for the requests | 'BypassCache' 'Override' 'SetIfMissing' (required) |
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' (required) |
typeName | 'DeliveryRuleCacheExpirationActionParameters' (required) |
DeliveryRuleCacheKeyQueryStringAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'CacheKeyQueryString' (required) |
parameters | Defines the parameters for the action. | CacheKeyQueryStringActionParameters (required) |
CacheKeyQueryStringActionParameters
Name | Description | Value |
---|---|---|
queryParameters | query parameters to include or exclude (comma separated). | string |
queryStringBehavior | Caching behavior for the requests | 'Exclude' 'ExcludeAll' 'Include' 'IncludeAll' (required) |
typeName | 'DeliveryRuleCacheKeyQueryStringBehaviorActionParameters' (required) |
DeliveryRuleRequestHeaderAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'ModifyRequestHeader' (required) |
parameters | Defines the parameters for the action. | HeaderActionParameters (required) |
HeaderActionParameters
Name | Description | Value |
---|---|---|
headerAction | Action to perform | 'Append' 'Delete' 'Overwrite' (required) |
headerName | Name of the header to modify | string (required) |
typeName | 'DeliveryRuleHeaderActionParameters' (required) | |
value | Value for the specified action | string |
DeliveryRuleResponseHeaderAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'ModifyResponseHeader' (required) |
parameters | Defines the parameters for the action. | HeaderActionParameters (required) |
OriginGroupOverrideAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'OriginGroupOverride' (required) |
parameters | Defines the parameters for the action. | OriginGroupOverrideActionParameters (required) |
OriginGroupOverrideActionParameters
Name | Description | Value |
---|---|---|
originGroup | defines the OriginGroup that would override the DefaultOriginGroup. | ResourceReference (required) |
typeName | 'DeliveryRuleOriginGroupOverrideActionParameters' (required) |
DeliveryRuleRouteConfigurationOverrideAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'RouteConfigurationOverride' (required) |
parameters | Defines the parameters for the action. | RouteConfigurationOverrideActionParameters (required) |
RouteConfigurationOverrideActionParameters
Name | Description | Value |
---|---|---|
cacheConfiguration | The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object. | CacheConfiguration |
originGroupOverride | A reference to the origin group override configuration. Leave empty to use the default origin group on route. | OriginGroupOverride |
typeName | 'DeliveryRuleRouteConfigurationOverrideActionParameters' (required) |
CacheConfiguration
Name | Description | Value |
---|---|---|
cacheBehavior | Caching behavior for the requests | 'HonorOrigin' 'OverrideAlways' 'OverrideIfOriginMissing' |
cacheDuration | The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss | string |
isCompressionEnabled | Indicates whether content compression is enabled. 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. | 'Disabled' 'Enabled' |
queryParameters | query parameters to include or exclude (comma separated). | string |
queryStringCachingBehavior | 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. | 'IgnoreQueryString' 'IgnoreSpecifiedQueryStrings' 'IncludeSpecifiedQueryStrings' 'UseQueryString' |
OriginGroupOverride
Name | Description | Value |
---|---|---|
forwardingProtocol | Protocol this rule will use when forwarding traffic to backends. | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
originGroup | defines the OriginGroup that would override the DefaultOriginGroup on route. | ResourceReference |
UrlRedirectAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'UrlRedirect' (required) |
parameters | Defines the parameters for the action. | UrlRedirectActionParameters (required) |
UrlRedirectActionParameters
Name | Description | Value |
---|---|---|
customFragment | Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #. | string |
customHostname | Host to redirect. Leave empty to use the incoming host as the destination host. | string |
customPath | The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path. | string |
customQueryString | The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in {key}={value} format. ? and & will be added automatically so do not include them. | string |
destinationProtocol | Protocol to use for the redirect. The default value is MatchRequest | 'Http' 'Https' 'MatchRequest' |
redirectType | The redirect type the rule will use when redirecting traffic. | 'Found' 'Moved' 'PermanentRedirect' 'TemporaryRedirect' (required) |
typeName | 'DeliveryRuleUrlRedirectActionParameters' (required) |
UrlRewriteAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'UrlRewrite' (required) |
parameters | Defines the parameters for the action. | UrlRewriteActionParameters (required) |
UrlRewriteActionParameters
Name | Description | Value |
---|---|---|
destination | Define the relative URL to which the above requests will be rewritten by. | string (required) |
preserveUnmatchedPath | Whether to preserve unmatched path. Default value is true. | bool |
sourcePattern | define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched. | string (required) |
typeName | 'DeliveryRuleUrlRewriteActionParameters' (required) |
UrlSigningAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | 'UrlSigning' (required) |
parameters | Defines the parameters for the action. | UrlSigningActionParameters (required) |
UrlSigningActionParameters
Name | Description | Value |
---|---|---|
algorithm | Algorithm to use for URL signing | 'SHA256' |
parameterNameOverride | Defines which query string parameters in the url to be considered for expires, key id etc. | UrlSigningParamIdentifier[] |
typeName | 'DeliveryRuleUrlSigningActionParameters' (required) |
UrlSigningParamIdentifier
Name | Description | Value |
---|---|---|
paramIndicator | Indicates the purpose of the parameter | 'Expires' 'KeyId' 'Signature' (required) |
paramName | Parameter name | string (required) |
DeliveryRuleCondition
Name | Description | Value |
---|---|---|
name | Set the object type | ClientPort Cookies HostName HttpVersion IsDevice PostArgs QueryString RemoteAddress RequestBody RequestHeader RequestMethod RequestScheme RequestUri ServerPort SocketAddr SslProtocol UrlFileExtension UrlFileName UrlPath (required) |
DeliveryRuleClientPortCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'ClientPort' (required) |
parameters | Defines the parameters for the condition. | ClientPortMatchConditionParameters (required) |
ClientPortMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleClientPortConditionParameters' (required) |
DeliveryRuleCookiesCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'Cookies' (required) |
parameters | Defines the parameters for the condition. | CookiesMatchConditionParameters (required) |
CookiesMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
selector | Name of Cookies to be matched | string |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleCookiesConditionParameters' (required) |
DeliveryRuleHostNameCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'HostName' (required) |
parameters | Defines the parameters for the condition. | HostNameMatchConditionParameters (required) |
HostNameMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleHostNameConditionParameters' (required) |
DeliveryRuleHttpVersionCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'HttpVersion' (required) |
parameters | Defines the parameters for the condition. | HttpVersionMatchConditionParameters (required) |
HttpVersionMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleHttpVersionConditionParameters' (required) |
DeliveryRuleIsDeviceCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'IsDevice' (required) |
parameters | Defines the parameters for the condition. | IsDeviceMatchConditionParameters (required) |
IsDeviceMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'Desktop' 'Mobile' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleIsDeviceConditionParameters' (required) |
DeliveryRulePostArgsCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'PostArgs' (required) |
parameters | Defines the parameters for the condition. | PostArgsMatchConditionParameters (required) |
PostArgsMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
selector | Name of PostArg to be matched | string |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRulePostArgsConditionParameters' (required) |
DeliveryRuleQueryStringCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'QueryString' (required) |
parameters | Defines the parameters for the condition. | QueryStringMatchConditionParameters (required) |
QueryStringMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleQueryStringConditionParameters' (required) |
DeliveryRuleRemoteAddressCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RemoteAddress' (required) |
parameters | Defines the parameters for the condition. | RemoteAddressMatchConditionParameters (required) |
RemoteAddressMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match. | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'GeoMatch' 'IPMatch' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRemoteAddressConditionParameters' (required) |
DeliveryRuleRequestBodyCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestBody' (required) |
parameters | Defines the parameters for the condition. | RequestBodyMatchConditionParameters (required) |
RequestBodyMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestBodyConditionParameters' (required) |
DeliveryRuleRequestHeaderCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestHeader' (required) |
parameters | Defines the parameters for the condition. | RequestHeaderMatchConditionParameters (required) |
RequestHeaderMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
selector | Name of Header to be matched | string |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestHeaderConditionParameters' (required) |
DeliveryRuleRequestMethodCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestMethod' (required) |
parameters | Defines the parameters for the condition. | RequestMethodMatchConditionParameters (required) |
RequestMethodMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'DELETE' 'GET' 'HEAD' 'OPTIONS' 'POST' 'PUT' 'TRACE' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestMethodConditionParameters' (required) |
DeliveryRuleRequestSchemeCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestScheme' (required) |
parameters | Defines the parameters for the condition. | RequestSchemeMatchConditionParameters (required) |
RequestSchemeMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'HTTP' 'HTTPS' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestSchemeConditionParameters' (required) |
DeliveryRuleRequestUriCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'RequestUri' (required) |
parameters | Defines the parameters for the condition. | RequestUriMatchConditionParameters (required) |
RequestUriMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleRequestUriConditionParameters' (required) |
DeliveryRuleServerPortCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'ServerPort' (required) |
parameters | Defines the parameters for the condition. | ServerPortMatchConditionParameters (required) |
ServerPortMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleServerPortConditionParameters' (required) |
DeliveryRuleSocketAddrCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'SocketAddr' (required) |
parameters | Defines the parameters for the condition. | SocketAddrMatchConditionParameters (required) |
SocketAddrMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'IPMatch' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleSocketAddrConditionParameters' (required) |
DeliveryRuleSslProtocolCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'SslProtocol' (required) |
parameters | Defines the parameters for the condition. | SslProtocolMatchConditionParameters (required) |
SslProtocolMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: 'TLSv1' 'TLSv1.1' 'TLSv1.2' |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Equal' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleSslProtocolConditionParameters' (required) |
DeliveryRuleUrlFileExtensionCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'UrlFileExtension' (required) |
parameters | Defines the parameters for the condition. | UrlFileExtensionMatchConditionParameters (required) |
UrlFileExtensionMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleUrlFileExtensionMatchConditionParameters' (required) |
DeliveryRuleUrlFileNameCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'UrlFileName' (required) |
parameters | Defines the parameters for the condition. | UrlFileNameMatchConditionParameters (required) |
UrlFileNameMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleUrlFilenameConditionParameters' (required) |
DeliveryRuleUrlPathCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | 'UrlPath' (required) |
parameters | Defines the parameters for the condition. | UrlPathMatchConditionParameters (required) |
UrlPathMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GreaterThan' 'GreaterThanOrEqual' 'LessThan' 'LessThanOrEqual' 'RegEx' 'Wildcard' (required) |
transforms | List of transforms | String array containing any of: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
typeName | 'DeliveryRuleUrlPathMatchConditionParameters' (required) |
GeoFilter
Name | Description | Value |
---|---|---|
action | Action of the geo filter, i.e. allow or block access. | 'Allow' 'Block' (required) |
countryCodes | Two letter country or region codes defining user country or region 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) |
DeepCreatedOriginGroup
Name | Description | Value |
---|---|---|
name | Origin group name which must be unique within the endpoint. | string (required) |
properties | Properties of the origin group created on the CDN endpoint. | DeepCreatedOriginGroupProperties |
DeepCreatedOriginGroupProperties
Name | Description | Value |
---|---|---|
healthProbeSettings | Health probe settings to the origin that is used to determine the health of the origin. | HealthProbeParameters |
origins | The source of the content being delivered via CDN within given origin group. | ResourceReference[] (required) |
responseBasedOriginErrorDetectionSettings | The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported. | ResponseBasedOriginErrorDetectionParameters |
trafficRestorationTimeToHealedOrNewEndpointsInMinutes | Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported. | int Constraints: Min value = 0 Max value = 50 |
HealthProbeParameters
Name | Description | Value |
---|---|---|
probeIntervalInSeconds | The number of seconds between health probes.Default is 240sec. | int Constraints: Min value = 1 Max value = 255 |
probePath | The path relative to the origin that is used to determine the health of the origin. | string |
probeProtocol | Protocol to use for health probe. | 'Http' 'Https' 'NotSet' |
probeRequestType | The type of health probe request that is made. | 'GET' 'HEAD' 'NotSet' |
ResponseBasedOriginErrorDetectionParameters
Name | Description | Value |
---|---|---|
httpErrorRanges | The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy. | HttpErrorRangeParameters[] |
responseBasedDetectedErrorTypes | Type of response errors for real user requests for which origin will be deemed unhealthy | 'None' 'TcpAndHttpErrors' 'TcpErrorsOnly' |
responseBasedFailoverThresholdPercentage | The percentage of failed requests in the sample where failover should trigger. | int Constraints: Min value = 0 Max value = 100 |
HttpErrorRangeParameters
Name | Description | Value |
---|---|---|
begin | The inclusive start of the http status code range. | int Constraints: Min value = 100 Max value = 999 |
end | The inclusive end of the http status code range. | int Constraints: Min value = 100 Max value = 999 |
DeepCreatedOrigin
Name | Description | Value |
---|---|---|
name | Origin name which must be unique within the endpoint. | string (required) |
properties | Properties of the origin created on the CDN endpoint. | DeepCreatedOriginProperties |
DeepCreatedOriginProperties
Name | Description | Value |
---|---|---|
enabled | Origin is enabled for load balancing or not. By default, origin is always enabled. | bool |
hostName | The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint. | string (required) |
httpPort | The value of the HTTP port. Must be between 1 and 65535. | int Constraints: Min value = 1 Max value = 65535 |
httpsPort | The value of the HTTPS port. Must be between 1 and 65535. | int Constraints: Min value = 1 Max value = 65535 |
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 |
priority | Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5. | int Constraints: Min value = 1 Max value = 5 |
privateLinkAlias | The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private' | string |
privateLinkApprovalMessage | A custom message to be included in the approval request to connect to the Private Link. | string |
privateLinkLocation | The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated | string |
privateLinkResourceId | The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private' | string |
weight | Weight of the origin in given origin group for load balancing. Must be between 1 and 1000 | int Constraints: Min value = 1 Max value = 1000 |
UrlSigningKey
Name | Description | Value |
---|---|---|
keyId | Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash. | string (required) |
keySourceParameters | Defines the parameters for using customer key vault for Url Signing Key. | KeyVaultSigningKeyParameters (required) |
KeyVaultSigningKeyParameters
Name | Description | Value |
---|---|---|
resourceGroupName | Resource group of the user's Key Vault containing the secret | string (required) |
secretName | The name of secret in Key Vault. | string (required) |
secretVersion | The version(GUID) of secret in Key Vault. | string (required) |
subscriptionId | Subscription Id of the user's Key Vault containing the secret | string (required) |
typeName | 'KeyVaultSigningKeyParameters' (required) | |
vaultName | The name of the user's Key Vault containing the secret | string (required) |
EndpointPropertiesUpdateParametersWebApplicationFire...
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
eShop Website with ILB ASE |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
This template creates a CDN Profile and a CDN Endpoint with a Web App as the origin |
Terraform (AzAPI provider) resource definition
The profiles/endpoints 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/endpoints resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Cdn/profiles/endpoints@2023-05-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
contentTypesToCompress = [
"string"
]
defaultOriginGroup = {
id = "string"
}
deliveryPolicy = {
description = "string"
rules = [
{
actions = [
{
name = "string"
// For remaining properties, see DeliveryRuleActionAutoGenerated objects
}
]
conditions = [
{
name = "string"
// For remaining properties, see DeliveryRuleCondition objects
}
]
name = "string"
order = int
}
]
}
geoFilters = [
{
action = "string"
countryCodes = [
"string"
]
relativePath = "string"
}
]
isCompressionEnabled = bool
isHttpAllowed = bool
isHttpsAllowed = bool
optimizationType = "string"
originGroups = [
{
name = "string"
properties = {
healthProbeSettings = {
probeIntervalInSeconds = int
probePath = "string"
probeProtocol = "string"
probeRequestType = "string"
}
origins = [
{
id = "string"
}
]
responseBasedOriginErrorDetectionSettings = {
httpErrorRanges = [
{
begin = int
end = int
}
]
responseBasedDetectedErrorTypes = "string"
responseBasedFailoverThresholdPercentage = int
}
trafficRestorationTimeToHealedOrNewEndpointsInMinutes = int
}
}
]
originHostHeader = "string"
originPath = "string"
origins = [
{
name = "string"
properties = {
enabled = bool
hostName = "string"
httpPort = int
httpsPort = int
originHostHeader = "string"
priority = int
privateLinkAlias = "string"
privateLinkApprovalMessage = "string"
privateLinkLocation = "string"
privateLinkResourceId = "string"
weight = int
}
}
]
probePath = "string"
queryStringCachingBehavior = "string"
urlSigningKeys = [
{
keyId = "string"
keySourceParameters = {
resourceGroupName = "string"
secretName = "string"
secretVersion = "string"
subscriptionId = "string"
typeName = "KeyVaultSigningKeyParameters"
vaultName = "string"
}
}
]
webApplicationFirewallPolicyLink = {
id = "string"
}
}
})
}
DeliveryRuleActionAutoGenerated objects
Set the name property to specify the type of object.
For CacheExpiration, use:
name = "CacheExpiration"
parameters = {
cacheBehavior = "string"
cacheDuration = "string"
cacheType = "All"
typeName = "DeliveryRuleCacheExpirationActionParameters"
}
For CacheKeyQueryString, use:
name = "CacheKeyQueryString"
parameters = {
queryParameters = "string"
queryStringBehavior = "string"
typeName = "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters"
}
For ModifyRequestHeader, use:
name = "ModifyRequestHeader"
parameters = {
headerAction = "string"
headerName = "string"
typeName = "DeliveryRuleHeaderActionParameters"
value = "string"
}
For ModifyResponseHeader, use:
name = "ModifyResponseHeader"
parameters = {
headerAction = "string"
headerName = "string"
typeName = "DeliveryRuleHeaderActionParameters"
value = "string"
}
For OriginGroupOverride, use:
name = "OriginGroupOverride"
parameters = {
originGroup = {
id = "string"
}
typeName = "DeliveryRuleOriginGroupOverrideActionParameters"
}
For RouteConfigurationOverride, use:
name = "RouteConfigurationOverride"
parameters = {
cacheConfiguration = {
cacheBehavior = "string"
cacheDuration = "string"
isCompressionEnabled = "string"
queryParameters = "string"
queryStringCachingBehavior = "string"
}
originGroupOverride = {
forwardingProtocol = "string"
originGroup = {
id = "string"
}
}
typeName = "DeliveryRuleRouteConfigurationOverrideActionParameters"
}
For UrlRedirect, use:
name = "UrlRedirect"
parameters = {
customFragment = "string"
customHostname = "string"
customPath = "string"
customQueryString = "string"
destinationProtocol = "string"
redirectType = "string"
typeName = "DeliveryRuleUrlRedirectActionParameters"
}
For UrlRewrite, use:
name = "UrlRewrite"
parameters = {
destination = "string"
preserveUnmatchedPath = bool
sourcePattern = "string"
typeName = "DeliveryRuleUrlRewriteActionParameters"
}
For UrlSigning, use:
name = "UrlSigning"
parameters = {
algorithm = "SHA256"
parameterNameOverride = [
{
paramIndicator = "string"
paramName = "string"
}
]
typeName = "DeliveryRuleUrlSigningActionParameters"
}
DeliveryRuleCondition objects
Set the name property to specify the type of object.
For ClientPort, use:
name = "ClientPort"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleClientPortConditionParameters"
}
For Cookies, use:
name = "Cookies"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
selector = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleCookiesConditionParameters"
}
For HostName, use:
name = "HostName"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleHostNameConditionParameters"
}
For HttpVersion, use:
name = "HttpVersion"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "Equal"
transforms = [
"string"
]
typeName = "DeliveryRuleHttpVersionConditionParameters"
}
For IsDevice, use:
name = "IsDevice"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "Equal"
transforms = [
"string"
]
typeName = "DeliveryRuleIsDeviceConditionParameters"
}
For PostArgs, use:
name = "PostArgs"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
selector = "string"
transforms = [
"string"
]
typeName = "DeliveryRulePostArgsConditionParameters"
}
For QueryString, use:
name = "QueryString"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleQueryStringConditionParameters"
}
For RemoteAddress, use:
name = "RemoteAddress"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleRemoteAddressConditionParameters"
}
For RequestBody, use:
name = "RequestBody"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleRequestBodyConditionParameters"
}
For RequestHeader, use:
name = "RequestHeader"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
selector = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleRequestHeaderConditionParameters"
}
For RequestMethod, use:
name = "RequestMethod"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "Equal"
transforms = [
"string"
]
typeName = "DeliveryRuleRequestMethodConditionParameters"
}
For RequestScheme, use:
name = "RequestScheme"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "Equal"
transforms = [
"string"
]
typeName = "DeliveryRuleRequestSchemeConditionParameters"
}
For RequestUri, use:
name = "RequestUri"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleRequestUriConditionParameters"
}
For ServerPort, use:
name = "ServerPort"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleServerPortConditionParameters"
}
For SocketAddr, use:
name = "SocketAddr"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleSocketAddrConditionParameters"
}
For SslProtocol, use:
name = "SslProtocol"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "Equal"
transforms = [
"string"
]
typeName = "DeliveryRuleSslProtocolConditionParameters"
}
For UrlFileExtension, use:
name = "UrlFileExtension"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleUrlFileExtensionMatchConditionParameters"
}
For UrlFileName, use:
name = "UrlFileName"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleUrlFilenameConditionParameters"
}
For UrlPath, use:
name = "UrlPath"
parameters = {
matchValues = [
"string"
]
negateCondition = bool
operator = "string"
transforms = [
"string"
]
typeName = "DeliveryRuleUrlPathMatchConditionParameters"
}
Property values
profiles/endpoints
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.Cdn/profiles/endpoints@2023-05-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. |
location | Resource location. | string (required) |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: profiles |
tags | Resource tags. | Dictionary of tag names and values. |
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[] |
defaultOriginGroup | A reference to the origin group. | ResourceReference |
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 for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization. | "DynamicSiteAcceleration" "GeneralMediaStreaming" "GeneralWebDelivery" "LargeFileDownload" "VideoOnDemandMediaStreaming" |
originGroups | The origin groups comprising of origins that are used for load balancing the traffic based on availability. | DeepCreatedOriginGroup[] |
originHostHeader | The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.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. This property is only relevant when using a single origin. | 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" |
urlSigningKeys | List of keys used to validate the signed URL hashes. | UrlSigningKey[] |
webApplicationFirewallPolicyLink | Defines the Web Application Firewall policy for the endpoint (if applicable) | EndpointPropertiesUpdateParametersWebApplicationFire... |
ResourceReference
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
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. | DeliveryRuleActionAutoGenerated[] (required) |
conditions | A list of conditions that must be matched for the actions to be executed | DeliveryRuleCondition[] |
name | Name of the rule | string |
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) |
DeliveryRuleActionAutoGenerated
Name | Description | Value |
---|---|---|
name | Set the object type | CacheExpiration CacheKeyQueryString ModifyRequestHeader ModifyResponseHeader OriginGroupOverride RouteConfigurationOverride UrlRedirect UrlRewrite UrlSigning (required) |
DeliveryRuleCacheExpirationAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "CacheExpiration" (required) |
parameters | Defines the parameters for the action. | CacheExpirationActionParameters (required) |
CacheExpirationActionParameters
Name | Description | Value |
---|---|---|
cacheBehavior | Caching behavior for the requests | "BypassCache" "Override" "SetIfMissing" (required) |
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" (required) |
typeName | "DeliveryRuleCacheExpirationActionParameters" (required) |
DeliveryRuleCacheKeyQueryStringAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "CacheKeyQueryString" (required) |
parameters | Defines the parameters for the action. | CacheKeyQueryStringActionParameters (required) |
CacheKeyQueryStringActionParameters
Name | Description | Value |
---|---|---|
queryParameters | query parameters to include or exclude (comma separated). | string |
queryStringBehavior | Caching behavior for the requests | "Exclude" "ExcludeAll" "Include" "IncludeAll" (required) |
typeName | "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" (required) |
DeliveryRuleRequestHeaderAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "ModifyRequestHeader" (required) |
parameters | Defines the parameters for the action. | HeaderActionParameters (required) |
HeaderActionParameters
Name | Description | Value |
---|---|---|
headerAction | Action to perform | "Append" "Delete" "Overwrite" (required) |
headerName | Name of the header to modify | string (required) |
typeName | "DeliveryRuleHeaderActionParameters" (required) | |
value | Value for the specified action | string |
DeliveryRuleResponseHeaderAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "ModifyResponseHeader" (required) |
parameters | Defines the parameters for the action. | HeaderActionParameters (required) |
OriginGroupOverrideAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "OriginGroupOverride" (required) |
parameters | Defines the parameters for the action. | OriginGroupOverrideActionParameters (required) |
OriginGroupOverrideActionParameters
Name | Description | Value |
---|---|---|
originGroup | defines the OriginGroup that would override the DefaultOriginGroup. | ResourceReference (required) |
typeName | "DeliveryRuleOriginGroupOverrideActionParameters" (required) |
DeliveryRuleRouteConfigurationOverrideAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "RouteConfigurationOverride" (required) |
parameters | Defines the parameters for the action. | RouteConfigurationOverrideActionParameters (required) |
RouteConfigurationOverrideActionParameters
Name | Description | Value |
---|---|---|
cacheConfiguration | The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object. | CacheConfiguration |
originGroupOverride | A reference to the origin group override configuration. Leave empty to use the default origin group on route. | OriginGroupOverride |
typeName | "DeliveryRuleRouteConfigurationOverrideActionParameters" (required) |
CacheConfiguration
Name | Description | Value |
---|---|---|
cacheBehavior | Caching behavior for the requests | "HonorOrigin" "OverrideAlways" "OverrideIfOriginMissing" |
cacheDuration | The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss | string |
isCompressionEnabled | Indicates whether content compression is enabled. 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. | "Disabled" "Enabled" |
queryParameters | query parameters to include or exclude (comma separated). | string |
queryStringCachingBehavior | 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. | "IgnoreQueryString" "IgnoreSpecifiedQueryStrings" "IncludeSpecifiedQueryStrings" "UseQueryString" |
OriginGroupOverride
Name | Description | Value |
---|---|---|
forwardingProtocol | Protocol this rule will use when forwarding traffic to backends. | "HttpOnly" "HttpsOnly" "MatchRequest" |
originGroup | defines the OriginGroup that would override the DefaultOriginGroup on route. | ResourceReference |
UrlRedirectAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "UrlRedirect" (required) |
parameters | Defines the parameters for the action. | UrlRedirectActionParameters (required) |
UrlRedirectActionParameters
Name | Description | Value |
---|---|---|
customFragment | Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #. | string |
customHostname | Host to redirect. Leave empty to use the incoming host as the destination host. | string |
customPath | The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path. | string |
customQueryString | The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in {key}={value} format. ? and & will be added automatically so do not include them. | string |
destinationProtocol | Protocol to use for the redirect. The default value is MatchRequest | "Http" "Https" "MatchRequest" |
redirectType | The redirect type the rule will use when redirecting traffic. | "Found" "Moved" "PermanentRedirect" "TemporaryRedirect" (required) |
typeName | "DeliveryRuleUrlRedirectActionParameters" (required) |
UrlRewriteAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "UrlRewrite" (required) |
parameters | Defines the parameters for the action. | UrlRewriteActionParameters (required) |
UrlRewriteActionParameters
Name | Description | Value |
---|---|---|
destination | Define the relative URL to which the above requests will be rewritten by. | string (required) |
preserveUnmatchedPath | Whether to preserve unmatched path. Default value is true. | bool |
sourcePattern | define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched. | string (required) |
typeName | "DeliveryRuleUrlRewriteActionParameters" (required) |
UrlSigningAction
Name | Description | Value |
---|---|---|
name | The name of the action for the delivery rule. | "UrlSigning" (required) |
parameters | Defines the parameters for the action. | UrlSigningActionParameters (required) |
UrlSigningActionParameters
Name | Description | Value |
---|---|---|
algorithm | Algorithm to use for URL signing | "SHA256" |
parameterNameOverride | Defines which query string parameters in the url to be considered for expires, key id etc. | UrlSigningParamIdentifier[] |
typeName | "DeliveryRuleUrlSigningActionParameters" (required) |
UrlSigningParamIdentifier
Name | Description | Value |
---|---|---|
paramIndicator | Indicates the purpose of the parameter | "Expires" "KeyId" "Signature" (required) |
paramName | Parameter name | string (required) |
DeliveryRuleCondition
Name | Description | Value |
---|---|---|
name | Set the object type | ClientPort Cookies HostName HttpVersion IsDevice PostArgs QueryString RemoteAddress RequestBody RequestHeader RequestMethod RequestScheme RequestUri ServerPort SocketAddr SslProtocol UrlFileExtension UrlFileName UrlPath (required) |
DeliveryRuleClientPortCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "ClientPort" (required) |
parameters | Defines the parameters for the condition. | ClientPortMatchConditionParameters (required) |
ClientPortMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleClientPortConditionParameters" (required) |
DeliveryRuleCookiesCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "Cookies" (required) |
parameters | Defines the parameters for the condition. | CookiesMatchConditionParameters (required) |
CookiesMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
selector | Name of Cookies to be matched | string |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleCookiesConditionParameters" (required) |
DeliveryRuleHostNameCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "HostName" (required) |
parameters | Defines the parameters for the condition. | HostNameMatchConditionParameters (required) |
HostNameMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleHostNameConditionParameters" (required) |
DeliveryRuleHttpVersionCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "HttpVersion" (required) |
parameters | Defines the parameters for the condition. | HttpVersionMatchConditionParameters (required) |
HttpVersionMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Equal" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleHttpVersionConditionParameters" (required) |
DeliveryRuleIsDeviceCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "IsDevice" (required) |
parameters | Defines the parameters for the condition. | IsDeviceMatchConditionParameters (required) |
IsDeviceMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: "Desktop" "Mobile" |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Equal" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleIsDeviceConditionParameters" (required) |
DeliveryRulePostArgsCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "PostArgs" (required) |
parameters | Defines the parameters for the condition. | PostArgsMatchConditionParameters (required) |
PostArgsMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
selector | Name of PostArg to be matched | string |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRulePostArgsConditionParameters" (required) |
DeliveryRuleQueryStringCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "QueryString" (required) |
parameters | Defines the parameters for the condition. | QueryStringMatchConditionParameters (required) |
QueryStringMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleQueryStringConditionParameters" (required) |
DeliveryRuleRemoteAddressCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "RemoteAddress" (required) |
parameters | Defines the parameters for the condition. | RemoteAddressMatchConditionParameters (required) |
RemoteAddressMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match. | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "GeoMatch" "IPMatch" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleRemoteAddressConditionParameters" (required) |
DeliveryRuleRequestBodyCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "RequestBody" (required) |
parameters | Defines the parameters for the condition. | RequestBodyMatchConditionParameters (required) |
RequestBodyMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleRequestBodyConditionParameters" (required) |
DeliveryRuleRequestHeaderCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "RequestHeader" (required) |
parameters | Defines the parameters for the condition. | RequestHeaderMatchConditionParameters (required) |
RequestHeaderMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
selector | Name of Header to be matched | string |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleRequestHeaderConditionParameters" (required) |
DeliveryRuleRequestMethodCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "RequestMethod" (required) |
parameters | Defines the parameters for the condition. | RequestMethodMatchConditionParameters (required) |
RequestMethodMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: "DELETE" "GET" "HEAD" "OPTIONS" "POST" "PUT" "TRACE" |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Equal" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleRequestMethodConditionParameters" (required) |
DeliveryRuleRequestSchemeCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "RequestScheme" (required) |
parameters | Defines the parameters for the condition. | RequestSchemeMatchConditionParameters (required) |
RequestSchemeMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: "HTTP" "HTTPS" |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Equal" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleRequestSchemeConditionParameters" (required) |
DeliveryRuleRequestUriCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "RequestUri" (required) |
parameters | Defines the parameters for the condition. | RequestUriMatchConditionParameters (required) |
RequestUriMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleRequestUriConditionParameters" (required) |
DeliveryRuleServerPortCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "ServerPort" (required) |
parameters | Defines the parameters for the condition. | ServerPortMatchConditionParameters (required) |
ServerPortMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleServerPortConditionParameters" (required) |
DeliveryRuleSocketAddrCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "SocketAddr" (required) |
parameters | Defines the parameters for the condition. | SocketAddrMatchConditionParameters (required) |
SocketAddrMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "IPMatch" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleSocketAddrConditionParameters" (required) |
DeliveryRuleSslProtocolCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "SslProtocol" (required) |
parameters | Defines the parameters for the condition. | SslProtocolMatchConditionParameters (required) |
SslProtocolMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | String array containing any of: "TLSv1" "TLSv1.1" "TLSv1.2" |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Equal" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleSslProtocolConditionParameters" (required) |
DeliveryRuleUrlFileExtensionCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "UrlFileExtension" (required) |
parameters | Defines the parameters for the condition. | UrlFileExtensionMatchConditionParameters (required) |
UrlFileExtensionMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleUrlFileExtensionMatchConditionParameters" (required) |
DeliveryRuleUrlFileNameCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "UrlFileName" (required) |
parameters | Defines the parameters for the condition. | UrlFileNameMatchConditionParameters (required) |
UrlFileNameMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleUrlFilenameConditionParameters" (required) |
DeliveryRuleUrlPathCondition
Name | Description | Value |
---|---|---|
name | The name of the condition for the delivery rule. | "UrlPath" (required) |
parameters | Defines the parameters for the condition. | UrlPathMatchConditionParameters (required) |
UrlPathMatchConditionParameters
Name | Description | Value |
---|---|---|
matchValues | The match value for the condition of the delivery rule | string[] |
negateCondition | Describes if this is negate condition or not | bool |
operator | Describes operator to be matched | "Any" "BeginsWith" "Contains" "EndsWith" "Equal" "GreaterThan" "GreaterThanOrEqual" "LessThan" "LessThanOrEqual" "RegEx" "Wildcard" (required) |
transforms | List of transforms | String array containing any of: "Lowercase" "RemoveNulls" "Trim" "Uppercase" "UrlDecode" "UrlEncode" |
typeName | "DeliveryRuleUrlPathMatchConditionParameters" (required) |
GeoFilter
Name | Description | Value |
---|---|---|
action | Action of the geo filter, i.e. allow or block access. | "Allow" "Block" (required) |
countryCodes | Two letter country or region codes defining user country or region 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) |
DeepCreatedOriginGroup
Name | Description | Value |
---|---|---|
name | Origin group name which must be unique within the endpoint. | string (required) |
properties | Properties of the origin group created on the CDN endpoint. | DeepCreatedOriginGroupProperties |
DeepCreatedOriginGroupProperties
Name | Description | Value |
---|---|---|
healthProbeSettings | Health probe settings to the origin that is used to determine the health of the origin. | HealthProbeParameters |
origins | The source of the content being delivered via CDN within given origin group. | ResourceReference[] (required) |
responseBasedOriginErrorDetectionSettings | The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported. | ResponseBasedOriginErrorDetectionParameters |
trafficRestorationTimeToHealedOrNewEndpointsInMinutes | Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported. | int Constraints: Min value = 0 Max value = 50 |
HealthProbeParameters
Name | Description | Value |
---|---|---|
probeIntervalInSeconds | The number of seconds between health probes.Default is 240sec. | int Constraints: Min value = 1 Max value = 255 |
probePath | The path relative to the origin that is used to determine the health of the origin. | string |
probeProtocol | Protocol to use for health probe. | "Http" "Https" "NotSet" |
probeRequestType | The type of health probe request that is made. | "GET" "HEAD" "NotSet" |
ResponseBasedOriginErrorDetectionParameters
Name | Description | Value |
---|---|---|
httpErrorRanges | The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy. | HttpErrorRangeParameters[] |
responseBasedDetectedErrorTypes | Type of response errors for real user requests for which origin will be deemed unhealthy | "None" "TcpAndHttpErrors" "TcpErrorsOnly" |
responseBasedFailoverThresholdPercentage | The percentage of failed requests in the sample where failover should trigger. | int Constraints: Min value = 0 Max value = 100 |
HttpErrorRangeParameters
Name | Description | Value |
---|---|---|
begin | The inclusive start of the http status code range. | int Constraints: Min value = 100 Max value = 999 |
end | The inclusive end of the http status code range. | int Constraints: Min value = 100 Max value = 999 |
DeepCreatedOrigin
Name | Description | Value |
---|---|---|
name | Origin name which must be unique within the endpoint. | string (required) |
properties | Properties of the origin created on the CDN endpoint. | DeepCreatedOriginProperties |
DeepCreatedOriginProperties
Name | Description | Value |
---|---|---|
enabled | Origin is enabled for load balancing or not. By default, origin is always enabled. | bool |
hostName | The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint. | string (required) |
httpPort | The value of the HTTP port. Must be between 1 and 65535. | int Constraints: Min value = 1 Max value = 65535 |
httpsPort | The value of the HTTPS port. Must be between 1 and 65535. | int Constraints: Min value = 1 Max value = 65535 |
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 |
priority | Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5. | int Constraints: Min value = 1 Max value = 5 |
privateLinkAlias | The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private' | string |
privateLinkApprovalMessage | A custom message to be included in the approval request to connect to the Private Link. | string |
privateLinkLocation | The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated | string |
privateLinkResourceId | The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private' | string |
weight | Weight of the origin in given origin group for load balancing. Must be between 1 and 1000 | int Constraints: Min value = 1 Max value = 1000 |
UrlSigningKey
Name | Description | Value |
---|---|---|
keyId | Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash. | string (required) |
keySourceParameters | Defines the parameters for using customer key vault for Url Signing Key. | KeyVaultSigningKeyParameters (required) |
KeyVaultSigningKeyParameters
Name | Description | Value |
---|---|---|
resourceGroupName | Resource group of the user's Key Vault containing the secret | string (required) |
secretName | The name of secret in Key Vault. | string (required) |
secretVersion | The version(GUID) of secret in Key Vault. | string (required) |
subscriptionId | Subscription Id of the user's Key Vault containing the secret | string (required) |
typeName | "KeyVaultSigningKeyParameters" (required) | |
vaultName | The name of the user's Key Vault containing the secret | string (required) |
EndpointPropertiesUpdateParametersWebApplicationFire...
Name | Description | Value |
---|---|---|
id | Resource ID. | string |