かべぎわブログ

技術的なことについてかけたらいいな…

Ansibleでjinja2のifをつかって条件分岐させる

概要

Ansibleのplaybookの中でjinja2の記法をつかって条件分岐させてみたいと思います。

playbook例

prodがhonならhonban、kaiならkaihatsuと出力するように設定しています。

実行してみる

honbanと出力されていることがわかります。

$  ansible-playbook jinja_if.yml -v

PLAY [localhost] **********************************************************************************************************************************************

TASK [debug] **************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "honban"
}

PLAY RECAP ****************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0   

ちなみにkaiを指定するとこんなかんじにkaihatsuと出力されるようになります。

$  ansible-playbook jinja_if.yml -v --extra-vars prod=kai

PLAY [localhost] **********************************************************************************************************************************************

TASK [debug] **************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "kaihatsu"
}

PLAY RECAP ****************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0   

おわりに

条件分岐させることができました!
あんまり多用するとplaybookが見にくくなりそうですがポイントポイントとしてつかうにはよさそうです。


入門Ansible

入門Ansible