- name: apt install packages
apt:
name: "{{ item }}"
with_items:
- php7.2
- php-mbstring
- php-xml
- php-zip
- php-fpm
- php-mongodb
- mongodb-org
- nginx2018.08.23 Ansibleのwith_itemsの各要素を出力させる方法
Ansibleでaptやyumを使ってパッケージのインストールを行う際にこれまでは下のような書き方でplaybookを作っていました。
しかし、このような書き方をすると、出力が下のように全部まとめて出てきてしまい、with_items中のどれか1つがchangedになると全体がchangedとして出力されるようになっていました。
公式のapt、yumのドキュメントを見てみると、パッケージのインストール時にはvarsを使っているようですが、この書き方でも出力は下のようになってしまいました。
なにかいい方法はないかと思って試してみたところ、下のようにwith_itemsの要素を配列にすると1つ1つ分かれて出力されました。
- name: apt install packages
apt:
name: "{{ item.name }}"
with_items:
- name: php7.2
- name: php-mbstring
- name: php-xml
- name: php-zip
- name: php-fpm
- name: php-mongodb
- name: mongodb-org
- name: nginx
これならどこかのパッケージがchangedになっても、出力はそのパッケージ部分だけがchangedになりますし、一気に1行で出力されるよりも見栄えが良さげな気がします。
ただ、どうして公式のドキュメントが1行に出力する書き方をしてるのかは分からないです。自分が知らないメリットが何かあるんでしょうか・・・?
