Переменные

Переменные#

Из расширений переменных в коллекцию ansible.builtin входит только расширение host_group_vars. Описание применения расширений переменных приведено в документе Переменные.

Расширение ansible.builtin.host_group_vars загружает переменные из файлов в каталогах host_vars/ и group_vars/, привязывая их к соответствующим группам и узлам из описания инвентаря.

Файлы с переменными должны иметь расширение .yml, .yaml, .json или не иметь расширения. Каталоги, скрытые (начинающиеся с .) и временные (заканчивающиеся на ~) файлы пропускаются.

Это расширение работает только для описания инвентаря, расположенного в локальной файловой системе.

Расширение принимает следующие параметры:

yaml_valid_extensions#

Список допустимых расширений в названиях файлов с переменными. Эти файлы могут содержать данные в формате YAML, JSON или их зашифрованные версии (например, с использованием ansible-vault).

Примечание

Параметр влияет на все механизмы, работающие с файлами переменных. Помимо каталогов host_vars/ и group_vars/ он затрагивает директиву vars_files в сценариях и модуль ansible.builtin.include_vars.

Значение по умолчанию: .yml, .yaml, .json.

Параметр можно задать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    yaml_valid_extensions = .yml, .yaml, .json
    
  • Переменная окружения ANSIBLE_YAML_FILENAME_EXT.

stage#

Определяет момент использования расширения.

Доступные значения:

  • all – после импорта описания инвентаря и при каждом запросе переменных задачей;

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

  • task – только при запросе переменных задачей.

Если параметр не задан, используется значение параметра run_vars_plugins из секции [defaults] в ansible.cfg.

Параметр можно задать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [vars_host_group_vars]
    stage = inventory
    
  • Переменная окружения ANSIBLE_VARS_PLUGIN_STAGE.