object hostprototype.create(object/array hostPrototypes)
Este método permite crear nuevas plantillas de equipos.
Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método pueden ser revocados en la configuración del rol de usuario. Consulte Roles de usuario para obtener más información.
(objeto/array)
Prototipos de equipo a crear.
Además de las propiedades estándar del prototipo de equipo, el método acepta los siguientes parámetros.
Parámetro | Tipo | Descripción |
---|---|---|
groupLinks | array | Vínculos de grupo que se crearán para el prototipo de equipo. Comportamiento del parámetro: - requerido |
ruleid | ID | ID de la regla LLD a la que pertenece el prototipo de equipo. Comportamiento del parámetro: - requerido |
groupPrototypes | array | Prototipos de grupo que se crearán para el prototipo de equipo. |
macros | objeto/array | Macros de usuario que se crearán para el prototipo de equipo. |
tags | objeto/array | Etiquetas de prototipo de equipo. |
interfaces | objeto/array | Interfaces personalizadas del prototipo de equipo. |
templates | objeto/array | Plantillas que se vincularán al prototipo de equipo. Las plantillas deben tener definida únicamente la propiedad templateid . |
(object)
Devuelve un objeto que contiene los IDs de las plantillas de equipo creadas bajo la propiedad hostids
. El orden de los IDs devueltos coincide con el orden de las plantillas de equipo pasadas.
Cree una plantilla de equipo "{#VM.NAME}" en la regla LLD "23542" con una plantilla de grupo "{#HV.NAME}", par de etiquetas "datacenter": "{#DATACENTER.NAME}" e interfaz SNMPv2 personalizada 127.0.0.1:161 con comunidad {$SNMP_COMMUNITY}. Enlácela al grupo de equipos "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
}
Respuesta:
CHostPrototype::create() en ui/include/classes/api/services/CHostPrototype.php.