RMD*_*Dev 6 foreach resources for-loop terraform
我正在尝试根据地图的内部地图的值创建资源。如果该特定值为 true,则创建资源
请找到下面的代码:
variable "ip_restrictions" {
type = map(map(string))
default = {
test01 = {
name = "test01"
start_ip_address = "0.0.0.0"
end_ip_address = "0.0.0.0"
is_firewall = false
},
test02 = {
name = "test02"
start_ip_address = "0.0.0.0"
end_ip_address = "0.0.0.0"
is_firewall = true
}
}
}
resource "azurerm_sql_firewall_rule" "sql_firewall_rules" {
for_each = {
for restr in var.ip_restrictions :
restr => restr
if restr.is_firewall == true
}
name = each.value.name
resource_group_name = azurerm_resource_group.rg.name
server_name = azurerm_sql_server.sqls.name
start_ip_address = each.value.start_ip_address
end_ip_address = each.value.end_ip_address
}
Run Code Online (Sandbox Code Playgroud)
你的正确形式for_each应该是:
for_each = {
for key, restr in var.ip_restrictions :
key => restr if restr.is_firewall == "true"
}
Run Code Online (Sandbox Code Playgroud)
这将过滤掉所有带有is_firewallof的记录false。
| 归档时间: |
|
| 查看次数: |
10888 次 |
| 最近记录: |