【发布时间】:2019-12-17 06:27:23
【问题描述】:
在 Terraform v0.12.6 中使用 for_each 表达式动态生成 vnet 子网 (Azure) 的内联块。我定义了列表变量“子网”,两个子网“sub1”和“sub2”如下
variable "subnets" {
default = [
{
name = "sub1"
prefix = "1.1.1.1/32"
},
{
name = "sub2"
prefix = "2.2.2.2/32"
},
]
}
然后遍历“azurerm_virtual_network”块内的列表变量以创建子网的动态块
dynamic "subnet" {
for_each = [for s in var.subnets : {
name = s.name
prefix = s.prefix
}]
content {
name = subnet.name
address_prefix = subnet.prefix
}
}
}
获取即第一个是错误:不支持的属性
在 main.tf 第 42 行,资源“azurerm_virtual_network”“vnet”中: 42:名称=子网名称
此对象没有名为“name”的属性。
【问题讨论】:
-
for s in var.subnets应该可以在没有for_each的情况下进行迭代。
标签: terraform