Ansible-Jinja防止Jinja剥离宏中的换行符

时间:2018-10-30 16:44:46

标签: ansible jinja2

假设我有一个使用以下p

的jinja2模板
{% macro logging(ltype) %}
{% if ltype == 'fluentd' %}
logging:
  driver: 'fluentd'
  options:
    tag: "{{ app_name }}.{{ '{{' }}.Name{{ '}}' }}"
    labels: "mylabel"
{% endif %}
{% endmacro %}
...                                                                                                                   
   {{ logging('fluentd') }}                                                                                           
... 

当我渲染此模板(template模块)时,我得到了

...
   logging:
  driver: 'fluentd'
  options:
    tag: "test.{{.Name}}"
    labels: "mylabel"

...

如您所见,driver键由于我未知的原因而移动。 我已经尝试了所有空白控件的可能性,但是这种行为没有改变。

有人知道要解决吗?

所需的结果是

...
   logging:
     driver: 'fluentd'
     options:
       tag: "test.{{.Name}}"
       labels: "mylabel"   
...

1 个答案:

答案 0 :(得分:0)

将模板的该部分更改为:

...

{{ logging('fluentd') | indent(3,true) }}

...