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

Terraform outs from a resource called via a for_each

我想知道是否有人可以帮助我解决以下问题我有创建 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 但我仍然没有运气,似乎找不到任何可以帮助我的东西。

如果您的 private_subnet 模块有输出

output subnetId {
 value = aws_subnet.subnet.id
}

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

values(module.private_subnet)[*].subnetId