问题描述
当前正在试用名为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 plan
和terraform apply
吗?
解决方法
您需要创建一个terraform module,它将部署所需的任何环境,并且将使用尽可能少的参数,并尽可能使用名称(例如:“ test-two”)。
将当前状态转换为使用模块不是最简单的操作,但是在使用terraform import
时通常可以在不破坏任何资源的情况下实现
我还建议您观看此video