Spec-Zone.ru › Ansible 2.9

terraform – Управляет развертыванием Terraform (и планами)

Новая версия с 2.5.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Обеспечивает поддержку развертывания ресурсов с помощью Terraform и извлечения информации о ресурсах в Ansible.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • terraform

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
backend_config
-
добавлено в 2.7
Группа пар «ключ-значение» для предоставления на этапе инициализации параметру -backend-config.
binary_path
-
Путь к бинарному файлу terraform, относительно 'service_path', если не указан абсолютный путь.
force_init
boolean
    Варианты:
  • нет ←
  • да
Для предотвращения дублирования инфраструктуры, если файл состояния не найден, это принудительно выполнит `terraform init`. Как правило, это следует отключать, если вы не планируете развертывание совершенно новой системы Terraform.
lock
boolean
    Варианты:
  • нет
  • да
Включить блокировку файла состояния, если вы используете службу, которая поддерживает блокировки (например, S3+DynamoDB) для хранения файла состояния.
lock_timeout
-
Время удержания блокировки файла состояния, если вы используете службу, которая поддерживает блокировки (например, S3+DynamoDB).
plan_file
-
Путь к существующему файлу плана Terraform для применения. Если это не указано, Ansible создаст новый план TF и выполнит его. Обратите внимание, что этот параметр требуется, если 'state' имеет значение 'planned'.
project_path
- / обязательно
Путь к корню каталога Terraform с файлами vars.tf/main.tf и т.д. для использования.
purge_workspace
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Работает только со state = absent
Если true, рабочая область будет удалена после действия "terraform destroy".
Рабочая область 'default' не будет удалена.
state
-
    Варианты:
  • planned
  • present ←
  • absent
Целевое состояние заданного этапа/проекта
state_file
-
Путь к существующему файлу состояния Terraform для использования при построении плана. Если не указано, будет использован `terraform.tfstate`.
Этот параметр игнорируется, когда указан план.
targets
-
Список конкретных ресурсов, которые следует использовать в этом плане/приложении. Выбранные здесь ресурсы также автоматически включат все зависимости.
variables
-
Группа пар «ключ-значение» для переопределения переменных шаблона или переменных в файлах переменных.
variables_file
-
Путь к файлу переменных для Terraform, чтобы заполнить его в конфигурации TF.
workspace
-
добавлено в 2.7
По умолчанию:
"default"
Рабочая область terraform для работы.

Примечания

Примечание

  • Для простого выполнения terraform plan, используйте режим проверки.

Примеры

# Basic deploy of a service
- terraform:
    project_path: '{{ project_dir }}'
    state: present

# Define the backend configuration at init
- terraform:
    project_path: 'project/'
    state: "{{ state }}"
    force_init: true
    backend_config:
      region: "eu-west-1"
      bucket: "some-bucket"
      key: "random.tfstate"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое значение Описание
command
строка
всегда
Полная команда `terraform`, созданная этим модулем, в случае, если вы хотите повторно запустить команду за пределами модуля или отладить проблему.

Пример:
terraform apply ...
outputs
сложный тип
при успехе
Словарь всех выходных данных TF по их заданным именам. Используйте `.outputs.MyOutputName.value` для доступа к значению.

Пример:
{"bukkit_arn": {"sensitive": false, "type": "string", "value": "arn:aws:s3:::tf-test-bukkit"}
sensitive
boolean
всегда
Указано ли Terraform, что это значение является конфиденциальным

type
строка
всегда
Тип значения (строка, целое число и т.д.)

value
-
всегда
Значение выходных данных, интерполированное Terraform

stdout
строка
всегда
Полный вывод команды `terraform`, в случае, если вам нужно его отобразить или просмотреть журнал событий



Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом 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.9/modules/terraform_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API