Hii

I have a list of dicts, where I want to inject a number of helper keys.
I can do this with set_facts in a loop. Example playbook (hopefully this
displays OK):



---

- name: Add helper keys to list of dicts

  hosts: localhost

  connection: local

  gather_facts: no

  tasks:

    - set_fact:

        backup_objects: "{{ backup_objects|default([]) | union(

          [

            item | combine(

              {

                'basename': item.Key|regex_replace('^' ~ prefix ~
'\\d{10}_(.*)\\.pgdump', '\\1')

              }

            )

          ]

          )

        }}"

      loop: "{{ all_objects }}"

      loop_control:

        label: "{{ item.Key }}"


    - debug: var=backup_objects

  vars:

    prefix: backup/database/

    all_objects:

      - ETag: '"d41d8cd98f00b204e9800998ecf8427e"'

        Key: backup/database/1689953756_dev_wss_db.pgdump

        LastModified: '2023-07-21T15:36:01.000Z'

        Owner:

          ID:
2d8917bbcab5a8e0d3d7f5f39d147cd6de38e883357d7ae16323398c302fe97e

        Size: 0

        StorageClass: STANDARD

      - ETag: '"d41d8cd98f00b204e9800998ecf8427e"'

        Key: backup/database/1689953756_dev_wss_db_requests.pgdump

        LastModified: '2023-07-21T15:36:08.000Z'

        Owner:

          ID:
2d8917bbcab5a8e0d3d7f5f39d147cd6de38e883357d7ae16323398c302fe97e

        Size: 0

        StorageClass: STANDARD

      - ETag: '"d41d8cd98f00b204e9800998ecf8427e"'

        Key: backup/database/1689953756_dev_bss_service_database.pgdump

        LastModified: '2023-07-21T15:36:13.000Z'

        Owner:

          ID:
2d8917bbcab5a8e0d3d7f5f39d147cd6de38e883357d7ae16323398c302fe97e

        Size: 0

        StorageClass: STANDARD

      - ETag: '"d41d8cd98f00b204e9800998ecf8427e"'

        Key: backup/database/1689953756_dev_bss_frontend_db.pgdump

        LastModified: '2023-07-21T15:36:19.000Z'

        Owner:

          ID:
2d8917bbcab5a8e0d3d7f5f39d147cd6de38e883357d7ae16323398c302fe97e

        Size: 0

        StorageClass: STANDARD

      - ETag: '"d41d8cd98f00b204e9800998ecf8427e"'

        Key: backup/database/1689953756_dev_mss_db.pgdump

        LastModified: '2023-07-21T15:36:25.000Z'

        Owner:

          ID:
2d8917bbcab5a8e0d3d7f5f39d147cd6de38e883357d7ae16323398c302fe97e

        Size: 0

        StorageClass: STANDARD





This works, but in my real world use case this list is very long, so there
will be a lot of output because of each iteration. I have already set the
loop label to something less noisy.
Is there a way to add keys to a list of dicts, where those new keys are
based on an operation of another key?

thx !

Dick

-- 
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/CAF8BbLZDy-7ym4pcEJSBuCVkZZ2gPzinj8NFTcNnN6WedH%2BfMQ%40mail.gmail.com.

Reply via email to