include_vars — Загрузка переменных из файлов динамически внутри задачи
Новая в версии 1.4.
Описание
- Загружает переменные из файлов YAML/JSON динамически из файла или из каталога рекурсивно во время выполнения задачи. При загрузке каталога файлы сортируются в алфавитном порядке перед загрузкой.
- Этот модуль также поддерживается для целевых платформ Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| depth (добавлено в 2.2) | Значение по умолчанию: 0 | При использовании dir, этот модуль по умолчанию рекурсивно проходит по всем подкаталогам и загружает переменные. Явно задав глубину, этот модуль пройдёт только до указанной глубины. |
| dir (добавлено в 2.2) | Значение по умолчанию: None | Имя каталога, из которого должны загружаться переменные. Если путь относительный, модуль будет искать файл в подкаталоге vars/ роли или относительно плейбука. |
| extensions (добавлено в 2.3) | Значение по умолчанию: [u'yaml', u'yml', u'json'] | Список расширений файлов для чтения при использовании dir. |
| file (добавлено в 2.2) | Имя файла, из которого должны загружаться переменные. Если путь относительный, модуль будет искать файл в подкаталоге vars/ роли или относительно плейбука. | |
| files_matching (добавлено в 2.2) | Значение по умолчанию: None | Ограничить файлы, загруженные в каталоге, указанной регулярной выражением. |
| free-form | Этот модуль позволяет указать параметр 'file' непосредственно без других параметров. Параметра 'free-form' нет, это просто указатель, см. пример ниже. | |
| ignore_files (добавлено в 2.2) | Значение по умолчанию: None | Список имен файлов для игнорирования. |
| name (добавлено в 2.2) | Значение по умолчанию: None | Имя переменной, в которую присваиваются включенные переменные. Если опущено (null), они станут переменными верхнего уровня. |
Примечания
Примечание
- Этот модуль также поддерживается для целевых платформ Windows.
Примеры
- name: Include vars of stuff.yaml into the 'stuff' variable (2.2).
include_vars:
file: stuff.yaml
name: stuff
- name: Conditionally decide to load in variables into 'plans' when x is 0, otherwise do not. (2.2)
include_vars:
file: contingency_plan.yaml
name: plans
when: x == 0
- name: Load a variable file based on the OS type, or a default if not found. Using free-form to specify the file.
include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_distribution }}.yaml"
- "{{ ansible_os_family }}.yaml"
- default.yaml
- name: Bare include (free-form)
include_vars: myvars.yaml
- name: Include all .json and .jsn files in vars/all and all nested directories (2.3)
include_vars:
dir: vars/all
extensions:
- json
- jsn
- name: Include all default extension files in vars/all and all nested directories and save the output in test. (2.2)
include_vars:
dir: vars/all
name: test
- name: Include default extension files in vars/services (2.2)
include_vars:
dir: vars/services
depth: 1
- name: Include only files matching bastion.yaml (2.2)
include_vars:
dir: vars
files_matching: bastion.yaml
- name: Include all .yaml files except bastion.yaml (2.3)
include_vars:
dir: vars
ignore_files: bastion.yaml
extensions: [yaml]
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| ansible_included_var_files список | успех | Список файлов, которые были успешно включены Пример: ['/path/to/file.yaml', '/path/to/file.json'] |
Статус
Этот модуль помечен как stableinterface, что означает, что авторы данного модуля гарантируют отсутствие несовместимых изменений интерфейса, нарушающих обратную совместимость.
Поддержка
Для получения дополнительной информации о поддержке данного модуля Red Hat, обратитесь к этой статье базы знаний
Автор
- Allen Sanabria (@linuxdynasty)
Подсказка
Если вы обнаружите проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/include_vars_module.html