【问题标题】:Terraform refresh from empty state?Terraform 从空状态刷新?
【发布时间】:2019-01-22 05:17:26
【问题描述】:

我正在为我们的私有云开发一个自定义 Terraform 提供程序,但我在构建之间的状态文件方面遇到了困难。

基本上每次构建自定义提供程序的新版本时,我都需要执行terraform init,这似乎消除了现有状态。

我有一些资源仍然存在,但 Terraform 认为它们不存在,因为它的状态文件是空的。

我尝试执行terraform refresh,但它什么也没做:

空的或不存在的状态文件。

刷新不会做任何事情。刷新不会出错或返回错误 退出状态,因为许多自动化脚本使用刷新、计划、然后 申请,可能还没有第一次运行的状态文件。

我在文档中看到可以import 现有基础设施,但为此提供者需要实现导入功能。

有没有办法强制 Terraform 刷新状态?

【问题讨论】:

  • terraform init 绝对不应该消灭国家。你确定你一开始就正确地写出状态吗?
  • @ydaetskcoR 我可能假设terraform init 擦除了状态。状态写得很好。我还在更新 terraform 之外的资源以执行一些测试等,因此在某些时候我可能会处于不同步状态。但也许import 是为尚未处于状态但处于配置中的资源刷新状态的唯一方法?

标签: terraform


【解决方案1】:

实际上我需要为我的提供者实现import 函数,因为terraform refresh 无法刷新不在State 中的资源。

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 2018-12-22
    • 2018-09-23
    • 2021-07-02
    • 2019-11-28
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多