- name: list of list to list of dict

  hosts: localhost

  become: false

  gather_facts: false

  vars:

    test:

      - - host1

        - fd99:9999::1

      - - host1

        - 10.0.1.1

      - - host2

        - fd99:9999::1

      - - host2

        - 10.0.1.1

      - - foo

        - fd99:9999::1

      - - foo

        - 10.0.1.1

      - - baz

        - fd99:9999::1

      - - baz

        - 10.0.1.1

  tasks:

    - name: test

      debug: var=test


    - name: list 2 dict

      set_fact:

        list2dict: "{{ list2dict|default([]) + [ thisdict ] }}"

      loop: "{{ test }}"

      vars:

        thisdict: { name: "{{ item.0 }}", addr: "{{ item.1 }}" }


    - name: list2dict

      debug: var=list2dict




Walter
--
Walter Rowe, Division Chief
Infrastructure Services Division
Mobile: 202.355.4123

On Aug 29, 2024, at 5:40 AM, Dick Visser <[email protected]> wrote:

Hii

I have something like this in my vars:

test:
  - - host1
    - fd99:9999::1
  - - host1
    - 10.0.1.1
  - - host2
    - fd99:9999::1
  - - host2
    - 10.0.1.1
  - - foo
    - fd99:9999::1
  - - foo
    - 10.0.1.1
  - - baz
    - fd99:9999::1
  - - baz
    - 10.0.1.1


Each first and second list item should become keys in a dict, like this:

conv:
  - name: host1
    address: fd99:9999::1
  - name: host1
    address: 10.0.1.1
  - name: host2
    address: fd99:9999::1
  - name: host2
    address: 10.0.1.1
  - name: foo
    address: fd99:9999::1
  - name: foo
    address: 10.0.1.1
  - name: baz
    address: fd99:9999::1
  - name: baz
    address: 10.0.1.1

I tried a few things with mapping and filtering, but can't see how to do it....
any suggestions? Ideally no tasks, just filters....

thx




--
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]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAF8BbLamT%3Ds3H4R%3DcxShSg16KrSr%2B4%3D%3DUytgZbjPivhMK1rfmg%40mail.gmail.com<https://groups.google.com/d/msgid/ansible-project/CAF8BbLamT%3Ds3H4R%3DcxShSg16KrSr%2B4%3D%3DUytgZbjPivhMK1rfmg%40mail.gmail.com?utm_medium=email&utm_source=footer>.

-- 
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/8DA3C6CD-942A-4462-B67C-7B07E0ADFD6C%40nist.gov.

Reply via email to