contains#
Расширение тестирования ansible.builtin.contains проверяет, содержится ли указанный элемент в заданном списке.
Описание применения расширений тестирования приведено в документе Тестирование.
Особенности работы#
Для проверки нахождения элемента в списке используйте конструкцию:
<list> is ansible.builtin.contains(<contained>)
Здесь:
<list> – проверяемый список;
<contained> – элемент, наличие которого требуется проверить.
Для инверсии результата сравнения добавьте not:
<list> is not ansible.builtin.contains(<contained>)
Входные значения#
Расширение принимает единственный входной параметр Input – проверяемый список.
Позиционные параметры#
Расширение принимает единственный и обязательный позиционный параметр _contained – элемент, который требуется найти в списке.
Выходные значения#
Расширение возвращает значение True или False в зависимости от результата поиска:
False– элемент не найден;True– элемент найден.
Пример#
Следующий пример демонстрирует использование ansible.builtin.contains для проверки нахождения элемента в списке.
---
# ...
vars:
list_of_interfaces:
- em1
- em2
- em3
tasks:
- name: Check if interface em1 is present
ansible.builtin.debug:
msg: "Interface em1 is present in the list"
when: list_of_interfaces is ansible.builtin.contains('em1')
- name: Check if interface eth9 is present
ansible.builtin.debug:
msg: "Interface eth9 is present in the list"
when: list_of_interfaces is ansible.builtin.contains('eth9')