ansible-playbook <filename.yml> ... [options]
Ansible playbooks are a configuration and multinode deployment system. Ansible-playbook is the tool used to run them. See the project home page (link below) for more information.
- The names of one or more YAML format files to run as ansible playbooks.
- Use privilege escalation (specific one depends on become_method), this does not imply prompting for passwords.
- Ask for privilege escalation password.
- Prompt for the connection password, if it is needed for the transport used. For example, using ssh and not having a key-based authentication with ssh-agent.
- Prompt for su password, used with --su (deprecated, use become).
- Prompt for the password to use with --sudo, if any (deprecated, use become).
- Prompt for vault password.
- Do not make any changes on the remote system, but test resources to see what might have changed. Note this can not scan all possible resource types and is only a simulation.
-c CONNECTION, --connection=CONNECTION
- Connection type to use. Most common options are paramiko (SSH), ssh, winrm and local. local is mostly useful for crontab or kickstarts.
- When changing any templated files, show the unified diffs of how they changed. When used with --check, shows how the files would have changed if --check were not used.
-e EXTRA_VARS, --extra-vars=EXTRA_VARS
- Extra variables to inject into a playbook, in key=value key=value format or as quoted YAML/JSON (hashes and arrays). To load variables from a file, specify the file preceded by @ (e.g. @vars.yml).
- Clear the fact cache.
- Run handlers even if a task fails.
-f NUM, --forks=NUM
- Level of parallelism. NUM is specified as an integer, the default is 5.
- Show help page and exit
-i PATH, --inventory=PATH
- The PATH to the inventory, which defaults to /etc/ansible/hosts. Alternatively, you can use a comma-separated list of hosts or a single host with a trailing comma host,.
-l SUBSET, --limit=SUBSET
- Further limits the selected host/group patterns. You can prefix it with ~ to indicate that the pattern is a regex.
- Outputs a list of matching hosts; does not execute anything else.
- List all available tags; does not execute anything else.
- List all tasks that would be executed; does not execute anything else.
-M DIRECTORY, --module-path=DIRECTORY
- The DIRECTORY search path to load modules from. The default is /usr/share/ansible. This can also be set with the ANSIBLE_LIBRARY environment variable.
- Use this file to authenticate the connection
- Start the playbook at the task matching this name.
- One-step-at-a-time: confirm each task before running.
- Run operations with su (deprecated, use become)
-R SU-USER, --su-user=SU_USER
- run operations with su as this user (default=root) (deprecated, use become)
- Run the command as the user given by -u and sudo to root (deprecated, use become).
--ssh-common-args='-o ProxyCommand="ssh -W %h:%p ..." ...'
- Add the specified arguments to any sftp/scp/ssh command-line. Useful to set a ProxyCommand to use a jump host, but any arguments that are accepted by all three programs may be specified.
- Add the specified arguments to any sftp command-line.
- Add the specified arguments to any scp command-line.
- Add the specified arguments to any ssh command-line.
-U SUDO_USERNAME, --sudo-user=SUDO_USERNAME
- Sudo to SUDO_USERNAME default is root. (deprecated, use become).
- Only run plays and tasks whose tags do not match these values.
- Look for syntax errors in the playbook, but don't run anything
-t, TAGS, --tags=TAGS
- Only run plays and tasks tagged with these values.
-T SECONDS, --timeout=SECONDS
- Connection timeout to use when trying to talk to hosts, in SECONDS.
-u USERNAME, --user=USERNAME
- Use this USERNAME to login to the target host, instead of the current user.
- Vault password file.
- Verbose mode, more output from successful actions will be shown. Give up to three times for more output.
- Show program's version number and exit.
0 --- OK or no hosts matched
1 --- Error
2 --- One or more hosts failed
3 --- One or more hosts were unreachable
4 --- Parser error
5 --- Bad or incomplete options
99 --- User interrupted execution
250 --- Unexpected error
The following environment variables may be specified.
ANSIBLE_INVENTORY --- Override the default ansible inventory file
ANSIBLE_LIBRARY --- Override the default ansible module library path
ANSIBLE_CONFIG --- Override the default ansible config file
Many more are available for most options in ansible.cfg
/etc/ansible/hosts --- Default inventory file
/usr/share/ansible/ --- Default module library
/etc/ansible/ansible.cfg --- Config file, used if present
~/.ansible.cfg --- User config file, overrides the default config if present
Ansible was originally written by Michael DeHaan. See the AUTHORS file for a complete list of contributors.
Copyright © 2012, Michael DeHaan
Ansible is released under the terms of the GPLv3 License.