在Ansible中,可以使用when条件语句来根据条件合并列表。以下是一个示例:
- name: Merge lists based on condition
hosts: localhost
gather_facts: false
vars:
list1:
- item1
- item2
list2:
- item3
- item4
condition: true
tasks:
- name: Merge lists if condition is true
set_fact:
merged_list: "{{ list1 if condition else (list1 + list2) }}"
- name: Print merged list
debug:
var: merged_list
在上面的示例中,我们有两个列表list1和list2,以及一个条件变量condition。根据条件condition的值,我们使用set_fact模块合并列表。如果条件为true,则仅返回list1;如果条件为false,则将list2追加到list1后面形成merged_list。
运行上述示例,将输出合并后的列表:
TASK [Print merged list] ****************************************************************************************************
ok: [localhost] => {
"merged_list": [
"item1",
"item2",
"item3",
"item4"
]
}
根据条件合并列表时,可以根据实际需求进行适当的修改。