フィルターチェインを使用して条件節をデバッグしていて、定義されていない変数(omit
)をチェックしている間に、結果はフィルターが文字列にどのように含まれているか。可能性:Jinja2フィルターチェーンを使用するときに "place holderを省略"
私の意図は、Anuchタスクのwhen節をvalue
という条件で作成することでした。 Ansible documentationの連鎖の「注」につきましては、omit
を追加しようとしましたが、次の結果が得られました。
マイ脚本:
---
- hosts: target
tasks:
- debug: msg="{{ value_not_defined|default('0') | int or omit }}"
- debug: msg="debug {{ value_not_defined|default('0') | int or omit }}"
結果の関連部分:
TASK [debug] *******************************************************************
ok: [192.168.1.2] => {
"msg": "Hello world!"
}
msg: Hello world!
TASK [debug] *******************************************************************
ok: [192.168.1.2] => {
"msg": "debug __omit_place_holder__31268e787e722b495d512986994bcd66ce943a69"
}
msg: debug __omit_place_holder__63eea0d96dd6ed867b95405e11d87dddf61f448d
次の結果はどこから来るのか?
Hello world!
__omit_place_holder__63eea0d96dd6ed867b95405e11d87dddf61f448d
なぜdebug
さんmsg
に他の文字列に応じて値が変化しますか?