summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbhijeet Kasurde <akasurde@redhat.com>2024-10-08 21:09:07 +0200
committerGitHub <noreply@github.com>2024-10-08 21:09:07 +0200
commit18c6b40e196decd8c7f2b9ecba2cd7254ecd03db (patch)
treef4e326ed47bd2373d3b7a710a5bf08027b0319d1
parentuser module, avoid chmoding symlink'd home file (#83956) (diff)
downloadansible-18c6b40e196decd8c7f2b9ecba2cd7254ecd03db.tar.xz
ansible-18c6b40e196decd8c7f2b9ecba2cd7254ecd03db.zip
Update unique filter docs (#84078)
* Correct case_sensitive example * Add attribute docs Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
-rw-r--r--lib/ansible/plugins/filter/unique.yml22
1 files changed, 19 insertions, 3 deletions
diff --git a/lib/ansible/plugins/filter/unique.yml b/lib/ansible/plugins/filter/unique.yml
index 83a4f92bac..25e0bf30b4 100644
--- a/lib/ansible/plugins/filter/unique.yml
+++ b/lib/ansible/plugins/filter/unique.yml
@@ -14,6 +14,9 @@ DOCUMENTATION:
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
@@ -28,14 +31,27 @@ EXAMPLES: |
# 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', '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.