首页 > 解决方案 > 手动更改后的 Terraform 刷新

问题描述

所以这就是我想要做的

Given I changed a configuration in the load balancer
And I added that to my terraform declaration
When I run a plan there are zero changes which is expected

在申请之前,我是否需要在此时刷新以匹配我的硬件状态?

或者当我运行应用程序时,这只会更新状态?

标签: terraformterraform-provider-aws

解决方案


如果您在 Terraform 之外更改了设置并且更新了 Terraform 配置以匹配,那么这里确实没有额外的步骤可以运行:terraform plan应该报告它检测到在 Terraform 之外更改的值(假设您使用的是 Terraform v1.1 和0.0 或更高版本)但随后报告它不需要进行任何更改以匹配配置。

另请注意,在最近的 Terraform 中,该terraform refresh命令仍然可用,但不再推荐。相反,您可以使用terraform apply -refresh-only来获得类似的效果,但有机会在创建新状态快照之前查看检测到的更改。在您描述的情况下,像这样的仅刷新应用还允许您将检测到的更改作为新状态快照提交,以便将来terraform plan不会重新报告它检测到在 Terraform 之外进行的更改,这可能避免您的同事在以后进行更改时对此消息感到困惑。


推荐阅读