多くの変数を設定するAnsibleプレイブックがあります。プレイブックの1つにこのタスクがあります。
- name: create config file
template:
src: 'templates/main_config.j2'
dest: "{{ tmp_dir }}/main_config.json"
テンプレートmain_config.j2
は、親のAnsibleプレイブックとタスクで変数として定義されている文字列を書き込みます。
Ansible変数の値に基づく別のJinja2テンプレートを含めたいのですが。
{% include "./templates/configurations.j2" %},
{% include "./templates/security.j2" %},
{% include './templates/' + {{ job }} + '_steps.j2' %}
job
は、親プレイブックに設定されたAnsible変数です。
これは機能していません。何が問題でしょうか?
Jinja2式を開く必要はありません({{ ... }}
)ステートメント内の変数を参照するには({% ... %}
)。変数名を直接使用できます。
{% include './templates/' + job + '_steps.j2' %}