mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
added clarification on moustaches
This commit is contained in:
parent
c1785f56d5
commit
70e7be0346
1 changed files with 24 additions and 1 deletions
|
@ -324,6 +324,29 @@ Though this will make the play somewhat difficult to debug. It's recommended th
|
||||||
be applied to single tasks only, once a playbook is completed.
|
be applied to single tasks only, once a playbook is completed.
|
||||||
|
|
||||||
|
|
||||||
|
.. _when_to_use_brackets:
|
||||||
|
.. _dynamic_variables:
|
||||||
|
.. _interpolate_variables:
|
||||||
|
|
||||||
|
When should I use {{ }}? Also, howto interpolate variables or dyanmic variable names
|
||||||
|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
A steadfast rule is 'always use {{ }} except when `when:`'.
|
||||||
|
Conditionals are always run through Jinja2 as to resolve the expression,
|
||||||
|
so `when:`, `failed_when:` and `changed_when:` are always templated and you should avoid adding `{{}}`.
|
||||||
|
|
||||||
|
In most other cases you should always use the brackets, even if previouslly you could use variables without specifying (like `with_` clauses),
|
||||||
|
as this made it hard to distinguish between an undefined variable and a string.
|
||||||
|
|
||||||
|
Another rule is 'moustaches don't stack'. We often see this::
|
||||||
|
|
||||||
|
{{ somvar_{{other_var}} }}
|
||||||
|
|
||||||
|
The above DOES NOT WORK, if you need to use a dynamic variable use the hostvars or vars dictionary as appropriate::
|
||||||
|
|
||||||
|
{{ hostvars[inventory_hostname]['somevar_' + other_var] }}
|
||||||
|
|
||||||
|
|
||||||
.. _i_dont_see_my_question:
|
.. _i_dont_see_my_question:
|
||||||
|
|
||||||
I don't see my question here
|
I don't see my question here
|
||||||
|
|
Loading…
Reference in a new issue