首页 > 解决方案 > Terraform Custom Provider:如果远程 URL 不可用,如何避免 TF 状态文件更新?

问题描述

我正在编写一个自定义 terraform 提供程序,并遵循以下 URL 中记录的所有步骤:https ://learn.hashicorp.com/terraform/development/writing-custom-terraform-providers

我能够使用用于触发 API 调用的远程服务的 SDK 使其与所有 CRUD 操作一起运行。

但是,我面临的一个问题是,如果远程 URL 不可用,terraform apply即使我从插件返回错误,运行 a 也会覆盖 TF 状态文件。此错误也反映在terraform apply输出中。

编辑: 看起来我找到了用现有存储库复制它的步骤:https ://github.com/Mastercard/terraform-provider-restapi/

对此的观察:

  1. 如果我使用来自https://github.com/Mastercard/terraform-provider-restapi/releases的最新版本二进制文件,它会按预期工作。
  2. 如果我克隆存储库并使用此命令自己构建二进制文件go build -o terraform-provider-restapi_v1.10.0-linux-amd64,我会开始收到问题中提到的错误。去版本:go version go1.10.3 linux/amd64

我在这里做错了什么?我们如何构建提供程序二进制文件?

有关如何纠正此问题的任何帮助?

标签: goterraform

解决方案


推荐阅读