Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в состав коллекции community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в книге задач укажите: community.general.terraform.

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

Обзор

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

Требования

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

  • terraform

Параметры

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

псевдонимы: variables_file
workspace
строка
По умолчанию:
"default"
Рабочая область terraform для работы.

Примечания

Примечание

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

Примеры

- name: Basic deploy of a service
  community.general.terraform:
    project_path: '{{ project_dir }}'
    state: present

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

- name: Define the backend configuration with one or more files at init
  community.general.terraform:
    project_path: 'project/'
    state: "{{ state }}"
    force_init: true
    backend_config_files:
      - /path/to/backend_config_file_1
      - /path/to/backend_config_file_2

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

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

Ключ Возвращаемое значение Описание
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/terraform_module.html

Spec-Zone.ru

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