我需要传递带有_items的动态组名信息,以便我可以访问从另一台主机运行的特定事实。我无法对组名进行硬编码
我尝试设置通过几种不同方式作为“ GroupName”传递的通用变量。包括
with_items: "{{ groups['{{GROUPNAME}}'] }}"
- name: Name of task
debug:
msg: "{{ hostvars[item]['ansible_check_mode'] }}"
with_items: "{{ groups['GROUPNAME'] }}"
致命:[localhost]:失败! => {“ msg”:“'字典对象'没有属性'{{GROUPNAME}}'”}
答案 0 :(得分:1)
获取组中主机的列表并循环进行
vars:
my_group: GROUPNAME
tasks:
- set_fact:
my_hosts: "{{ groups|
dict2items|
selectattr('key', 'match', my_group)|
map(attribute='value')|
list|
flatten }}"
- debug:
msg: "{{ hostvars[item]['ansible_check_mode'] }}"
loop: "{{ my_hosts }}"
(未经测试)