ansible-quickref

Quick reference for Ansible variables

Github星跟踪图

===============
Quick reference

Quick reference to parameters and special variables.

Facts

See facts_.

.. _facts: facts.rst

EC2 stuff

See ec2_.

.. _ec2: ec2.rst

Docker stuff

See docker_.

.. _docker: docker.rst

Built-in variables

These are variables that are always defined by ansible.

============================ =========================================================================================================================================================================================================
Parameter Description
============================ =========================================================================================================================================================================================================
hostvars A dict whose keys are Ansible host names and values are dicts that map variable names to values
group_names A list of all groups that the current host is a member of
groups A dict whose keys are Ansible group names and values are list of hostnames that are members of the group. Includes all and ungrouped groups: {"all": [...], "web": [...], "ungrouped": [...]}
inventory_hostname Name of the current host as known by ansible.
play_hosts A list of inventory hostnames that are active in the current play (or current batch if running serial)
ansible_version A dict with ansible version info: {"full": 1.8.1", "major": 1, "minor": 8, "revision": 1, "string": "1.8.1"}
role_path The current role’s pathname (available only inside a role)
============================ =========================================================================================================================================================================================================

These can be useful if you want to use a variable associated with a different host. For
example, if you are using the EC2 dynamic inventory and have a single host with
the tag "Name=foo", and you want to access the instance id in a different play,
you can do something like this::

- hosts: tag_Name_foo
  tasks:
    - action: ec2_facts

  ...

- hosts: localhost
  vars:
    instance_id: {{ hostvars[groups['tag_Name_foo'][0]]['ansible_ec2_instance_id'] }}
  tasks:
    - name: print out the instance id for the foo instance
      debug: msg=instance-id is {{ instance_id }}

Internal variables

These are used internally by Ansible.

============================ =========================================================================================================================================================================================================
Variable Description
============================ =========================================================================================================================================================================================================
playbook_dir Directory that contains the playbook being executed
inventory_dir Directory that contains the inventory
inventory_file Host file or script path (?)
============================ =========================================================================================================================================================================================================

Play parameters

=================== =======================================================================
Parameter Description
=================== =======================================================================
any_errors_fatal
gather_facts Specify whether to gather facts or not
handlers List of handlers
hosts Hosts in the play (e.g., webservers).
include Include a playbook defined in another file
max_fail_percentage When serial is set on a play, and some hosts fail on a
task, if the percentage of hosts that fail exceeds this
number, Ansible will fail the whole play. (e.g., 20).
name Name of the play, displayed when play runs (e.g., Deploy a foo).
pre_tasks List of tasks to execute before roles.
port Remote ssh port to connect to
post_tasks List of tasks to execute after roles.
remote_user Alias for user.
role_names
roles List of roles.
serial Integer that indicates how many hosts Ansible should manage at a single
su
su_user
become Boolean that indicates whether ansible should become another user (e.g., True).
become_user If become'ing, user to become as. Defaults: root.
sudo (deprecated, use become) Boolean that indicates whether ansible should use sudo (e.g., True).
sudo_user (deprecated, use become_uesr) If sudo'ing, user to sudo as. Defaults: root.
tasks List of tasks.
user User to ssh as. Default: root (unless overridden in config file)
no_log
vars Dictionary of variables. this is the holy grail of variables, it will output everything!
vars_files List of files that contain dictionary of variables.
vars_prompt Description of vars that user will be prompted to specify.
vault_password
=================== =======================================================================

Task parameters

================== =========================================================================================
Parameter Description
================== =========================================================================================
name Name of the task, displayed when task runs (e.g., Ensure foo is present).
action Name of module to specify. Legacy format, prefer specifying module name directly instead
args A dictionary of arguments. See docs for ec2_tag for an example.
include Name of a separate YAML file that includes additional tasks.
register Record the result to the specified variable (e.g., result)
delegate_to Run task on specified host instead.
local_action Equivalent to: delegate_to: 127.0.0.1.
remote_user Alias for user.
user User to ssh as for this task
become Boolean that indicates whether ansible should become another user (e.g., True).
become_user If become'ing, user to become as. Defaults: root.
sudo Boolean that indicates whether ansible should use sudo on this task
sudo_user If sudo'ing, user to sudo as.
when Boolean. Only run task when this evaluates to True. Default: True
ignore_errors Boolean. If True, ansible will treat task as if it has succeeded even if it returned an
error, Default: False
module More verbose notation for specifying module parameters. See docs for ec2 for an example.
environment Mapping that contains environment variables to pass
failed_when Specify criteria for identifying task has failed (e.g., "'FAILED' in command_result.stderr")
changed_when Specify criteria for identifying task has changed server state
with_items List of items to iterate over
with_nested List of list of items to iterate over in nested fashion
with_fileglob List of local files to iterate over, described using shell fileglob notation
(e.g., /playbooks/files/fooapp/*)
with_first_found Return the first file or path, in the given list, that exists on the control machine
with_together Dictionary of lists to iterate over in parallel
with_random_choice List of items to be selected from at random
with_dict Loop through the elements of a hash
with_sequence Loop over a range of integers
until Boolean, task will retry until evaluates true or until retries
retries Used with "until", number of times to retry. Default: 3
delay Used with "until", seconds to wait between retries. Default: 10
run_once If true, runs task on only one of the hosts
always_run If true, runs task even when in --check mode
================== =========================================================================================

Complex args

There are three ways to specify complex arguments:

just pass them::

- ec2_tag:
    resource: vol-abcdefg
    tags:
      Name: my-volume

action/module parameter::

- action:
    module: ec2_tag
    resource: vol-abcdefg
    tags:
      Name: my-volume

args parameter::

- ec2_tag: resource=vol-abcdefg
  args:
    tags:
      Name: my-volume

Host variables that modify ansible behavior

============================ =========================================================================================
Parameter Description
============================ =========================================================================================
ansible_ssh_host hostname to connect to for a given host
ansible_ssh_port ssh port to connect to for a given host
ansible_ssh_user ssh user to connect as for a given host
ansible_ssh_pass ssh password to connect as for a given host
ansible_ssh_private_key_file ssh private key file to connect as for a given host
ansible_connection connection type to use for a given host (e.g. local)
ansible_python_interpreter python interpreter to use
ansible_*_interpreter interpreter to use
============================ =========================================================================================

Variables returned by setup

These are the same as the output of Facts described in a previous section.
Currently, this just has one variable defined.

================= ================================================== =====================================================================================================================================================================================================================================================
Parameter Description Example
================= ================================================== =====================================================================================================================================================================================================================================================
ansible_date_time Dictionary that contains date info {"date": "2013-10-02", "day": "02", "epoch": "1380756810", "hour": "19","iso8601": "2013-10-02T23:33:30Z","iso8601_micro": "2013-10-02T23:33:30.036070Z","minute": "33","month": "10","second": "30","time": "19:33:30","tz": "EDT","year": "2013"}
================= ================================================== =====================================================================================================================================================================================================================================================

Return value of a loop

If you register a variable with a task that has an iteration, e.g.::

- command: echo {{ item }}
  with_items:
    - foo
    - bar
    - baz
  register: echos

Then the result is a dictionary with the following values:

========== =============================================================
Field name Description
========== =============================================================
changed boolean, true if anything has changed
msg a message such as "All items completed"
results a list that contains the return value for each loop iteration
========== =============================================================

For example, the echos variable would have the following value::

{
    "changed": true,
    "msg": "All items completed",
    "results": [
        {
            "changed": true,
            "cmd": [
                "echo",
                "foo"
            ],
            "delta": "0:00:00.002780",
            "end": "2014-06-08 16:57:52.843478",
            "invocation": {
                "module_args": "echo foo",
                "module_name": "command"
            },
            "item": "foo",
            "rc": 0,
            "start": "2014-06-08 16:57:52.840698",
            "stderr": "",
            "stdout": "foo"
        },
        {
            "changed": true,
            "cmd": [
                "echo",
                "bar"
            ],
            "delta": "0:00:00.002736",
            "end": "2014-06-08 16:57:52.911243",
            "invocation": {
                "module_args": "echo bar",
                "module_name": "command"
            },
            "item": "bar",
            "rc": 0,
            "start": "2014-06-08 16:57:52.908507",
            "stderr": "",
            "stdout": "bar"
        },
        {
            "changed": true,
            "cmd": [
                "echo",
                "baz"
            ],
            "delta": "0:00:00.003050",
            "end": "2014-06-08 16:57:52.979928",
            "invocation": {
                "module_args": "echo baz",
                "module_name": "command"
            },
            "item": "baz",
            "rc": 0,
            "start": "2014-06-08 16:57:52.976878",
            "stderr": "",
            "stdout": "baz"
        }
    ]
}

主要指标

概览
名称与所有者lorin/ansible-quickref
主编程语言JavaScript
编程语言 (语言数: 0)
平台
许可证MIT License
所有者活动
创建于2013-11-06 05:28:42
推送于2017-04-09 00:25:40
最后一次提交2017-04-09 00:25:39
发布数0
用户参与
星数1k
关注者数68
派生数155
提交数70
已启用问题?
问题数6
打开的问题数1
拉请求数5
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?