# Azure Front Door (classic) This template deploys an [Azure Front Door (classic)](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/frontdoor). ## Resources | Terraform Resource Type | Description | | - | - | | `azurerm_resource_group` | The resource group for all the deployed resources. | | `azurerm_frontdoor` | The Front Door (classic). | | `random_id` | A random identifier generator to generate a unique Front Door resource name. | ## Variables | Name | Description | Default Value | |-|-|-| | `location` | The location for all the deployed resources. | `westus2` | | `resource_group_name` | The name of the resource group to deploy. | `FrontDoor` | | `backend_address` | The host name or IP address of the backend application. | | ## Example ```bash $ terraform plan -out main.tfplan Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # azurerm_frontdoor.my_front_door will be created + resource "azurerm_frontdoor" "my_front_door" { + backend_pool_health_probes = (known after apply) + backend_pool_load_balancing_settings = (known after apply) + backend_pools = (known after apply) + cname = (known after apply) + explicit_resource_order = (known after apply) + frontend_endpoints = (known after apply) + header_frontdoor_id = (known after apply) + id = (known after apply) + load_balancer_enabled = true + name = (known after apply) + resource_group_name = "FrontDoor" + routing_rules = (known after apply) + backend_pool { + health_probe_name = "healthProbeSettings" + id = (known after apply) + load_balancing_name = "loadBalancingSettings" + name = "backendPool" + backend { + address = "" + enabled = true + host_header = "" + http_port = 80 + https_port = 443 + priority = 1 + weight = 50 } } + backend_pool_health_probe { + enabled = true + id = (known after apply) + interval_in_seconds = 120 + name = "healthProbeSettings" + path = "/" + probe_method = "GET" + protocol = "Http" } + backend_pool_load_balancing { + additional_latency_milliseconds = 0 + id = (known after apply) + name = "loadBalancingSettings" + sample_size = 4 + successful_samples_required = 2 } + frontend_endpoint { + host_name = (known after apply) + id = (known after apply) + name = "frontEndEndpoint" + session_affinity_enabled = false + session_affinity_ttl_seconds = 0 } + routing_rule { + accepted_protocols = [ + "Http", + "Https", ] + enabled = true + frontend_endpoints = [ + "frontEndEndpoint", ] + id = (known after apply) + name = "routingRule" + patterns_to_match = [ + "/*", ] + forwarding_configuration { + backend_pool_name = "backendPool" + cache_enabled = false + cache_query_parameter_strip_directive = "StripAll" + cache_use_dynamic_compression = false + forwarding_protocol = "MatchRequest" } } } # azurerm_resource_group.my_resource_group will be created + resource "azurerm_resource_group" "my_resource_group" { + id = (known after apply) + location = "westus2" + name = "FrontDoor" } # random_id.front_door_name will be created + resource "random_id" "front_door_name" { + b64_std = (known after apply) + b64_url = (known after apply) + byte_length = 8 + dec = (known after apply) + hex = (known after apply) + id = (known after apply) } Plan: 3 to add, 0 to change, 0 to destroy. ```