Переменные#
Расширения переменных (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– запускать расширения после импорта описания инвентаря.