I have the following YAML structure:
bri:
cards:
- slot: "1"
subslot: "0"
ports: 2
- slot: "1"
subslot: "1"
ports: 2
- slot: "1"
subslot: "2"
ports: 2
- slot: "2"
subslot: "0"
ports: 2
- slot: "2"
subslot: "1"
ports: 2
I am attempting to use Jinja2 to get a unique list of slots, i.e.:
['1', '2']
So far, I've managed to apply the following:
{{ bri.cards|map(attribute='slot')|list }}
Which gives me:
['1', '1', '1', '2', '2']
However, I don't seem to be able to find a way to get a unique list.
Ansible
Ansible appears to have a "unique" filter that can do this. But I'm not using Ansible in this case.
- http://docs.ansible.com/ansible/playbooks_filters.html#set-theory-filters
- ansible/jinja2 get unique subelements
My question
Can anyone suggest the best way to achieve this? Should (or can) this be done natively with Jinja2, or should I adopt an alternative approach?