Commit acbd096c by Brian Coca

Merge pull request #10298 from bcoca/lookup_wantlist

Allow requesting a list to lookup plugins instead of , delimited string
parents 1d90ff8b a66c5598
...@@ -10,6 +10,8 @@ in Ansible, and are typically used to load variables or templates with informati ...@@ -10,6 +10,8 @@ in Ansible, and are typically used to load variables or templates with informati
.. note:: Lookups occur on the local computer, not on the remote computer. .. note:: Lookups occur on the local computer, not on the remote computer.
.. note:: Since 1.9 you can pass wantlist=True to lookups to use in jinja2 template "for" loops.
.. contents:: Topics .. contents:: Topics
.. _getting_file_contents: .. _getting_file_contents:
......
...@@ -89,6 +89,8 @@ def lookup(name, *args, **kwargs): ...@@ -89,6 +89,8 @@ def lookup(name, *args, **kwargs):
instance = utils.plugins.lookup_loader.get(name.lower(), basedir=kwargs.get('basedir',None)) instance = utils.plugins.lookup_loader.get(name.lower(), basedir=kwargs.get('basedir',None))
tvars = kwargs.get('vars', None) tvars = kwargs.get('vars', None)
wantlist = kwargs.pop('wantlist', False)
if instance is not None: if instance is not None:
try: try:
ran = instance.run(*args, inject=tvars, **kwargs) ran = instance.run(*args, inject=tvars, **kwargs)
...@@ -98,7 +100,7 @@ def lookup(name, *args, **kwargs): ...@@ -98,7 +100,7 @@ def lookup(name, *args, **kwargs):
raise errors.AnsibleUndefinedVariable("One or more undefined variables: %s" % str(e)) raise errors.AnsibleUndefinedVariable("One or more undefined variables: %s" % str(e))
except Exception, e: except Exception, e:
raise errors.AnsibleError('Unexpected error in during lookup: %s' % e) raise errors.AnsibleError('Unexpected error in during lookup: %s' % e)
if ran: if ran and not wantlist:
ran = ",".join(ran) ran = ",".join(ran)
return ran return ran
else: else:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment