如何枚举ansible中的列表?

时间:2016-01-13 14:32:31

标签: ansible ansible-playbook

我有这个结构:

addresses:
 - 192.168.1.1
 - 192.168.2.2
 - 192.168.3.3

我需要在任务中处理它们:

- tasks:
      - name: Iterating
      - template: src=template.j2 dest=/etc/addresses/{{index}}.conf
        with_items: addresses

但是我找不到任何方法来填充索引变量(或任何其他类似的技巧)。

注意:我知道j2模板中的索引,但我在谈论任务。

1 个答案:

答案 0 :(得分:8)

您可以使用另一个Ansible标准循环with_indexed_items

- tasks:
  - name: Iterating
    template: src=template.j2 dest=/etc/addresses/{{ item.0 }}.conf
    with_indexed_items: addresses

地址项可以在模板中以{{ item.1 }}

的形式访问