hostprototype.create

Beschreibung

object hostprototype.create(object/array hostPrototypes)

Diese Methode ermöglicht das Erstellen neuer Host-Prototypen.

Diese Methode ist nur für Benutzertypen Admin und Super admin 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/array) Zu erstellende Host-Prototypen.

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

Parameter Typ Beschreibung
groupLinks array Zu erstellende Gruppenverknüpfungen für den Host-Prototyp.

Parameterverhalten:
- erforderlich
ruleid ID ID der LLD-Regel, zu der der Host-Prototyp gehört.

Parameterverhalten:
- erforderlich
groupPrototypes array Zu erstellende Gruppenprototypen für den Host-Prototyp.
macros object/array Zu erstellende Benutzermakros für den Host-Prototyp.
tags object/array Host-Prototyp-Tags.
interfaces object/array Benutzerdefinierte Schnittstellen des Host-Prototyps.
templates object/array Vorlagen, die mit dem Host-Prototyp verknüpft werden sollen.

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

Rückgabewerte

(object) Gibt ein Objekt zurück, das die IDs der erstellten Host-Prototypen unter der Eigenschaft hostids enthält. Die Reihenfolge der zurückgegebenen IDs entspricht der Reihenfolge der übergebenen Host-Prototypen.

Beispiele

Erstellen eines Host-Prototyps

Erstellen Sie einen Host-Prototypen "{#VM.NAME}" für die LLD-Regel "23542" mit einem Gruppen- Prototypen "{#HV.NAME}", dem Tag-Paar "datacenter": "{#DATACENTER.NAME}" und einer benutzerdefinierten SNMPv2-Schnittstelle 127.0.0.1:161 mit Community {$SNMP_COMMUNITY}. Verknüpfen Sie ihn mit der Host-Gruppe "2".

Anfrage:

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

Antwort:

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

Siehe auch

Quelle

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