diff --git a/plugins/callbacks/context_demo.py b/lib/ansible/plugins/callback/context_demo.py similarity index 65% rename from plugins/callbacks/context_demo.py rename to lib/ansible/plugins/callback/context_demo.py index 5c3015d85f6..f204ecb3bed 100644 --- a/plugins/callbacks/context_demo.py +++ b/lib/ansible/plugins/callback/context_demo.py @@ -15,17 +15,23 @@ # You should have received a copy of the GNU General Public License # along with Ansible. If not, see . -import os -import time -import json +from ansible.plugins.callback import CallbackBase -class CallbackModule(object): +class CallbackModule(CallbackBase): """ This is a very trivial example of how any callback function can get at play and task objects. play will be 'None' for runner invocations, and task will be None for 'setup' invocations. """ + CALLBACK_VERSION = 2.0 + CALLBACK_TYPE = 'aggregate' - def on_any(self, *args, **kwargs): - play = getattr(self, 'play', None) - task = getattr(self, 'task', None) - print "play = %s, task = %s, args = %s, kwargs = %s" % (play,task,args,kwargs) + def v2_on_any(self, *args, **kwargs): + i = 0 + self._display.display(" --- ARGS ") + for a in args: + self._display.display(' %s: %s' % (i, a)) + i += 1 + + self._display.display(" --- KWARGS ") + for k in kwargs: + self._display.display(' %s: %s' % (k, kwargs[k]))