terraform - 如何使用 terraform 0.12 将地图转换为另一张地图?
问题描述
这是由于 aws 提供程序 wrt ASG 的糟糕默认行为
我不得不这样做: https ://github.com/hashicorp/terraform/issues/15226
data "null_data_source" "asg-tags" {
count = "${length(keys(var.tags))}"
inputs = {
key = "${element(keys(var.tags), count.index)}"
value = "${element(values(var.tags), count.index)}"
propagate_at_launch = "true"
}
}
resource "aws_autoscaling_group" "my-group" {
....
tags = ["${data.null_data_source.asg-tags.*.outputs}"]
我如何用 0.12 做到这一点?我知道现在这类事情有更好的功能,所以我不应该再使用空资源,但我找不到任何 0.12 示例来说明如何遍历地图并生成新地图。
解决方案
我知道动态块,但考虑得不够多。这要容易得多。可以只有一个列表变量并在资源中使用动态块
dynamic "tag" {
for_each = var.mytags
content {
key = tag.key
value = tag.value
propagate_at_launch = true
}
}