可以使用 Ansible 的ipaddr
过滤器来实现类似于 Python中的 intspan 功能。具体代码如下:
- name: convert integer range inside a list
vars:
int_list: [1,2,3,5-7,10-12]
debug:
var: int_list | ipaddr('expand_host')
以上代码会把int_list
中的整数范围转换成单个的整数列表,输出结果为[1, 2, 3, 5, 6, 7, 10, 11, 12]
。此处,expand_host
功能用来扩展 IP 地址、IP 范围和主机名,此处用来扩展整数范围。