| azure_client_id |
Service Principal Client ID |
string |
n/a |
yes |
| azure_client_secret |
Service Principal Client Secret |
string |
n/a |
yes |
| azure_location |
Azure location in which to launch resources. |
string |
n/a |
yes |
| azure_subscription_id |
Service Principal Subscription ID |
string |
n/a |
yes |
| azure_tenant_id |
Service Principal Tenant ID |
string |
n/a |
yes |
| enable_frontdoor |
Launch the FrontDoor CDN |
bool |
false |
no |
| enable_frontdoor_vdp_redirects |
Creates a redirect rule set for security.txt and thanks.txt to an external Vulnerability Disclosure Program service |
bool |
true |
no |
| enable_frontdoor_waf |
Enable or Disable the Front Door WAF Policy |
bool |
true |
no |
| enable_resource_group_lock |
Enabling this will add a Resource Lock to the Resource Group preventing any resources from being deleted |
bool |
false |
no |
| environment |
Environment name |
string |
n/a |
yes |
| existing_resource_group |
Use an existing resource group instead of launching a new one |
string |
"" |
no |
| frontdoor_enable_access_logs |
Enable logging of HTTP Requests |
bool |
false |
no |
| frontdoor_enable_health_probe_logs |
Enable logging of Health Probe results |
bool |
false |
no |
| frontdoor_enable_waf_logs |
Enable logging of WAF events |
bool |
true |
no |
| frontdoor_profiles |
Map of FrontDoor origin objects to add to the FrontDoor CDN |
map(map(object({ origin_host = string origin_host_header = optional(string, null) custom_domains = optional(list(string), []) enable_health_probe = optional(bool, true) managed_dns_zones = optional(list(object({ name = string resource_group_name = string })), []) health_probe_interval = optional(number, 60) health_probe_request_type = optional(string, "HEAD") health_probe_path = optional(string, "/") private_link_target_id = optional(string, null) private_link_target_type = optional(string, "managedEnvironments") forwarding_protocol = optional(string, "HttpsOnly") enable_security_headers = optional(bool, true) redirects = optional(list(object({ from = string to = string })), []) add_http_response_headers = optional(list(object({ name = string value = string })), []) remove_http_response_headers = optional(list(object({ name = string })), []) waf_custom_rules = optional(map(object({ action = string match_conditions : map(object({ match_variable : string, match_values : optional(list(string), []), operator : optional(string, "Any"), selector : optional(string, null), negation_condition : optional(bool, false), })) })), {}) }))) |
{} |
no |
| frontdoor_response_timeout |
Maximum FrontDoor response timeout in seconds |
number |
120 |
no |
| frontdoor_sku |
FrontDoor SKU |
string |
"Premium_AzureFrontDoor" |
no |
| frontdoor_vdp_destination_hostname |
Requires 'enable_frontdoor_vdp_redirects' to be set to 'true'. Hostname to redirect security.txt and thanks.txt to |
string |
"vdp.security.education.gov.uk" |
no |
| tags |
Tags to be applied to all resources |
map(string) |
{} |
no |
| tfvars_filename |
tfvars filename. This file is uploaded and stored encrypted within Key Vault, to ensure that the latest tfvars are stored in a shared place. |
string |
n/a |
yes |
| waf_enable_bot_protection |
Enable Bot Protection rules in the WAF Policy |
bool |
true |
no |
| waf_enable_rate_limiting |
Enable a Rate Limit rule in the WAF Policy |
bool |
true |
no |
| waf_mode |
Set whether the WAF is in Detection or Prevention mode |
string |
"Detection" |
no |
| waf_rate_limiting_bypass_ip_list |
List of IPv4 Addresses that should bypass the Rate Limit rules |
list(string) |
[] |
no |
| waf_rate_limiting_duration_in_minutes |
Number of minutes to block an IP address when it exceeds rate limit |
number |
5 |
no |
| waf_rate_limiting_threshold |
Number of evaluated requests that are permitted within 'waf_rate_limiting_duration_in_minutes' before being rate limited |
number |
200 |
no |