Доступный запрос PUT для обновления только одного атрибута в данных API - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь обновить атрибут из результата GSON API JSON и выполнить запрос PUT вместе со всеми данными API только с одним изменением атрибута. Посоветуйте пожалуйста формат для PUT Req Task?

  1. Получить запрос для данного вызова API
  2. Из приведенных выше данных json на шаге 1 мне нужно обновить только один атрибут: mipUser (From "false To" true) и выполнить запрос PUT вместе с другими данными, неизменными в json.

Я попытался использовать следующую задачу для GET. Не уверен, как сохранить весь результат API, затем обновить требуемый атрибут и сделать POST. Возможно, это можно сделать с помощью файла?

- name: GET Request for CLUSTERS
      uri:
        url: https://zsapi.com/BETA/{{ item }}
        method: GET
        validate_certs: no
        return_content: yes
        status_code: 200
        headers:
          Content-Type: application/json
          Cookie: "{{ login.set_cookie.split(';')[0] }}"
        body_format: json
      with_items: "{{ cluster }}"
      register: cluster_result




ok: [localhost] => {
    "msg": [
        {
            "bandwidthControlApp": true,
            "cloud": "BETA",
            "createTime": 1550875210,
            "datacenter": {
                "id": 526,
                "name": "FMT1"
            },
            "description": "cluster with VIP 169.254.1.100",
            "disabled": false,
            "id": 2334,
            "lastModifiedTime": 1560896398,
            "lastModifiedUser": {
                "id": 1009,
                "name": "adev@xyz.com"
            },
            "mipUser": false,
            "mtsInstances": [],
            "name": "fmt1",
            "rateLimit": true,
        }
    ]
} 

Я ожидаю, что все API PUT req должно быть таким же, как GET, за исключением атрибута, который я пытаюсь обновить.

1 Ответ

0 голосов
/ 20 июня 2019

Если я правильно понимаю, вы хотите обновить переменную из возвращаемых данных в msg до какого-то нового значения и отправить его в URL в последующей задаче?Если вы зарегистрируете данные, возвращенные как факт, это потребует некоторых манипуляций с этим фактом.Для этого вы можете использовать фильтр json_query .

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