在Ansible中,可以使用Jinja2模板语言为列表和整数创建映射。下面是一个示例代码:
---
- hosts: localhost
gather_facts: false
vars:
numbers:
- 1
- 2
- 3
names:
- Alice
- Bob
- Charlie
tasks:
- name: Create map using Jinja2 template
debug:
msg: "{{ item }} is {{ names[loop.index0] }}"
loop: "{{ numbers }}"
在上面的示例中,我们定义了一个名为numbers
的列表和一个名为names
的列表。然后,我们使用Jinja2模板语言中的loop.index0
变量来获取当前循环的索引值,并使用该索引值从names
列表中获取对应的名称。最后,我们使用debug
模块输出结果。
运行上面的示例代码,将会得到以下输出结果:
TASK [Create map using Jinja2 template] *****************************************************************************************************************************************
ok: [localhost] => (item=1) => {
"msg": "1 is Alice"
}
ok: [localhost] => (item=2) => {
"msg": "2 is Bob"
}
ok: [localhost] => (item=3) => {
"msg": "3 is Charlie"
}
从输出结果可以看出,我们成功地使用Jinja2模板语言为列表和整数创建了映射。