现在我有一个包含多个目录的Terraform项目:
root
|- stack
|- applications
|- app1
|- app2
|- app3
Stack
包含应用程序的所有常见依赖关系。app1
,app2
和app3
使用远程状态来引用stack
资源。terraform apply
运行.tfvars
。 (这最初是设计使然。)我想在根目录中使用单个.tf
文件并将stack
/ app*
目录作为模块来重构该项目。从TF的角度来看,我知道该怎么做,但是由于该项目已经部署在两个不同的环境中,因此我试图找出将现有stack/app*
资源迁移到新的合并状态的最佳方法文件或至少自动执行我需要运行的所有terraform import
命令。
有什么想法吗?
答案 0 :(得分:0)
您可能想要使用terraform state mv
将状态从每个app
状态转移到stack
状态。确切的用法将取决于您用于状态的后端类型。您可以从文档here中看到一个示例。在执行此操作之前,请确保备份所有状态文件,以便在出现问题时可以轻松恢复。