をフォーマット:Ansible Jinja2のため、現在、私はアドレスのリストを生成するために、forループを実行し、ここでループがある
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
2行目が正しくフォーマットされていることを確認するにはどうすればよいですか?私はいくつかの簡単な読書をして、コメントを追加しました:
#jinja2:trim_blocks: False
をファイルの先頭に、それは問題を解決していない、ここで他の誰もが任意の入力ができますか?
は、あなたが '#のJinja2のを試すことができます:lstrip_blocksを"True(またはFalse)"、trim_blocks: "True(またはFalse)" 'Fasleをトグルし、望みの結果を得ることができる天気を確認するためにはtrueを選択します。 –
残念ながら、とにかくありがとうございます。 –