OK, I got it, although I'm sure there is a more elegant and simpler way to
achieve the same result:
- name: Removing a <nic_id> from the dictionary matching the
<net_id>
vars:
vpc:
provider:
- net_type: 'db'
net_ipv4_subnet: '10.0.0.0/16'
net_ipv6_subnet: 'FD00::/64'
net_id: '0'
nic_ids:
- 1111111111
- 2222222222
- net_type: 'dns'
net_ipv4_subnet: '10.1.0.0/16'
net_ipv6_subnet: 'FD01::/64'
net_id: '1'
nic_ids:
- 3333333333
- 4444444444
- net_type: 'ns'
net_ipv4_subnet: '10.2.0.0/16'
net_ipv6_subnet: 'FD02::/64'
net_id: '2'
nic_ids:
- 5555555555
- 6666666666
nic_ids_:
- 4444444444
new_nic_ids: "{{ vpc.provider | selectattr('net_id', 'eq',
'1') | map(attribute= 'nic_ids') | first | difference(nic_ids_) }}"
seed_vpc:
provider:
- net_id: '1'
nic_ids: "{{ new_nic_ids }}"
new_vpc:
provider:
"{{ [vpc.provider, seed_vpc.provider] |
community.general.lists_mergeby('net_id', recursive=True,
list_merge='replace') }}"
debug:
msg: "{{ new_vpc }}"
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/9242158f-7d17-4135-be26-a0b52aacb94bn%40googlegroups.com.