Add Jinja2 filter 'skipped' to test for a registered variable from a skipped task

This commit is contained in:
Stoned Elipot 2013-07-07 21:39:09 +02:00
parent b2d881a899
commit 906746b1f0
2 changed files with 12 additions and 0 deletions

View file

@ -300,6 +300,8 @@ decide to do something conditionally based on success or failure::
when: result|failed
- action: command /bin/something_else
when: result|success
- action: command /bin/still/something_else
when: result|skipped
As a reminder, to see what derived variables are available, you can do::

View file

@ -44,6 +44,13 @@ def failed(*a, **kw):
def success(*a, **kw):
return not failed(*a, **kw)
def skipped(*a, **kw):
item = a[0]
if type(item) != dict:
raise errors.AnsibleError("|skipped expects a dictionary")
skipped = item.get('skipped', False)
return skipped
def mandatory(a):
''' Make a variable mandatory '''
if not a:
@ -88,6 +95,9 @@ class FilterModule(object):
'failed' : failed,
'success' : success,
# skip testing
'skipped' : skipped,
# variable existence
'mandatory': mandatory,