[comment]: # ({c572a02a-c572a02a})
# host.update

[comment]: # ({/c572a02a-c572a02a})

[comment]: # ({a740c7d4-12e31652})
### Descripción

`object host.update(object/array hosts)`

Este método permite actualizar equipos existentes.

::: noteclassic
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](/manual/web_interface/frontend_sections/users/user_roles) para obtener más información.
:::

[comment]: # ({/a740c7d4-12e31652})

[comment]: # ({7c7a9b0d-3a8eac6a})
### Parámetros

`(object/array)` Propiedades del host que se actualizarán.

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.

Tenga en cuenta, sin embargo, 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](object#host), el método
acepta los siguientes parámetros.

|Parámetro|[Tipo](/manual/api/reference_commentary#data-types)|Descripción|
|--|--|------|
|groups|object/array|[Grupos de hosts](/manual/api/reference/hostgroup/object#host-group) para reemplazar los grupos de hosts actuales a los que pertenece el host.<br>Todos los grupos de hosts que no estén listados en la solicitud serán desvinculados.<br><br>Los grupos de hosts deben tener definida únicamente la propiedad `groupid`.|
|interfaces|object/array|[Interfaces de host](/manual/api/reference/hostinterface/object) para reemplazar las interfaces de host actuales.<br>Todas las interfaces que no estén listadas en la solicitud serán eliminadas.|
|tags|object/array|[Etiquetas de host](/manual/api/reference/host/object#host-tag) para reemplazar las etiquetas de host actuales.<br>Todas las etiquetas que no estén listadas en la solicitud serán eliminadas.|
|inventory|object|Propiedades del [inventario de host](/manual/api/reference/host/object#host-inventory).|
|macros|object/array|[Macros de usuario](/manual/api/reference/usermacro/object) para reemplazar las macros de usuario actuales.<br>Todas las macros que no estén listadas en la solicitud serán eliminadas.|
|templates|object/array|[Templates](/manual/api/reference/template/object) para reemplazar los templates actualmente vinculados.<br>Todos los templates que no estén listados en la solicitud sólo serán desvinculados.<br><br>Los templates deben tener definida únicamente la propiedad `templateid`.|
|templates\_clear|object/array|[Templates](/manual/api/reference/template/object) para desvincular y limpiar del host.<br><br>Los templates deben tener definida únicamente la propiedad `templateid`.|

[comment]: # ({/7c7a9b0d-3a8eac6a})

[comment]: # ({d166b99b-d166b99b})
### Valores de retorno

`(object)` Devuelve un objeto que contiene los IDs de los equipos actualizados
bajo la propiedad `hostids`.

[comment]: # ({/d166b99b-d166b99b})

[comment]: # ({b41637d2-b41637d2})
### Ejemplos

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({bcd7b728-ce50c453})
#### Habilitar un equipo

Habilite la monitorización del equipo, es decir, establezca su estado en "0".

[Solicitud](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "status": 0
    },
    "id": 1
}
```

Respuesta:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10126"
        ]
    },
    "id": 1
}
```

[comment]: # ({/bcd7b728-ce50c453})

[comment]: # ({56f46465-bea1db7e})
#### Desvincular plantillas

Desvincular y limpiar dos plantillas de un equipo.

[Solicitud](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "templates_clear": [
            {
                "templateid": "10124"
            },
            {
                "templateid": "10125"
            }
        ]
    },
    "id": 1
}
```

Respuesta:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10126"
        ]
    },
    "id": 1
}
```

[comment]: # ({/56f46465-bea1db7e})

[comment]: # ({b789e636-98dcfd68})
#### Actualización de macros de equipo

Reemplace todas las macros de equipo por dos nuevas.

[Solicitud](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "macros": [
            {
                "macro": "{$PASS}",
                "value": "password"
            },
            {
                "macro": "{$DISC}",
                "value": "sda",
                "description": "Descripción actualizada"
            }
        ]
    },
    "id": 1
}
```

Respuesta:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10126"
        ]
    },
    "id": 1
}
```

[comment]: # ({/b789e636-98dcfd68})

[comment]: # ({72eb8ecc-da99f3b8})
#### Actualizando el inventario del equipo

Cambiar el modo de inventario y añadir ubicación

[Solicitud](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "inventory_mode": 0,
        "inventory": {
            "location": "Latvia, Riga"
        }
    },
    "id": 1
}
```

Respuesta:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10387"
        ]
    },
    "id": 1
}
```

[comment]: # ({/72eb8ecc-da99f3b8})

[comment]: # ({603ba164-5cc5d950})
#### Actualización de etiquetas de equipo

Reemplazar todas las etiquetas de equipo por una nueva.

[Solicitud](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "tags": {
            "tag": "os",
            "value": "rhel-7"
        }
    },
    "id": 1
}
```

Respuesta:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10387"
        ]
    },
    "id": 1
}
```

[comment]: # ({/603ba164-5cc5d950})

[comment]: # ({58eba4cd-ae2d89bf})
#### Actualización de macros de equipo descubiertas

Convertir la macro "automática" creada por la regla de descubrimiento en "manual" y cambiar su valor a "nuevo-valor".

[Solicitud](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "macros": {
            "hostmacroid": "5541",
            "value": "nuevo-valor",
            "automatic": "0"
        }
    },
    "id": 1
}
```

Respuesta:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10387"
        ]
    },
    "id": 1
}
```

[comment]: # ({/58eba4cd-ae2d89bf})

[comment]: # ({1948c7c9-f620e859})
#### Actualización del cifrado del equipo

Actualice el equipo "10590" para que utilice solo cifrado PSK para las 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](/manual/encryption/using_pre_shared_keys#configuring-psk-for-server-agent-communication-example).

[Solicitud](/manual/api#performing-requests):

```json
{
    "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:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10590"
        ]
    },
    "id": 1
}
```

[comment]: # ({/1948c7c9-f620e859})

[comment]: # ({78cf261e-23501347})
### Ver también

-   [host.massadd](massadd)
-   [host.massupdate](massupdate)
-   [host.massremove](massremove)
-   [Host group](/manual/api/reference/hostgroup/object#host-group)
-   [Template](/manual/api/reference/template/object#template)
-   [User macro](/manual/api/reference/usermacro/object#hosttemplate-level-macro)
-   [Host interface](/manual/api/reference/hostinterface/object#host-interface)
-   [Host inventory](object#host-inventory)
-   [Host tag](object#host-tag)
-   [Proxy](/manual/api/reference/proxy/object#proxy)
-   [Proxy group](/manual/api/reference/proxygroup/object#proxy-group)

[comment]: # ({/78cf261e-23501347})

[comment]: # ({a39b5a01-a39b5a01})
### Fuente

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

[comment]: # ({/a39b5a01-a39b5a01})
