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
}
Ответ:
CHostPrototype::create() в ui/include/classes/api/services/CHostPrototype.php.