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

Обновление сетевого интерфейса

Запрос

Тип Метод
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
}