IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

ansible_play_hosts в контексте jinja2 шаблонов

В контексте Jinja2-шаблонов в Ansible переменная ansible_play_hosts полезна, когда вы хотите динамически работать с группой хостов, которые участвуют в плейбуке.

Использование ansible_play_hosts в Jinja2:

Jinja2 позволяет динамически генерировать данные на основе переменных Ansible, таких как ansible_play_hosts. Эта переменная может быть полезна, если вам нужно, например, сгенерировать конфигурацию для всех задействованных хостов, построить список хостов или распределить задачи между ними.

Пример 1: Перебор списка всех хостов в шаблоне

Шаблон config.j2 может выглядеть так:
Этот шаблон создаст конфигурационный файл с разделом, где перечислены все хосты, участвующие в плейбуке.

Пример 2: Фильтрация хостов по роли или IP-адресу

В Jinja2 можно использовать фильтры для работы с переменной ansible_play_hosts, например, для выборки определённых хостов по роли или IP:

В этом примере создается список хостов, которые принадлежат к группе webserver, с указанием их имен и IP-адресов.

Ключевые моменты:

  • ansible_play_hosts возвращает список хостов, участвующих в текущем плейбуке.
  • Можно использовать его в Jinja2 для динамического создания конфигураций, отчетов или других файлов, где важно упоминать все или часть хостов.
  • В сочетании с hostvars, group_names и другими переменными можно получать дополнительные данные о каждом хосте.

Таким образом, ansible_play_hosts — это мощный инструмент для динамического управления хостами в шаблонах Ansible через Jinja2, который может пригодиться для создания гибких конфигураций и автоматизации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *