在Ansible中,可以使用嵌套变量来引用列表。以下是一个包含代码示例的解决方法:
首先,创建一个包含嵌套列表变量的Ansible变量文件,比如vars.yml
:
my_list:
- item1
- item2
- "{{ my_nested_list }}"
my_nested_list:
- nested_item1
- nested_item2
在Playbook中,可以通过include_vars
模块来引入这个变量文件:
- name: Include variable file
include_vars:
file: vars.yml
然后,可以使用with_items
关键字来循环遍历列表中的元素:
- name: Print nested list items
debug:
msg: "{{ item }}"
with_items: "{{ my_list }}"
运行Playbook时,可以看到嵌套列表中的元素被打印出来:
TASK [Print nested list items] **************************************************************************************
ok: [localhost] => (item=item1) => {
"msg": "item1"
}
ok: [localhost] => (item=item2) => {
"msg": "item2"
}
ok: [localhost] => (item=['nested_item1', 'nested_item2']) => {
"msg": [
"nested_item1",
"nested_item2"
]
}
通过这种方式,可以在Ansible中引用嵌套列表变量。