I'm fairly new to Terraform and managed to create a firewall, public IP prefix and public IP's. Now I want to attach 8 public IP's to my firewall. I did it with the code given below, but I think that it can be done shorter. Is there a way how I can code it that it will create an ip configuration while looping through [0-7] with a smaller amount of code?
data "azurerm_public_ip" "firewall_public_ip_address" {
count = 8
name = "firewall-public-ip-address-${var.env_name}-test-${var.region}-${count.index}"
resource_group_name = var.common_resource_group_name
}
resource "azurerm_firewall" "test_firewall" {
name = "firewall-${var.env_name}-test-${var.region}"
resource_group_name = "${var.resource_group_name}"
location = "${var.region}"
ip_configuration {
name = "test-azure-firewall-config-0"
subnet_id = "${var.firewall_subnet_id}"
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[0].id
}
ip_configuration {
name = "test-azure-firewall-config-1"
subnet_id = null
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[1].id
}
ip_configuration {
name = "test-azure-firewall-config-2"
subnet_id = null
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[2].id
}
ip_configuration {
name = "test-azure-firewall-config-3"
subnet_id = null
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[3].id
}
ip_configuration {
name = "test-azure-firewall-config-4"
subnet_id = null
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[4].id
}
ip_configuration {
name = "test-azure-firewall-config-5"
subnet_id = null
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[5].id
}
ip_configuration {
name = "test-azure-firewall-config-6"
subnet_id = null
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[6].id
}
ip_configuration {
name = "test-azure-firewall-config-7"
subnet_id = null
public_ip_address_id = data.azurerm_public_ip.firewall_public_ip_address[7].id
}