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

Обновление задачи ретроспективной корреляции

Запрос

Тип Метод
PUT /retro_jobs/update

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

Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели, которые были переданы в запросе.

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

PUT
http://127.0.0.1/cm/v2/retro_jobs/update

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

Параметр Тип Обязательность Описание
id string Required Идентификатор задачи
created_at string Required Дата создания в формате date-time
updated_at string Required Дата изменения в формате date-time
name string Required Название задачи
type string Required Тип задачи. Допустимое значение: retro
status string Required Статус задачи. Допустимые значения:
- stopped - задача остановлена
- queued - задача в очереди
- reserved - задача зарезервирована
- error - ошибка выполнения задачи
- done - задача выполнена
info object<Info> Required Настройки и статистика задачи
Info
Параметр Тип Обязательность Описание
processed integer Optional Число обработанных событий
total integer Optional Общее число проверенных событий
from_time string Required Начало периода корреляции в формате 2006-01-02T15:04:05.000Z
to_time string Required Конец периода корреляции в формате 2006-01-02T15:04:05.000Z
es_index string Required Индекс opensearch
rule_id string Required Идентификатор правила корреляции, по которому выполняется задача ретроспективной корреляции
error string Optional Текст ошибки
error_code integer Optional Код ошибки
Пример тела запроса

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created_at": "2023-12-20T00:00:01.652259Z",
  "updated_at": "2023-12-20T00:00:01.652259Z",
  "name": "string",
  "type": "retro",
  "status": "stopped",
  "info": {
    "processed": 0,
    "total": 0,
    "from_time": "string",
    "to_time": "string",
    "es_index": "string",
    "rule_id": "728c1541-d6d1-4290-9a53-cdf01dd32d60",
    "error": "string",
    "error_code": 0
  }
}

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

Статус код: 200 – успешное обновление информации о задаче ретроспективной корреляции.

Формат: JSON.

Тело ответа: модель обновленной задачи ретроспективной корреляции.

Пример ответа

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created_at": "2023-12-20T00:00:01.652259Z",
  "updated_at": "2023-12-20T00:00:01.652259Z",
  "name": "string",
  "type": "retro",
  "status": "stopped",
  "info": {
    "processed": 0,
    "total": 0,
    "from_time": "string",
    "to_time": "string",
    "es_index": "string",
    "rule_id": "728c1541-d6d1-4290-9a53-cdf01dd32d60",
    "error": "string",
    "error_code": 0
  },
  "_relations": {
    "retro_job_sets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }
}

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

Статус код: 400. Возможные ответы:

  • “error”: “Bad Request” - Неверный тип параметра запроса, либо отсутствует обязательный параметр
  • ”error”: “missing model id” - ID задачи не передан
  • ”error”: “invalid model id: incorrect uuid” - Недопустимый формат ID
  • ”error”: “empty name” - Попытка присвоить задаче пустое имя
  • ”error”: “exceeded maximum length for a value” - Имя задачи не может быть больше 50 символов
  • ”error”: “empty type” - Попытка присвоить задаче пустой тип
  • ”error”: “incorrect job type — ’…‘” - Недопустимый тип задачи
  • ”error”: “empty status” - Попытка присвоить задаче пустой статус
  • ”error”: “incorrect job status — ’…‘” - Недопустимый статус задачи
  • ”error”: “incorrect ‘processed’ field - must be more than 0” - Значение поля info.processed не может быть меньше 0
  • ”error”: “incorrect ‘total’ field - must be more than 0” - Значение поля info.total не может быть меньше 0
  • ”error”: “empty ‘from_time’” - Попытка присвоить полю info.from_time пустое значение
  • ”error”: “incorrect ‘from_time’ field format ’…‘” - Недопустимый формат поля info.from_time
  • ”error”: “empty ‘to_time’” - Попытка присвоить полю info.to_time пустое значение
  • ”error”: “incorrect ‘to_time’ field format ’…‘” - Недопустимый формат поля info.to_time
  • ”error”: “empty ‘rule_id’” - Попытка присвоить полю info.rule_id пустое значение
  • ”error”: “incorrect ‘rule_id’ field format” - Недопустимый формат поля info.rule_id

Статус код: 404. Возможные ответы:

  • “error”: “not found” - Редактируемый объект не найден в БД

Статус код: 409. Возможные ответы:

  • “error”: “request data violates unique constraint” - Попытка создать задачу с существующим именем

Статус код: 500. Возможные ответы:

  • “error”: “Internal Server Error” - Другие ошибки при создании объекта.
Пример ответа

Код 400

{
  "error": "Bad Request",
  "error_code": 400
}

Код 404

{
  "error": "Not Found",
  "error_code": 404
}

Код 409

{
  "error": "name_already_used",
  "error_code": 409,
  "extra": {
    "fields": [
      "name"
    ]
  }
}

Код 500

{
  "error": "Internal Server Error",
  "error_code": 500
}