【问题标题】:Ignoring a resource if it exists?如果存在则忽略资源?
【发布时间】:2022-01-18 19:45:34
【问题描述】:

现在我在谷歌上进行了相当多的搜索 - 人们说这做不到。

我有一些 SSM 参数只有在第一次部署时才有效(并且必须部署它们)。然后,一个阶跃函数会改变它们。这是一个“日期”值 - 它最初是使用默认值创建的,但随后 lambda 会更新它。您可以猜到,对我的部署 REDEPLOYS 参数进行任何不应再被触及的更改 - 将它们恢复为默认值(因为 TF 注意到了更改)。有什么办法可以解决这个问题?

【问题讨论】:

    标签: amazon-web-services terraform


    【解决方案1】:

    当然,生命周期元参数

      lifecycle {
        ignore_changes = [
         
        ]
      }
    

    具体来说,在aws_ssm_parameter的情况下

      lifecycle {
        ignore_changes = [value]
      }
    

    【讨论】:

    • 在 AWS 中运行的 lambda 如何无法更改那里的资源? Terraform 不会阻塞资源,它只会避免terraform 本身所做的更改。如果你去控制台,你也可以改变它。避免此类问题的最佳方法是仅授予您的 lambda 读取权限,或使用特定角色,您应该在 IAM 级别处理它,而不是在 terraform
    猜你喜欢
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多