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

POST /v2/upd-host-info

Этот метод позволяет обновить ipList и metaInfo у hosts по UUIDs.

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

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

  • hosts[] - Массив/Список хостов
  • hosts[].ipList - Объект, содержащий IP`s для host.
  • hosts[].ipList.IPs[] - Cписок ip адресов, которыми оперирует Host.
  • hosts[].metaInfo - Объект, содержащий дополнительную информацию о host
  • hosts[].metaInfo.hostName - Имя хоста.
  • hosts[].metaInfo.os - Тип ядра ОС (Linux, Windows, Darwin/macOS и т.д.)
  • hosts[].metaInfo.platform - Конкретный дистрибутив операционной системы
  • hosts[].metaInfo.platformFamily - Семейство дистрибутивов.
  • hosts[].metaInfo.platformVersion - Версия дистрибутива
  • hosts[].metaInfo.kernelVersion - Версия ядра
  • hosts[].uuid - Уникальный идентификатор ресурса в формате UUID.
названиеобязательностьтип данныхЗначение по умолчанию
hosts[]даObject[]-
hosts[].ipListнетObjectIPs[]
hosts[].ipList.IPs[]нетstring[] []
hosts[].metaInfoдаObject -
hosts[].metaInfo.hostNameдаstring -
hosts[].metaInfo.osдаstring -
hosts[].metaInfo.platformнетstring ""
hosts[].metaInfo.platformFamilyнетstring ""
hosts[].metaInfo.platformVersionнетstring ""
hosts[].metaInfo.kernelVersionнетstring ""
hosts[].uuidдаstring -

Ограничения

  • hosts[].ipList.IPs[]:

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

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

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

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

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

curl '127.0.0.1:9006/v2/sync' \
--header 'Content-Type: application/json' \
--data '{
"hosts": [
{
"ipList": {
"IPs": [
"::1",
"127.0.0.1"
]
},
"metaInfo": {
"hostName": "add-host-0",
"os": "linux",
"platform": "ubuntu",
"platformFamily": "debiann",
"platformVersion": "20.044",
"kernelVersion": "5.15.0-139-genericc"
},
"uuid": "08ff8294-4366-4c76-9f1c-06846cc3cdca"
}
]
}
}'

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

названиетип данныхописание
-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

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