当我仍然想使用变量时,我可以用什么来替换{{}}?
when: ansible_lvm.lvs.{{ resize_lvname }}.size_g < 10 and
ansible_devices.{{ new_dev }}.size == "70.00 GB
[警告]:条件语句不应包含jinja2模板分隔符,如{{}}或{%%}。找到:ansible_lvm.lvs{{resize_lvname}}。size_g<10和ansible_devices。{{new_dev}}.size=="70.00GB";而不是";[new_dev].value.spartitions">
在when
条件中,您已经在隐式Jinja模板上下文中。。。这意味着,如果你想引用一个变量,你只需要变量名。例如:
when: ansible_lvm.lvs[resize_lvname].size_g < 10 and
ansible_devices[new_dev].size == "70.00 GB
回想一下,some.var.key
等价于some.var["key"]
;我们需要在这里使用[...]
语法,因为我们希望使用resize_lvname
的值作为ansible_lvm.lvs
字典上的关键字。如果我们要编写ansible_lvm.lvs.resize_lvname
,我们将尝试查找一个字面名称为resize_lvmname
的密钥(换句话说,这将相当于ansible_lvm.lvs["resize_lvname"]
(。