ループ変数を Ansible ロールに渡す

ループ変数を Ansible ロールに渡す

値のリストを/vars/main.ymlファイルに渡してこれらの変数を処理ジョブに渡す方法はありますか?

ここでの目的は、タスクをN回実行するのではなく、1回実行することです。

私の現在/vars/main.yml

---
srv:
   httpd
   nginx

TASK [app : Install the httpd nginx server package] ************ yumモジュールが好きではないと解決されます。

---
    - name: Install the {{ srv }} server package
      yum:
        name: "{{ srv }}"
        state: present
    - name: Check for the installed package
      yum:
        list: "{{ srv }}"
      register: yumout
    - debug:
       var: yumout

ベストアンサー1

スクリプトは次のとおりです。まだコードをテストしたことはなく、即興で作っただけです。

---
- hosts: all
  tasks:
  - name: Install the {{ srv }} server package
    yum:
      name: "{{ item }}"
      state: present
    loop: "{{ srv }"
  - name: Check for the installed package
    yum:
      list: "{{ srv }}"
    loop: "{{ srv }"
    register: yumout
  - debug:
    msg: yumout

おすすめ記事