Ansible
如何在單個塊中執行多行 Jinja2 條件?
以下程式碼因語法錯誤而被拒絕:
{% if inventory_hostname in groups.aptcache set cachehost = 'localhost' else set cachehost = groups['aptcache'] | first endif %} cache={{ cachehost }}
我希望,我的意圖足夠清楚,可以讓 Jinja2 大師糾正我……拜託?
除非它是 if 表達式,否則不能將 if-then-else 放在一個塊中。任何一個:
{% if inventory_hostname in groups.aptcache %} {% set cachehost = 'localhost' %} {% else %} {% set cachehost = groups['aptcache'] | first %} {% endif %} cache={{ cachehost }}
或者
cache={{ 'localhost' if inventory_hostname in groups.aptcache else groups['aptcache'] | first }}