mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-26 06:31:23 -07:00
allow custom callbacks with adhoc cli for scripting
missing import of CallbackBase
This commit is contained in:
parent
30e729557f
commit
6680cc7052
3 changed files with 14 additions and 4 deletions
|
@ -34,6 +34,7 @@ from ansible.playbook.play_context import PlayContext
|
|||
from ansible.plugins import callback_loader, strategy_loader, module_loader
|
||||
from ansible.template import Templar
|
||||
from ansible.vars.hostvars import HostVars
|
||||
from ansible.plugins.callback import CallbackBase
|
||||
|
||||
try:
|
||||
from __main__ import display
|
||||
|
@ -146,8 +147,14 @@ class TaskQueueManager:
|
|||
if self._stdout_callback is None:
|
||||
self._stdout_callback = C.DEFAULT_STDOUT_CALLBACK
|
||||
|
||||
if self._stdout_callback not in callback_loader:
|
||||
raise AnsibleError("Invalid callback for stdout specified: %s" % self._stdout_callback)
|
||||
if isinstance(self._stdout_callback, CallbackBase):
|
||||
self._callback_plugins.append(self._stdout_callback)
|
||||
stdout_callback_loaded = True
|
||||
elif isinstance(self._stdout_callback, basestring):
|
||||
if self._stdout_callback not in callback_loader:
|
||||
raise AnsibleError("Invalid callback for stdout specified: %s" % self._stdout_callback)
|
||||
else:
|
||||
raise AnsibleError("callback must be an instance of CallbackBase or the name of a callback plugin")
|
||||
|
||||
for callback_plugin in callback_loader.all(class_only=True):
|
||||
if hasattr(callback_plugin, 'CALLBACK_VERSION') and callback_plugin.CALLBACK_VERSION >= 2.0:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue