Spec-Zone.ru › Ansible 2.6

include_vars - Загрузка переменных из файлов динамически в задаче

Новое в версии 1.4.

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Поддержка
    • Автор

Описание

  • Загружает переменные из YAML/JSON-файлов динамически из файла или каталога рекурсивно во время выполнения задачи. При загрузке каталога файлы сортируются в алфавитном порядке перед загрузкой.
  • Этот модуль также поддерживается для целевых систем Windows.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
depth
(добавлено в 2.2)
Значение по умолчанию:
0
При использовании dir, этот модуль по умолчанию рекурсивно проходит по каждой подпапке и загружает переменные. Явно задав глубину, этот модуль будет переходить только на указанную глубину.
dir
(добавлено в 2.2)
Имя каталога, из которого следует загрузить переменные.
Если путь относительный, то файл ищется в подкаталоге vars/ роли или относительно плейбука.
extensions
(добавлено в 2.3)
Значение по умолчанию:
["yaml", "yml", "json"]
Список расширений файлов для чтения при использовании dir.
file
(добавлено в 2.2)
Имя файла, из которого следует загрузить переменные.
Если путь относительный, то файл ищется в подкаталоге vars/ роли или относительно плейбука.
files_matching
(добавлено в 2.2)
Ограничение файлов, которые загружаются в каталоге, с помощью регулярного выражения.
free-form
Этот модуль позволяет указать параметр «file» напрямую без других параметров. Параметра «free-form» нет, это просто индикатор, см. пример ниже.
ignore_files
(добавлено в 2.2)
Список имен файлов для игнорирования.
name
(добавлено в 2.2)
Имя переменной, в которую будут сохранены загруженные переменные. Если опущено (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
список

(добавлено в 2.4)
успех
Список файлов, которые были успешно включены

Пример:
['/path/to/file.yaml', '/path/to/file.json']


Статус

Этот модуль отмечен как stableinterface, что означает, что разработчики гарантируют отсутствие несовместимых изменений интерфейса.

Техническое обслуживание

Этот модуль отмечен как core, что означает, что он поддерживается основной командой Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.

Список других модулей, поддерживаемых командой Ansible Core, см. здесь.

Поддержка

Дополнительную информацию о поддержке этого модуля 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.6/modules/include_vars_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API