object host.create(object/array hosts)
This method allows to create new hosts.
This method is only available to Admin and Super admin user types. Permissions to call the method can be revoked in user role settings. See User roles for more information.
(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 | object/array | Interfaces to be created for the host. |
tags | object/array | Host tags. |
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. |
(object)
Restituisce un oggetto contenente gli ID degli host creati sotto la proprietà hostids
. L'ordine degli ID restituiti corrisponde a ordine degli host passati.
Create a host called "Linux server" with an IP interface and tags, 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"
}
],
"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
}
Response:
Create a host called "SNMP host" with an SNMPv3 interface with details.
Request:
{
"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"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
Create a host called "PSK host" with PSK encryption configured only for connections from Zabbix server to host. Note that the Zabbix agent that is installed on the host has to be configured to use 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_connect": 2,
"tls_psk_identity": "PSK 001",
"tls_psk": "af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429"
},
"id": 1
}
Response:
CHost::create() in ui/include/classes/api/services/CHost.php.