我正在通过一个变量创建多个子网:
variable "private_subnets" {
description = "Private Subnets"
default = ["10.0.0.0/20", "10.0.32.0/20"]
}
resource "aws_subnet" "private" {
vpc_id = aws_vpc.main.id
cidr_block = element(var.private_subnets, count.index)
availability_zone = element(var.availability_zones, count.index)
count = length(var.private_subnets)
}
我计算我在Var中列出了多少子网,然后为每个子网创建一个子网。问题是到目前为止,我只能弄清楚如何通过每个单独的索引引用它们:
subnets = [ aws_subnet.private[0].id, aws_subnet.private[1].id ]
正确的做法是什么?我尝试了一个类似的元素()和计数部分到ECS网络配置,我引用了这个,但它不起作用。
我不确定这是否是您所追求的,但您可以尝试:
subnets = aws_subnet.private[*].id
这种语法称为splat表达式