make changed filter understand results lists

parent e5d45311
...@@ -54,7 +54,16 @@ def changed(*a, **kw): ...@@ -54,7 +54,16 @@ def changed(*a, **kw):
item = a[0] item = a[0]
if type(item) != dict: if type(item) != dict:
raise errors.AnsibleFilterError("|changed expects a dictionary") raise errors.AnsibleFilterError("|changed expects a dictionary")
return item.get('changed', False) if not 'changed' in item:
changed = False
if ('results' in item # some modules return a 'results' key
and type(item['results']) == list
and type(item['results'][0]) == dict):
for result in item['results']:
changed = changed or result.get('changed', False)
else:
changed = item.get('changed', False)
return changed
def skipped(*a, **kw): def skipped(*a, **kw):
''' Test if task result yields skipped ''' ''' Test if task result yields skipped '''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment