变量 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 }}"

(未测试)