Перейти к содержанию

Запуск обновления сервисов в фоновом режиме

Запрос

Тип Метод
POST /sonar/services/update-start

Описание: метод запускает обновление сервисов для указанных активов в фоновом режиме.

Для выполнения операции необходимо передать список ID активов. Для запущенной операции создаётся объект фоновой задачи (async_job).

Функционал фоновой операции аналогичен методу обновления сервисов.

Пример запроса

POST

http://127.0.0.1/cruddy/v2/sonar/services/update-start

Тело запроса:

Параметр Тип данных Обязательность Описание
service_asset_ids Array<string> Required Список ID активов, для которых необходимо запустить обновление сервисов

Элементы массива service_asset_ids должны быть переданы в формате UUID.

Пример тела запроса

{
  "service_asset_ids": [
    "7bc42fd2-057c-4117-b367-8528bec75c80",
    "3fda84cb-30e1-4ad5-bff5-f441031b3bf4"
  ]
}

Успешный ответ

Статус код: 200 – фоновое обновление сервисов успешно запущено.

Формат: JSON.

Параметры ответа:

Параметр Тип данных Описание
transaction_id string (uuid) ID созданной фоновой задачи
Пример ответа

{
  "transaction_id": "5b2442b2-2e2c-47f7-9c9e-928fd26087af"
}

Другие возможные ответы

Код Ответ Описание
400 Bad Request Неверные параметры запроса или некорректный ID актива
404 service asset not found Актив не найден
500 Internal Server Error Ошибка сервера

Возможные ошибки:

  • 400 — "missing uid header" — отсутствует заголовок Pgr-User-ID;
  • 400 — "Pgr-User-Id should be uuid format" — неверный формат Pgr-User-ID;
  • 400 — "Bad Request" — неверный тип параметра запроса либо отсутствует обязательный параметр;
  • 400 — "empty service_asset_ids" — ID активов не заданы;
  • 400 — "service_asset_id should be uuid format" — ID актива должен иметь формат UUID;
  • 404 — "service asset not found" — актив не найден;
  • 500 — "Internal Server Error" — ошибки сервера.
Пример ответа с кодом 400

{
  "error": "empty service_asset_ids"
}
Пример ответа с кодом 404

{
  "error": "service asset not found"
}
Пример ответа с кодом 500

{
  "error": "Internal Server Error"
}