host.create
Descrizione
object host.create(object/array hosts)
Questo metodo consente di creare nuovi host.
Questo metodo è disponibile solo per gli utenti di tipo Admin e Super admin. I permessi per chiamare il metodo possono essere revocati nelle impostazioni del ruolo utente. Consultare Ruoli utente per ulteriori informazioni.
Parametri
(object/array) Host da creare.
Oltre alle proprietà standard dell'host, il metodo accetta i seguenti parametri.
| Parametro | Tipo | Descrizione |
|---|---|---|
| groups | object/array | Gruppi di host a cui aggiungere l'host. I gruppi di host devono avere definita solo la proprietà groupid.Comportamento del parametro: - obbligatorio |
| interfaces | object/array | Interfacce da creare per l'host. |
| tags | object/array | Tag dell'host. |
| templates | object/array | Template da collegare all'host. I template devono avere definita solo la proprietà templateid. |
| macros | object/array | Macro utente da creare per l'host. |
| inventory | object | Proprietà dell'inventario dell'host. |
Valori restituiti
(object) Restituisce un oggetto contenente gli ID degli host creati
nella proprietà hostids. L'ordine degli ID restituiti corrisponde all'ordine
degli host passati.
Esempi
Creazione di un host
Creare un host chiamato "Linux server" con un'interfaccia IP e tag, aggiungerlo a un gruppo, collegargli un template e impostare gli indirizzi MAC nell' inventario dell'host.
{
"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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"107819"
]
},
"id": 1
}
Creazione di un host con interfaccia SNMP
Creare un host denominato "SNMP host" con un'interfaccia SNMPv3 con dettagli.
{
"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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10658"
]
},
"id": 1
}
Creazione di un host con crittografia PSK
Creare un host denominato "PSK host" con la crittografia PSK configurata. Si noti che l'host deve essere preconfigurato per utilizzare 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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10590"
]
},
"id": 1
}
Creazione di un host monitorato da un proxy
Creare un host che sarà monitorato dal proxy con ID "1".
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "Host monitored by proxy",
"groups": [
{
"groupid": "2"
}
],
"monitored_by": 1,
"proxyid": 1
},
"id": 1
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10591"
]
},
"id": 1
}
Creazione di un host monitorato da un gruppo di proxy
Creare un host che sarà monitorato dal gruppo di proxy con 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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10592"
]
},
"id": 1
}
Vedi anche
Sorgente
CHost::create() in ui/include/classes/api/services/CHost.php.