Postgresql 通过Ansible代码安装Enterprisedb PEM时出现Curl命令问题
我正在尝试使用下面的Postgresql 通过Ansible代码安装Enterprisedb PEM时出现Curl命令问题,postgresql,curl,ansible,enterprisedb,Postgresql,Curl,Ansible,Enterprisedb,我正在尝试使用下面的CURL代码为EDB Postgres PEM API令牌生成令牌,但出现错误: - name: Generate PEM Token command: 'curl -i -X POST -d {username:"{{ PEM_DB_USER }}", password:"{{ PEM_DB_PASS }}"} -H "Content-Type: application/json" https://{{ PEM
CURL
代码为EDB Postgres PEM API
令牌生成令牌,但出现错误:
- name: Generate PEM Token
command: 'curl -i -X POST -d {username:"{{ PEM_DB_USER }}", password:"{{ PEM_DB_PASS }}"} -H "Content-Type: application/json" https://{{ PEM_SERVER_HOSTIP }}:8443/pem/api/token/ -k'
register: pem_token_op
- debug:
msg: "{{ pem_token_op.stdout }}"
致命:[10.174.131.56]:失败!=>{“理由”:"我们无法读取JSON或YAML,这是我们从中得到的错误:\nJSON:加载YAML时无法解码任何JSON对象\n\n语法错误。\n在此上下文中不允许映射值\n\n错误出现在“/root/EDB\u AUTOMATION/roles/pemsinstall/tasks/pemServerInitialization.yml”:第6行,第110列,但可能\n根据确切的语法问题,在文件中的其他位置。\n\n出现问题的行似乎是:\n\n-name:Generate PEM Token\n command:curl-i-X POST-d'{用户名:{{PEM_DB_USER}},密码:{{PEM_DB_PASS}}'-H“内容类型:application/json”https://{PEM_SERVER_HOSTIP}:8443/pem/api/token/-k\n^此处\n我们可能有错误,但这一个看起来可能是缺少引号的问题。当模板表达式括号启动值时,\n始终引用它们。例如:\n\n with_items:\n-{{foo}\n\n应写为:\n\n,带有\u项:\n-“{{foo}}”\n}
我还使用uri
模块尝试了同样的方法,但仍然遇到问题:
- name: Generate PEM Token
uri:
url: "https://{{ PEM_SERVER_HOSTIP }}:8443/pem/api/token/"
user: "{{ PEM_DB_USER }}"
password: "{{ PEM_DB_PASS }}"
method: POST
headers:
Content-Type: "application/json"
validate_certs: no
status_code: 200
上面提到的所有变量都已在
vars
中定义,请提供帮助