ansible-playbook(1) =================== :doctype:manpage :man source: Ansible :man version: %VERSION% :man manual: System administration commands NAME ---- ansible-playbook - run an ansible playbook SYNOPSIS -------- ansible-playbook ... [options] DESCRIPTION ----------- *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. ARGUMENTS --------- *filename.yml*:: The names of one or more YAML format files to run as ansible playbooks. OPTIONS ------- *--ask-become-pass*:: Ask for privilege escalation password. *-k*, *--ask-pass*:: 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. *--ask-su-pass*:: Prompt for su password, used with --su (deprecated, use become). *-K*, *--ask-sudo-pass*:: Prompt for the password to use with --sudo, if any (deprecated, use become). *--ask-vault-pass*:: Prompt for vault password. *-C*, *--check*:: 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. *-D*, *--diff*:: 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). *--flush-cache*:: Clear the fact cache. *--force-handlers*:: Run handlers even if a task fails. *-f* 'NUM', *--forks=*'NUM':: Level of parallelism. 'NUM' is specified as an integer, the default is 5. *-h*, *--help*:: 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 in a regex. *--list-hosts*:: Outputs a list of matching hosts; does not execute anything else. *--list-tags*:: List all available tags; does not execute anything else. *--list-tasks*:: 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. *--private-key=*'PRIVATE_KEY_FILE':: Use this file to authenticate the connection *--start-at-task=*'START_AT':: Start the playbook at the task matching this name. *--step*:: One-step-at-a-time: confirm each task before running. *-S*, --su*:: 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) *-s*, *--sudo*:: 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. *--sftp-extra-args=*''-f ...'':: Add the specified arguments to any sftp command-line. *--scp-extra-args=*''-l ...'':: Add the specified arguments to any scp command-line. *--ssh-extra-args=*''-R ...'':: Add the specified arguments to any ssh command-line. *-U* 'SUDO_USERNAME', *--sudo-user=*'SUDO_USERNAME':: Sudo to 'SUDO_USERNAME' deafult is root. (deprecated, use become). *--skip-tags=*'SKIP_TAGS':: Only run plays and tasks whose tags do not match these values. *--syntax-check*:: 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=*'VAULT_PASSWORD_FILE':: Vault password file. *-v*, *--verbose*:: Verbose mode, more output from successful actions will be shown. Give up to three times for more output. *--version*:: Show program's version number and exit. EXIT STATUS ----------- *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 ENVIRONMENT ----------- 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 FILES ----- /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 AUTHOR ------ Ansible was originally written by Michael DeHaan. See the AUTHORS file for a complete list of contributors. COPYRIGHT --------- Copyright © 2012, Michael DeHaan Ansible is released under the terms of the GPLv3 License. SEE ALSO -------- *ansible*(1), *ansible-pull*(1), *ansible-doc*(1), *ansible-vault*(1), *ansible-galaxy*(1) Extensive documentation is available in the documentation site: . IRC and mailing list info can be found in file CONTRIBUTING.md, available in: