hostprototype.update

Beschreibung

object hostprototype.update(object/array hostPrototypes)

Diese Methode ermöglicht die Aktualisierung vorhandener Host-Prototypen.

Diese Methode ist nur für die Benutzertypen Admin und Super admin verfügbar. Die Berechtigungen zum Aufrufen der Methode können in den Benutzerrolleneinstellungen entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.

Parameter

(object/array) Zu aktualisierende Eigenschaften des Host-Prototyps.

Die Eigenschaft hostid muss für jeden Host-Prototyp definiert sein, alle anderen Eigenschaften sind optional. Nur die übergebenen Eigenschaften werden aktualisiert, alle anderen bleiben unverändert.

Zusätzlich zu den Standard-Host-Prototyp-Eigenschaften akzeptiert die Methode die folgenden Parameter.

Parameter Typ Beschreibung
groupLinks array Gruppenverknüpfungen, um die aktuellen Gruppenverknüpfungen des Host-Prototyps zu ersetzen.

Parameterverhalten:
- schreibgeschützt für vererbte Objekte
groupPrototypes array Gruppenprototypen, um die vorhandenen Gruppenprototypen des Host-Prototyps zu ersetzen.

Alle Gruppenprototypen, die nicht in der Anfrage aufgeführt sind, werden entfernt.

Parameterverhalten:
- schreibgeschützt für vererbte Objekte
macros object/array Benutzermakros, um die aktuellen Benutzermakros zu ersetzen.
Alle Makros, die nicht in der Anfrage aufgeführt sind, werden entfernt.
tags object/array Host-Prototyp-Tags, um die aktuellen Tags zu ersetzen.
Alle Tags, die nicht in der Anfrage aufgeführt sind, werden entfernt.

Parameterverhalten:
- schreibgeschützt für vererbte Objekte
interfaces object/array Host-Prototyp-benutzerdefinierte Schnittstellen, um die aktuellen Schnittstellen zu ersetzen.
Das Objekt der benutzerdefinierten Schnittstelle muss alle seine Parameter enthalten.
Alle Schnittstellen, die nicht in der Anfrage aufgeführt sind, werden entfernt.

Parameterverhalten:
- unterstützt, wenn custom_interfaces des Host-Prototyp-Objekts auf "use host prototypes custom interfaces" gesetzt ist
- schreibgeschützt für vererbte Objekte
templates object/array Vorlagen, um die aktuell verknüpften Vorlagen zu ersetzen.

Für die Vorlagen darf nur die Eigenschaft templateid definiert sein.

Rückgabewerte

(object) Gibt ein Objekt zurück, das die IDs der aktualisierten Host-Prototypen unter der Eigenschaft hostids enthält.

Beispiele

Deaktivieren eines Host-Prototyps

Deaktivieren Sie einen Host-Prototyp, d. h. setzen Sie seinen Status auf „1“.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.update",
    "params": {
        "hostid": "10092",
        "status": 1
    },
    "id": 1
}

Antwort:

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

Tags von Host-Prototypen aktualisieren

Ersetzen Sie die Tags des Host-Prototyps durch neue.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.update",
    "params": {
        "hostid": "10092",
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            },
            {
                "tag": "instance-type",
                "value": "{#INSTANCE_TYPE}"
            }
        ]
    },
    "id": 1
}

Antwort:

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

Benutzerdefinierte Schnittstellen des Host-Prototyps aktualisieren

Ersetzen Sie geerbte Schnittstellen durch benutzerdefinierte Schnittstellen des Host-Prototyps.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.update",
    "params": {
        "hostid": "10092",
        "custom_interfaces": "1",
        "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
}

Antwort:

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

Siehe auch

Quelle

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