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

(object/array) Propiedades de la plantilla de host que se actualizarán.

La propiedad hostid debe estar definida para cada plantilla de host, 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 estándar de la plantilla de host, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
groupLinks array Vínculos de grupo para reemplazar los vínculos de grupo actuales en la plantilla de host.

Comportamiento del parámetro:
- sólo lectura para objetos heredados
groupPrototypes array Plantillas de grupo para reemplazar las plantillas de grupo existentes en la plantilla de host.

Todas las plantillas de grupo que no se incluyan en la solicitud se eliminarán.

Comportamiento del parámetro:
- sólo lectura para objetos heredados
macros object/array Macros de usuario para reemplazar las macros de usuario actuales.
Todas las macros que no se incluyan en la solicitud se eliminarán.
tags object/array Etiquetas de la plantilla de host para reemplazar las etiquetas actuales.
Todas las etiquetas que no se incluyan en la solicitud se eliminarán.

Comportamiento del parámetro:
- sólo lectura para objetos heredados
interfaces object/array Interfaces personalizadas de la plantilla de host para reemplazar las interfaces actuales.
El objeto de interfaz personalizada debe contener todos sus parámetros.
Todas las interfaces que no se incluyan en la solicitud se eliminarán.

Comportamiento del parámetro:
- soportado si custom_interfaces del objeto de plantilla de host está configurado como "usar interfaces personalizadas de plantillas de host"
- sólo lectura para objetos heredados
templates object/array Plantillas para reemplazar las plantillas actualmente vinculadas.

Las plantillas sólo deben tener definida la propiedad templateid.

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.