我正在运行一个任务,如果我之前设置的变量的值在另一个变量中不存在,则我只想执行该任务。我已经尝试了以下方法,但是由于模板错误而出错:
name: get ip address
...
register: ipaddress
name: check cluster
....
register: topology
name: do my task
...
when: not topology is search(ipaddress)
有什么方法可以完成我的工作吗?我正在使用2.6版。
答案 0 :(得分:0)
使用regex_filter。
正则表达式过滤器
要使用正则表达式搜索字符串,请使用“ regex_search”过滤器:
{{ 'foobar' | regex_search('(foo)') }}
{{ 'ansible' | regex_search('(foobar)') }}
{{ 'foo\nBAR' | regex_search("^bar", multiline=True, ignorecase=True) }}
在您的示例中,作一些假设-
when: not topology | regex_search(ipaddress, multiline=True)
(在一次会议中,无法测试,请检查它,如果不正确,请通知我。)