ansible模板-尽可能使其干燥
是否有任何方法可以使用ansible模板-尽可能使其干燥,ansible,jinja2,Ansible,Jinja2,是否有任何方法可以使用default()过滤器正确干燥此块 {% if item.aliases is defined %} server_name {{ item.target }} {{ item.aliases|join(" ") }} {% else %} server_name {{ item.target }}; {% endif %} 我尝试了,但没有成功=>错误:预期标记为“打印结束语句”,获得“项目” {{item.target item.aliases|joi
default()
过滤器正确干燥此块
{% if item.aliases is defined %}
server_name {{ item.target }} {{ item.aliases|join(" ") }}
{% else %}
server_name {{ item.target }};
{% endif %}
我尝试了,但没有成功=>错误:预期标记为“打印结束语句”,获得“项目”
{{item.target item.aliases|join(" “)|default( item.target ) }}
我也试过了,但没有达到预期的效果
server_name {{[item.target ,item.aliases|default('')]|join(' ')}};
# this print :
# server_name actual.domain.com ['alias1.domain.com', 'alias2.domain.com'];
# and my expected result is
# server_name actual.domain.com alias1.domain.com alias2.domain.com ;
# or ( when item.aliases is not defined
# server_name actual.domain.com
明白了。。。我的书面陈述是错误的:
server_name {{item.target}} {{item.aliases|default('')|join(' ')}};
输出
server_name actual.domain.com alias1.domain.com alias2.domain.com ;
# or
server_name actual.domain.com;