Perf improvement for Templar.is_template (#57489)

* Faster is_template
This commit is contained in:
Matt Martz 2019-06-06 14:49:27 -05:00 committed by Brian Coca
parent 95882faca6
commit 728fce0c44
8 changed files with 90 additions and 47 deletions

View file

@ -144,7 +144,7 @@ class ModuleArgsParser:
if additional_args:
if isinstance(additional_args, string_types):
templar = Templar(loader=None)
if templar._contains_vars(additional_args):
if templar.is_template(additional_args):
final_args['_variable_params'] = additional_args
else:
raise AnsibleParserError("Complex args containing variables cannot use bare variables (without Jinja2 delimiters), "
@ -311,7 +311,7 @@ class ModuleArgsParser:
elif args.get('_raw_params', '') != '' and action not in RAW_PARAM_MODULES:
templar = Templar(loader=None)
raw_params = args.pop('_raw_params')
if templar._contains_vars(raw_params):
if templar.is_template(raw_params):
args['_variable_params'] = raw_params
else:
raise AnsibleParserError("this task '%s' has extra params, which is only allowed in the following modules: %s" % (action,