Подтвердить что ты не робот

Запись переменной в файл в Ansible

Я вытаскиваю JSON через модуль URI и хочу записать полученный контент в файл. Я могу получить содержимое и вывести его в отладчик, поэтому я знаю, что контент получен, но я не знаю, как лучше всего писать файлы.

4b9b3361

Ответ 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, и результирующий файл анализируется.