
Dado quevariableestructura
syncjobs:
- filename: output1.bash
content: data1
- filename: output2.bash
content: data2
Quiero recorrerlo creando los archivos conplantilla.ansible.integradausando el campoNombre del archivoPara eldestino. Puedo lograr esto con
- name: Create scripts
ansible.builtin.template:
src: template.bash.j2
dest: /opt/bin/{{ item.filename }}
owner: root
mode: "u+x,o-r"
backup: true
with_items: "{{ syncjobs }}"
sin embargo, no puedo entender cómo abordar el problema específicocontenidocampo de latrabajos de sincronizacióndict en el archivo de plantilla. Por supuesto que puedo acceder a la variable.trabajos de sincronización, pero necesito abordar elcontenidocampo de la relacionadadiccionariopara cada iteración específica.
Intenté establecer un hecho adicional comonombre_archivo_actualaelemento.nombredearchivodentro de unansible.bloque.integrado, pero desafortunadamente los bucles no parecen ser compatibles con los bloques.
Respuesta1
Exactamente de la misma manera que en el libro de jugadas. Existe la misma {{ item }}
variable en la plantilla, por lo que puede consultarla {{ item.content }}
en el archivo de plantilla. (De hecho,todolas variables del libro de jugadas están disponibles en la plantilla, el mismo conjunto que existe en ese lugar específico del libro de jugadas donde se ansible.builtin.template
llamó).