Source code for linchpin.callbacks

from ansible.plugins.callback import CallbackBase


[docs]class PlaybookCallback(CallbackBase): """Playbook callback""" def __init__(self, display=None, options=None, ansible_version=2.3): # note the following if else ladder should be restructured after # linchpin ansible minimum requirements changed until then # code should be remained unchanged to maintain backward # compatibility to ansible 2.3.1 version if ansible_version >= 2.5: self._load_name = None super(PlaybookCallback, self).__init__(display=display, options=options) elif ansible_version >= 2.4: super(PlaybookCallback, self).__init__(display=display, options=options) else: # since ansible 2.3.1 version does not support options in # inside PlaybbookCallback the options are omitted super(PlaybookCallback, self).__init__(display=display) self._options = options self._display.verbosity = options.verbosity # store all results self.results = {'failed': [], 'ok': []}
[docs] def v2_runner_on_ok(self, result): """Save ok result""" self.results['ok'].append(result)
[docs] def v2_runner_on_failed(self, result, **kwargs): """Save failed result""" ignore_errors = kwargs.get('ignore_errors') if not ignore_errors: self.results['failed'].append(result)