Spec-Zone.ru › Ansible 2.5

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

Spec-Zone.ru

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