hostprototype.get

Descrizione

integer/array hostprototype.get(object parameters)

Questo metodo consente di recuperare i prototipi di host in base ai parametri specificati.

Questo metodo è disponibile per utenti di qualsiasi tipo. Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente. Per ulteriori informazioni, vedere Ruoli utente.

Parametri

(object) Parametri che definiscono l'output desiderato.

Il metodo supporta i seguenti parametri.

Parameter Type Description
hostids ID/array Restituisce solo i prototipi di host con gli ID specificati.
discoveryids ID/array Restituisce solo i prototipi di host che appartengono alle regole LLD specificate.
inherited boolean Se impostato su true, restituisce solo gli item ereditati da un template.
selectDiscoveryData query Restituisce una proprietà discoveryData con i dati dell'oggetto di discovery del prototipo di host. L'oggetto di discovery del prototipo di host collega un prototipo di host rilevato a un prototipo di host da cui è stato rilevato.

Ha le seguenti proprietà:
host - (string) ID dell'host;
parent_hostid - (string) ID del prototipo di host da cui è stato creato il prototipo di host;
status - (int) stato di discovery del prototipo di host:
0 - (predefinito) il prototipo di host è rilevato,
1 - il prototipo di host non è più rilevato;
ts_delete - (timestamp) momento in cui un prototipo di host che non è più rilevato verrà eliminato;
ts_disable - (timestamp) momento in cui un prototipo di host che non è più rilevato verrà disabilitato;
disable_source - (int) indicatore che specifica se il prototipo di host è stato disabilitato da una regola LLD o manualmente:
0 - (predefinito) disabilitato automaticamente,
1 - disabilitato da una regola LLD.
selectDiscoveryRule query Restituisce una proprietà discoveryRule con la regola LLD a cui appartiene il prototipo di host.
selectDiscoveryRulePrototype query Restituisce una proprietà discoveryRulePrototype con il prototipo della regola LLD padre a cui appartiene il prototipo di host.
selectInterfaces query Restituisce una proprietà interfaces con le interfacce personalizzate del prototipo di host.
selectGroupLinks query Restituisce una proprietà groupLinks con i collegamenti ai gruppi del prototipo di host.
selectGroupPrototypes query Restituisce una proprietà groupPrototypes con i prototipi di gruppo del prototipo di host.
selectInheritedTags query Restituisce una proprietà inheritedTags con i tag presenti nei template collegati.
selectMacros query Restituisce una proprietà macros con le macro del prototipo di host.
selectParentHost query Restituisce una proprietà parentHost con l'host a cui appartiene il prototipo di host.
selectTags query Restituisce una proprietà tags con i tag del prototipo di host.
selectTemplates query Restituisce una proprietà templates con i template collegati al prototipo di host.

Supporta count.
sortfield string/array Ordina il risultato in base alle proprietà specificate.

Valori possibili: hostid, host, name, status, discovered.
countOutput boolean Questi parametri sono descritti nel commento di riferimento.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valori restituiti

(integer/array) Restituisce uno dei seguenti:

  • un array di oggetti;
  • il numero di oggetti recuperati, se è stato utilizzato il parametro countOutput.

Esempi

Recupero dei prototipi di host da una regola LLD

Recupera tutti i prototipi di host, i loro collegamenti ai gruppi, i prototipi di gruppo e i tag da una regola LLD.

Richiesta:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.get",
    "params": {
        "output": "extend",
        "selectInterfaces": "extend",
        "selectGroupLinks": "extend",
        "selectGroupPrototypes": "extend",
        "selectTags": "extend",
        "discoveryids": "23554"
    },
    "id": 1
}

Risposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10092",
            "host": "{#HV.UUID}",
            "name": "{#HV.UUID}",
            "status": "0",
            "templateid": "0",
            "discover": "0",
            "custom_interfaces": "1",
            "uuid": "051a1469d4d045cbbf818fcc843a352e",
            "flags": "2",
            "inventory_mode": "-1",
            "tags": [
                {
                    "tag": "datacenter",
                    "value": "{#DATACENTER.NAME}"
                },
                {
                    "tag": "instance-type",
                    "value": "{#INSTANCE_TYPE}"
                }
            ],
            "groupLinks": [
                {
                    "group_prototypeid": "4",
                    "hostid": "10092",
                    "groupid": "7",
                    "templateid": "0"
                }
            ],
            "groupPrototypes": [
                {
                    "group_prototypeid": "7",
                    "hostid": "10092",
                    "name": "{#CLUSTER.NAME}",
                    "templateid": "0"
                }
            ],
            "interfaces": [
                {
                    "main": "1",
                    "type": "2",
                    "useip": "1",
                    "ip": "127.0.0.1",
                    "dns": "",
                    "port": "161",
                    "available": "0",
                    "error": "",
                    "errors_from": "0",
                    "disable_until": "0",
                    "details": {
                        "version": "2",
                        "bulk": "1",
                        "community": "{$SNMP_COMMUNITY}",
                        "max_repetitions": "10"
                    }
                }
            ]
        }
    ],
    "id": 1
}

Vedi anche

Sorgente

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