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.

Reply via email to