1. ホーム
  2. ansible

[解決済み] ホストがグループに属していない場合のみ、タスクを実行する

2022-08-22 03:53:04

質問

現在のplaybookのホストが以下の場合にのみansibleタスクを実行できるようにしたいです。 に属さない に属していない場合のみ、ansibleタスクを実行できるようにしたいです。半擬似コードで。

- name: my command
  command: echo stuff
  when: "if {{ ansible_hostname }} not in {{ ansible_current_groups }}"

どのようにすればよいのでしょうか?

どのように解決するのですか?

別の方法を紹介します。

- name: my command
  command: echo stuff
  when: "'groupname' not in group_names"

group_names は、ここに書かれているように、マジック変数です。 https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html :

group_names は現在のホストが所属しているすべてのグループのリスト(配列)です。