It is important to understand the structure of the data. Your backups variable
defines a list, not a dictionary.
% cat foo.yml
---
- name: list to dict
hosts: localhost
become: false
gather_facts: false
vars:
backups:
- mongodb
- postgresql:
- sonarqube
- other
- /opt
- /etc
tasks:
- debug: var=backups
% ansible-playbook -i localhost, foo.yml
PLAY [list to dict]
****************************************************************************************************
TASK [debug]
***********************************************************************************************************
ok: [localhost] => {
"backups": [
"mongodb",
{
"postgresql": [
"sonarqube",
"other"
]
},
"/opt",
"/etc"
]
}
PLAY RECAP
*************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
skipped=0 rescued=0 ignored=0
backup[0] is a string "mongo"
backup[1] is a dictionary with one key 'postgresql'
backup[2] & [3] are strings "/opt" and "/etc"
backups[1].postgresql is a list of strings
backups[1].postgresql[0] is string "sonarqube"
backups[1].postgresql[1] is string "other"
Walter
--
Walter Rowe, Division Chief
Infrastructure Services Division
Mobile: 202.355.4123
On Feb 6, 2024, at 8:05 AM, [email protected] <[email protected]>
wrote:
i have this:
backups:
- mongodb
- postgresql:
- sonarqube
- other
- /opt
- /etc
later i use it in template task:
- name: template backup script out
template:
src: backup-script.sh.j2
dest: /root/backup.sh
mode: 755
my jinja2 is:
{% if backups.postgresql is defined %}
{% for db in backups.postgresql %}
{{ db }}
{% endfor %}
{% endif %}
expected output:
sonarqube
other
but got an empty output.
what's wrong in my template?
thank you!
--
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/d9bd0bf0-11b4-45db-8b94-2cd445a093a9n%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/d9bd0bf0-11b4-45db-8b94-2cd445a093a9n%40googlegroups.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/7910AFC7-18E1-4952-B8B9-F764461E0405%40nist.gov.