为什么Terraform中的ASG标记使用地图列表而不是单个地图



#1。使用Terraform的AWS资源标记(单个地图)

resource "aws_vpc" "example" {
# ... other configuration ...
tags = {
Name = "MyVPC"
}
}

#2.ASG标记(地图列表)

resource "aws_autoscaling_group" "asg_ec2" {
..........
..........
lifecycle {
create_before_destroy = true
}
tag {
key                 = "Name"
value               = "awesome-app-server"
propagate_at_launch = true
}
tag {
key                 = "Role"
value               = "server"
propagate_at_launch = true
}
dynamic "tag" {
for_each = var.tags
content {
key    =  tag.key
value   =  tag.value
propagate_at_launch =  true
}
}
}

问题:

通常,所有资源都使用上方#1所示的地图进行标记

但是所有的博客和文档总是建议使用";地图列表";而不仅仅是如上面#2所示的映射。

想了解为什么这种偏差只适用于ASG吗?

TF文档指出tags已降级:

标记(可选,不推荐使用标记)包含资源标记的映射集。与标记冲突。有关更多详细信息,请参阅下面的标签。

所以您不应该使用tags,因为它将来会被删除。

最新更新