hostprototype.get

Beschreibung

integer/array hostprototype.get(object parameters)

Mit dieser Methode können Host-Prototypen entsprechend den angegebenen Parametern abgerufen werden.

Diese Methode ist für Benutzer aller Typen verfügbar. Die Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.

Parameter

(object) Parameter, die die gewünschte Ausgabe definieren.

Die Methode unterstützt die folgenden Parameter.

Parameter Type Beschreibung
hostids ID/array Gibt nur Host-Prototypen mit den angegebenen IDs zurück.
discoveryids ID/array Gibt nur Host-Prototypen zurück, die zu den angegebenen LLD-Regeln gehören.
inherited boolean Wenn auf true gesetzt, werden nur von einer Vorlage geerbte Datenpunkte zurückgegeben.
selectDiscoveryData query Gibt eine discoveryData-Eigenschaft mit den Objektdaten der Host-Prototyp-Erkennung zurück. Das Host-Prototyp-Erkennungsobjekt verknüpft einen erkannten Host-Prototyp mit einem Host-Prototyp, von dem er erkannt wurde.

Es hat die folgenden Eigenschaften:
host - (string) ID des Hosts;
parent_hostid - (string) ID des Host-Prototyps, aus dem der Host-Prototyp erstellt wurde;
status - (int) Erkennungsstatus des Host-Prototyps:
0 - (Standard) Host-Prototyp wurde erkannt,
1 - Host-Prototyp wird nicht mehr erkannt;
ts_delete - (timestamp) Zeitpunkt, zu dem ein Host-Prototyp, der nicht mehr erkannt wird, gelöscht wird;
ts_disable - (timestamp) Zeitpunkt, zu dem ein Host-Prototyp, der nicht mehr erkannt wird, deaktiviert wird;
disable_source - (int) Kennzeichen, ob der Host-Prototyp durch eine LLD-Regel oder manuell deaktiviert wurde:
0 - (Standard) automatisch deaktiviert,
1 - durch eine LLD-Regel deaktiviert.
selectDiscoveryRule query Gibt eine discoveryRule-Eigenschaft mit der LLD-Regel zurück, zu der der Host-Prototyp gehört.
selectDiscoveryRulePrototype query Gibt eine discoveryRulePrototype-Eigenschaft mit der übergeordneten LLD-Regelvorlage zurück, zu der der Host-Prototyp gehört.
selectInterfaces query Gibt eine interfaces-Eigenschaft mit benutzerdefinierten Schnittstellen des Host-Prototyps zurück.
selectGroupLinks query Gibt eine groupLinks-Eigenschaft mit den Gruppenverknüpfungen des Host-Prototyps zurück.
selectGroupPrototypes query Gibt eine groupPrototypes-Eigenschaft mit den Gruppenvorlagen des Host-Prototyps zurück.
selectInheritedTags query Gibt eine inheritedTags-Eigenschaft mit Tags zurück, die sich auf verknüpften Vorlagen befinden.
selectMacros query Gibt eine macros-Eigenschaft mit Makros des Host-Prototyps zurück.
selectParentHost query Gibt eine parentHost-Eigenschaft mit dem Host zurück, zu dem der Host-Prototyp gehört.
selectTags query Gibt eine tags-Eigenschaft mit Tags des Host-Prototyps zurück.
selectTemplates query Gibt eine templates-Eigenschaft mit den mit dem Host-Prototyp verknüpften Vorlagen zurück.

Unterstützt count.
sortfield string/array Sortiert das Ergebnis nach den angegebenen Eigenschaften.

Mögliche Werte: hostid, host, name, status, discovered.
countOutput boolean Diese Parameter werden im Referenzkommentar beschrieben.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Rückgabewerte

(integer/array) Gibt entweder Folgendes zurück:

  • ein Array von Objekten;
  • die Anzahl der abgerufenen Objekte, wenn der Parameter countOutput verwendet wurde.

Beispiele

Abrufen von Host-Prototypen aus einer LLD-Regel

Rufen Sie alle Host-Prototypen, ihre Gruppenverknüpfungen, Gruppenprototypen und Tags aus einer LLD-Regel ab.

Anfrage:

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

Antwort:

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

Siehe auch

Quelle

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