I know that I can use a simple hardcoded string in default but I am trying to do this:
myvar: "{{ lookup('env','var1') | default("{{var2}}",true) }}"
But it adds that as a string instead of evaluating it.
Once you opened a Jinja2 expression with {{
you don't need to open it again (especially quoted) and you can refer to the variables by their names:
myvar: "{{ lookup('env','var1') | default(var2, true) }}"
来源:https://stackoverflow.com/questions/42776108/how-can-i-use-default-with-variable-in-ansible