config#
Расширение ansible.builtin.config используется для получения действующих настроек Ansible, заданных во множестве различных источников: инвентарные списки, переменные окружения, аргументы командной строки, переменные сценариев, конфигурационный файл ansible.cfg.
Чтобы получить список основных настроек, выполните команду:
ansible-config list
Чтобы получить также список настроек расширений, выполните команду с аргументами -t all:
ansible-config list -t all
Чтобы получить список действующих значений настроек, выполните команду:
ansible-config dump
Особенности работы#
Расширение возвращает значения в контексте текущего узла (inventory_hostname).
Это значит, что значение одной и той же настройки для разных узлов может различаться.
Не используйте расширение для получения значений настроек, если они заданы в директивах или на них влияет делегирование. Расширение не гарантирует, что в этом случае полученные значения будут корректны.
Позиционные параметры#
Расширение принимает названия искомых настроек как позиционные параметры.
Именованные параметры#
Расширение принимает следующие именованные параметры:
- on_missing#
Поведение модуля в том случае, когда не удастся найти указанную настройку.
Возможные значения:
error– прерывание выполнения задачи с сообщением об ошибке;skip– пропуск задачи без сообщения в выводе;warn– вывод предупреждающего сообщения и продолжение выполнения задачи.
Значение по умолчанию:
error.
- plugin_name#
Название расширения, настройки которого нужно получить.
- plugin_type#
Тип расширения, указанного в значении параметра
plugin_name.Возможные значения:
become;cache;callback;cliconf;connection;httpapi;inventory;lookup;netconf;shell;vars.
Возвращаемые значения#
Расширение возвращает список значений указанных настроек.
Условия: успешное завершение.
Примеры#
Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.
Получение значения одной настройки#
Следующий пример демонстрирует получение значения настройки DEFAULT_BECOME_USER:
---
# ...
tasks:
- name: Print default become user name
ansible.builtin.debug:
msg: "Default become user: {{ lookup('ansible.builtin.config', 'DEFAULT_BECOME_USER') }}"
Результат выполнения задачи:
Получение значений нескольких настроек#
Следующий пример демонстрирует получение значений нескольких настроек:
---
# ...
tasks:
- name: Print settings
ansible.builtin.debug:
msg: "{{ item }}"
loop: "{{ lookup('ansible.builtin.config', 'DEFAULT_DEBUG', 'DEFAULT_BECOME_USER', 'INTERPRETER_PYTHON') }}"
Результат выполнения задачи:
Получение настроек расширений#
Следующий пример демонстрирует получение значений настроек расширения подключения ansible.builtin.ssh.
Чтобы полученные значения были представлены в виде списка, в аргументы вызова lookup добавлен параметр wantlist со значением true:
---
# ...
tasks:
- name: Show plugin settings
ansible.builtin.debug:
msg: "{{ item }}"
loop: "{{ lookup('ansible.builtin.config',
'private_key_file',
'remote_user',
plugin_type='connection',
plugin_name='ssh',
wantlist=true) }}"
Результат выполнения задачи: