Обновление сетевого интерфейса
Запрос
Тип | Метод |
---|---|
PUT |
/network_interfaces/update |
Описание: при выполнении запроса будет обновлена информация о сетевом интерфейсе в соответствии с заданными параметрами.
Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели, которые были переданы в запросе.
Позволяет также управлять связями многие ко многим с другими моделями через поле _relations
.
Ключами в поле _relations
могут быть названия полей моделей, ссылающиеся на другие. Например, если у модели связь с моделью правил корреляции и в нем хранится объект связанного правила, то это поле можно использовать при управлении данной связью
Управление работает следующим образом:
- Если поля в объекте
_relations
отсутствуют, то зависимости не обновляются. - Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию.
- Если поле зависимости указано и в значении пустой список, то все связи удаляются.
- Зависимости игнорируются в теле запроса.
- Зависимости в ответе всегда
null
.
Например, следующий запрос:
{
"id": "uuid",
...
"_relations": {
"services": [] // - очистит все связи с сервисами
// "services": ["uuid1", "uuid2"] // - создаст связь с 2 сервисами
// "services": ["uuid1"] // - оставит связь только с первым сервисом
}
}
Пример запроса
PUT
http://127.0.0.1/cruddy/v2/network_interfaces/update
Тело запроса:
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
id | string |
Required | Идентификатор сетевого интерфейса |
name | string |
Required | Название сетевого интерфейса |
ip | string |
Required | IP-адрес сетевого интерфейса |
mac | string |
Required | MAC-адрес сетевого интерфейса |
fqdn | Array<string> |
Required | Массив FQDN. |
os | string |
Required | Операционная система |
service_asset_id | string |
Optional | Идентификатор связанного актива |
edited_by | string |
Optional | Идентификатор пользователя внесшего изменения |
_relations | object |
Optional | Словарь, описывающий связанные модели через идентификаторы |
_relations{services} | Array<string> |
Optional | Список идентификаторов связанных сервисов |
Пример тела запроса
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"ip": "192.168.0.1",
"mac": "string",
"fqdn": "[]",
"os": "string",
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"_relations": {
"services": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Успешный ответ
Статус код: 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",
"ip": "192.168.0.1",
"mac": "string",
"fqdn": "[]",
"os": "string",
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"has_service_asset": true,
"service_asset_name": "string",
"service_asset_location": "string",
"service_asset_value": 0,
"service_asset_network_exposure": 0,
"service_asset_group_names": [
"string"
],
"service_asset": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"type": "Host",
"name": "Актив",
"description": "Описание актива",
"coordinates": "--- []",
"active": true,
"scan_id": "9a59f0f5-5572-476d-a7fc-c960ef43a5af",
"value": 3,
"client_note": "string",
"internal_note": "string",
"location": "string",
"network_exposure": 3,
"responsible_person": "string",
"technical_specialist": "string",
"responsible_group_id": "2d40d7ca-3218-4132-89ef-42e29379a567",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c"
},
"services": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"network_interface_id": "bec51eeb-07af-41bd-b9be-258f3c6716f0",
"port": 0,
"status": "string",
"type": "string",
"name": "string",
"version": "string",
"cpe": "cpe:/o:linux:kernel"
}
],
"_relations": {
"services": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
Bad Request missing model id invalid model id: incorrect uuid invalid IP invalid MAC |
Неверный тип параметра запроса, либо отсутствует обязательный параметр ID не передан или пустой ID должен иметь формат uuid Недопустимый формат IP-адреса Недопустимый формат MAC-адреса |
404 |
Not Found |
Редактируемый объект не найден в БД |
500 |
Internal Server Error |
Другие ошибки при редактировании объекта |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{
"error": "Bad Request",
"error_code": 400
}
Код 404
{
"error": "Not Found",
"error_code": 404
}
Код 500
{
"error": "Internal Server Error",
"error_code": 500
}