清单中的Ansible嵌套循环以及列表的外部循环

时间:2018-12-08 22:41:25

标签: loops ansible ansible-inventory

假设我有以下剧本:

---
- hosts: all
  gather_facts: False
  vars:
    group: 'dev'

  tasks:
  - name: Just loop through a group and group_vars
    debug:
      msg: 'group is {{group}} target is {{item.0}} port is {{item.1}}'
    loop: >
      {{ groups[group] |
         product(hostvars[groups[group][0]]["ports"]) |
         list }}

如果我将名为“ group”的变量定义为列表而不是单个变量,如何更改循环部分?例如:

vars:
  group:
  - 'dev'
  - 'int'

感谢和问候。

Stef

1 个答案:

答案 0 :(得分:0)

loop: >
   {{ groups | dict2items | 
      selectattr("key", "in", group_list ) |
      map(attribute="value") | list |
      ### and then the rest of your pipeline }}

我想会做你想要的