Особенности идентификации, создания и обновления активов
Активы импортируются в соответствии с правилами слияния данных об активах.
POST /api/v1/assets/import
Массовое создание или обновление активов.
Если указан FQDN актива, он играет роль уникального идентификатора актива в рамках тенанта. Если указано более одного FQDN, используется первый адрес из указанного массива адресов. Если FQDN не указан, для идентификации актива используется первый IP-адрес из указанного массива адресов. Если имя актива не указано, оно заполняется либо значением FQDN, либо значением первого IP-адреса. Активы, импортированные из KSC не могут быть обновлены, поэтому в процессе импорта могут возникать конфликты по FQDN, если в тенанте уже существует KSC-актив с таким FQDN. Возникновение такого конфликта препятствует обработке конфликтующего актива, но не препятствует обработке других активов, указанных в теле запроса. Позволяет заполнять пользовательские поля по uuid из настроек assetsCustomFields.
Доступ: Главный администратор, Администратор тенанта, Аналитик второго уровня, Аналитик первого уровня.
Тело запроса
Формат: JSON
|
Обязательные поля Request
Имя |
Тип данных |
Обязательный |
Описание |
Пример значения |
tenantID |
string |
Да |
Идентификатор тенанта |
00000000-0000-0000-0000-000000000000 |
assets |
[]Asset |
Да |
Массив импортируемых активов |
|
Обязательные поля Asset
Имя |
Тип данных |
Обязательный |
Описание |
Пример значения |
fqdn |
string |
Если не указан ipAddresses |
FQDN актива. Можно указать несколько значений через запятую. Рекомендуется указывать именно FQDN, а не просто имя хоста. Приоритетный признак для идентификации актива. |
my-asset-1.example.com my-asset-1 |
ipAddresses |
[]string |
Если не указан fqdn |
Массив IP-адресов актива. IPv4 или IPv6. Первый элемент массива используется как второстепенный признак для идентификации актива. |
["192.168.1.1", "192.168.2.2"] ["2001:0db8:85a3:0000:0000:8a2e:0370:7334"] |
Ответ
HTTP-код: 200
Формат: JSON
|
Возможные ошибки
HTTP-код |
Описание |
Значение поля message |
Значение поля details |
400 |
Не указан идентификатор тенанта (tenantID) |
tenantID required |
|
400 |
Попытка импорта активов в общий тенант |
import into shared tenant not allowed |
|
400 |
В теле запроса не указан ни один актив |
at least one asset required |
|
400 |
Не указано ни одно из обязательных полей |
one of fields required |
asset[<index>]: fqdn, ipAddresses |
400 |
Неверный FQDN |
invalid value |
asset[<index>].fqdn |
400 |
Неверный IP address |
invalid value |
asset[<index>].ipAddresses[<index>] |
400 |
Дублируется IP адрес |
duplicated value |
asset[<index>].ipAddresses |
400 |
Неверный MAC адрес |
invalid value |
asset[<index>].macAddresses[<index>] |
400 |
Дублируется MAC адрес |
duplicated value |
asset[<index>].macAddresses |
403 |
Пользователь не имеет необходимой роли в указанном тенанте |
access denied |
|
404 |
Указанный тенант не найден |
tenant not found |
|
406 |
Указанный тенант отключен |
tenant disabled |
|
500 |
Любые другие внутренние ошибки |
вариативное |
вариативное |