Terraform:引用多个资源而不命名每个资源

  • 本文关键字:资源 Terraform 引用 terraform
  • 更新时间 :
  • 英文 :


我正在通过一个变量创建多个子网:

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表达式

最新更新