Разрешение конфликтов объединения активов
Запрос
| Тип | Метод |
|---|---|
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"
}