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')