mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-28 03:00:23 -07:00
Introduce 'changed_when' keyword to override a task's changed status with the evaluation of a Jinja2 expression
This commit is contained in:
parent
81940c8b11
commit
eb45f07ae3
5 changed files with 75 additions and 6 deletions
|
@ -630,6 +630,16 @@ class Runner(object):
|
|||
module_name=module_name
|
||||
)
|
||||
|
||||
changed_when = self.module_vars.get('changed_when')
|
||||
if changed_when is not None:
|
||||
register = self.module_vars.get('register')
|
||||
if register is not None:
|
||||
if 'stdout' in data:
|
||||
data['stdout_lines'] = data['stdout'].splitlines()
|
||||
inject[register] = data
|
||||
changed = template.template(self.basedir, changed_when, inject, fail_on_undefined=self.error_on_undefined_vars)
|
||||
data['changed'] = utils.check_conditional(changed)
|
||||
|
||||
if is_chained:
|
||||
# no callbacks
|
||||
return result
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue