terraform - Управление развертыванием Terraform (и планами)
Новая версия с 2.5.
Обзор
- Обеспечивает поддержку развертывания ресурсов с помощью Terraform и извлечения информации о ресурсах в Ansible.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- terraform
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| binary_path | Путь к бинарному файлу terraform, относительно 'service_path', если не указан абсолютный путь. | |
| force_init bool |
| Для избежания дублирования инфраструктуры, если файл состояния не найден, это заставит выполнить `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 bool | всегда | Указано ли Terraform, что это значение является конфиденциальным | |
| type строка | всегда | Тип значения (строка, целое число и т.д) | |
| value | всегда | Значение выходной информации, интерполированное Terraform | |
| stdout строка | всегда | Полный вывод команды `terraform`, в случае, если вы хотите его отобразить или проверить журнал событий | |
Статус
Этот модуль помечен как preview, что означает, что его интерфейс не гарантируется как обратной совместимый.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- 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.6/modules/terraform_module.html