我有一个任务可以很好地触发角色处理程序,并且该处理程序也可以正常工作。现在,我试图确保处理程序仅在满足条件时运行。就我而言,它是我通过vars_input读取的变量值。但是,我要例外了。有关如何解决此问题的任何想法?
任务示例(在role / tasks / main.yml文件中):
- name: test conditional handler
command: /bin/true
notify:
- test handler
处理程序(在role / handlers / main.yml文件中):
---
- name: test handler
uri:
url: http://validurl
method: GET
when: {{ test_var }} != "some value"
我可以访问任务中的test_var值。
例外:
Points to the "!=".
We could be wrong, but this one looks like it might be an issue with missing quotes.
答案 0 :(得分:2)
您不需要在when语句中使用大括号表示法(例如{{ test_var }}
),因为该值被解释为Jinja2表达式。以下将起作用:
when: test_var != "some value"