Ansible URI API (JSON -RP C) - PullRequest
       52

Ansible URI API (JSON -RP C)

0 голосов
/ 06 августа 2020

У меня проблема с модулем URI из ansible, может кто-то знает, в чем проблема?

Я пытаюсь связаться с I-Doit API (JSON -RP C) с помощью модуля ansible uri. Моя первая попытка с curl работает нормально, пытаюсь ли я запустить curl вручную или с помощью ansible.

# curl manual example
curl --location --request POST 'https://SERVER-FQDN/i-doit/src/jsonrpc.php' \
--header 'Content-Type: application/json' \
--header 'X-RPC-Auth-Session: SESSION-KEY' \
--header 'Cookie: PHPSESSID=SESSION-KEY' \
--data-raw '{
    "version": "2.0",
    "method": "idoit.version",
    "params": {
        "apikey": "API-KEY",
        "language": "en"
    },
    "id": 1
}'

# example in ansible
---
- name: CURL REST / JSON-RPC API Call
  shell: |
    curl -s --noproxy "*" --location --request POST 'https://SERVER-FQDN/i-doit/src/jsonrpc.php' \
    --header "Content-Type: application/json" \
    --header "X-RPC-Auth-Session: {{ session_key }}" \
    --header "Cookie: PHPSESSID= {{ session_key }}" \
    --data-raw '{
        "version": "2.0",
        "method": "idoit.version",
        "params": {
          "apikey": "{{ api_key }}",
          "language": "en"
        },
        "id": 1
      }'

Если я попытаюсь воспроизвести вызов с помощью модуля URI, например

- name: REST / JSON-RPC API Call check I-Doit Version
  uri:
    url: "https://SERVER-FQDN/i-doit/src/jsonrpc.php"
    method: post
    validate_certs: no
    follow_redirects: all
    use_proxy: no
    timeout: 200
    headers:
      X-RPC-Auth-Session: "{{ SESSION-KEY }}"
      Content-Type: "application/json"
    body_format: json
    return_content: yes
    body: "{{ lookup('file','test.json') }}"
  ignore_errors: yes

# test.json content
{
    "version": "2.0",
    "method": "idoit.version",
    "params": {
        "apikey": "API-KEY",
        "language": "en"
    },
    "id": 1
}

запрос завершился неудачно с кодом ошибки -1 и сообщением: «Ошибка подключения: соединение было закрыто до получения действительного ответа: строка состояния не получена - сервер закрыл соединение»

Есть ли разница в использование модулем URI с rest или json -rp c?

спасибо за помощь или идеи

dantegabriel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...