Специальные переменные
Магические переменные
Эти переменные не могут быть установлены пользователем напрямую; Ansible всегда будет перезаписывать их, чтобы отразить внутреннее состояние.
- ansible_check_mode
-
Булево значение, указывающее, находимся ли мы в режиме проверки или нет
- ansible_config_file
-
Полный путь к используемому конфигурационному файлу Ansible
- ansible_dependent_role_names
-
Названия ролей, в настоящее время импортированных в текущий прогон как зависимости от других прогонов
- ansible_diff_mode
-
Булево значение, указывающее, находимся ли мы в режиме diff или нет
- 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_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командной строки, которое указывает, какие теги будут включены для текущего прогона. Обратите внимание, что если--tagsне передано, эта переменная будет по умолчанию равна["all"] - 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. (Атрибутnameпрогона, а не имя файла playbook.) - playbook_dir
-
Путь к каталогу playbook, который был передан команде
ansible-playbook. - role_name
-
Имя роли, которая выполняется в настоящее время.
- role_names
-
Устарело, то же, что и ansible_play_role_names
- role_path
-
Путь к каталогу текущей исполняемой роли
Факты
Это переменные, содержащие информацию, относящуюся к текущему хосту (inventory_hostname). Они доступны только если были собраны сначала. Дополнительную информацию см. в разделе Открытие переменных: факты и магические переменные.
- ansible_facts
-
Содержит любые собранные или кэшированные факты для
inventory_hostnameФакты обычно собираются модулем setup автоматически в прогоне, но любые модули могут возвращать факты. - ansible_local
-
Содержит любые собранные или кэшированные «локальные факты» для
inventory_hostname. Доступные ключи зависят от созданных пользовательских фактов. Дополнительные сведения см. в модуле setup и facts.d или локальные факты.
Переменные подключения
Переменные подключения обычно используются для задания параметров выполнения действий на целевом узле. Большинство из них соответствуют плагинам подключения, но не все являются специфичными для них; часто задействованы другие плагины, такие как shell, terminal и become. Описаны только общие, так как каждый плагин подключения/become/shell и т. д. может определять свои собственные переопределения и специфичные переменные. Информацию о взаимодействии переменных подключения с правилами приоритета, настройками конфигурации, параметрами командной строки и ключами playbook см. в разделе Управление поведением 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/reference_appendices/special_variables.html