hostprototype.update

Descripción

object hostprototype.update(object/array hostPrototypes)

Este método permite actualizar los prototipos de equipo existentes.

Este método solo está disponible para los tipos de usuariosAdministrador y Superadministrador. Los permisos para activar el método se pueden revocar en los ajustes de rol de usuario. Ver Roles de usuario para más información.

Parámetros

(objeto/matriz) Propiedades del prototipo del equipo que se actualizarán.

La propiedad hostid debe definirse para cada prototipo de equipo, todas las demás propiedades son opcionales. Sólo se actualizarán las propiedades pasadas, todas las demás permanecerán sin cambios.

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

Parámetro Tipo Descripción
groupLinks matriz Enlaces de grupo para reemplazar los enlaces de grupo actuales en el prototipo de equipo.

Comportamiento del parámetro:
- solo lectura para objetos heredados
groupPrototypes matriz Prototipos de grupo para reemplazar los prototipos de grupo existentes en el prototipo del equipo.

Comportamiento del parámetro:
- solo lectura para objetos heredados
macros object/matriz Macros de usuario para reemplazar las macros de usuario actuales.
Se eliminarán todas las macros que no aparezcan en la solicitud.
tags object/matriz Etiquetas de prototipo de equipo para reemplazar las etiquetas actuales.
Se eliminarán todas las etiquetas que no aparezcan en la solicitud.<br >
Comportamiento de parámetros:
- solo lectura para objetos heredados
interfaces object/matriz Prototipo de host interfaces personalizadas para reemplazar las interfaces actuales.
El objeto de interfaz personalizado debe contener todos sus parámetros.
Todas las interfaces que no figuran en la solicitud se eliminarán.

Comportamiento de parámetros:
- compatible si interfaces_personalizadas de objeto prototipo de host está configurado para "usar interfaces personalizadas de prototipos de equipo"
- solo lectura para objetos heredados
templates object/matriz Plantillas para reemplazar las plantillas actualmente vinculadas.

Las plantillas deben tener solo la propiedad templateid definida.

Valores de retorno

(objeto) Devuelve un objeto que contiene los ID de los prototipos de equipos actualizados bajo la propiedad hostids.

Ejemplos

Deshabilitar un prototipo de equipo

Deshabilite un prototipo de equipo, es decir, establezca su estado en "1".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "status": 1
           },
           "id": 1
       }

Respuesta:

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

Actualización de etiquetas de prototipos de equipo

Reemplace las etiquetas de prototipos de equipo por otras nuevas.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "tags": [
                   {
                       "tag": "datacenter",
                       "value": "{#DATACENTER.NAME}"
                   },
                   {
                       "tag": "instance-type",
                       "value": "{#INSTANCE_TYPE}"
                   }
               ]
           },
           "id": 1
       }

Respuesta:

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

Actualización de interfaces personalizadas del prototipo de equipo

Reemplace las interfaces heredadas con interfaces personalizadas del prototipo de equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "custom_interfaces": "1",
               "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": [
                   "10092"
               ]
           },
           "id": 1
       }

Ver también

Fuente

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