Add option to fail on undefined variables to listify

And use it in the call to get the loop items for a task.
This commit is contained in:
James Cammarata 2015-08-03 11:56:29 -04:00
commit 2673eb0afb
3 changed files with 14 additions and 7 deletions

View file

@ -26,14 +26,14 @@ from ansible.template.safe_eval import safe_eval
__all__ = ['listify_lookup_plugin_terms']
#FIXME: probably just move this into lookup plugin base class
def listify_lookup_plugin_terms(terms, variables, loader):
def listify_lookup_plugin_terms(terms, variables, loader, fail_on_undefined=False):
if isinstance(terms, basestring):
stripped = terms.strip()
templar = Templar(loader=loader, variables=variables)
#FIXME: warn/deprecation on bare vars in with_ so we can eventually remove fail on undefined override
terms = templar.template(terms, convert_bare=True, fail_on_undefined=False)
terms = templar.template(terms, convert_bare=True, fail_on_undefined=fail_on_undefined)
#TODO: check if this is needed as template should also return correct type already
terms = safe_eval(terms)