【发布时间】:2021-07-08 19:01:23
【问题描述】:
我在这里有点挣扎,想知道这是否可能。我有一个贴花的变量,如下所示:
variable "subnets" {
type = list(object({
name = string
cidr_block = string
}))
default = [
{
name = private
cidr_block = 10.0.0.1/24
},
{
name = public
cidr_block = 10.0.0.2/24
}
]
}
然后我使用数据源查询当前区域的区域
data aws_availability_zones available {}
现在我要做的是在每个 az 区域中创建上述子网,但我似乎无法将这些区域与上述 var 结合起来。
我正在尝试的是
resource aws_suubnet subnet {
for each = {for idx,az.name in data.aws_availability_zones.available.names : idx => az.name}
vpc_id = var.vpc_id
availability_zone = data.aws_availability_zones.available.names[each.key]
cidr_block = (this is where I want to query my var.subnets but I don't seem to be able to do another for
here)
}
我希望最终得到 6 个子网,3 个私有子网和 3 个公共子网,每个区域各有一个。将不胜感激这里的任何帮助。谢谢
【问题讨论】:
-
你只有两个
cidr_block?您想如何创建 6 个子网?您缺少 4 个cidr_block。
标签: amazon-web-services for-loop foreach terraform each