Terraform 从通过 for_each 调用的资源输出

时间:2021-04-09 10:55:30

标签: amazon-web-services for-loop foreach terraform subnet

我想知道是否有人可以帮助我解决以下问题我有一个基本资源来创建 aws 子网

resource aws_subnet subnet {
  vpc_id     = var.vpc_id
  cidr_block = var.cidr_block
}

output subnetId {
 value = aws_subnet.subnet.id
}

module private_subnet {
   source = "linktoresourcedetailedabove"
   for_each = var.privateSubnet
   vpd.id   = var.vpc_id
   cidr_block = each.value.cidr_block
} 

我有一个模块,它使用基于 var 的 for_each 循环调用,我的问题是这个资源可能被调用 10 次,我想存储每个 id,然后从另一个模块访问它,但我似乎正在点击此处出现问题,我尝试更新 aws_subnet.subnet.id to aws_subnet.subnet.*.id,但仍然没有任何运气,似乎找不到任何可以帮助我的东西。

1 个答案:

答案 0 :(得分:0)

如果您的 private_subnet 模块有输出

output subnetId {
 value = aws_subnet.subnet.id
}

然后,一旦您创建了 private_subnet 模块,您就可以获得所有 subnetId 创建的列表:

values(module.private_subnet)[*].subnetId