回答:
これを行う別の方法を次に示します。
- name: my command
command: echo stuff
when: "'groupname' not in group_names"
group_names
ここに記載されている魔法の変数です:https : //docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#accessing-information-about-other-hosts-with-magic-variables:
group_namesは、現在のホストがあるすべてのグループのリスト(配列)です。
when: inventory_hostname not in groups.certain_groups
inventory_hostname in groups['groupname']
、グラウト自体が存在しない場合にAnsibleが「変数名に「-」などの無効な文字が含まれていないことを確認してください:タイプ 'StrictUndefined'の引数が反復可能ではない」というエラーをスローするよりも堅牢です
次のgroup_vars/
ように、hostsファイル内またはhostsファイル内に直接配置されたvarsファイルに制御変数を設定できます。
[vagrant:vars]
test_var=true
[location-1]
192.168.33.10 hostname=apollo
[location-2]
192.168.33.20 hostname=zeus
[vagrant:children]
location-1
location-2
次のようなタスクを実行します。
- name: "test"
command: "echo {{test_var}}"
when: test_var is defined and test_var
This one looks easy to fix. It seems that there is a value started with a quote, and the YAML parser is expecting to see the line ended with the same kind of quote.