|
|
|
@ -78,15 +78,15 @@ class LookupModule(LookupBase):
|
|
|
|
|
raise AnsibleError('Invalid setting identifier, "%s" is not a string, its a %s' % (term, type(term)))
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
if term in myvars:
|
|
|
|
|
try:
|
|
|
|
|
value = myvars[term]
|
|
|
|
|
elif 'hostvars' in myvars and term in myvars['hostvars']:
|
|
|
|
|
# maybe it is a host var?
|
|
|
|
|
value = myvars['hostvars'][term]
|
|
|
|
|
else:
|
|
|
|
|
raise AnsibleUndefinedVariable('No variable found with this name: %s' % term)
|
|
|
|
|
ret.append(self._templar.template(value, fail_on_undefined=True))
|
|
|
|
|
except KeyError:
|
|
|
|
|
try:
|
|
|
|
|
value = myvars['hostvars'][myvars['inventory_hostname']][term]
|
|
|
|
|
except KeyError:
|
|
|
|
|
raise AnsibleUndefinedVariable('No variable found with this name: %s' % term)
|
|
|
|
|
|
|
|
|
|
ret.append(self._templar.template(value, fail_on_undefined=True))
|
|
|
|
|
except AnsibleUndefinedVariable:
|
|
|
|
|
if default is not None:
|
|
|
|
|
ret.append(default)
|
|
|
|
|