playbook modules lineinfile example file ansible-playbook

file - modules - ansible shell



Escribir variable en un archivo en Ansible (3)

Estoy sacando JSON a través del módulo URI y quiero escribir el contenido recibido en un archivo. Puedo obtener el contenido y enviarlo al depurador, así sé que se ha recibido el contenido, pero no conozco las mejores prácticas para escribir archivos.


A menos que esté escribiendo archivos muy pequeños, probablemente debería usar templates .

Ejemplo:

- name: copy upstart script template: src: myCompany-service.conf.j2 dest: "/etc/init/myCompany-service.conf"


En base a la respuesta de Ramon, me encuentro con un error. El problema donde los espacios en el JSON que traté de escribir lo solucioné cambiando la tarea en el libro de jugadas para que se vea así:

- copy: content: "{{ your_json_feed }}" dest: "/path/to/destination/file"

Por ahora no estoy seguro de por qué fue necesario. Mi mejor opción es que tiene algo que ver con cómo se reemplazan las variables en Ansible y se analiza el archivo resultante.


Puede usar el módulo de copy , con el parámetro de content :

- copy: content="{{ your_json_feed }}" dest=/path/to/destination/file

Los documentos aquí: copiar el módulo