假设我有一个名为show_canada
的组var,它是一个布尔值。我有以下任务:
- name: install conf file
template: src="example.conf.j2" dest="/etc/{{ item }}/example.conf"
sudo: yes
with_items:
- usa
- brazil
- canada
- japan
- turkey
如何让任务跳过加拿大项目,具体取决于show_canada布尔值?我想我可以有when
字段来检查项目=='加拿大'和show_canada是否属实?必须有更好/更好的方法来实现这一点,任何建议?如果我有多个需要同样过滤的任务,是否有一些全局方法可以跳过某些项目?
答案 0 :(得分:3)
在这些情况下,我正在做的是在dict中包含值的状态:
- name: install conf file
template: src="example.conf.j2" dest="/etc/{{ item }}/example.conf"
sudo: yes
when: item.display is true
with_item:
- {name: usa, display: true}
- {name: brazil, display: true}
- {name: canada, display: false}
- {name: japan, display: true}
- {name: turkey, display: true}
您甚至可以设置var
的显示值 - {name: canada, display: {{show_canada}} }