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

Создание сетевых интерфейсов

Запрос

Тип Метод
POST /sonar/devices/update

Описание: При выполнении запроса будут созданы из переданных хостов сетевые интерфейсы. Если в базе уже есть интерфейс с переданным ipv4, обновляет его. Возвращает массив созданных/обновлённых интерфейсов.

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

POST
http://127.0.0.1/cruddy/v2/sonar/devices/update

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

Параметр Тип Обязательность Описание
devices Array<DeviceUpdateInput> Required Массив хостов для импорта
devices{host} Array<string> Required Список хостов, полученных в результате сканирования
devices{ipv4} string Required IP-адрес хоста в формате ipv4
devices{mac} string Required MAC-адрес хоста
Пример тела запроса

{
  "devices": [
    {
      "host": [
        "string"
      ],
      "ipv4": "192.168.0.1",
      "mac": "string"
    }
  ]
}

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

Статус код: 200 – запрос успешно обработан.

Формат: JSON.

Параметры ответа:

Параметр Тип данных Описание
results Array<ScanDeviceResult> Массив хостов
results{ipv4} string IP-адрес
results{network_interface} object<NetworkInterface> Сетевой интерфейс
results{error_code} string Код ошибки. Возможные значения:

- 0 — нет ошибки,
- 13001 — недопустимый формат IP-адреса,
- 13012 — недопустимый формат MAC (если указан),
- 1497 — ошибка чтения из БД,
- 1498 — ошибка обновления объекта в БД,
- 1496 — ошибка создания объекта в БД,
- 11002 — прочие ошибки БД.
results{error} string Текст ошибки
Пример ответа

{
  "results": [
    {
      "ipv4": "192.168.0.1",
      "network_interface": {
        "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"
          ]
        }
      },
      "error_code": 0,
      "error": "string"
    }
  ]
}

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

Код Ответ Описание
400 Bad Request
empty devices
empty ipv4
Неверный тип параметра запроса, либо отсутствует обязательный параметр
Хосты не заданы
Поле ipv4 не задано
500 Internal Server Error Другие ошибки при удалении объектов

Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.

Пример ответа
Код 400

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

Код 500

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