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 ansible-project+unsubscr...@googlegroups.com.
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