object hostprototype.create(object/array hostPrototypes)
Este método permite crear nuevos prototipos de host.
Este método solo está disponible para los tipos de usuarios Administrador y Superadministrador. Los permisos para activar el método se pueden revocar en ajustes de rol de usuario. Ver User roles para más información.
(object/array) Prototipos de host que serán creados.
Además del standard host prototype properties, el método acepta los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| groupLinks (obligatorio) |
matriz | Grupo links que se creará para el prototipo de host. |
| ruleid (obligatorio) |
cadena | ID de la regla LLD a la que pertenece el prototipo de host. |
| groupPrototypes | matriz | Grupo prototypes que se creará para el prototipo de host. |
| macros | objeto/matriz | User macros que se crearán para el prototipo de host. |
| etiquetas | objeto/matriz | Prototipo de host [tags. |
| interfaces | objeto/matriz | Prototipo de host custom interfaces. |
| templates | objeto/matriz | Templates que se vincularán al prototipo del host. Las templates deben tener definida la propiedad templateid. |
(object) Devuelve un objeto que contiene los ID de prototipos de host creados bajo la propiedad hostids. El orden de las identificaciones devueltas coincide con el orden de los prototipos de host aprobados.
Crear un prototipo de host "{#VM.NAME}" en LLD regla "23542" con el prototipo de grupo "{#HV.NAME}", par de etiqueta "Datacenter": "{#DATACENTER.NAME}" y personalizar SNMPv2 interface 127.0.0.1:161 con comunidad {$SNMP_COMMUNITY}. Conéctelo al grupo de host "2".
Solicitud:
{
"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
}Respuesta:
CHostPrototype::create() en ui/include/classes/api/services/CHostPrototype.php.