Я вытаскиваю JSON через модуль URI и хочу записать полученный контент в файл. Я могу получить содержимое и вывести его в отладчик, поэтому я знаю, что контент получен, но я не знаю, как лучше всего писать файлы.
Запись переменной в файл в Ansible
Ответ 1
Вы можете использовать модуль copy
с параметром content
:
- copy: content="{{ your_json_feed }}" dest=/path/to/destination/file
Документы здесь: копировать модуль
Ответ 2
Если вы не пишете очень маленькие файлы, вероятно, вы должны использовать templates.
Пример:
- name: copy upstart script
template:
src: myCompany-service.conf.j2
dest: "/etc/init/myCompany-service.conf"
Ответ 3
Основываясь на ответе Рамона, я столкнулся с ошибкой. Проблема, в которой места в JSON я пытался написать, я исправил ее, изменив задачу в playbook, чтобы выглядеть так:
- copy:
content: "{{ your_json_feed }}"
dest: "/path/to/destination/file"
На данный момент я не уверен, почему это было необходимо. Мое лучшее предположение заключается в том, что это как-то связано с заменой переменных в Ansible, и результирующий файл анализируется.