在计数

时间:2017-05-01 01:06:10

标签: ansible jinja2

给定一个计数,让我们说5和一个字符串列表['string1',string2','string3']我想循环遍历给定次数的字符串列表。预期输出为['string1',string2','string3','string1','string2']

我认为这与loop.cycle in jinja2的内容类似,但是,我想在playbook中将其用作键的值,而不是模板中的值。是否有任何典型的方法来实现这一目标?如果我需要制作一个自定义的filter_plugin,我认为这不是什么大问题,但想知道该功能是否已经存在。

我想要的实际用例是能够将给定的子网列表与主机数量进行匹配,以配置任意数量的主机以跨越子网列表。结果列表可能由with_indexed_items循环使用。

1 个答案:

答案 0 :(得分:2)

例如:

---
- hosts: localhost
  gather_facts: no
  connection: local
  vars:
    mylist:
      - string1
      - string2
      - string3
  tasks:
    - debug:
        msg: "{{ mylist[item|int % 3] }}"
      with_sequence: start=0 end=4