在Ansible中,可以使用with_items
和vars
来在同一列表中引用变量。下面是一个示例代码:
- hosts: localhost
vars:
names:
- name: John
age: 25
- name: Jane
age: 30
tasks:
- name: Print names and ages
debug:
msg: "{{ item.name }} is {{ item.age }} years old"
with_items: "{{ names }}"
在上述示例中,我们定义了一个名为names
的变量,它是一个包含两个字典的列表。每个字典都有一个name
和age
键。然后,在debug
任务中,我们使用with_items
来迭代names
列表,并通过item.name
和item.age
引用每个字典中的值。
当我们运行这个Playbook时,将输出如下结果:
TASK [Print names and ages] ***************************************************
ok: [localhost] => (item={'name': 'John', 'age': 25}) => {
"msg": "John is 25 years old"
}
ok: [localhost] => (item={'name': 'Jane', 'age': 30}) => {
"msg": "Jane is 30 years old"
}
这样,我们就成功在同一列表中引用了变量。