Специальные переменные
Магические
Эти переменные не могут быть установлены пользователем напрямую; Ansible всегда будет перезаписывать их, чтобы отразить внутреннее состояние.
- ansible_check_mode
- Булево значение, указывающее, находимся ли мы в режиме проверки или нет
- ansible_dependent_role_names
- Имена ролей, в настоящее время импортированных в текущий плей как зависимости других плей
- ansible_diff_mode
- Булево значение, указывающее, находимся ли мы в режиме сравнения или нет
- ansible_forks
- Целое число, отражающее максимальное количество вилок, доступных для этого выполнения
- ansible_inventory_sources
- Список источников, используемых в качестве инвентаризации
- ansible_limit
- Содержание параметра
--limitкомандной строки для текущего выполнения Ansible - ansible_loop
- Словарь/карта, содержащая расширенную информацию о цикле при включении с помощью
loop_control.extended - ansible_loop_var
- Имя значения, предоставленного
loop_control.loop_var. Добавлено в2.8 - ansible_index_var
- Имя значения, предоставленного
loop_control.index_var. Добавлено в2.9 - ansible_parent_role_names
-
Когда текущая роль выполняется с помощью действия include_role или import_role, эта переменная содержит список всех родительских ролей, при этом самая последняя роль (т.е. роль, которая включила/импортировала эту роль) является первым элементом в списке. При многократных включениях этот список перечисляет последнюю роль (т.е. роль, которая включила эту роль) как первый элемент в списке. Также возможно, что определенная роль существует в этом списке более одного раза.
Например: Когда роль A включает роль B, внутри роли B,
ansible_parent_role_namesбудет равно['A']. Если роль B затем включает роль C, список становится['B', 'A']. - ansible_parent_role_paths
- Когда текущая роль выполняется с помощью действия include_role или import_role, эта переменная содержит список всех родительских ролей, при этом самая последняя роль (т.е. роль, которая включила/импортировала эту роль) является первым элементом в списке. Обратитесь к
ansible_parent_role_namesдля порядка элементов в этом списке. - ansible_play_batch
- Список активных хостов в текущем выполнении плей, ограниченных по порядку, т.е. «группа». Неуспешные/недоступные хосты не считаются «активными».
- ansible_play_hosts
- То же самое, что и ansible_play_batch
- ansible_play_hosts_all
- Список всех хостов, которые были целевыми для плей
- ansible_play_role_names
- Имена ролей, в настоящее время импортированных в текущий плей. Этот список не содержит имен ролей, которые неявно включены через зависимости.
- ansible_playbook_python
- Путь к интерпретатору Python, используемому Ansible на контроллере
- ansible_role_names
- Имена ролей, в настоящее время импортированных в текущий плей, или ролей, на которые ссылаются как на зависимости импортированных в текущий плей ролей.
- ansible_role_name
- Полное имя роли коллекции в формате
namespace.collection.role_name - ansible_collection_name
- Имя коллекции, частью которой является выполняемая задача. В формате
namespace.collection - ansible_run_tags
- Содержание параметра
--tagsкомандной строки, который определяет, какие теги будут включены для текущего выполнения. - ansible_search_path
- Текущий путь поиска для плагинов действий и поисков, т.е. где мы ищем относительные пути при выполнении
template: src=myfile - ansible_skip_tags
- Содержание параметра
--skip_tagsкомандной строки, который определяет, какие теги будут пропущены для текущего выполнения. - ansible_verbosity
- Текущий уровень подробности Ansible
- ansible_version
- Словарь/карта, содержащая информацию о текущей версии выполняемого ansible, содержит следующие ключи: full, major, minor, revision и string.
- group_names
- Список групп, к которым принадлежит текущий хост
- groups
- Словарь/карта со всеми группами в инвентаризации, и каждая группа содержит список хостов, которые ей принадлежат
- hostvars
- Словарь/карта со всеми хостами в инвентаризации и переменными, им назначенными
- inventory_hostname
- Имя инвентаризации для текущего хоста, который итерируется в плей
- inventory_hostname_short
- Короткий вариант
inventory_hostname - inventory_dir
- Директория источника инвентаризации, в которой
inventory_hostnameбыл впервые определен - inventory_file
- Имя файла источника инвентаризации, в котором
inventory_hostnameбыл впервые определен - omit
- Специальная переменная, позволяющая «пропустить» параметр в задаче, т.е.
- user: name=bob home={{ bobs_home|default(omit) }} - play_hosts
- Устаревшее, то же самое, что и ansible_play_batch
- ansible_play_name
- Имя выполняемого в настоящее время плей. Добавлено в
2.8. - playbook_dir
- Путь к директории плейбука, который был передан в
ansible-playbookкомандной строке. - role_name
- Имя текущей роли, которая выполняется.
- role_names
- Устаревшее, то же самое, что и ansible_play_role_names
- role_path
- Путь к директории текущей выполняемой роли
Факты
Это переменные, содержащие информацию, относящуюся к текущему хосту (inventory_hostname). Они доступны только если были собраны.
- ansible_facts
- Содержит собранные или кэшированные факты для
inventory_hostnameФакты обычно собираются модулем setup автоматически в плей, но любые модули могут возвращать факты. - ansible_local
- Содержит собранные или кэшированные «локальные факты» для
inventory_hostname. Доступные ключи зависят от созданных пользовательских фактов. Подробности см. в модуле setup.
Переменные подключения
Переменные подключения обычно используются для настройки специфики выполнения действий на целевом хосте. Большинство из них соответствуют плагинам подключения, но не все специфичны для них; обычно вовлечены и другие плагины, такие как shell, terminal и become. Описаны только общие, так как каждый плагин подключения/become/shell/и т.д. может определить свои собственные переопределения и специфические переменные. См. Управление поведением Ansible: правила приоритета для того, как переменные подключения взаимодействуют с параметрами конфигурации, параметрами командной строки и ключами плейбука.
- ansible_become_user
- Пользователь, которым Ansible «становится» после использования повышения привилегий. Должен быть доступен для пользователя «логина».
- ansible_connection
- Плагин подключения, фактически используемый для задачи на целевом хосте.
- ansible_host
- Ip/имя целевого хоста для использования вместо
inventory_hostname. - ansible_python_interpreter
- Путь к исполняемому файлу Python, который Ansible должен использовать на целевом хосте.
- ansible_user
- Пользователь, под которым Ansible «входит в систему».
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/reference_appendices/special_variables.html