首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于资源输出的Terraform ignore_changes

用于资源输出的Terraform ignore_changes
EN

Stack Overflow用户
提问于 2020-10-12 13:52:30
回答 1查看 1.9K关注 0票数 0

是否仍然需要忽略对资源输出的更改?或者告诉terraform不要刷新它?

我使用的Terraform资源返回一个state_info输出(字符串映射),该输出可以由terraform以外的进程修改。我想忽略这些变化。这有可能吗。

代码语言:javascript
复制
resource "aiven_vpc_peering_connection" "this" {

  lifecycle {
    ignore_changes = [
      state_info
    ]
  }
}

state_info正在被设置为Terraform之外的null。我在其他地形资源中使用state_info。在我运行的后续地形计划中,aiven_vpc_peering_connection.this.state_info is empty map of string失败了

EN

回答 1

Stack Overflow用户

发布于 2020-10-12 19:09:52

ignore_changes机制指示Terraform在将配置中的值与前一状态快照中的值进行比较时忽略特定的参数,因此它不会对仅保存在先前状态的属性产生任何影响,因为这些属性不是显式可配置的。

听起来,您需要的是让Terraform在更新先前的状态以匹配远程对象(“刷新”步骤)时忽略特定的参数,这样结果最终将是来自远程API的新内容和以前保存在状态中的内容的混合。Terraform没有实现这一目标的机制:刷新后存储在状态中的值正是提供者返回的值。这种保证对于某些资源类型可能很重要,因为保留一个参数的旧值,而允许其他参数更改,可能会使结果不一致,例如,如果以多种不同的方式表示相同的信息。

最接近您所描述的值是使用上游资源导出的值,然后在最终使用该值的资源上指定ignore_changes,告诉Terraform在比较下游对象及其配置时忽略上游对象中的更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64319242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档