DOCUMENTATION: name: unique author: Brian Coca (@bcoca) version_added: "1.4" short_description: set of unique items of a list description: - Creates a list of unique elements (a set) from the provided input list. options: _input: description: A list. type: list required: true case_sensitive: description: Whether to consider case when comparing elements. default: false type: bool attribute: description: Filter objects with unique values for this attribute. type: str seealso: - plugin_type: filter plugin: ansible.builtin.difference - plugin_type: filter plugin: ansible.builtin.intersect - plugin_type: filter plugin: ansible.builtin.symmetric_difference - plugin_type: filter plugin: ansible.builtin.union EXAMPLES: | # return only the unique elements of list1 # list1: [1, 2, 5, 1, 3, 4, 10] {{ list1 | unique }} # => [1, 2, 5, 3, 4, 10] # return case sensitive unique elements {{ ['a', 'A', 'a'] | unique(case_sensitive='true') }} # => ['a', 'A'] # return case insensitive unique elements {{ ['b', 'B', 'b'] | unique() }} # => ['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: _value: description: A list with unique elements, also known as a set. type: list