This is a translation of the original English documentation page. Help us make it better.

host.create

Description

object host.create(object/array hosts)

This method allows to create new hosts.

Parameters

(object/array) Hosts to create.

Additionally to the standard host properties, the method accepts the following parameters.

Parameter Type Description
groups
(required)
object/array Host groups to add the host to.

The host groups must have the groupid property defined.
interfaces
(required)
object/array Interfaces to be created for the host.
templates object/array Templates to be linked to the host.

The templates must have the templateid property defined.
macros object/array User macros to be created for the host.
inventory object Host inventory properties.

Return values

(object) Returns an object containing the IDs of the created hosts under the hostids property. The order of the returned IDs matches the order of the passed hosts.

Examples

Creating a host

Create a host called "Linux server" with an IP interface, add it to a group, link a template to it and set the MAC addresses in the host inventory.

Request:

{
           "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"
                   }
               ],
               "templates": [
                   {
                       "templateid": "20045"
                   }
               ],
               "inventory_mode": 0,
               "inventory": {
                   "macaddress_a": "01234",
                   "macaddress_b": "56768"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

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

See also

Creating a host with PSK encryption

Create a host called "PSK host" with PSK encryption configured. Note that the host has to be pre-configured to use PSK.

Request:

{
           "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"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

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

Source

CHost::create() in frontends/php/include/classes/api/services/CHost.php.

Source

CHost::create() in ui/include/classes/api/services/CHost.php.