变量 with_items 和 hostvars
Variable with_items and hostvars
我需要传递动态组名信息 with_items 以便我可以从另一台主机访问 运行 的特定事实。我不能硬编码组名
我试图通过几种不同的方式设置一个作为 'GroupName' 传递的通用变量。包括
with_items: "{{ groups['{{GROUPNAME}}'] }}"
- name: Name of task
debug:
msg: "{{ hostvars[item]['ansible_check_mode'] }}"
with_items: "{{ groups['GROUPNAME'] }}"
致命:[本地主机]:失败! => {"msg": "'dict object' 没有属性 '{{ GROUPNAME }}'"}
获取组内主机列表并循环
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 }}"
(未测试)
我需要传递动态组名信息 with_items 以便我可以从另一台主机访问 运行 的特定事实。我不能硬编码组名
我试图通过几种不同的方式设置一个作为 'GroupName' 传递的通用变量。包括
with_items: "{{ groups['{{GROUPNAME}}'] }}"
- name: Name of task
debug:
msg: "{{ hostvars[item]['ansible_check_mode'] }}"
with_items: "{{ groups['GROUPNAME'] }}"
致命:[本地主机]:失败! => {"msg": "'dict object' 没有属性 '{{ GROUPNAME }}'"}
获取组内主机列表并循环
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 }}"
(未测试)