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 <filename.yml> ... [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
-------

*-v*, *--verbose*::

Verbose mode, more output from successful actions will be shown. Give
up to three times for more output.

*-i* 'PATH', *--inventory=*'PATH'::

The 'PATH' to the inventory hosts file, which defaults to
'/etc/ansible/hosts'.


*-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.

*-e* 'VARS', *--extra-vars=*'VARS'::

Extra variables to inject into a playbook, in key=value key=value format or
as quoted JSON (hashes and arrays).

*-f* 'NUM', *--forks=*'NUM'::

Level of parallelism. 'NUM' is specified as an integer, the default is 5.


*-k*, *--ask-pass*::

Prompt for the SSH password instead of assuming key-based
authentication with ssh-agent.


*-K*, *--ask-sudo-pass*::

Prompt for the password to use for playbook plays that request sudo
access, if any.

*-U*, 'SUDO_USER', *--sudo-user=*'SUDO_USER'::

Desired sudo user (default=root).

*-t*, 'TAGS', *--tags=*'TAGS'::

Only run plays and tasks tagged with these values.

*--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

*--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.

*--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.

*-T* 'SECONDS', *--timeout=*'SECONDS'::

Connection timeout to use when trying to talk to hosts, in 'SECONDS'.


*-s*, *--sudo*::

Force all plays to use sudo, even if not marked as such.


*-u* 'USERNAME', *--user=*'USERNAME'::

Use this remote user name on playbook steps that do not indicate a
user name to run as.

*-c* 'CONNECTION', *--connection=*'CONNECTION'::

Connection type to use.  Possible options are 'paramiko' (SSH), 'ssh',
and 'local'.  'local' is mostly useful for crontab or kickstarts.

*-l* 'SUBSET', *--limit=*'SUBSET'::

Further limits the selected host/group patterns.


ENVIRONMENT
-----------

The following environment variables may be specified.

ANSIBLE_HOSTS  -- Override the default ansible hosts file

ANSIBLE_LIBRARY -- Override the default ansible module library path

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)

Extensive documentation is available in the documentation site:
<http://docs.ansible.com>. IRC and mailing list info can be found
in file CONTRIBUTING.md, available in: <https://github.com/ansible/ansible>
