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

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

[comment]: # ({a740c7d4-12e31652})
### Descrição

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

Este método permite atualizar hosts existentes.

::: noteclassic
Este método está disponível apenas para os tipos de usuário *Admin* e *Super admin*. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Veja [Funções de usuário](/manual/web_interface/frontend_sections/users/user_roles) para mais informações.
:::

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

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

`(object/array)` Propriedades do host a serem atualizadas.

A propriedade `hostid` deve ser definida para cada host, todas as outras
propriedades são opcionais. Somente as propriedades fornecidas serão atualizadas, todas
as outras permanecerão inalteradas.

Observe, no entanto, que atualizar o nome técnico do host também atualizará
o nome visível do host (se não for fornecido separadamente) pelo valor do nome técnico do host.

Além das [propriedades padrão do host](object#host), o método
aceita os seguintes parâmetros.

|Parâmetro|[Tipo](/manual/api/reference_commentary#data-types)|Descrição|
|--|--|------|
|groups|object/array|[Grupos de hosts](/manual/api/reference/hostgroup/object#host-group) para substituir os grupos de hosts atuais aos quais o host pertence.<br>Todos os grupos de hosts que não estiverem listados na solicitação serão desvinculados.<br><br>Os grupos de hosts devem ter apenas a propriedade `groupid` definida.|
|interfaces|object/array|[Interfaces de host](/manual/api/reference/hostinterface/object) para substituir as interfaces de host atuais.<br>Todas as interfaces que não estiverem listadas na solicitação serão removidas.|
|tags|object/array|[Tags de host](/manual/api/reference/host/object#host-tag) para substituir as tags de host atuais.<br>Todas as tags que não estiverem listadas na solicitação serão removidas.|
|inventory|object|Propriedades do [Inventário do host](/manual/api/reference/host/object#host-inventory).|
|macros|object/array|[Macros de usuário](/manual/api/reference/usermacro/object) para substituir as macros de usuário atuais.<br>Todas as macros que não estiverem listadas na solicitação serão removidas.|
|templates|object/array|[Templates](/manual/api/reference/template/object) para substituir os templates atualmente vinculados.<br>Todos os templates que não estiverem listados na solicitação serão apenas desvinculados.<br><br>Os templates devem ter apenas a propriedade `templateid` definida.|
|templates\_clear|object/array|[Templates](/manual/api/reference/template/object) para desvincular e limpar do host.<br><br>Os templates devem ter apenas a propriedade `templateid` definida.|

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

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

`(object)` Retorna um objeto contendo os IDs dos hosts atualizados
na propriedade `hostids`.

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

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

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

[comment]: # ({bcd7b728-ce50c453})
#### Habilitando um host

Habilite o monitoramento do host, ou seja, defina seu status como "0".

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

[comment]: # ({f0c289a7-f2872d0b})
#### Habilitando múltiplos hosts

Habilite o monitoramento de dois hosts, ou seja, defina seu status como "0".

[Requisição](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": [
        {
            "hostid": "10127",
            "status": 0
        },
        {
            "hostid": "10128",
            "status": 0
        }
    ],
    "id": 1
}
```

Resposta:

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

[comment]: # ({/f0c289a7-f2872d0b})

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

Desvincular e limpar dois templates de um host.

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

[comment]: # ({b789e636-98dcfd68})
#### Atualizando macros de host

Substitua todas as macros do host por duas novas.

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

[comment]: # ({72eb8ecc-da99f3b8})
#### Atualizando o inventário do host

Alterar o modo de inventário e adicionar localização

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

[comment]: # ({603ba164-5cc5d950})
#### Atualizando tags de host

Substitua todas as tags de host por uma nova.

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

[comment]: # ({58eba4cd-ae2d89bf})
#### Atualizando macros de host descobertos

Converta a macro criada pela regra de descoberta de "automática" para "manual" e altere seu valor para "novo-valor".

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

[comment]: # ({1948c7c9-f620e859})
#### Atualizando a criptografia do host

Atualize o host "10590" para usar apenas criptografia PSK para conexões do host para o Zabbix server e altere a identidade PSK e a chave PSK.
Observe que o host deve ser [pré-configurado para usar PSK](/manual/encryption/using_pre_shared_keys#configuring-psk-for-server-agent-communication-example).

[Requisição](/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
}
```

Resposta:

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

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

[comment]: # ({4c790831-23501347})
### Veja também

-   [host.massadd](massadd)
-   [host.massremove](massremove)
-   [Grupo de hosts](/manual/api/reference/hostgroup/object#host-group)
-   [Template](/manual/api/reference/template/object#template)
-   [Macro de usuário](/manual/api/reference/usermacro/object#hosttemplate-level-macro)
-   [Interface de host](/manual/api/reference/hostinterface/object#host-interface)
-   [Inventário de host](object#host-inventory)
-   [Tag de host](object#host-tag)
-   [Proxy](/manual/api/reference/proxy/object#proxy)
-   [Grupo de proxies](/manual/api/reference/proxygroup/object#proxy-group)

[comment]: # ({/4c790831-23501347})

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

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

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