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

Разрешение конфликтов объединения активов

Запрос

Тип Метод
POST /service_assets/resolve_merge

Описание: метод позволяет вручную разрешить конфликты, возникающие при объединении нескольких активов.

В запросе необходимо передать идентификаторы объединяемых активов и значения полей итогового актива.

Основным считается самый старый по времени создания актив. Если какое-либо поле не указано в объекте final_asset, его значение будет взято из основного актива.

Можно передать пустой объект final_asset: {}. В этом случае значения всех полей итогового актива будут взяты из основного актива.

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

POST

http://127.0.0.1/cruddy/v2/service_assets/resolve_merge

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

Параметр Тип данных Обязательность Описание
asset_ids Array<string> Required Список ID активов, которые необходимо объединить. Необходимо передать не менее двух ID
final_asset object Required Поля и значения, которые необходимо применить к итоговому активу

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

Объект final_asset соответствует модели актива без связанных сущностей. Переданные в нём поля заменяют значения основного актива. Значения непереданных полей остаются такими же, как у основного актива.

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

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

В примере объект final_asset пустой, поэтому значения полей итогового актива будут взяты из основного актива.

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

Статус код: 200 – активы успешно объединены.

Формат: JSON.

В теле ответа возвращается итоговый объект актива.

Модель ответа: ServiceAsset.

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

{
  "id": "7bc42fd2-057c-4117-b367-8528bec75c80"
}

Примечание: Состав объекта ответа соответствует модели ServiceAsset.

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

Код Ответ Описание
400 Bad Request Некорректные параметры запроса или невозможно выполнить объединение переданных активов
500 Internal Server Error Ошибка разрешения конфликта или объединения активов

Возможные причины ответа с кодом 400:

  • отсутствует обязательный параметр или передан параметр неверного типа;
  • один из ID имеет некорректный формат;
  • в массиве asset_ids передано менее двух элементов;
  • ни один из переданных активов не найден;
  • у передаваемых активов отсутствуют сетевые интерфейсы — хотя бы у одного актива должен быть NetworkInterface.
Пример ответа с кодом 400

{
  "error": "Bad Request"
}
Пример ответа с кодом 500

{
  "error": "Internal Server Error"
}