在when语句中使用ansible变量

时间:2019-05-17 05:29:34

标签: ansible jinja2

我在when语句中使用ansible_hostname变量在命令stdout中查找包含它的字符串,如下所示:

when: result.stdout.find("some stdout text {{ansible_hostname}}") == -1

when: result.stdout.find("some stdout text {{ansible_hostname}}") != -1

并且我的任务按预期工作,但是ansible抛出了在when语句中使用jinja2模板的警告:

[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}

那么在字符串中传递ansible_hostname以在stdout中找到的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

下一个选择就是使用这种条件

when: "'some stdout text ' ~ ansible_hostname in result.stdout"

答案 1 :(得分:0)

像这样解决:

when: result.stdout.find('some stdout text ' ~ ansible_hostname) == -1