Ответ 1
Если variable1
- это строка, и вы ищете подстроку в ней, это должно работать:
when: '"value" in variable1'
if variable1
- это массив или dict вместо этого, in
будет искать точную строку как один из ее элементов.
У меня несколько задач зависят от значения переменной1. Я хочу проверить, находится ли значение в {{variable1}}, но я получил ошибку:
- name: do something when the value in variable1
command: <command>
when: "'value' in {{variable1}}"
Я использую ansible 2.0.2
Если variable1
- это строка, и вы ищете подстроку в ней, это должно работать:
when: '"value" in variable1'
if variable1
- это массив или dict вместо этого, in
будет искать точную строку как один из ее элементов.
Ни один из вышеперечисленных ответов не работал у меня в ansible 2.3.0.0, но следующее:
when: variable1 | search("value")
Я использовал
failed_when: not(promtool_version.stdout.find('1.5.2') != -1)
означает - сбой, только если ранее зарегистрированная переменная "promtool_version" не содержит строку "1.5.2".