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.

Richiesta:

{
    "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.

Richiesta:

{
    "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.

Richiesta:

{
    "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".

Richiesta:

{
    "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".

Richiesta:

{
    "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.