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
Он может использовать один и тот же модуль с разными входами.