0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Иногда таски в Ansible нужно выполнять только при определенных условиях. Для этого используется механизм<em>conditionals</em>. Для этого используется ключ when с выражением на языке Python. В нем можно напрямую использовать переменные, которые мы определили в плэйбуке, а так же факты, не заворачивая их в шаблон. Рассмотрим несколько примеров:</p>
1
<p>Иногда таски в Ansible нужно выполнять только при определенных условиях. Для этого используется механизм<em>conditionals</em>. Для этого используется ключ when с выражением на языке Python. В нем можно напрямую использовать переменные, которые мы определили в плэйбуке, а так же факты, не заворачивая их в шаблон. Рассмотрим несколько примеров:</p>
2
<p>Первая задача выполняется, только если на целевой машине установлена операционная система Debian. В условии выполняется простое сравнение значения факта ansible_os_family со строкой. Во второй задаче используется более сложная проверка с применением операторов and и or. Такая задача выполнится на CentOs версии 6 и 7.</p>
2
<p>Первая задача выполняется, только если на целевой машине установлена операционная система Debian. В условии выполняется простое сравнение значения факта ansible_os_family со строкой. Во второй задаче используется более сложная проверка с применением операторов and и or. Такая задача выполнится на CentOs версии 6 и 7.</p>
3
<p>В условии when могут использоваться переменные (обратите внимание, как в Python делается отрицание):</p>
3
<p>В условии when могут использоваться переменные (обратите внимание, как в Python делается отрицание):</p>
4
<p>Условия будут работать и в циклах:</p>
4
<p>Условия будут работать и в циклах:</p>
5
<p>Здесь просто происходит проверка, что значение больше 5. Как видите, знание самого Python не обязательно, потому что сравнение выполняется естественным образом. Но также можно использовать и другие операторы, которые есть в Python.</p>
5
<p>Здесь просто происходит проверка, что значение больше 5. Как видите, знание самого Python не обязательно, потому что сравнение выполняется естественным образом. Но также можно использовать и другие операторы, которые есть в Python.</p>
6
<h2>Рекомендуемые программы</h2>
6
<h2>Рекомендуемые программы</h2>