Переменные

Переменные#

Расширения переменных (vars plugins) используются для задания значений переменным, используемым в сценариях Ansible. Для получения дополнительных данных эти расширения не используют описание инвентаря, наборы сценариев или командную строку. Они используют для этого специальным образом организованные структуры каталогов и файлов.

Рекомендуемая структура каталогов:

inventory/
├── group_vars
│   ├── group_vars1.yml
│   ├── group_vars2.yml
│   │   ...
│   └── group_varsN.yml
├── host_vars
│   ├── hosts_vars1.yml
│   ├── hosts_vars2.yml
│   │   ...
│   └── hosts_varsM.yml
└── inventory.yml

Здесь:

  • inventory.yml – файл с описанием инвентаря;

  • group_vars/ – каталог с файлами, содержащими переменные для разных групп узлов;

  • host_vars/ – каталог с файлами, содержащими переменные для конкретных узлов.

В Ansible Core доступно только расширение ansible.builtin.host_group_vars, которое включено по умолчанию. Подробное описание расширения ansible.builtin.host_group_vars см. в справочнике.

Расширения переменных по умолчанию выполняются при запросе переменных во время выполнения задач.

Режим выполнения можно изменить в конфигурационном файле ansible.cfg:

[defaults]
run_vars_plugins = start

Возможные значения параметра run_vars_plugins:

  • demand (по умолчанию) – запускать расширения при обращении к переменным;

  • start – запускать расширения после импорта описания инвентаря.