object host.update(object/array hosts)
Este método permite actualizar los equipos existentes.
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.
(object/array) Propiedades del host que se van a actualizar.
La propiedad hostid debe estar definida para cada host, todas las demás propiedades son opcionales. Sólo se actualizarán las propiedades indicadas, todas las demás permanecerán sin cambios.
Sin embargo, tenga en cuenta que al actualizar el nombre técnico del host también se actualizará el nombre visible del host (si no se indica por separado) por el valor del nombre técnico del host.
Además de las propiedades estándar del host, el método acepta los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| groups | object/array | Grupos de hosts para reemplazar los grupos de hosts actuales a los que pertenece el host. Todos los grupos de hosts que no estén listados en la solicitud serán desvinculados. Los grupos de hosts deben tener definida sólo la propiedad groupid. |
| interfaces | object/array | Interfaces de host para reemplazar las interfaces de host actuales. Todas las interfaces que no estén listadas en la solicitud serán eliminadas. |
| tags | object/array | Etiquetas de host para reemplazar las etiquetas de host actuales. Todas las etiquetas que no estén listadas en la solicitud serán eliminadas. |
| inventory | object | Propiedades del inventario de host. |
| macros | object/array | Macros de usuario para reemplazar las macros de usuario actuales. Todas las macros que no estén listadas en la solicitud serán eliminadas. |
| templates | object/array | Templates para reemplazar los templates actualmente vinculados. Todos los templates que no estén listados en la solicitud sólo serán desvinculados. Los templates deben tener definida sólo la propiedad templateid. |
| templates_clear | object/array | Templates para desvincular y limpiar del host. Los templates deben tener definida sólo la propiedad templateid. |
(object) Devuelve un objeto que contiene los ID de los hosts actualizados bajo la propiedad hostids.
Habilite el monitoreo del host, es decir, establezca su estado en "0".
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"status": 0
},
"id": 1
}Response:
Desvincula y borra dos plantillas del equipo.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"templates_clear": [
{
"templateid": "10124"
},
{
"templateid": "10125"
}
]
},
"id": 1
}Respuesta:
Reemplace todas las macros del equipo por dos nuevas.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"macros": [
{
"macro": "{$PASS}",
"value": "password"
},
{
"macro": "{$DISC}",
"value": "sda",
"description": "Updated description"
}
]
},
"id": 1
}Respuesta:
Cambiar el modo de inventario y agregar ubicación
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"inventory_mode": 0,
"inventory": {
"location": "Latvia, Riga"
}
},
"id": 1
}Respuesta:
Reemplace todas las etiquetas de equipo por una nueva.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"tags": {
"tag": "os",
"value": "rhel-7"
}
},
"id": 1
}Respuesta:
Convierta la macro "automática" creada por la regla de descubrimiento a "manual" y cambie su valor a "nuevo-valor".
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"macros": {
"hostmacroid": "5541",
"value": "nuevo-valor",
"automatic": "0"
}
},
"id": 1
}Respuesta:
Actualice el equipo "10590" para usar cifrado PSK solo para conexiones desde el equipo al servidor Zabbix y cambie la identidad PSK y la clave PSK. Tenga en cuenta que el equipo debe estar preconfigurado para usar PSK.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10590",
"tls_connect": 1,
"tls_accept": 2,
"tls_psk_identity": "PSK 002",
"tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
},
"id": 1
}Respuesta:
CHost::update() en ui/include/classes/api/services/CHost.php.