diff options
Diffstat (limited to 'lib/ansible/playbook/handler.py')
-rw-r--r-- | lib/ansible/playbook/handler.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/ansible/playbook/handler.py b/lib/ansible/playbook/handler.py index 09f122e..a7b4a53 100644 --- a/lib/ansible/playbook/handler.py +++ b/lib/ansible/playbook/handler.py @@ -37,6 +37,16 @@ class Handler(Task): ''' returns a human-readable representation of the handler ''' return "HANDLER: %s" % self.get_name() + def _validate_listen(self, attr, name, value): + new_value = self.get_validated_value(name, attr, value, None) + if self._role is not None: + for listener in new_value.copy(): + new_value.extend([ + f"{self._role.get_name(include_role_fqcn=True)} : {listener}", + f"{self._role.get_name(include_role_fqcn=False)} : {listener}", + ]) + setattr(self, name, new_value) + @staticmethod def load(data, block=None, role=None, task_include=None, variable_manager=None, loader=None): t = Handler(block=block, role=role, task_include=task_include) |