azurerm_frontdoor_rules_engine

Manages an Azure Front Door (classic) Rules Engine configuration and rules.

Example Usage

resource "azurerm_resource_group" "example" {
  name     = "example-rg"
  location = "West Europe"
}

resource "azurerm_frontdoor" "example" {
  name                = "example"
  resource_group_name = azurerm_resource_group.example.name

  backend_pool {
    name                = "exampleBackendBing"
    load_balancing_name = "exampleLoadBalancingSettings1"
    health_probe_name   = "exampleHealthProbeSetting1"

    backend {
      host_header = "www.bing.com"
      address     = "www.bing.com"
      http_port   = 80
      https_port  = 443
    }
  }

  backend_pool_health_probe {
    name = "exampleHealthProbeSetting1"
  }

  backend_pool_load_balancing {
    name = "exampleLoadBalancingSettings1"
  }

  frontend_endpoint {
    name      = "exampleFrontendEndpoint1"
    host_name = "example-FrontDoor.azurefd.net"
  }

  routing_rule {
    name               = "exampleRoutingRule1"
    accepted_protocols = ["Http", "Https"]
    patterns_to_match  = ["/*"]
    frontend_endpoints = ["exampleFrontendEndpoint1"]
  }
}

resource "azurerm_frontdoor_rules_engine" "example_rules_engine" {
  name                = "exampleRulesEngineConfig1"
  frontdoor_name      = azurerm_frontdoor.example.name
  resource_group_name = azurerm_frontdoor.example.resource_group_name

  rule {
    name     = "debuggingoutput"
    priority = 1

    action {
      response_header {
        header_action_type = "Append"
        header_name        = "X-TEST-HEADER"
        value              = "Append Header Rule"
      }
    }
  }

  rule {
    name     = "overwriteorigin"
    priority = 2

    match_condition {
      variable = "RequestMethod"
      operator = "Equal"
      value    = ["GET", "POST"]
    }

    action {

      response_header {
        header_action_type = "Overwrite"
        header_name        = "Access-Control-Allow-Origin"
        value              = "*"
      }

      response_header {
        header_action_type = "Overwrite"
        header_name        = "Access-Control-Allow-Credentials"
        value              = "true"
      }

    }
  }
}

Argument Reference

The following arguments are supported:


The rule block supports the following:


The action block supports the following:


The request_header block supports the following:


The response_header block supports the following:


The match_condition block supports the following:

Timeouts

The timeouts block allows you to specify timeouts for certain actions:

Import

Azure Front Door Rules Engine's can be imported using the resource id, e.g.

terraform import azurerm_frontdoor_rules_engine.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Network/frontdoors/frontdoor1/rulesEngines/rule1