terraform - Управляет развертыванием Terraform (и планами)
Новая версия 2.5.
Синопсис
- Обеспечивает поддержку развертывания ресурсов с помощью Terraform и извлечения информации о ресурсах обратно в Ansible.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- terraform
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| binary_path | Путь к бинарному файлу terraform, относительно 'service_path', если не указан абсолютный путь. | |
| force_init | Значение по умолчанию: нет | Для избежания дублирования инфраструктуры, если файл состояния не найден, это принудительно выполнит `terraform init`. Как правило, это следует отключать, если вы не планируете развертывать совершенно новую инфраструктуру Terraform. |
| lock | Включить блокировку файла состояния, если вы используете сервис, принимающий блокировки (например, S3+DynamoDB) для хранения файла состояния. | |
| lock_timeout | Время удержания блокировки файла состояния, если вы используете сервис, принимающий блокировки (например, S3+DynamoDB). | |
| plan_file | Путь к существующему файлу плана Terraform для применения. Если не указан, Ansible создаст новый план TF и выполнит его. | |
| project_path обязательно | Путь к корню каталога Terraform с файлами vars.tf/main.tf и т. д. | |
| state |
| Цель состояния данного этапа/проекта |
| state_file | Путь к существующему файлу состояния Terraform для использования при построении плана. Если не указан, будет использоваться по умолчанию `terraform.tfstate`. Этот параметр игнорируется, когда указан параметр `plan`. | |
| targets | Список конкретных ресурсов для указания в этом плане/приложении. Выбранные здесь ресурсы также автоматически включают все зависимости. | |
| variables | Группа пар ключ-значение для переопределения переменных шаблона или переменных в файлах переменных. | |
| variables_file | Путь к файлу переменных для Terraform, чтобы заполнить конфигурации TF. |
Примечания
Примечание
- Для простого выполнения
terraform plan, используйте режим проверки.
Примеры
# Basic deploy of a service
- terraform:
project_path: '{{ project_dir }}'
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращается | Описание | |
|---|---|---|---|
| command строка | всегда | Полная команда `terraform`, созданная этим модулем, в случае, если вы хотите повторно запустить команду вне модуля или отладить проблему. Пример: terraform apply ... | |
| outputs сложный тип | при успехе | Словарь всех выходных данных TF по их именам. Используйте `.outputs.MyOutputName.value`, чтобы получить значение. Пример: {"bukkit_arn": {"sensitive": false, "type": "string", "value": "arn:aws:s3:::tf-test-bukkit"} | |
| sensitive логическое значение | всегда | Указал ли Terraform это значение как конфиденциальное | |
| type строка | всегда | Тип значения (строка, целое число и т. д.) | |
| value | всегда | Значение выхода, интерполированное Terraform | |
| stdout строка | всегда | Полный вывод команды `terraform`, в случае необходимости отображения или проверки журнала событий. | |
Статус
Этот модуль помечен как экспериментальный, что означает, что его интерфейс не гарантирует обратную совместимость.
Автор
- Ryan Scott Brown @ryansb
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/terraform_module.html