Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modified playbooks2.rst to include conditional boolean example. #3805

Merged
merged 1 commit into from
Aug 10, 2013
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 19 additions & 0 deletions docsite/latest/rst/playbooks2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -338,8 +338,27 @@ Tip: Sometimes you'll get back a variable that's a string and you'll want to do
- shell: echo "only on Red Hat 6, derivatives, and later"
when: ansible_os_family == "RedHat" and ansible_lsb.major_release|int >= 6

Note the above example requires the lsb_release package on the target host in order to return the ansible_lsb.major_release fact.

Variables defined in the playbooks or inventory can also be used.

An example may be the execution of a task based on a variable's boolean value::

vars:
epic: true

Then a conditional execution with action on the boolean value of epic being True::

tasks:
- shell: echo "This certainly is epic!"
when: epic

With a boolean value of False::

tasks:
- shell: echo "This certainly isn't epic!"
when: not epic

If a required variable has not been set, you can skip or fail using Jinja2's
`defined` test. For example::

Expand Down