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.