mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-26 04:11:25 -07:00
Allow variable expressions to be stored as variables themselves, do some things to allow setup strings
to more easily contain spaces without being mangled, which is neccessary because of the above.
This commit is contained in:
parent
e89131a3a2
commit
e6406fa5a7
4 changed files with 51 additions and 13 deletions
|
@ -9,17 +9,39 @@
|
|||
favcolor: "red"
|
||||
ssn: 8675309
|
||||
|
||||
# Below we're going to define some expressions.
|
||||
#
|
||||
# Not only can we assign variables for reuse, but we can also assign conditional
|
||||
# expressions. By keeping these in 'vars', the task section remains
|
||||
# extraordinarily clean, and not littered with programming language
|
||||
# constructs -- so it's easily skimmed by humans.
|
||||
#
|
||||
# Remember to quote any variables if they are not numbers!
|
||||
#
|
||||
# Interesting fact: aside from the $variables, these expressions are actually
|
||||
# tiny bits of Python. They are evaluated in the context of each host, so different
|
||||
# steps can be skipped on different hosts! They should evaluate to either True
|
||||
# or False
|
||||
|
||||
is_favcolor_blue: "'$favcolor' == 'blue'"
|
||||
# is_centos: "'$facter_operatingsystem' == 'CentOS'"
|
||||
|
||||
# NOTE:
|
||||
#
|
||||
# facter and ohai variables can be used in only_if statements too
|
||||
# ex: "$facter_operatingsystem == 'CentOS'", which bubble up automatically
|
||||
# ex: "'$facter_operatingsystem' == 'CentOS'", which bubble up automatically
|
||||
# from the managed machines
|
||||
#
|
||||
# this example won't do that though, as you might not have facter or ohai,
|
||||
# but you get the idea...
|
||||
|
||||
tasks:
|
||||
|
||||
- name: "do this if my favcolor is blue"
|
||||
action: shell /bin/false
|
||||
only_if: "'$favcolor' == 'blue'"
|
||||
only_if: '$is_favcolor_blue'
|
||||
|
||||
- name: "do this if my favcolor is red"
|
||||
action: shell /bin/false
|
||||
only_if: "'$favcolor' == 'red'"
|
||||
- name: "do this if my favcolor is not blue"
|
||||
action: shell /bin/true
|
||||
only_if: 'not ($is_favcolor_blue)'
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue