如何枚举ansible中的列表?

Geo*_*lin 3 ansible ansible-playbook

我有这个结构:

addresses:
 - 192.168.1.1
 - 192.168.2.2
 - 192.168.3.3
Run Code Online (Sandbox Code Playgroud)

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

- tasks:
      - name: Iterating
      - template: src=template.j2 dest=/etc/addresses/{{index}}.conf
        with_items: addresses
Run Code Online (Sandbox Code Playgroud)

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

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

udo*_*dan 9

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

- tasks:
  - name: Iterating
    template: src=template.j2 dest=/etc/addresses/{{ item.0 }}.conf
    with_indexed_items: addresses
Run Code Online (Sandbox Code Playgroud)

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