diff --git a/lib/ansible/plugins/action/debug.py b/lib/ansible/plugins/action/debug.py index 5a5a805e746..a024e28b01d 100644 --- a/lib/ansible/plugins/action/debug.py +++ b/lib/ansible/plugins/action/debug.py @@ -19,7 +19,7 @@ __metaclass__ = type from ansible.plugins.action import ActionBase from ansible.utils.boolean import boolean - +from ansible.utils.unicode import to_unicode class ActionModule(ActionBase): ''' Print statements during execution ''' @@ -41,9 +41,13 @@ class ActionModule(ActionBase): # FIXME: move the LOOKUP_REGEX somewhere else elif 'var' in self._task.args: # and not utils.LOOKUP_REGEX.search(self._task.args['var']): results = self._templar.template(self._task.args['var'], convert_bare=True) - if results == self._task.args['var']: - results = "VARIABLE IS NOT DEFINED!" - result[self._task.args['var']] = results + if type(self._task.args['var']) in (list, dict): + # If var is a list or dict, use the type as key to display + result[to_unicode(type(self._task.args['var']))] = results + else: + if results == self._task.args['var']: + results = "VARIABLE IS NOT DEFINED!" + result[self._task.args['var']] = results else: result['msg'] = 'here we are'