Как перебирать списки в Terraform
у меня есть код
resource "oci_core_security_list" "db_security_list" {
count = var.deploy_database ? 1 : 0
compartment_id = var.network_compartment_id
vcn_id = var.vcn_id
freeform_tags = { "Component" = "Database" }
display_name = "test-db-sl"
ingress_security_rules {
protocol = "6" # TCP
source = var.compute_subnet_cidr
tcp_options {
max = "1522"
min = "1522"
}
}
}
В настоящее время
compute_subnet_cidr
имеет единственный блок cidr подсети
как я могу выполнить итерацию, если compute_subnet_cidr является списком.
compute_subnet_cidr = ["10.10.10.0/24", "10.10.10.1/24", "10.10.10.2/24"]
Как я могу изменить приведенный выше код?
1 ответ
Да, вы можете использовать динамические блоки :
resource "oci_core_security_list" "db_security_list" {
count = var.deploy_database ? 1 : 0
compartment_id = var.network_compartment_id
vcn_id = var.vcn_id
freeform_tags = { "Component" = "Database" }
display_name = "test-db-sl"
dynamic "ingress_security_rules" {
for_each = var.compute_subnet_cidr
content {
protocol = "6" # TCP
source = ingress_security_rules.value
tcp_options {
max = "1522"
min = "1522"
}
}
}
}