object host.create(объект/массив hosts)
Этот метод позволяет создавать новые хосты.
Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
(object/array) Хосты для создания.
В дополнение к стандартным свойствам хоста метод принимает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| groups (обязательно) | object/array | Хост группы для добавления хоста. Группы хостов должны иметь определено свойство groupid. |
| interfaces | object/array | Interfaces для хоста. |
| tags | object/array | Хост теги. |
| templates | object/array | Templates для связи с хостом. В шаблонах должно быть определено свойство templateid. |
| macros | object/array | Пользовательские макросы, которые необходимо создать для хоста. |
| inventory | object | Свойства хоста inventory. |
(object) Возвращает объект, содержащий идентификаторы созданных хостов в свойствеhostids. Порядок возвращаемых идентификаторов соответствует порядку переданных хостов.
Создайте узел сети под названием "Linux server" с IP-интерфейсом и тегами, добавьте его в группу, привяжите к нему шаблон и задайте MAC-адреса в инвентарных данных узла сети.
{ "jsonrpc": "2.0", "method": "host.create", "params": { "host": "Linux server", "interfaces": [ { "type": 1, "main": 1, "useip": 1, "ip": "192.168.3.1", "dns": "", "port": "10050" } ], "groups": [ { "groupid": "50" } ], "tags": [ { "tag": "Host name", "value": "Linux server" } ], "templates": [ { "templateid": "20045" } ], "macros": [ { "macro": "{$USER_ID}", "value": "123321" }, { "macro": "{$USER_LOCATION}", "value": "0:0:0", "description": "latitude, longitude and altitude coordinates" } ], "inventory_mode": 0, "inventory": { "macaddress_a": "01234", "macaddress_b": "56768" } }, "id": 1 }Ответ:
Создайте узел сети под названием "SNMP host", указав интерфейс SNMPv3 и детальную информацию.
{ "jsonrpc": "2.0", "method": "host.create", "params": { "host": "SNMP host", "interfaces": [ { "type": 2, "main": 1, "useip": 1, "ip": "127.0.0.1", "dns": "", "port": "161", "details": { "version": 3, "bulk": 0, "securityname": "mysecurityname", "contextname": "", "securitylevel": 1 } } ], "groups": [ { "groupid": "4" } ] }, "id": 1 }Ответ:
Создайте узел сети под названием "PSK host" с настройками шифрования PSK. Учтите, что для узла сети должно быть предварительно настроено использование PSK.
{ "jsonrpc": "2.0", "method": "host.create", "params": { "host": "PSK host", "interfaces": [ { "type": 1, "ip": "192.168.3.1", "dns": "", "port": "10050", "useip": 1, "main": 1 } ], "groups": [ { "groupid": "2" } ], "tls_accept": 2, "tls_connect": 2, "tls_psk_identity": "PSK 001", "tls_psk": "1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952" }, "id": 1 }Ответ:
Create a host that will be monitored by proxy with ID "1".
{ "jsonrpc": "2.0", "method": "host.create", "params": { "host": "Host monitored by proxy", "groups": [ { "groupid": "2" } ], "monitored_by": 1, "proxyid": 1 }, "id": 1 }Response:
Create a host that will be monitored by proxy group with ID "1".
{ "jsonrpc": "2.0", "method": "host.create", "params": { "host": "Host monitored by proxy group", "groups": [ { "groupid": "2" } ], "monitored_by": 2, "proxy_groupid": 1 }, "id": 1 }Response:
CHost::create() в ui/include/classes/api/services/CHost.php.