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