Специальные переменные
Магические переменные
Пользователь не может задавать эти переменные напрямую; Ansible всегда переопределяет их, чтобы они отражали внутреннее состояние.
-
ansible_check_mode -
Логическое значение, указывающее, включён ли режим проверки
-
ansible_collection_name -
Имя коллекции, частью которой является выполняемая задача. Формат:
namespace.collection -
ansible_config_file -
Полный путь к используемому файлу конфигурации Ansible
-
ansible_dependent_role_names -
Имена ролей, импортированных в текущий play в качестве зависимостей других play
-
ansible_diff_mode -
Логическое значение, указывающее, включён ли режим различий
-
ansible_forks -
Целое число, отражающее максимальное количество процессов, доступных для этого запуска
-
ansible_index_var -
Имя значения, переданного в
loop_control.index_var. Добавлено в2.9 -
ansible_inventory_sources -
Список источников, используемых в качестве инвентаря
-
ansible_limit -
Содержимое параметра командной строки
--limitдля текущего запуска Ansible -
ansible_loop -
Словарь/отображение с расширенной информацией о цикле, если она включена с помощью
loop_control.extended -
ansible_loop_var -
Имя значения, переданного в
loop_control.loop_var. Добавлено в2.8 -
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 -
Список активных узлов в текущем запуске play, ограниченный параметром serial, то есть «пакетом». Сбойные или недоступные узлы не считаются «активными».
-
ansible_play_hosts -
Список узлов в текущем запуске play, не ограниченный параметром serial. Сбойные или недоступные узлы исключены из этого списка.
-
ansible_play_hosts_all -
Список всех узлов, на которые был нацелен play
-
ansible_play_name -
Имя выполняемого в данный момент play. Добавлено в
2.8. (nameатрибут play, а не имя файла playbook.) -
ansible_play_role_names -
Имена ролей, импортированных в текущий play. Этот список не содержит имена ролей, неявно включённых в качестве зависимостей.
-
ansible_playbook_python -
Путь к интерпретатору Python, используемому Ansible на управляющем узле
-
ansible_role_name -
Полное имя роли в коллекции в формате
namespace.collection.role_name -
ansible_role_names -
Имена ролей, импортированных в текущий play, или ролей, указанных в качестве зависимостей ролей, импортированных в текущий play.
-
Содержимое параметра командной строки
--tags, определяющего, какие теги будут включены в текущий запуск. Обратите внимание: если--tagsне указан, по умолчанию значение этой переменной будет["all"]. -
ansible_search_path -
Текущий путь поиска модулей действий и lookup-плагинов; другими словами, место, где выполняется поиск относительных путей при использовании
template: src=myfile -
Содержимое параметра командной строки
--skip-tags, определяющего, какие теги будут пропущены в текущем запуске. -
ansible_verbosity -
Текущий уровень подробности вывода Ansible
-
ansible_version -
Словарь/отображение со сведениями о текущей версии ansible. Он содержит следующие ключи: full, major, minor, revision и string.
-
group_names -
Список групп, в которые входит текущий узел. Он всегда отражает
inventory_hostnameи игнорирует делегирование. -
groups -
Словарь/отображение со всеми группами в инвентаре; для каждой группы указан список входящих в неё узлов
-
hostvars -
Словарь/отображение со всеми узлами в инвентаре и назначенными им переменными
-
inventory_dir -
Каталог источника инвентаря, в котором впервые было определено
inventory_hostname. Он всегда отражаетinventory_hostnameи игнорирует делегирование. -
inventory_hostname -
Имя узла в инвентаре, которое используется для «текущего» узла в play. Делегирование на него не влияет: оно всегда отражает исходный узел для задачи
-
inventory_hostname_short -
Краткая версия
inventory_hostname— первый компонент после разделения по.. Например, дляinventory_hostname, равногоwww.example.com, значениемwwwбудетinventory_hostname_short. На неё влияет делегирование, поэтому она отражает «короткое имя» делегированного узла -
inventory_file -
Имя файла источника инвентаря, в котором впервые было определено
inventory_hostname. Игнорирует делегирование и всегда отражает сведения оinventory_hostname. -
omit -
Специальная переменная, позволяющая «опустить» параметр в задаче, например
- user: name=bob home={{ bobs_home|default(omit) }} -
play_hosts -
Устарела; то же, что ansible_play_batch
-
playbook_dir -
Путь к каталогу выполняемого в данный момент playbook. ПРИМЕЧАНИЕ: он может отличаться от каталога playbook, переданного в командную строку
ansible-playbook, если playbook содержит инструкциюimport_playbook. -
role_name -
Имя выполняемой в данный момент роли.
-
role_names -
Устарела; то же, что ansible_play_role_names
-
role_path -
Путь к каталогу выполняемой в данный момент роли
Факты
Это переменные, содержащие сведения о текущем узле (inventory_hostname). Они доступны только после сбора. Дополнительные сведения см. в разделе Обнаружение переменных: факты и магические переменные.
-
ansible_facts -
Содержит все факты, собранные или кэшированные для
inventory_hostname. Обычно факты автоматически собираются модулем setup при выполнении play, но любой модуль может возвращать факты. -
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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/reference_appendices/special_variables.html