Перейти к основному содержимому

Hosts

Ресурс Hosts представляет собой введенную нами абстракцию, позволяющая описывать Linux-узлы, на которых работает HBF-Agent. Эти узлы можно связывать с группами безопасности для логического разделения и использовать в правилах, определяющих разрешение или блокировку доступа к конкретным ресурсам сети.

Более подробную документацию по API можно посмотреть здесь.
Более подробно по организации БД можно посмотреть здесь.

Входные параметры

  • hosts.hosts[] - Структура, содержащая список хостов.
  • hosts.hosts[].name - Имя хоста.
  • hosts.hosts[].uuid - uuid хоста.
  • hosts.hosts[].sgName - Имя Security Group
  • hosts.hosts[].ipList.IPs - Cписок ip адресов, которыми оперирует Host.
  • syncOp - Поле определяющее действие с данными из запроса.
названиеобязательностьтип данныхзначение по умолчанию
hosts[]даObject[]
hosts[].nameнетString
hosts[].uuidдаString
hosts[].sgNameнетString
hosts[].ipListнетObject
hosts[].ipList.IPsнетArray[]
syncOpдаEnum("Delete", "Upsert", "FullSync")

Ограничения

  • hosts.hosts[].name:

    • Значение не может быть пустым
    • Длина значения поля не должна превышать 256 символов.
    • Значение поля должно начинаться и заканчиваться символами без пробелов.
  • hosts.hosts[].uuid:

    • Значение не может быть пустым
    • UUID должен быть 4 версии
    • Значение должно быть уникальным в рамках типа ресурса.
    • UUID должен соответствовать формату, описанному в RFC 4122.
  • hosts.hosts[].sgName:

    • Длина значения не должна превышать 256 символов.
    • Значение должно начинаться и заканчиваться символами без пробелов.
    • Возможно указать только существующий Security Group.
  • hosts[].ipList.IPs:

    • IP должен соответствовать форматам, описанным в RFC 791 (IPv4) и RFC  4291 (IPv6) .

Пример использования

curl '127.0.0.1:9006/v2/sync' \
--header 'Content-Type: application/json' \
--data '{
"hosts": {
"hosts": [
{
"name": "web-04",
"uuid": "bd7f0c2e-1a0b-4ad0-9c52-1f1b3a7c2c14",
"sgName": "sg-example3",
"ipList": {
"IPs": [
"10.10.1.16",
"2001:470:1f0a:10d2::1"
]
}
}
]
},
"syncOp": "Upsert"
}'

Выходные параметры

названиетип данныхописание
-Objectв случае успеха возвращается пустое тело

Возможные ошибки API

Пользователь указал некорректные значения агрументов
  • HTTP code: 400
  • gRPC code: INVALID_ARGUMENT
  • gRPC number: 3
Не найден метод
  • HTTP code: 404
  • gRPC code: NOT_FOUND
  • gRPC number: 5
Ошибка в указанных данных
  • HTTP code: 500
  • gRPC code: INTERNAL
  • gRPC number: 13

Диаграмма последовательности