object hostprototype.create(object/array hostPrototypes)
Ta metoda pozwala tworzyć nowe prototypy hostów.
Ta metoda jest dostępna tylko dla użytkowników typu Admin i Super admin. Uprawnienia do wywołania tej metody można cofnąć w ustawieniach ról użytkownika. Zobacz Role użytkownika po więcej informacji.
(object/array)
Prototypy hostów do utworzenia.
Dodatkowo do standardowych właściwości prototypu hosta, metoda akceptuje następujące parametry.
Parametr | Typ | Opis |
---|---|---|
groupLinks (wymagane) |
array | Powiązania grupy do utworzenia dla prototypu hosta. |
ruleid (wymagane) |
string | ID reguły LLD, do której należy prototyp hosta. |
groupPrototypes | array | Prototypy grupy do utworzenia dla prototypu hosta. |
macros | object/array | Makra użytkownika do utworzenia dla prototypu hosta. |
tags | object/array | Znaczniki prototypu hosta . |
interfaces | object/array | Indywidualne interfejsy prototypy hosta . |
templates | object/array | Szablony do połączenia z prototypem hosta. Szablony muszą mieć zdefiniowaną właściwość templateid . |
(object)
Zwraca obiekt zawierający identyfikatory utworzonych prototypów hostów we właściwości hostids
. Kolejność zwróconych identyfikatorów odpowiada kolejności przekazanych prototypów hostów.
Utwórz prototyp hosta "{#VM.NAME}" na regule LLD "23542" z prototypem grupy "{#HV.NAME}", parą znaczników "Datacenter": "{#DATACENTER.NAME}" oraz niestandardowym interfejsem SNMPv2 127.0.0.1:161 z hasłem {$SNMP_COMMUNITY}. Połącz go z grupą hostów "2".
Zapytanie:
{
"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}"
}
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
CHostPrototype::create() w ui/include/classes/api/services/CHostPrototype.php.