Ansibleの制御構造

Ansibleの制御構造

ループ

- name: add several users
  user:
    name: "{{ item }}"
    state: present
    groups: "wheel"
  with_items:
     - testuser1
     - testuser2

のように、with_itemsを使うことで、変数itemに値が入りそれぞれについて実行できる。 複数の属性を持たせたり、辞書型にすることもできるが基本は上記の形

ansibleの概念上、複数回繰り返すというより、リストを回すのが適切なので、forよりはforeachに近いイメージ(ただし、N回繰り返すというuntilループも可能)

条件分岐

tasks:
  - command: /bin/false
    register: result
    ignore_errors: True

  - command: /bin/something
    when: result|failed

の形で、whenを使う。registerで結果を格納し、それ以降のタスクのwhenで判定に使うことができる。

モジュール

http://docs.ansible.com/ansible/latest/modules_by_category.html