【发布时间】:2020-10-13 03:09:52
【问题描述】:
无论如何可以忽略对资源输出的更改?或者告诉 terraform 不要刷新它?
我正在使用的 terraform 资源返回一个 state_info 输出(字符串映射),可以由 Terraform 之外的进程修改。我想忽略这些变化。这可能吗?
resource "aiven_vpc_peering_connection" "this" {
lifecycle {
ignore_changes = [
state_info
]
}
}
state_info 在 Terraform 之外设置为 null。我在其他 terraform 资源中使用 state_info。在我运行的后续 terraform 计划中,aiven_vpc_peering_connection.this.state_info is empty map of string 失败了
【问题讨论】:
-
该输出将由 Terraform 在其进程结束时进行垃圾收集。其他非交互进程如何修改它?
-
它看起来像是来自 REST API。
-
该错误是否仅在其他资源中引用 aiven_vpc_peering_connection.this.state_info 时发生,或者即使唯一引用在您发布的忽略块中也会发生?如果是前者,那么也许将其他引用包装在 Try 函数中可以让您处理 null?如果是后者,那么我认为需要修复 Aiven 提供程序以处理 null 值。
-
aiven_vpc_peering_connection是否有可用的数据提供者?如果是,您可以验证state_info,如果它不为空,那么您可以决定是否创建资源..
标签: terraform