Ansible の template エンジンには Jinja2 が使われています。
template ファイル内にテンプレートの制御用文字列が含まれる場合があります、例えば次のような場合、 {%
が制御の開始タグと解釈されるためエラーとなります。 Qiita Markdown では jinja の syntax lightlight にも対応してるんですね!!色分けされてダメっぽい感じがわかりますね。
httpd.conf.j2
LogFormat "\
host:%h\t\
time:%{%Y-%m-%d %H:%M:%S}t\t\
method:%m\t\
uri:%U%q\t\
protocol:%H\t\
status:%>s\t\
referer:%{Referer}i\t\
user-agent:%{User-Agent}i\t\
size:%b\t\
vhost:%v\t\
usec:%D" ltsv
ここはそのまま出力したいので {% raw %}
, {% endraw %}
で囲みます。
httpd.conf.j2
{% raw %}
LogFormat "\
host:%h\t\
time:%{%Y-%m-%d %H:%M:%S}t\t\
method:%m\t\
uri:%U%q\t\
protocol:%H\t\
status:%>s\t\
referer:%{Referer}i\t\
user-agent:%{User-Agent}i\t\
size:%b\t\
vhost:%v\t\
usec:%D" ltsv
{% endraw %}