hostprototype.create

Descripción

object hostprototype.create(object/array hostPrototypes)

Este método permite crear nuevos prototipos de equipo.

Este método solo está disponible para los tipos de usuario Administrador y Superadministrador. Los permisos para llamar al método se pueden revocar en la configuración del rol de usuario. Ver Roles de usuario para más información.

Parámetros

(objeto/matriz) Prototipos de equipo para crear.

Además de las propiedades estándar de prototipo de host, el método acepta los siguiente parámetros.

Parámetro Tipo Descripción
groupLinks matriz Enlaces a grupos que se crearán para el prototipo de equipo.

Comportamiento de parámetros:
- obligatorio
ruleid cadena ID de la regla LLD a la que pertenece el prototipo de equipo.

Comportamiento del parámetro:
- requerido
groupPrototypes matriz Prototipos de grupo que se crearán para el prototipo de equipo.
macros objeto/matriz macros de usuario que se crearán para el prototipo de equipo.
tags objeto/matriz Etiquetas. de prototipo de equipo
interfaces objeto/matriz Interfaces personalizadas de prototipo de equipo.
templates objeto/matriz Plantillas que se vincularán al prototipo del equipo.

Las plantillas deben tener definida la propiedad templateid.

Valores devueltos

(object) Devuelve un objeto que contiene los ID del host creado prototipos bajo la propiedad hostids. El orden de las identificaciones devueltas coincide con el orden de los prototipos de host aprobados.

Ejemplos

Creando un prototipo de equipo

Cree un prototipo de equipo "{#VM.NAME}" en la regla LLD "23542" con un grupo prototipo "{#HV.NAME}", etiquetas "Datacenter": "{#DATACENTER.NAME}" e interfaz SNMPv2 personalizada 127.0.0.1:161 con la comunidad {$SNMP_COMMUNIDAD}. Vincúlelo al grupo de equipo "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}"
                       }
                   }
               ]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10103"
               ]
           },
           "id": 1
       }

Ver también

Fuente

CHostPrototype::create() en ui/include/classes/api/services/CHostPrototype.php.