使用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 的新群组,我该怎么办? em>?

我应该转到每个文件,将字符串“ test-one”替换为“ test-two”,然后执行terraform planterraform apply吗?

解决方法

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

将当前状态转换为使用模块不是最简单的操作,但是在使用terraform import时通常可以在不破坏任何资源的情况下实现

我还建议您观看此video