Vraag Schrijf variabele naar een bestand in Ansible


Ik haal JSON via de URI-module en wil de ontvangen inhoud naar een bestand schrijven. Ik kan de inhoud ophalen en deze naar de debugger uitvoeren, dus ik weet dat de inhoud is ontvangen, maar ik weet niet wat de beste manier is om bestanden te schrijven.


63
2017-10-29 18:39


oorsprong


antwoorden:


Je zou de kunnen gebruiken copy module, met de content parameter:

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

De documenten hier: kopieermodule


122
2017-10-29 21:12



Tenzij u zeer kleine bestanden schrijft, zou u dit waarschijnlijk moeten gebruiken templates.

Voorbeeld:

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

5
2018-05-22 17:06



Op basis van Ramons antwoord kom ik een fout tegen. Het probleem met spaties in de JSON die ik probeerde te schrijven, werd opgelost door de taak in het spelboek te wijzigen om er als volgt uit te zien:

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

Vanaf nu weet ik niet waarom dit nodig was. Mijn beste gok is dat het iets te maken had met hoe variabelen worden vervangen in Ansible en het resulterende bestand wordt geparseerd.


3
2018-01-15 08:09