40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
---
|
|
# this is a demo of conditional executions using 'when' statements, which can skip
|
|
# certain tasks on machines/platforms/etc where they do not apply.
|
|
|
|
- hosts: all
|
|
user: root
|
|
|
|
vars:
|
|
favcolor: "red"
|
|
dog: "fido"
|
|
cat: "whiskers"
|
|
ssn: 8675309
|
|
|
|
tasks:
|
|
|
|
- name: "do this if my favcolor is blue, and my dog is named fido"
|
|
action: shell /bin/false
|
|
when: favcolor == 'blue' and dog == 'fido'
|
|
|
|
- name: "do this if my favcolor is not blue, and my dog is named fido"
|
|
action: shell /bin/true
|
|
when: favcolor != 'blue' and dog == 'fido'
|
|
|
|
- name: "do this if my SSN is over 9000"
|
|
action: shell /bin/true
|
|
when: ssn > 9000
|
|
|
|
- name: "do this if I have one of these SSNs"
|
|
action: shell /bin/true
|
|
when: ssn in [ 8675309, 8675310, 8675311 ]
|
|
|
|
- name: "do this if a variable named hippo is NOT defined"
|
|
action: shell /bin/true
|
|
when: hippo is not defined
|
|
|
|
- name: "do this if a variable named hippo is defined"
|
|
action: shell /bin/true
|
|
when: hippo is defined
|
|
|
|
|