我正在使用 terraform 创建 ASG 资源,并使用最新语法添加标签,例如
tag {
key = "external-sync"
value = "false"
propagate_at_launch = true
}
tag {
key = "test"
value = "false"
propagate_at_launch = true
}
我需要能够忽略“external-sync”标签在初始创建后的任何更改,因为另一个工具正在与 AWS 中的该标签交互。
我似乎无法在我的忽略块中获得正确的语法。
我尝试过 tag["external-sync] 但它引发了验证错误。
“块类型‘标签’由一组对象表示,集合元素没有可寻址的键。要查找匹配特定条件的元素,请使用“for”表达式和“if”子句”
For 循环语法在ignore_change = [] 块中不起作用
我似乎找不到一种方法来完成这项工作。任何指点,非常感谢。
我正在使用最新版本的 terraform 和 AWS 提供商。
您需要添加此“生命周期”块,并在“生命周期”块中添加“ignore_changes”块,其中将包含您想要忽略的所有内容。
这是一个如何在特定资源上忽略此标签“external-sync”的示例
resource "aws_autoscaling_group" "example" {
availability_zones = ["us-east-1a"]
desired_capacity = 1
max_size = 1
min_size = 1
.
.
.
tag {
key = "external-sync"
value = "false"
propagate_at_launch = true
}
lifecycle {
ignore_changes = [
tags["external-sync"]
]
}
}