在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"
]
}
根据条件合并列表时,可以根据实际需求进行适当的修改。