在Ansible中,你可以使用with_nested
或with_subelements
来在另一个变量内部进行迭代。
下面是一个示例,演示了如何在另一个变量内部进行迭代:
- name: Example with_nested
hosts: localhost
vars:
outer_list:
- inner_list:
- item1
- item2
- inner_list:
- item3
- item4
tasks:
- name: Iterate over outer_list and inner_list
debug:
msg: "{{ item.0 }} - {{ item.1 }}"
with_nested:
- "{{ outer_list }}"
- "{{ item.inner_list }}"
在这个示例中,我们有一个包含两个元素的outer_list变量。每个元素都是一个包含inner_list的字典。我们可以使用with_nested
来迭代outer_list和inner_list,然后在debug模块中打印出每个项。
另一个选项是使用with_subelements
。下面是一个使用with_subelements
的示例:
- name: Example with_subelements
hosts: localhost
vars:
outer_list:
- inner_list:
- item1
- item2
- inner_list:
- item3
- item4
tasks:
- name: Iterate over subelements
debug:
msg: "{{ item.1 }}"
with_subelements:
- "{{ outer_list }}"
- inner_list
在这个示例中,我们使用with_subelements
来迭代outer_list中的inner_list。在debug模块中,我们打印出每个内部列表的项。
无论你选择使用with_nested
还是with_subelements
,你都可以在另一个变量内部进行迭代。