【Ansible】with_itemsで処理をループさせる

f:id:hira98:20190712233332p:plain

【結論】

  • Ansibleでプログラムのfor文に相当する処理を行いたい場合はwith_itemを使う。

【目次】

はじめに

自称プログラマーがAnsibleのソースを理解するための備忘録です。

よって、Pythonの基礎文法については解説しません。

Pythonで書いた場合

with_items = [
  "おにぎり",
  "サンドウィッチ",
  "パスタ",
]

for item in with_items:
  print(f"loop -> {item}")

Ansibleで書いた場合

プレイブック(.yml形式)

---
- hosts: localhost  # 自分自身に接続する
  tasks:

  # 以降がPythonソースに該当する部分
  - debug: msg="loop -> {{ item }}"
    with_items:
      - "おにぎり"
      - "サンドウィッチ"
      - "パスタ"

実行結果

ワーニングが出ている理由、hostsでインベントリファイルのグループを指定せずにlocalhost自分自身に接続するためのIPアドレスが格納された変数)を指定しているためです。

f:id:hira98:20190712233810p:plain

参考情報

Ansible実践ガイド 第2版 - インプレスブックス

さいごに

現在業務でAnsible上で動作するYAMLを書いているのですが、今のところAnsible便利☺️と思ったことが一度もないのが現状です🤢🤮