i’m getting this error while trying to create an applivation gateway with terraform and azure, so here is error :
`
│ Error: Unknown variable
│
│ on ../../../../../sca-terraform-modules/modules/ApplicationGateway/main.tf line 157, in resource “azurerm_application_gateway” “AG”:
│ 157: for_each = var.IS_CUSTOM_NAMING ? {} : var.BACKEND_CONFIGURATION
│
│ There is no variable named “var”.
│ Error: Unknown variable
│
│ on ../../../../../sca-terraform-modules/modules/ApplicationGateway/main.tf line 148, in resource “azurerm_application_gateway” “AG”:
│ 148: for_each = var.IS_CUSTOM_NAMING ? var.BACKEND_ADDRESS_POOL_CONFIGURATION : []
│
│ There is no variable named “var”.
│ Error: Insufficient backend_address_pool blocks
│
│ on ../../../../../sca-terraform-modules/modules/ApplicationGateway/main.tf line 32, in resource “azurerm_application_gateway” “AG”:
│ 32: resource “azurerm_application_gateway” “AG” {
│
│ At least 1 “backend_address_pool” blocks are require
`
here is my code :
dynamic "backend_address_pool" {
for_each = var.IS_CUSTOM_NAMING ? var.BACKEND_ADDRESS_POOL_CONFIGURATION : []
content {
name = backend_address_pool.value.name
ip_addresses = backend_address_pool.value.backend_address_pool_ips
fqdns = backend_address_pool.value.backend_address_pool_fqdns
}
}
dynamic "backend_address_pool" {
for_each = var.IS_CUSTOM_NAMING ? {} : var.BACKEND_CONFIGURATION
content {
name = "beap-agw-${backend_address_pool.key}"
ip_addresses = backend_address_pool.value.backend_pool_ips
fqdns = backend_address_pool.value.backend_pool_fqdns
}
}
variable "BACKEND_ADDRESS_POOL_CONFIGURATION" {
type = list(object({
name = string
backend_address_pool_ips = optional(list(string))
backend_address_pool_fqdns = optional(list(string))
}))
default = []
description = "Definition of Backend Address Pools."
}
variable "BACKEND_CONFIGURATION" {
type = map(object({
backend_pool_ips = optional(list(string))
backend_pool_fqdns = optional(list(string))
backend_cookie_affinity = string
backend_path = optional(string)
backend_port = number
backend_protocol = string
backend_request_timeout = optional(number)
trusted_root_certificate_names = optional(list(string), [])
pick_host_name_from_backend_address = optional(bool)
probe_interval = optional(number)
probe_protocol = optional(string)
probe_path = optional(string)
probe_timeout = optional(number)
probe_unhealthy_threshold = optional(number)
probe_port = optional(number)
probe_host = optional(string)
probe_match_body = optional(string)
probe_match_status_code = optional(list(string))
probe_pick_host_name_from_backend_http_settings = optional(bool)
}))
default = {}
description = "Provide settings for Application Gateway backend pool."
}
I’m new with terraform
Sabrina Meziani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.