配列を繰り返す範囲を指定する方法

配列を繰り返す範囲を指定する方法

ansibleを使用してリモートノードからアプリケーションを削除したいと思います。以下は私のスクリプトです。パッケージが残らなくなるまで削除操作が繰り返される範囲を提供するにはどうすればよいですか?

---

 hosts: all



 tasks:
 - name: check-packages
  shell: rpm -qa | grep -e "^\(HPOpr\|HPE\|HPOv\|HPBsm\|MIB2Policy\|HPOMi\)"
  register: output

- name: uninstall
  shell: rpm -e   {{ output.stdout_lines.0 }}   --nodeps

範囲演算子を使ってみました。

   shell: rpm -e   {{ output.stdout_lines[:40] }}   --nodeps

しかし、うまくいきません。

ベストアンサー1

- name: uninstall
  package:
    name: "{{ item }}"
    state: absent
  with_list: "{{ output.stdout_lines }}"

またはAnsible 2.5以降を使用しているwith_list場合loop

一度にすべての操作を実行することもできます。

- name: uninstall
  package:
    name: "{{ output.stdout_lines }}"
    state: absent

おすすめ記事