使用 Terraformer 的输出创建一个新项目

Create a new project using outputs from Terraformer

目前正在试用一种名为 Terraformer 的工具(它是一种反向 Terraform)- https://github.com/GoogleCloudPlatform/terraformer

我有一个名为 test-one 的简单 GCP 项目,它只有一个资源,vm_instance(google_compute_instance).我 运行 Terraformer 并设法获得输出:

$ generated/google/test-one/instances/us-central1
.
├── compute_instance.tf
├── outputs.tf
├── provider.tf
└── terraform.tfstate

我的问题是 - 如果说我想要具有完全相同的配置,但对于我将命名为 test-two 的新组,我接下来应该做什么?

我是否应该转到每个文件,将任何包含字符串“test-one”的内容替换为“test-two”,然后执行 terraform planterraform apply

您需要创建一个 terraform module,它将部署您想要的任何环境,并采用尽可能少的参数,尽可能只使用名​​称(例如:“test-two”)。

将您的当前状态转换为使用模块并不是最简单的,但在使用 terraform import

时通常可以在不破坏任何资源的情况下实现

我也推荐看这个video