gpt4 book ai didi

Terraform - 删除除一个以外的所有资源

转载 作者:行者123 更新时间:2023-12-04 10:59:58 25 4
gpt4 key购买 nike

我有一个 Terraform 0.11 项目,其中包含 30-40 种不同的资源。除了少数之外,我想删除所有这些——而这少数在逻辑上是相互关联的。

我在寻找接近 terraform destroy --except=resource-id 的东西但这当然不存在。

有没有办法在没有太多脚本的情况下实现这一点(Terraform 管理员有各种操作系统)?使用模块可能会使这个过程更容易吗?

最佳答案

没有--except terraform destroy 中的功能当前命令。如果您真的想这样做,并且您知道自己在做什么,那么这里是解决方法。

# list all resources
terraform state list

# remove that resource you don't want to destroy
# you can add more to be excluded if required
terraform state rm <resource_to_be_deleted>

# destroy the whole stack except above excluded resource(s)
terraform destroy
那么为什么这些命令对你的想法有用呢?
The state Terraform 使用 (*.tfstate) 将现实世界的资源映射到您的配置,跟踪元数据。 terraform state rm仅从状态文件 (*.tfstate) 中清除记录(资源)。它不会破坏真正的资源。
既然你不跑 terraform applyterraform refresh , 在 terraform state rm 之后, terraform 根本不知道已创建排除的资源。
当你运行 terraform destroy ,它没有关于排除资源状态的详细信息,也不会销毁它。它将摧毁其余的。
顺便说一句,稍后您仍有机会使用 terraform import 将资源导入回来。如果你想命令。

关于Terraform - 删除除一个以外的所有资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55265203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com