かべぎわブログ

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

Ansibleのwith_itemsで複数の変数を利用する

概要

Ansibleのwith_itemsディレクティブで複数の変数を利用する方法をご紹介します。

playbook例

こんなかんじでwith_itemsの項目を{}で囲ってあげます。

実行例

msgの部分を見るとちゃんと指定したとおりに出力されていることがわかる。

$  ansible-playbook -i ansible_hosts with_items_2.yml
PLAY [localhost] *****************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************
ok: [localhost]

TASK [名字だけ] **********************************************************************************************************************************
ok: [localhost] => (item={u'myouji': u'tanaka', u'namae': u'tarou'}) => {
    "changed": false, 
    "item": {
        "myouji": "tanaka", 
        "namae": "tarou"
    }, 
    "msg": "tanaka"
}
ok: [localhost] => (item={u'myouji': u'yamada', u'namae': u'jirou'}) => {
    "changed": false, 
    "item": {
        "myouji": "yamada", 
        "namae": "jirou"
    }, 
    "msg": "yamada"
}

TASK [フルネーム] *********************************************************************************************************************************
ok: [localhost] => (item={u'myouji': u'tanaka', u'namae': u'tarou'}) => {
    "changed": false, 
    "item": {
        "myouji": "tanaka", 
        "namae": "tarou"
    }, 
    "msg": "(u'tanaka', u'tarou')"
}
ok: [localhost] => (item={u'myouji': u'yamada', u'namae': u'jirou'}) => {
    "changed": false, 
    "item": {
        "myouji": "yamada", 
        "namae": "jirou"
    }, 
    "msg": "(u'yamada', u'jirou')"
}


PLAY RECAP ***********************************************************************************************************************************
localhost                  : ok=3    changed=0    unreachable=0   

おわりに

複数個でもできるということだ。


入門Ansible

入門Ansible