Microsoft.Network frontDoors/rulesEngines template reference

Template format

To create a Microsoft.Network/frontDoors/rulesEngines resource, add the following JSON to the resources section of your template.

{
  "name": "string",
  "type": "Microsoft.Network/frontDoors/rulesEngines",
  "apiVersion": "2020-01-01",
  "properties": {
    "rules": [
      {
        "name": "string",
        "priority": "integer",
        "action": {
          "requestHeaderActions": [
            {
              "headerActionType": "string",
              "headerName": "string",
              "value": "string"
            }
          ],
          "responseHeaderActions": [
            {
              "headerActionType": "string",
              "headerName": "string",
              "value": "string"
            }
          ],
          "routeConfigurationOverride": {
            "@odata.type": "string"
          }
        },
        "matchConditions": [
          {
            "rulesEngineMatchVariable": "string",
            "selector": "string",
            "rulesEngineOperator": "string",
            "negateCondition": "boolean",
            "rulesEngineMatchValue": [
              "string"
            ],
            "transforms": [
              "string"
            ]
          }
        ],
        "matchProcessingBehavior": "string"
      }
    ],
    "resourceState": "string"
  }
}

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Network/frontDoors/rulesEngines object

Name Type Required Value
name string Yes Name of the Rules Engine which is unique within the Front Door.
type enum Yes rulesEngines
-or-
Microsoft.Network/frontDoors/rulesEngines

See Set name and type for child resources.
apiVersion enum Yes 2020-01-01
properties object Yes Properties of the Rules Engine Configuration. - RulesEngineProperties object

RulesEngineProperties object

Name Type Required Value
rules array No A list of rules that define a particular Rules Engine Configuration. - RulesEngineRule object
resourceState enum No Resource status. - Creating, Enabling, Enabled, Disabling, Disabled, Deleting

RulesEngineRule object

Name Type Required Value
name string Yes A name to refer to this specific rule.
priority integer Yes A priority assigned to this rule.
action object Yes Actions to perform on the request and response if all of the match conditions are met. - RulesEngineAction object
matchConditions array No A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run. - RulesEngineMatchCondition object
matchProcessingBehavior enum No If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. - Continue or Stop

RulesEngineAction object

Name Type Required Value
requestHeaderActions array No A list of header actions to apply from the request from AFD to the origin. - HeaderAction object
responseHeaderActions array No A list of header actions to apply from the response from AFD to the client. - HeaderAction object
routeConfigurationOverride object No Override the route configuration. - RouteConfiguration object

RulesEngineMatchCondition object

Name Type Required Value
rulesEngineMatchVariable enum Yes Match Variable. - IsMobile, RemoteAddr, RequestMethod, QueryString, PostArgs, RequestUri, RequestPath, RequestFilename, RequestFilenameExtension, RequestHeader, RequestBody, RequestScheme
selector string No Name of selector in RequestHeader or RequestBody to be matched
rulesEngineOperator enum Yes Describes operator to apply to the match condition. - Any, IPMatch, GeoMatch, Equal, Contains, LessThan, GreaterThan, LessThanOrEqual, GreaterThanOrEqual, BeginsWith, EndsWith
negateCondition boolean No Describes if this is negate condition or not
rulesEngineMatchValue array Yes 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
transforms array No List of transforms - Lowercase, Uppercase, Trim, UrlDecode, UrlEncode, RemoveNulls

HeaderAction object

Name Type Required Value
headerActionType enum Yes Which type of manipulation to apply to the header. - Append, Delete, Overwrite
headerName string Yes The name of the header this action will apply to.
value string No The value to update the given header name with. This value is not used if the actionType is Delete.

RouteConfiguration object

Name Type Required Value
@odata.type string Yes