it-swarm.com.ru

Выполнить curl -X с ANSIBLE playbook

Я хочу выполнить следующую команду, используя ansible playbook:

curl -X POST [email protected] -H "Content-Type: application/json" http://marathon.service.consul:8080/v2/apps

Как я могу запустить это?

Если я бегу:

- name: post to consul
  uri:
    url: http://marathon.service.consul:8080/v2/apps/
    method: POST
    body: "{{ lookup('file','mesos-consul.json') }}"
    body_format: json
    HEADER_Content-Type: "application/json"

У меня следующий сбой:

fatal: [172.16.8.231]: FAILED! => {"failed": true, "msg": "ERROR! thefile_name '/home/ikerlan/Ik4-Data-Platform/ansible/playbooks/Z_PONER_EN_MARCHA/dns-consul/mesos-consul.j2' does not exist, or is not readable"}

21
Asier Gomez

Лучший способ сделать это - использовать модуль URI :

tasks:
- name: post to consul
  uri:
    url: http://marathon.service.consul:8080/v2/apps/
    method: POST
    body: "{{ lookup('file','mesos-consul.json') }}"
    body_format: json
    headers:
      Content-Type: "application/json"

Поскольку ваш файл json находится на удаленной машине, проще всего выполнить его с помощью модуля Shell:

- name: post to consul
  Shell: 'curl -X POST [email protected]/full/path/to/mesos-consul.json -H "Content-Type: application/json" http://marathon.service.consul:8080/v2/apps'
34
MillerGeek