我有这个:
- name: copy services
copy: src={{ item }} dest="{{ dir.consul }}/services" mode=0755 owner=devops group=devops
with_items:
- services/FG.json
- services/IC.json
- services/java.json
- services/NODE.json
- services/repo.json
我还为每个服务设置了一个布尔变量,以指示我是否需要它们。 问题:
{{ fg }}
为真时,请复制fg
答案 0 :(得分:0)
例如:
- name: copy services
copy: src="/services/{{ item }}.json" dest="{{ dir.consul }}/services" mode=0755 owner=devops group=devops
when: hostvars[inventory_hostname][item|lower] == True
with_items:
- FG
- IC
- java
- NODE
- repo
更新:完全自主的例子
---
- hosts: localhost
gather_facts: no
vars:
fg: True
ic: False
java: True
tasks:
- debug:
msg: "{{ item }}"
when: vars[item|lower] == True
with_items:
- FG
- IC
- java
如果要检查的变量是主机事实,请使用hostvars
对象;
如果变量是播放变量,则可以使用vars
对象
您没有在问题中指定如何将变量传递到剧本中。
我使用item|lower
,因为我的vars是低位的,而物品则是混合的情况。