与curl命令等价的ansible uri

与curl命令等价的ansible uri,curl,ansible,uri,grafana,Curl,Ansible,Uri,Grafana,不确定如何在ansible uri模块中对此进行编码。到目前为止,我已经做到了: curl 'http://admin:admin@127.0.0.1:3000/api/datasources' -X POST -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"name":"influx","type":"influxdb","url":"http://localhost:8086","access":"prox

不确定如何在ansible uri模块中对此进行编码。到目前为止,我已经做到了:

curl 'http://admin:admin@127.0.0.1:3000/api/datasources' -X POST -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"name":"influx","type":"influxdb","url":"http://localhost:8086","access":"proxy","isDefault":true,"database":"collectd_db","user":"admin","password":"admin"}'
但它不起作用,并给出以下错误:

- name: next add the database to the grafana
 uri:
  url: "http://admin:admin@127.0.0.1:3000/api/datasources"
  method: POST
  user: admin
  password: admin
    body: '{"name":"influx","type":"influxdb","url":"http://localhost:8086","access":"proxy","isDefault":true,"database":""{{ influxdb_database|default(collectd_db) }}"","user":"admin","password":"admin"}'
  body_format: raw
  # force_basic_auth: yes
“msg”:“状态代码不是[200]:请求失败:”,
“重定向”:错误,
“地位”:-1,
“url:“http://*********:********@127.0.0.1:3000/api/datasources”

}我不得不求助于“命令”模块

  "msg": "Status code was not [200]: Request failed: <urlopen error [Errno -2] Name or service not known>", 
"redirected": false, 
"status": -1, 
"url": "http://********:********@127.0.0.1:3000/api/datasources"
  • 尝试将
    body\u格式设置为
    json
  • 去除
    正文之前的多余缩进
  • 删除
    “{{influxdb|default(collectd_db)}}”周围多余的双引号
  • url:
    值中删除
    admin:admin@
    (已经通过
    user
    password
    设置了该值)

  • 让我们知道你在那之后过得怎么样

    尝试从url中删除
    admin:admin@
    - name: Add graphite datasource
      command: >
        curl 'http://admin:admin@{{ inventory_hostname }}:3000/api/datasources' -X POST -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"name":"Graphite Live","type":"graphite","url":"http://graphiteserver.foo.bar","access":"direct","isDefault":true,"database":"asd"}'