Terraform 0.11.10或0.11.7如何忽略单个标签

时间:2018-12-14 20:22:32

标签: terraform

为了更好地改善变更分析和调试,我想在应用托管计划时在地面托管的AWS资源中添加一个'ModifiedAt'标签,而又不会造成很多噪音和混乱。

我可以忽略所有标签更改,因此仅在资源发生实质性更改时才进行修改。但是,我真的只想控制 ModifiedAt ModifiedByJob ModifiedByCommit ModifiedByUser 标记,因为它们基于更改在源代码管理上,日期和构建服务器不是由于代码更改引起的。

忽略所有标签

lifecycle {
    ignore_changes = ["tag"]
 }

应该但不能忽略特定标签

lifecycle {
    ignore_changes = ["tags.ModifiedAt", "tag.ModifiedAt", 
        "tags[ModifiedAt]", "tags['ModifiedAt'"]
 }

提供商

  • “空”(1.0.0)...
  • “ tls”(1.2.0)...
  • “ aws”(1.52.0)...
  • “模板”(1.0.0)...
  • “本地”(1.1.0)...

我不确定这是怎么回事。根据{{​​3}},其中至少有一个应该可以工作,但是对我来说不行。

1 个答案:

答案 0 :(得分:1)

您似乎需要以下内容,才能忽略列出的4x标签名称:

  lifecycle {
    ignore_changes = [
      "tags.%", # the count of tag keys, which may change also
      "tags.ModifiedAt",
      "tags.ModifiedByJob",
      "tags.ModifiedByCommit",
      "tags.ModifiedByUser"
    ]
  }