Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

hostprototype.create

Описание

object hostprototype.create(объект/массив hostPrototypes)

Этот метод позволяет создавать новые прототипы узлов сети.

Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(объект/массив) Создаваемые прототипы узлов сети.

В дополнение к стандартным свойствам прототипа узлов сети, этот метод принимает следующие параметры.

Параметр Тип Описание
groupLinks
(требуется)
массив Соединения с группами создаваемые для прототипа узлов сети.
ruleid
(требуется)
строка ID правила LLD, которому принадлежит прототип узлов сети.
groupPrototypes массив Прототипы групп создаваемые для прототипа узлов сети.
inventory объект Свойства данных инвентаризации прототипа узлов сети.
templates объект/массив Шаблоны, к которым необходимо присоединить прототипы узлов сети.

Шаблоны должны иметь заданное свойство templateid.

Возвращаемые значения

(объект) Возвращает объект, который содержит ID созданных прототипов узлов сети, указанных в свойстве hostids. Порядок возвращаемых ID совпадает с порядком переданных прототипов узлов сети.

Примеры

Создание прототипа узла сети

Создать прототип узла сети "{#VM.NAME }" по LLD правилу "23542" с прототипом группы "{#HV.NAME }", с тегом "Datacenter": "{#DATACENTER.NAME }" и кастомизированным интерфейсом SNMPv2 127.0.0.1:161 с сообществом {$SNMP_COMMUNITY}. Связать его с группой хостов "2".

Create a host prototype "{#VM.NAME}" on LLD rule "23542" with a group prototype "{#HV.NAME}", tag pair "Datacenter": "{#DATACENTER.NAME}" and custom SNMPv2 interface 127.0.0.1:161 with community {$SNMP_COMMUNITY}. Link it to host group "2".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.create",
           "params": {
               "host": "{#VM.NAME}",
               "ruleid": "23542",
               "custom_interfaces": "1",
               "groupLinks": [
                   {
                       "groupid": "2"
                   }
               ],
               "groupPrototypes": [
                   {
                       "name": "{#HV.NAME}"
                   }
               ],
               "tags": [
                   {
                       "tag": "Datacenter",
                       "value": "{#DATACENTER.NAME}"
                   }
               ],
               "interfaces": [
                   {
                       "main": "1",
                       "type": "2",
                       "useip": "1",
                       "ip": "127.0.0.1",
                       "dns": "",
                       "port": "161",
                       "details": {
                           "version": "2",
                           "bulk": "1",
                           "community": "{$SNMP_COMMUNITY}"
                       }
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10103"
               ]
           },
           "id": 1
       }

Смотрите также

Источник

CHostPrototype::create() в ui/include/classes/api/services/CHostPrototype.php.