Ansible - как проверить, все ли элементы в списке одинаковы? - PullRequest
0 голосов
/ 28 января 2019

У нас есть список, например:
['A', 'A']
Как проверить, что список содержит только элементы A?(Да, это точно строка).

Например, для ['A'] необходимо вернуть ['A','A','A','A'] True, однако для
[], ['A','A', 'B'] False следует вернуть.

Существует ли какой-нибудь элегантный способ выразить это?

1 Ответ

0 голосов
/ 28 января 2019

Это должно сделать это:

- set_fact:
    sample:
      - A
      - A
- set_fact:
    has_unique_val: "{{ sample | unique | length == 1 }}"
- debug:
    var: has_unique_val
  • sample | unique | length это сводит список только к уникальным значениям, а затем подсчитывает, сколько значений возвращается.Если есть только одно значение, будет возвращено 1, в противном случае 0 или> 1
  • == 1 вернет true, если счетчик равен 1, в противном случае false
...