0
私は同じようgroup_varsで定義された変数を使用してJinja2のテンプレートファイルで変数 "ENV" の値を取得しています
env: "{{ defined_variable.split('-')[0] }}"
env
可能三つの値がabc
、def
、xyz
である可能性があります。その可能な値私はとdefaults/main.yml
内で定義されてきた私は、サーバーのURLを使用する場合は、この値に基づいて
、:Jinja2のテンプレートでは
server_abc: https://xxxx.xxx.com
server_def: https://xxxxx.xxx.com
server_xyz: https://xxxx.xxx.com
は、私がやろうとしています:
{% if 'abc' == "{{env}}" %}
serverURL: '{{ server_abc }}'
{% elif 'def' == "{{env}}" %}
serverURL: '{{ server_def}}'
{% elif 'xyz' == "{{env}}" %}
serverURL: '{{ server_xyz }}'
{% else %}
ServerURL: 'server Url not found'
{% endif %}
env
がabc
,def
またはxyz
という値であっても、常にServerURL = "server URL not found"
と定義されています。
{% if 'abc' == "abc" %}
serverURL: '{{ server_abc }}'
は、だから、構文が真であるが、実行時に
"{{env}}"
の値が評価されていない私を意味:私はJinja2のテンプレート内のenvを交換しようとした場合、条件がtrueに満足しない以下のような
(ハードコード)。
私はこれを解決するために何ができるでしょうか?
envからカッコを削除した後でも、サーバのURLが見つからない場合 –
グループ変数の他の変数を使用すると、一致条件で式が真と評価されますが、env変数には同じenv: "{{defined_variable.split( ' - ')[0]}}「 –
私の条件文を とすることで目的を達成できました。もし 'abc' ==ならば % defined_variable.split( ' - ')[0]%} serverURL: '{{server_abc}}' –