Плагины переменных
Плагины переменных добавляют в запуски Ansible дополнительные данные переменных, которые не поступили из источника инвентаря, плейбука или командной строки. Конструкции плейбука, такие как ‘host_vars’ и ‘group_vars’, используют плагины переменных. Подробнее о переменных в Ansible см. в разделе Использование переменных.
Плагины переменных были частично реализованы в Ansible 2.0 и переработаны для полной реализации начиная с Ansible 2.4.
Плагин host_group_vars, поставляемый с Ansible, позволяет считывать переменные, назначенные с помощью Назначение переменной одному узлу: переменные узла и Назначение переменной нескольким узлам: переменные группы.
Включение плагинов переменных
Активировать пользовательский плагин переменных можно, поместив его в каталог vars_plugins рядом с плейбуком или внутри роли либо в один из каталогов, указанных в ansible.cfg. Чтобы плагин переменных запускался во время сборки инвентаря, его нельзя включить в плейбуке или роли, поскольку они загружаются позже. Если плагины будут запускаться только во время выполнения задач, ограничений на место их размещения нет.
Большинство плагинов переменных по умолчанию отключены. Чтобы включить плагин переменных, задайте vars_plugins_enabled в разделе defaults файла ansible.cfg или задайте переменную среды ANSIBLE_VARS_ENABLED, указав в ней список плагинов переменных для запуска. По умолчанию включен плагин host_group_vars, поставляемый с Ansible.
Начиная с Ansible 2.10, плагины переменных можно использовать в коллекциях. Все плагины переменных в коллекциях необходимо явно включать, указывая полное имя коллекции в формате namespace.collection_name.vars_plugin_name.
[defaults] vars_plugins_enabled = host_group_vars,namespace.collection_name.vars_plugin_name
Использование плагинов переменных
По умолчанию после включения плагины переменных используются автоматически по мере необходимости.
Начиная с Ansible 2.10, можно задать определенное время запуска плагинов переменных. ansible-inventory не использует эти настройки и всегда загружает плагины переменных.
Глобальный параметр RUN_VARS_PLUGINS можно задать в ansible.cfg с помощью run_vars_plugins в разделе defaults или с помощью переменной среды ANSIBLE_RUN_VARS_PLUGINS. Значение по умолчанию, demand, запускает все включенные плагины переменных относительно источников инвентаря при запросе переменных задачами. Вместо этого можно использовать параметр start, чтобы запускать все включенные плагины переменных относительно источников инвентаря сразу после импорта соответствующего источника.
Для плагинов переменных, поддерживающих параметр stage, можно также управлять их запуском по отдельности. Чтобы запустить плагин host_group_vars после импорта инвентаря, добавьте в ansible.cfg следующее:
[vars_host_group_vars] stage = inventory
Список плагинов
Чтобы просмотреть список доступных плагинов переменных, используйте ansible-doc -t vars -l. Чтобы ознакомиться с документацией и примерами для конкретного плагина, используйте ansible-doc -t vars <plugin name>.
См. также
- Плагины кэширования
-
Плагины кэширования
- Плагины поиска
-
Плагины поиска
- Общение
-
Есть вопросы? Нужна помощь? Хотите поделиться идеями? Посетите руководство по общению с сообществом Ansible
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/plugins/vars.html