объект host.create(объект/массив узлы сети)
Этот метод позволяет создавать новые узлы сети.
(объект/массив) Создаваемые узлы сети.
В дополнение к стандартным свойствам узла сети, этот метод принимает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| groups (требуется) | объект/массив | Группы узлов сети, в которые необходимо добавить узел сети. Группы узлов сети должны иметь заданное свойство groupid. |
| interfaces (требуется) | объект/массив | Создаваемые интерфейсы у узла сети. |
| tags | объект/массив | Теги узла сети. |
| templates | объект/массив | Шаблоны, к которым необходимо присоединить узлы сети. Шаблоны должны иметь заданное свойство templateid. |
| macros | объект/массив | Добавляемые пользовательские макросы к узлу сети. |
| inventory | объект | Свойства данных инвентаризации узла сети. |
(объект) Возвращает объект, который содержит ID созданных узлов сети под свойством hostids. Порядок возвращаемых ID совпадает с порядком переданных узлов сети.
Создание узла сети с именем “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" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
Ответ:
{ "jsonrpc": "2.0", "result": { "hostids": [ "107819" ] }, "id": 1 }
CHost::create() в frontends/php/include/classes/api/services/CHost.php.