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.