迭代with_items循环中的数组

时间:2016-09-01 08:03:04

标签: ansible ansible-playbook

基于这个问题

Ansible recursive checks in playbooks

我有另一个。

我们需要经历这个结构

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

现在我可以通过数组索引来解析主机名,但是我也可以遍历数组" 主机"?

剧本

--
- 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

1 个答案:

答案 0 :(得分:3)

使用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中的不同循环有很多例子。