ansible/docs/docsite/rst/reference_appendices/special_variables.rst
Alex Ratner 0c7f6e5047 fixes for typos, grammar, and links (#48721)
* fixes for typos, grammar, and links on magic vars page
2018-11-15 17:46:41 -06:00

4.7 KiB

Special Variables

Magic

These variables cannot be set directly by the user; Ansible will always override them to reflect internal state.

ansible_check_mode

Boolean that indicates if we are in check mode or not

ansible_dependent_role_names

The names of the roles currently imported into the current play as dependencies of other plays

ansible_diff_mode

Boolean that indicates if we are in diff mode or not

ansible_forks

Integer reflecting the number of maximum forks available to this run

ansible_inventory_sources

List of sources used as inventory

ansible_limit

Contents of the --limit CLI option for the current execution of Ansible

ansible_play_batch

List of active hosts in the current play run limited by the serial, aka 'batch'. Failed/Unreachable hosts are not considered 'active'.

ansible_play_hosts

The same as ansible_play_batch

ansible_play_hosts_all

List of all the hosts that were targeted by the play

ansible_play_role_names

The names of the roles currently imported into the current play. This list does not contain the role names that are implicitly included via dependencies.

ansible_playbook_python

The path to the python interpreter being used by Ansible on the controller

ansible_role_names

The names of the roles currently imported into the current play, or roles referenced as dependencies of the roles imported into the current play.

ansible_run_tags

Contents of the --tags CLI option, which specifies which tags will be included for the current run.

ansible_search_path

Current search path for action plugins and lookups, i.e where we search for relative paths when you do template: src=myfile

ansible_skip_tags

Contents of the --skip_tags CLI option, which specifies which tags will be skipped for the current run.

ansible_verbosity

Current verbosity setting for Ansible

ansible_version

Dictionary/map that contains information about the current running version of ansible, it has the following keys: full, major, minor, revision and string.

group_names

List of groups the current host is part of

groups

A dictionary/map with all the groups in inventory and each group has the list of hosts that belong to it

hostvars

A dictionary/map with all the hosts in inventory and variables assigned to them

inventory_hostname

The inventory name for the 'current' host being iterated over in the play

inventory_hostname_short

The short version of inventory_hostname

inventory_dir

The directory of the inventory source in which the inventory_hostname was first defined

inventory_file

The file name of the inventory source in which the inventory_hostname was first defined

omit

Special variable that allows you to 'omit' an option in a task, i.e - user: name=bob home={{ bobs_home|default(omit) }}

play_hosts

Deprecated, the same as ansible_play_batch

ansible_play_name

The name of the currently executed play. Added in 2.8.

playbook_dir

The path to the directory of the playbook that was passed to the ansible-playbook command line.

role_name

The name of the currently executed role

role_names

Deprecated, the same as ansible_play_role_names

role_path

The path to the dir of the currently running role

Facts

These are variables that contain information pertinent to the current host (inventory_hostname). They are only available if gathered first.

ansible_facts

Contains any facts gathered or cached for the inventory_hostname Facts are normally gathered by the setup <setup_module> module automatically in a play, but any module can return facts.

ansible_local

Contains any 'local facts' gathered or cached for the inventory_hostname. The keys available depend on the custom facts created. See the setup <setup_module> module for more details.

Connection variables

Connection variables are normally used to set the specifics on how to execute actions on a target. Most of them correspond to connection plugins, but not all are specific to them; other plugins like shell, terminal and become are normally involved. Only the common ones are described as each connection/become/shell/etc plugin can define its own overrides and specific variables.

ansible_become_user

The user Ansible 'becomes' after using privilege escalation. This must be available to the 'login user'.

ansible_connecion

The connection plugin actually used for the task on the target host.

ansible_host

The ip/name of the target host to use instead of inventory_hostname.

ansible_python_interpreter

The path to the Python executable Ansible should use on the target host.

ansible_user

The user Ansible 'logs in' as.