在Ansible中,可以通过使用with_nested循环嵌套来实现清单中的嵌套循环。下面是一个示例代码:
---
- hosts: localhost
gather_facts: false
vars:
outer_list:
- item1
- item2
inner_list:
- subitem1
- subitem2
tasks:
- name: Nested Loop
debug:
msg: "{{ outer_item }} - {{ inner_item }}"
with_nested:
- "{{ outer_list }}"
- "{{ inner_list }}"
在上面的示例中,我们定义了一个outer_list和一个inner_list,它们分别包含了一些项目。然后,在任务中使用with_nested来循环遍历这两个列表。在每次迭代中,outer_item表示outer_list中的当前项目,inner_item表示inner_list中的当前项目。然后,我们使用debug模块输出每次迭代的结果。
运行上述代码,输出将类似于以下内容:
TASK [Nested Loop] **************************************************************************************************************************************
ok: [localhost] => (item=item1) => {
"msg": "item1 - subitem1"
}
ok: [localhost] => (item=item1) => {
"msg": "item1 - subitem2"
}
ok: [localhost] => (item=item2) => {
"msg": "item2 - subitem1"
}
ok: [localhost] => (item=item2) => {
"msg": "item2 - subitem2"
}
这样,我们就实现了Ansible中通过清单中的嵌套循环。