Skip to content

unique

Collection Note

This module is part of the ansible.builtin collection. To install the collection, use:

ansible-galaxy collection install ansible.builtin
Added in version 1.4.

Synopsis

  • Creates a list of unique elements (a set) from the provided input list.

Parameters

Parameter Defaults / Choices Comments
_input
list
required
A list.
attribute
str
Filter objects with unique values for this attribute.
case_sensitive
bool
Whether to consider case when comparing elements.

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 Values

Key Data Type Description Returned
_value list A list with unique elements, also known as a set.

Authors

  • Brian Coca (@bcoca)