Microsoft.Cdn profiles/ruleSets/rules

Bicep resource definition

The profiles/ruleSets/rules resource type can be deployed with operations that target:

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

Resource format

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

resource symbolicname 'Microsoft.Cdn/profiles/ruleSets/rules@2023-07-01-preview' = {
  name: 'string'
  parent: resourceSymbolicName
  properties: {
    actions: [
      {
        name: 'string'
        // For remaining properties, see DeliveryRuleActionAutoGenerated objects
      }
    ]
    conditions: [
      {
        name: 'string'
        // For remaining properties, see DeliveryRuleCondition objects
      }
    ]
    matchProcessingBehavior: 'string'
    order: int
  }
}

DeliveryRuleActionAutoGenerated objects

Set the name property to specify the type of object.

For AfdUrlSigning, use:

  name: 'AfdUrlSigning'
  parameters: {
    algorithm: 'SHA256'
    keyGroupReference: {
      id: 'string'
    }
    parameterNameOverride: [
      {
        paramIndicator: 'string'
        paramName: 'string'
      }
    ]
    typeName: 'DeliveryRuleAfdUrlSigningActionParameters'
  }

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/ruleSets/rules

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)
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: ruleSets
properties The JSON object that contains the properties of the Rules to create. RuleProperties

RuleProperties

Name Description Value
actions A list of actions that are executed when all the conditions of a rule are satisfied. DeliveryRuleActionAutoGenerated[]
conditions A list of conditions that must be matched for the actions to be executed DeliveryRuleCondition[]
matchProcessingBehavior If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. 'Continue'
'Stop'
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

DeliveryRuleActionAutoGenerated

Name Description Value
name Set the object type AfdUrlSigning
CacheExpiration
CacheKeyQueryString
ModifyRequestHeader
ModifyResponseHeader
OriginGroupOverride
RouteConfigurationOverride
UrlRedirect
UrlRewrite
UrlSigning (required)

AfdUrlSigningAction

Name Description Value
name The name of the action for the delivery rule. 'AfdUrlSigning' (required)
parameters Defines the parameters for the action. AfdUrlSigningActionParameters (required)

AfdUrlSigningActionParameters

Name Description Value
algorithm Algorithm to use for URL signing 'SHA256'
keyGroupReference Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/keyGroups/{keyGroupName} ResourceReference (required)
parameterNameOverride Defines which query string parameters in the url to be considered for expires, key id etc. UrlSigningParamIdentifier[]
typeName 'DeliveryRuleAfdUrlSigningActionParameters' (required)

ResourceReference

Name Description Value
id Resource ID. string

UrlSigningParamIdentifier

Name Description Value
paramIndicator Indicates the purpose of the parameter 'Expires'
'KeyId'
'Signature' (required)
paramName Parameter name string (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)

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)

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Front Door Standard/Premium with rule set

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

ARM template resource definition

The profiles/ruleSets/rules resource type can be deployed with operations that target:

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

Resource format

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

{
  "type": "Microsoft.Cdn/profiles/ruleSets/rules",
  "apiVersion": "2023-07-01-preview",
  "name": "string",
  "properties": {
    "actions": [
      {
        "name": "string"
        // For remaining properties, see DeliveryRuleActionAutoGenerated objects
      }
    ],
    "conditions": [
      {
        "name": "string"
        // For remaining properties, see DeliveryRuleCondition objects
      }
    ],
    "matchProcessingBehavior": "string",
    "order": "int"
  }
}

DeliveryRuleActionAutoGenerated objects

Set the name property to specify the type of object.

For AfdUrlSigning, use:

  "name": "AfdUrlSigning",
  "parameters": {
    "algorithm": "SHA256",
    "keyGroupReference": {
      "id": "string"
    },
    "parameterNameOverride": [
      {
        "paramIndicator": "string",
        "paramName": "string"
      }
    ],
    "typeName": "DeliveryRuleAfdUrlSigningActionParameters"
  }

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/ruleSets/rules

Name Description Value
type The resource type 'Microsoft.Cdn/profiles/ruleSets/rules'
apiVersion The resource api version '2023-07-01-preview'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)
properties The JSON object that contains the properties of the Rules to create. RuleProperties

RuleProperties

Name Description Value
actions A list of actions that are executed when all the conditions of a rule are satisfied. DeliveryRuleActionAutoGenerated[]
conditions A list of conditions that must be matched for the actions to be executed DeliveryRuleCondition[]
matchProcessingBehavior If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. 'Continue'
'Stop'
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

DeliveryRuleActionAutoGenerated

Name Description Value
name Set the object type AfdUrlSigning
CacheExpiration
CacheKeyQueryString
ModifyRequestHeader
ModifyResponseHeader
OriginGroupOverride
RouteConfigurationOverride
UrlRedirect
UrlRewrite
UrlSigning (required)

AfdUrlSigningAction

Name Description Value
name The name of the action for the delivery rule. 'AfdUrlSigning' (required)
parameters Defines the parameters for the action. AfdUrlSigningActionParameters (required)

AfdUrlSigningActionParameters

Name Description Value
algorithm Algorithm to use for URL signing 'SHA256'
keyGroupReference Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/keyGroups/{keyGroupName} ResourceReference (required)
parameterNameOverride Defines which query string parameters in the url to be considered for expires, key id etc. UrlSigningParamIdentifier[]
typeName 'DeliveryRuleAfdUrlSigningActionParameters' (required)

ResourceReference

Name Description Value
id Resource ID. string

UrlSigningParamIdentifier

Name Description Value
paramIndicator Indicates the purpose of the parameter 'Expires'
'KeyId'
'Signature' (required)
paramName Parameter name string (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)

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)

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Front Door Standard/Premium with rule set

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

Terraform (AzAPI provider) resource definition

The profiles/ruleSets/rules 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/ruleSets/rules resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Cdn/profiles/ruleSets/rules@2023-07-01-preview"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      actions = [
        {
          name = "string"
          // For remaining properties, see DeliveryRuleActionAutoGenerated objects
        }
      ]
      conditions = [
        {
          name = "string"
          // For remaining properties, see DeliveryRuleCondition objects
        }
      ]
      matchProcessingBehavior = "string"
      order = int
    }
  })
}

DeliveryRuleActionAutoGenerated objects

Set the name property to specify the type of object.

For AfdUrlSigning, use:

  name = "AfdUrlSigning"
  parameters = {
    algorithm = "SHA256"
    keyGroupReference = {
      id = "string"
    }
    parameterNameOverride = [
      {
        paramIndicator = "string"
        paramName = "string"
      }
    ]
    typeName = "DeliveryRuleAfdUrlSigningActionParameters"
  }

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/ruleSets/rules

Name Description Value
type The resource type "Microsoft.Cdn/profiles/ruleSets/rules@2023-07-01-preview"
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: ruleSets
properties The JSON object that contains the properties of the Rules to create. RuleProperties

RuleProperties

Name Description Value
actions A list of actions that are executed when all the conditions of a rule are satisfied. DeliveryRuleActionAutoGenerated[]
conditions A list of conditions that must be matched for the actions to be executed DeliveryRuleCondition[]
matchProcessingBehavior If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. "Continue"
"Stop"
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

DeliveryRuleActionAutoGenerated

Name Description Value
name Set the object type AfdUrlSigning
CacheExpiration
CacheKeyQueryString
ModifyRequestHeader
ModifyResponseHeader
OriginGroupOverride
RouteConfigurationOverride
UrlRedirect
UrlRewrite
UrlSigning (required)

AfdUrlSigningAction

Name Description Value
name The name of the action for the delivery rule. "AfdUrlSigning" (required)
parameters Defines the parameters for the action. AfdUrlSigningActionParameters (required)

AfdUrlSigningActionParameters

Name Description Value
algorithm Algorithm to use for URL signing "SHA256"
keyGroupReference Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/keyGroups/{keyGroupName} ResourceReference (required)
parameterNameOverride Defines which query string parameters in the url to be considered for expires, key id etc. UrlSigningParamIdentifier[]
typeName "DeliveryRuleAfdUrlSigningActionParameters" (required)

ResourceReference

Name Description Value
id Resource ID. string

UrlSigningParamIdentifier

Name Description Value
paramIndicator Indicates the purpose of the parameter "Expires"
"KeyId"
"Signature" (required)
paramName Parameter name string (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)

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)