所以目前我运行一个for循环产生的地址的列表,这里是循环:Ansible Jinja2的,格式化
sg_nodes_dn: "
{%- set nodes = [] %}
{%- for host in groups['elastic_nodes'] %}
{{- nodes.append('CN=%s,OU=Systems/DevOps,O=x x x,L=x,C=x' % hostvars[host]['elk_node_name']) }}
{%- endfor %}
{{- nodes -}}"
这个伟大的工程,但我的问题是,当我格式化成J2模板。
这里是我的模板里面的VAR:
searchguard.nodes_dn:
{{ sg_nodes_dn | to_nice_yaml }}
这里的问题是,它会打印的第一行罚款,但第二行是不是在YAML格式和服务将无法加载,这是结果。
searchguard.nodes_dn:
- CN=x.x-x.x,OU=Systems/DevOps,O=x x x,L=x,C=x
- CN=x.x-x.x,OU=Systems/DevOps,O=x x x,L=x,C=x
如何确保第二行格式正确?我做了一些简单的阅读并补充说:
#jinja2:trim_blocks: False
到文件的顶部,但它并没有解决问题,任何人都可以其他任何输入这里?
你可以尝试'#的Jinja2:lstrip_blocks :“True(或False)”,trim_blocks:“True(或False)”'切换fasle和true检查天气,你可以得到你想要的结果。 –
不幸的是,不管怎样,谢谢你。 –