go - 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/
对此的观察:
- 如果我使用来自https://github.com/Mastercard/terraform-provider-restapi/releases的最新版本二进制文件,它会按预期工作。
- 如果我克隆存储库并使用此命令自己构建二进制文件
go build -o terraform-provider-restapi_v1.10.0-linux-amd64
,我会开始收到问题中提到的错误。去版本:go version go1.10.3 linux/amd64
我在这里做错了什么?我们如何构建提供程序二进制文件?
有关如何纠正此问题的任何帮助?
解决方案
推荐阅读
- php - 如何在谷歌柱形图的列周围添加笔划?
- eclipse - Eclipse 4.18.0 无法打开市场 - NullPointerException
- typescript - Typescript 函数返回类型取决于参数的数量或类型
- c# - 我需要制作一些(逻辑乘法)程序,但我无法修复其中一个错误
- css - css 文件中的 css 变量未正确处理
- ios - NavigationView 上的全屏平移滑动手势?
- mongodb - mongo 删除/拉深嵌套数组中的孙子项
- jdbc - 遇到 SQL 错误:net.snowflake.client.jdbc.SnowflakeSQLException: Statement is closed
- javascript - 从列表中循环javascript
- python - 在列表的每个元素中计算数学