Ansible在get请求中添加rest api密钥

时间:2017-04-12 12:05:11

标签: rest ansible yaml

我是一名网络工程师,已成为基于安赛的网络自动化平台的意外管理员,并且正在努力应对我的有限知识,为其他api get请求添加api密钥。

我已经获得了一个使用的密钥,例如fake-api-key:1234567890,我已经尝试将其添加到我的API调用的标头中,如下所示 -

- name: RETRIEVE SOMETHING
  uri:
    url: "https://host.name-api.com/service123/request?foo_bar={{ foobar}}"
    method: GET
    return_content: yes
    body_format: json
    headers:
      Content-Type: "fake-api-key/1234567890"
  register: foo
  when: bar

我收到“错误401:访问被拒绝”。但是,当我使用邮递员测试它时,它可以正常工作,因此YAML文件中的格式似乎不正确。我尝试了一些变化。这可能很简单。

任何知道ansible的人都可以帮助确定我做错了吗?

由于

3 个答案:

答案 0 :(得分:1)

对于延迟回复表示歉意。正如一些人所指出的,正确的答案是以下语法

- name: RETRIEVE THIS CHANGE DETAIL
  uri:
    url: "https://some-url/service123/request?variable={{var}}}"
    method: GET
    return_content: yes
    body_format: json
    headers:
       fake-api-key: "1234567890"

答案 1 :(得分:0)

如果它在邮递员工作,请检查您在邮递员中传递的标题。您可以单击邮递员请求构建器中的“代码”链接以查看所有标题。有些在Headers选项卡中不可见(例如cache-control)。将所有这些标题添加到您的请求中。

答案 2 :(得分:0)

试试这个

headers:
  fake-api-key: 1234567890

这相当于curl

curl -X GET 'https://your_url' -H "fake-api-key:1234567890"