【发布时间】:2020-12-01 15:12:40
【问题描述】:
我想使用 when 条件,以便根据剧本限制的主机使用不同的路径。我的剧本已经这样做了,但非常不清楚,因为我对库存的每个主机都有一个条目做同样的事情。
- name: copy yaml
copy:
src: /home/host1
dest: /home/ipcnet01/pipper
when: "'switch1' in group_names"
- name: copy yaml
copy:
src: /home/root
dest: /home/ipcnet02
when: "'switch2' in group_names"
我已经省略了其他条目以清楚地保留在这里。有没有办法让我做这样的事情?
- name: copy yaml
copy:
src: /home/root
dest: '/home/ipcnet01' |'/home/ipcnet01'
when: "'switch1' in group_names |'switch2' in group_names"
所以基本上我只想要一个块或条目,它根据 when 条件或受限主机设置目标字段。我已经看到通过设置 main.yml 并使用不同的 yml 来替代,如下所示:
- include_tasks: copy_files_to_switch01.yml
when: "'switch01' in group_names"
- include_tasks: copy_files_to_switch02.yml
when: "'switch02' in group_names"
通过这个解决方案,我在一个文件中没有多个条目,而是一个条目中的多个文件。有谁知道中间有一个可以吗?
【问题讨论】: