【问题标题】:'terraform plan' NOT updating state file'terraform plan' 不更新状态文件
【发布时间】:2021-05-20 06:14:03
【问题描述】:

尝试了以下方法:

使用 terraform 创建资源(ec2)>>从 AWS 控制台手动编辑资源(更改类型)>>运行“terraform plan”>>显示内部执行“terraform refresh”后所需的更改但状态文件没有更新?

看起来像一些错误。

(文章状态刷新是自动完成的,应该会影响状态文件吗?- https://www.terraform.io/docs/cli/commands/plan.html)

我注意到手动运行“terraform refresh”会更新状态文件以反映基础设施的当前状态(然后将与配置文件,即所需状态进行比较)。

问候。

阿迪亚

【问题讨论】:

  • 您为什么希望它更新状态文件?为什么你需要这种行为?通常状态文件将由apply 或destroy 更新,这是 Terraform 实际进行更改的时间。正如您所注意到的,您可以运行 terraform refresh 来强制刷新并更新状态文件,但这通常不是必需的。
  • 因为文档说“terraform plan”在内部运行“刷新”,这意味着状态文件应该更新以反映当前的基础设施。
  • @ydaetskcoR - OP 可以使用-refresh=true 标志,这与在计划之前运行tf refresh 相同。我同意这不应该是必要的,除非你有其他错误,但这是可能的。
  • @AdityaGarg - 不,它没有这么说。第二段声明This command is a convenient way to check whether the execution plan for a set of changes matches your expectations without making any changes to real resources or to the state。它确实运行了一次刷新,但它没有说它更新了状态文件,它明确声明它没有。
  • @SoftwareEngineer 对此表示感谢,第二段明确提到“状态”不受影响。所以总而言之,它不像普通的“地形刷新”

标签: terraform


【解决方案1】:

感谢@软件工程师

第二段明确提到“状态”不受影响。所以总而言之,它不像普通的“地形刷新”那样对待。 IMAGE

https://www.terraform.io/docs/cli/commands/plan.html

【讨论】:

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