我试图在terraform中找到自己的出路,我正在浏览文档,并对如果从配置文件中手动删除了资源然后将在修改后的配置文件上运行apply命令的情况感到困惑请 ? 我的理解是状态文件仍将具有已删除的资源以及它仍将实际上在云平台上运行,因此terraform apply将不会执行任何操作,但我不确定。 谢谢您帮助我清除理解 另外还有一个相关的问题,例如,如果从云控制台手动更改了资源,而我们试图对该资源执行terraform的任何操作,将会怎样?
非常感谢,
答案 0 :(得分:2)
首先,https://www.terraform.io/intro/index.html文档中的一些背景
Terraform会生成执行计划,以描述达到预期状态所需执行的操作,然后执行该计划以构建所描述的基础结构。随着配置的更改,Terraform能够确定更改的内容并创建可以应用的增量执行计划。
当修改资源时,提到的状态将被保存。添加资源时,将创建该资源,并更新状态以反映此情况。 删除资源也是如此。当您通过删除代码或模板文件在Terraform中删除资源时,该资源将被删除并进行状态更新以反映出已删除的资源(重点在于我的答案)。
第二个问题是要改变从国家转移而来的资源。当您针对可能具有更改的资源创建计划时,提供程序通常会刷新状态下的资源以进行比较,并向您显示要进行的更改(即,尝试将资源更改为声明状态的资源)。代码)。