Ansible v2.0 (記事掲載時点ではalpha)から block ディレクティブが追加されている。
要はある条件下で、その block 内の task が実行されるということ。上記ページの例ではansible_distribution == 'CentOS' の時に3つのタスクが root で実行されることになるようだ。
when には 変数のブールも使えるので、例えば
vars:
  flag: true
tasks:
  - block:
    - yum: name={{ item }} state=installed
      with_items:
      - httpd
      - memcached
      
    - template: src=templates/src.j2 dest=/etc/foo.conf
    
    - service: name=bar state=started enabled=True
    when: flag
flag が true の時はこの block 内のタスクは実行されて false の時(またはwhen: not flagとするか)はスキップされる。
いろいろなシーンで使えそう。