试图将curl转换为ansible play

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图将curl转换为ansible play相关的知识,希望对你有一定的参考价值。

我正在尝试使用uri模块将以下curl转换为ansible play:curl -u user:password -X PUT "http://xxxxxxxxrest/api/1.0/projects/project/repos/my-repo/permissions/groups?permission=REPO_WRITE&name=TestGroup"

有人可以建议如何在剧本中添加值吗?以下不起作用。错误:服务器拒绝此请求,因为请求实体的格式不受所请求方法的请求资源支持

  - name: Add Permission to Group
    uri:
      url: http://xxxxxxxxrest/api/1.0/projects/project/repos/myrepo/permissions/groups
      method: PUT
      user: user
      password: password
      body: "permission={REPO_WRITE}"
      body: "name={TestGroup}"
      force_basic_auth: yes
      status_code: 200
答案
 body: "permission={REPO_WRITE}"
 body: "name={TestGroup}"

当他们不在你的curl体内时,我不知道为什么你把它们移到了身体上;它们是你的curl中的查询参数,因为它们也应该在你的uri:调用中:

- uri:
    url: http://xx.../groups?permission=REPO_WRITE&name=TestGroup

话虽如此,请注意非幂等行为(除非你在其他地方有when:保护这个uri:),因为ansible不知道uri做了什么,因此无法对uri是否需要发生做出任何声明或不。

以上是关于试图将curl转换为ansible play的主要内容,如果未能解决你的问题,请参考以下文章

将 Curl 命令转换为在 Zapier Webhook 中运行

将PHP cURL请求转换为node.js

ansible playbooks

ansible基础二

3Ansible playbooks

如何将 cURL 转换为邮递员?