在 with_items 循环中迭代数组

Iterate over a array in with_items loop

基于这个问题

我还有一个。

我们需要遍历这个结构

区域规范https://gist.github.com/git001/9230f041aaa34d22ec82eb17d444550c

现在我可以通过数组索引寻址主机名,但我也可以遍历数组“hosts”吗?

剧本

--
- hosts: all
  gather_facts: no

  vars_files:
    - "../doc/application-zone-spec.yml"

  roles:
    - { role: ingress_add, customers: "{{ application_zone_spec }}" }

角色

 - name: Print ingress hostnames
   debug: msg="{{ item.hosts.0.hostname }} {{ item.hosts.1.hostname }}"
   with_items: "{{ customers.ingress }}"

我们用。

ansible-playbook --version
ansible-playbook 2.1.0.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

使用with_subelements:

 - name: Print ingress hostnames
   debug: msg="{{ item.0.type }} {{ item.1.hostname }}"
   with_subelements:
     - "{{ customers.ingress }}"
     - "hosts"

the Loops section of the documentation.

中有很多不同循环的例子