hostprototype.get

Beschreibung

integer/array hostprototype.get(object parameters)

Die Methode ermöglicht das Abrufen von Host-Prototypen anhand der angegebenen Parameter.

Diese Methode ist für Benutzer aller Typen verfügbar. Die Berechtigung zum Aufruf der Methode kann 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 Typ Beschreibung
hostids ID/array Nur Host-Prototypen mit den angegebenen IDs zurückgeben.
discoveryids ID/array Nur Host-Prototypen zurückgeben, die zu den angegebenen LLD-Regeln gehören.
inherited boolean Wenn auf true gesetzt, nur von einer Vorlage geerbte Datenpunkte zurückgeben.
selectDiscoveryData query Eine Eigenschaft discoveryData mit den Daten des Host-Prototyp-Discovery-Objekts zurückgeben. Das Host-Prototyp-Discovery-Objekt verknüpft einen entdeckten Host-Prototyp mit einem Host-Prototyp, aus dem er entdeckt wurde.

Es hat die folgenden Eigenschaften:
host - (string) ID des Host;
parent_hostid - (string) ID des Host-Prototyps, aus dem der Host-Prototyp erstellt wurde;
status - (int) Status der Host-Prototyp-Discovery:
0 - (default) Host-Prototyp ist entdeckt,
1 - Host-Prototyp wird nicht mehr entdeckt;
ts_delete - (timestamp) Zeitpunkt, zu dem ein Host-Prototyp, der nicht mehr entdeckt wird, gelöscht wird;
ts_disable - (timestamp) Zeitpunkt, zu dem ein Host-Prototyp, der nicht mehr entdeckt wird, deaktiviert wird;
disable_source - (int) Kennzeichnung, ob der Host-Prototyp durch eine LLD-Regel oder manuell deaktiviert wurde:
0 - (default) automatisch deaktiviert,
1 - durch eine LLD-Regel deaktiviert.
selectDiscoveryRule query Eine Eigenschaft discoveryRule mit der LLD-Regel zurückgeben, zu der der Host-Prototyp gehört.
selectDiscoveryRulePrototype query Eine Eigenschaft discoveryRulePrototype mit dem übergeordneten LLD-Regel-Prototyp zurückgeben, zu dem der Host-Prototyp gehört.
selectInterfaces query Eine Eigenschaft interfaces mit benutzerdefinierten Schnittstellen des Host-Prototyps zurückgeben.
selectGroupLinks query Eine Eigenschaft groupLinks mit den Gruppenverknüpfungen des Host-Prototyps zurückgeben.
selectGroupPrototypes query Eine Eigenschaft groupPrototypes mit den Gruppen-Prototypen des Host-Prototyps zurückgeben.
selectMacros query Eine Eigenschaft macros mit Makros des Host-Prototyps zurückgeben.
selectParentHost query Eine Eigenschaft parentHost mit dem Host zurückgeben, zu dem der Host-Prototyp gehört.
selectTags query Eine Eigenschaft tags mit Tags des Host-Prototyps zurückgeben.
selectTemplates query Eine Eigenschaft templates mit den mit dem Host-Prototyp verknüpften Vorlagen zurückgeben.

Unterstützt count.
sortfield string/array Das Ergebnis nach den angegebenen Eigenschaften sortieren.

Mögliche Werte: hostid, host, name, status, discovered.
countOutput boolean Diese Parameter werden in der Referenzkommentierung 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 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",
            "flags": "2",
            "discover": "0",
            "custom_interfaces": "1",
            "inventory_mode": "-1",
            "groupLinks": [
                {
                    "group_prototypeid": "4",
                    "hostid": "10092",
                    "groupid": "7",
                    "templateid": "0"
                }
            ],
            "groupPrototypes": [
                {
                    "group_prototypeid": "7",
                    "hostid": "10092",
                    "name": "{#CLUSTER.NAME}",
                    "templateid": "0"
                }
            ],
            "tags": [
                {
                    "tag": "datacenter",
                    "value": "{#DATACENTER.NAME}"
                },
                {
                    "tag": "instance-type",
                    "value": "{#INSTANCE_TYPE}"
                }
            ],
            "interfaces": [
                {
                    "main": "1",
                    "type": "2",
                    "useip": "1",
                    "ip": "127.0.0.1",
                    "dns": "",
                    "port": "161",
                    "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.