object hostprototype.create(object/array hostPrototypes)
This method allows to create new host prototypes.
This method is only available to Admin and Super admin user types. Permissions to call the method can be revoked in user role settings. See User roles for more information.
(object/array)
Host prototypes to create.
Additionally to the standard host prototype properties, the method accepts the following parameters.
Parameter | Type | Description |
---|---|---|
groupLinks (required) |
array | Group links to be created for the host prototype. |
ruleid (required) |
string | ID of the LLD rule that the host prototype belongs to. |
groupPrototypes | array | Group prototypes to be created for the host prototype. |
macros | object/array | User macros to be created for the host prototype. |
tags | object/array | Host prototype tags. |
interfaces | object/array | Host prototype custom interfaces. |
templates | object/array | Templates to be linked to the host prototype. The templates must have the templateid property defined. |
(object)
Повертає об’єкт, що містить ідентифікатори створених прототипів хостів у властивості hostids
. Порядок повернутих ідентифікаторів відповідає порядку переданих прототипів хосту.
Створіть прототип хоста "{#VM.NAME}" за правилом LLD "23542" з прототипом групи "{#HV.NAME}", парою тегів "Datacenter": "{#DATACENTER.NAME}" і спеціальним Інтерфейс SNMPv2 127.0.0.1:161 зі спільнотою {$SNMP_COMMUNITY}. Прив’яжіть його до групи хостів «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}"
}
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Відповідь:
CHostPrototype::create() в ui/include/classes/api/services/CHostPrototype.php.