【发布时间】:2019-01-22 05:17:26
【问题描述】:
我正在为我们的私有云开发一个自定义 Terraform 提供程序,但我在构建之间的状态文件方面遇到了困难。
基本上每次构建自定义提供程序的新版本时,我都需要执行terraform init,这似乎消除了现有状态。
我有一些资源仍然存在,但 Terraform 认为它们不存在,因为它的状态文件是空的。
我尝试执行terraform refresh,但它什么也没做:
空的或不存在的状态文件。
刷新不会做任何事情。刷新不会出错或返回错误 退出状态,因为许多自动化脚本使用刷新、计划、然后 申请,可能还没有第一次运行的状态文件。
我在文档中看到可以import 现有基础设施,但为此提供者需要实现导入功能。
有没有办法强制 Terraform 刷新状态?
【问题讨论】:
-
terraform init绝对不应该消灭国家。你确定你一开始就正确地写出状态吗? -
@ydaetskcoR 我可能假设
terraform init擦除了状态。状态写得很好。我还在更新 terraform 之外的资源以执行一些测试等,因此在某些时候我可能会处于不同步状态。但也许import是为尚未处于状态但处于配置中的资源刷新状态的唯一方法?
标签: terraform