Oneliner для утверждения всех элементов списка - PullRequest
2 голосов
/ 07 апреля 2020

В Ansible я пытаюсь найти oneliner, чтобы утверждать, что все элементы списка соответствуют регулярному выражению с использованием генератора python.

Что-то вроде:

- assert:
    that:
      - (item is match('{{ regex }}') for item in list)

Но я не могу понять правильный синтаксис.

Возможно ли это? Как?

1 Ответ

0 голосов
/ 07 апреля 2020

Одно из возможных решений: используйте фильтр select , чтобы уменьшить список до элементов, соответствующих вашему регулярному выражению, и сравнить размер полученного списка с оригинальным:

- assert:
    that:
      - (my_list | select('match', my_regex) | list | length) == (my_list | length)
...