mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
dependent lookup: prevent deprecation warning with ansible-core 2.14 (#5543)
* Prevent deprecation warning. * Improve naming and add comment.
This commit is contained in:
parent
672385309c
commit
60c8b9a67f
2 changed files with 14 additions and 1 deletions
2
changelogs/fragments/5543-dependent-template.yml
Normal file
2
changelogs/fragments/5543-dependent-template.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- "dependent lookup plugin - avoid warning on deprecated parameter for ``Templar.template()`` (https://github.com/ansible-collections/community.general/pull/5543)."
|
|
@ -125,8 +125,16 @@ from ansible.errors import AnsibleLookupError
|
||||||
from ansible.module_utils.common._collections_compat import Mapping, Sequence
|
from ansible.module_utils.common._collections_compat import Mapping, Sequence
|
||||||
from ansible.module_utils.six import string_types
|
from ansible.module_utils.six import string_types
|
||||||
from ansible.plugins.lookup import LookupBase
|
from ansible.plugins.lookup import LookupBase
|
||||||
|
from ansible.release import __version__ as ansible_version
|
||||||
from ansible.template import Templar
|
from ansible.template import Templar
|
||||||
|
|
||||||
|
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
|
||||||
|
|
||||||
|
|
||||||
|
# Whether Templar has a cache, which can be controlled by Templar.template()'s cache option.
|
||||||
|
# The cache was removed for ansible-core 2.14 (https://github.com/ansible/ansible/pull/78419)
|
||||||
|
_TEMPLAR_HAS_TEMPLATE_CACHE = LooseVersion(ansible_version) < LooseVersion('2.14.0')
|
||||||
|
|
||||||
|
|
||||||
class LookupModule(LookupBase):
|
class LookupModule(LookupBase):
|
||||||
def __evaluate(self, expression, templar, variables):
|
def __evaluate(self, expression, templar, variables):
|
||||||
|
@ -136,7 +144,10 @@ class LookupModule(LookupBase):
|
||||||
``variables`` are the variables to use.
|
``variables`` are the variables to use.
|
||||||
"""
|
"""
|
||||||
templar.available_variables = variables or {}
|
templar.available_variables = variables or {}
|
||||||
return templar.template("{0}{1}{2}".format("{{", expression, "}}"), cache=False)
|
expression = "{0}{1}{2}".format("{{", expression, "}}")
|
||||||
|
if _TEMPLAR_HAS_TEMPLATE_CACHE:
|
||||||
|
return templar.template(expression, cache=False)
|
||||||
|
return templar.template(expression)
|
||||||
|
|
||||||
def __process(self, result, terms, index, current, templar, variables):
|
def __process(self, result, terms, index, current, templar, variables):
|
||||||
"""Fills ``result`` list with evaluated items.
|
"""Fills ``result`` list with evaluated items.
|
||||||
|
|
Loading…
Reference in a new issue