Don't post_validate vars and vars_files on Play objects

Fixes #11343
This commit is contained in:
James Cammarata 2015-06-22 11:23:23 -04:00
commit cb5f630f33
2 changed files with 22 additions and 6 deletions

View file

@ -254,15 +254,17 @@ class Base:
raise AnsibleParserError("the field '%s' is required but was not set" % name)
try:
# if the attribute contains a variable, template it now
value = templar.template(getattr(self, name))
# run the post-validator if present
# Run the post-validator if present. These methods are responsible for
# using the given templar to template the values, if required.
method = getattr(self, '_post_validate_%s' % name, None)
if method:
value = method(attribute, value, all_vars, templar._fail_on_undefined_errors)
value = method(attribute, getattr(self, name), templar)
else:
# otherwise, just make sure the attribute is of the type it should be
# if the attribute contains a variable, template it now
value = templar.template(getattr(self, name))
# and make sure the attribute is of the type it should be
if value is not None:
if attribute.isa == 'string':
value = unicode(value)
elif attribute.isa == 'int':