有没有办法在 terraform 中获取 for / for_each 循环中的索引?

问题描述

我创建了多个 aws_launch_configurations。现在我需要通过传递已经创建的 aws_launch_configurations 的输出值来创建 ASG。输出采用数组格式

lc_name = ["A","B"]
autoscale_spec = [{"name":"1"},{"name":2"}]


resource "aws_autoscaling_group" "test" {
for_each = { for spec in var.autoscale_spec:  spec.name => spec }
 launch_configuration = var.lc_name[index]
}

我想获取 autoscale_spec 循环的索引,以便我可以参考它来获取 lc_name

解决方法

这个解决方案对我有用 -->


lc_name = ["A","B"]
autoscale_spec = [{"name":"1"},{"name":2"}]


resource "aws_autoscaling_group" "test" {
for_each = { for spec in var.autoscale_spec:  index(var.autoscale_spec,spec) => spec }
 launch_configuration = var.lc_name[each.key]
}

感谢您的帮助。