Terraform - 如何使用多个模块创建临时资源

Terraform - 如何使用多个模块创建临时资源

我创建了两个 Terraform 模块,每个模块都创建了一个简单的 AWS 实例,然后使用 Ansible playbook 在其上配置了一些软件。在模块目录中运行 terraform apply 时,每个模块都可以正常工作。

如何在 shell 脚本中组合这两个模块来创建两个实例、运行一些测试,然后销毁资源。

在我看来,shell 脚本应该是这样的:

terraform apply --reference=module1-dir --state=module1-state
terraform apply --reference=module2-dir --state=module2-state
<run some other scripts ...>
terraform destroy --reference=module1-dir --state=module1-state
terraform destroy --reference=module2-dir --state=module2-state

这是正确的做法吗?Terraform 是否支持引用另一个目录来获取要运行的文件?

答案1

您可以使用 terraform 来定位目录中的某个模块。因此,如果您知道我需要两个模块

module "one" {}
module "two" {}

你可以运行terraform apply -target module.one -target module.two

它可以用不同的输入来获取同一个模块。

相关内容