我有一个变量的yml文件,就像这样。
- newHosts
- hostIP: 192.168.1.22
filename: file1
- hostIP: 192.168.1.23
filename: file2
我正在使用add_host:{{item.hostIP}} with_items {{newHosts}}。 我想用{{item.filename}}之类的东西将相应的文件复制到各自的主机,但是它会将所有文件复制到每个主机。我如何只将相应的文件复制到节点。我怎么能这样做?
答案 0 :(得分:3)
您可以使用在循环的每次迭代中应用的条件:例如:
- hosts: all
tasks:
- name: copy file to appropriate server
copy: src={{item.filename}} dest=/var/foo/{{item.filename}}
with_items: newHosts
when: item.hostIP == ansible_ssh_host