Terraform - как использовать несколько модулей для создания временных ресурсов

Я создал два модуля Terraform, каждый из которых создал простой экземпляр AWS, а затем снабдил его некоторым программным обеспечением Ansible playbook. Каждый модуль работает правильно при запуске terraform применить в каталоге модуля.

Как бы вы объединили эти два модуля в сценарии оболочки, чтобы создать оба экземпляра, выполнить несколько тестов, а затем уничтожить ресурсы?

На мой взгляд, сценарий оболочки будет выглядеть так:

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

Он может использовать один и тот же модуль с разными входами.

Другие вопросы по тегам