而不是使用键“when:”:
进行多次启动- name
...
when: {{ environnement }} in 'pp'
- name
...
when: {{ environnement }} in 'pd'
我想直接在yaml中这样做:
{% if {{ environnement }} in ('pp','pd') and if {{ module }} == 'publish' %}
- name: ...
{% endif %}
没有模板甚至可能吗? 谢谢!
答案 0 :(得分:1)
您可能想要使用blocks。来自docs的示例:
tasks:
- name: Install Apache
block:
- yum: name={{ item }} state=installed
with_items:
- httpd
- memcached
- template: src=templates/src.j2 dest=/etc/foo.conf
- service: name=bar state=started enabled=True
when: ansible_distribution == 'CentOS'
针对您的情况:
- block:
- name: ...
...
- name: ...
...
when: environnement in ['pp','pd']
P.S。并且在{{...}}
语句中不使用when
,它们本身已经是Jinja2表达式。