Solución:
Un comentario importante de tmoschou:
As of Ansible 2.10, The documentation for ansible.builtin.copy says:
If you need variable interpolation in copied files, use the
ansible.builtin.template module. Using a variable in the content
field will result in unpredictable output.
Para obtener más detalles, consulte esto y una explicación.
Respuesta original:
Podrías usar el copy
módulo, con el content
parámetro:
- copy: content="{{ your_json_feed }}" dest=/path/to/destination/file
Los documentos aquí: módulo de copia
Según la respuesta de Ramón, me encuentro con un error. El problema donde los espacios en el JSON que intenté escribir lo solucioné cambiando la tarea en el libro de jugadas para que se pareciera a:
- copy:
content: "{{ your_json_feed }}"
dest: "/path/to/destination/file"
A partir de ahora, no estoy seguro de por qué fue necesario. Mi mejor suposición es que tuvo algo que ver con cómo se reemplazan las variables en Ansible y se analiza el archivo resultante.
A menos que esté escribiendo archivos muy pequeños, probablemente debería usar plantillas.
Ejemplo:
- name: copy upstart script
template:
src: myCompany-service.conf.j2
dest: "/etc/init/myCompany-service.conf"
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)