|
|
@ -14,6 +14,9 @@ DOCUMENTATION:
|
|
|
|
description: Whether to consider case when comparing elements.
|
|
|
|
description: Whether to consider case when comparing elements.
|
|
|
|
default: false
|
|
|
|
default: false
|
|
|
|
type: bool
|
|
|
|
type: bool
|
|
|
|
|
|
|
|
attribute:
|
|
|
|
|
|
|
|
description: Filter objects with unique values for this attribute.
|
|
|
|
|
|
|
|
type: str
|
|
|
|
seealso:
|
|
|
|
seealso:
|
|
|
|
- plugin_type: filter
|
|
|
|
- plugin_type: filter
|
|
|
|
plugin: ansible.builtin.difference
|
|
|
|
plugin: ansible.builtin.difference
|
|
|
@ -28,14 +31,27 @@ EXAMPLES: |
|
|
|
|
# list1: [1, 2, 5, 1, 3, 4, 10]
|
|
|
|
# list1: [1, 2, 5, 1, 3, 4, 10]
|
|
|
|
{{ list1 | unique }}
|
|
|
|
{{ list1 | unique }}
|
|
|
|
# => [1, 2, 5, 3, 4, 10]
|
|
|
|
# => [1, 2, 5, 3, 4, 10]
|
|
|
|
|
|
|
|
|
|
|
|
# return case sensitive unique elements
|
|
|
|
# return case sensitive unique elements
|
|
|
|
{{ ['a', 'A', 'a'] | unique('case_sensitive=true') }}
|
|
|
|
{{ ['a', 'A', 'a'] | unique(case_sensitive='true') }}
|
|
|
|
# => ['a', 'A']
|
|
|
|
# => ['a', 'A']
|
|
|
|
|
|
|
|
|
|
|
|
# return case insensitive unique elements
|
|
|
|
# return case insensitive unique elements
|
|
|
|
{{ ['b', 'B', 'b'] | unique() }}
|
|
|
|
{{ ['b', 'B', 'b'] | unique() }}
|
|
|
|
# => ['b']
|
|
|
|
# => ['b']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# return unique elements of list based on attribute
|
|
|
|
|
|
|
|
# => [{"age": 12, "name": "a" }, { "age": 14, "name": "b"}]
|
|
|
|
|
|
|
|
- debug:
|
|
|
|
|
|
|
|
msg: "{{ sample | unique(attribute='age') }}"
|
|
|
|
|
|
|
|
vars:
|
|
|
|
|
|
|
|
sample:
|
|
|
|
|
|
|
|
- name: a
|
|
|
|
|
|
|
|
age: 12
|
|
|
|
|
|
|
|
- name: b
|
|
|
|
|
|
|
|
age: 14
|
|
|
|
|
|
|
|
- name: c
|
|
|
|
|
|
|
|
age: 14
|
|
|
|
RETURN:
|
|
|
|
RETURN:
|
|
|
|
_value:
|
|
|
|
_value:
|
|
|
|
description: A list with unique elements, also known as a set.
|
|
|
|
description: A list with unique elements, also known as a set.
|
|
|
|