Ansibleのdefault(omit)

default(omit) を使うと、未定義の場合にその項目自体の指定が無かったことにできます。

- name: touch files with an optional mode
  file: dest={{item.path}} state=touch mode={{item.mode|default(omit)}}
  with_items:
    - path: /tmp/foo
    - path: /tmp/bar
    - path: /tmp/baz
      mode: "0444"

上記だと、item.modeが定義されていなかった場合、modeの指定自体が無かったことになります。

他に配布するようなRoleだと、結構使いそうです。(指定ができるようにはしておいて、何もなければ処理しない)