hostprototype.create

Descrizione

object hostprototype.create(object/array hostPrototypes)

Questo metodo consente di creare nuovi prototipi di host.

Questo metodo è disponibile solo per i tipi di utente Admin e Super admin. I permessi per chiamare il metodo possono essere revocati nelle impostazioni del ruolo utente. Per ulteriori informazioni, vedere Ruoli utente.

Parametri

(object/array) Prototipi di host da creare.

Oltre alle proprietà standard del prototipo di host, il metodo accetta i seguenti parametri.

Parametro Tipo Descrizione
groupLinks array Collegamenti ai gruppi da creare per il prototipo di host.

Comportamento del parametro:
- obbligatorio
ruleid ID ID della regola LLD a cui appartiene il prototipo di host.

Comportamento del parametro:
- obbligatorio
groupPrototypes array Prototipi di gruppo da creare per il prototipo di host.
macros object/array Macro utente da creare per il prototipo di host.
tags object/array Tag del prototipo di host.
interfaces object/array Interfacce personalizzate del prototipo di host.
templates object/array Template da collegare al prototipo di host.

I template devono avere definita solo la proprietà templateid.

Valori restituiti

(object) Restituisce un oggetto contenente gli ID dei prototipi di host creati nella proprietà hostids. L'ordine degli ID restituiti corrisponde all'ordine dei prototipi di host passati.

Esempi

Creazione di un prototipo di host

Creare un prototipo di host "{#VM.NAME}" nella regola LLD "23542" con un prototipo di gruppo "{#HV.NAME}", una coppia tag "datacenter": "{#DATACENTER.NAME}" e un'interfaccia SNMPv2 personalizzata 127.0.0.1:161 con community {$SNMP_COMMUNITY}. Collegarlo al gruppo host "2".

Richiesta:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.create",
    "params": {
        "host": "{#VM.NAME}",
        "ruleid": "23542",
        "custom_interfaces": "1",
        "groupLinks": [
            {
                "groupid": "2"
            }
        ],
        "groupPrototypes": [
            {
                "name": "{#HV.NAME}"
            }
        ],
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            }
        ],
        "interfaces": [
            {
                "main": "1",
                "type": "2",
                "useip": "1",
                "ip": "127.0.0.1",
                "dns": "",
                "port": "161",
                "details": {
                    "version": "2",
                    "bulk": "1",
                    "community": "{$SNMP_COMMUNITY}"
                }
            }
        ]
    },
    "id": 1
}

Risposta:

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

Vedi anche

Fonte

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