[comment]: # translation:outdated

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

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

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

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

Este método permite atualizar os hosts existentes.

::: noteclassic
Este método está disponível apenas para *Admin* e *Superadministrador*
tipos de usuário. As permissões para chamar o método podem ser revogadas na função de usuário
definições. Veja [Usuário
funções](/manual/web_interface/frontend_sections/administration/user_roles)
Para maiores informações.
:::

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

[comment]: # ({54e0f2af-3a8eac6a})
### Parâmetros

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

A propriedade `hostid` deve ser definida para cada host, todos os outros
propriedades são opcionais. Somente as propriedades fornecidas serão atualizadas, todas
outros permanecerão inalterados.

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

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|Host [groups](/manual/api/reference/hostgroup/object#host_group) para substituir os grupos de hosts atuais aos quais o host pertence.<br><br>Os grupos de hosts devem ter o `groupid ` propriedade definida. Todos os grupos de hosts que não estão listados na solicitação serão desvinculados.|
|interfaces|object/array|Host [interfaces](/manual/api/reference/hostinterface/object) para substituir as interfaces de host atuais.<br><br>Todas as interfaces que não estiverem listadas na solicitação serão removidas.|
|tags|object/array|Host [tags](/manual/api/reference/host/object#host_tag) para substituir as tags de host atuais.<br><br>Todas as tags que não estiverem listadas na solicitação serão removidas .|
|inventário|objeto|Host [inventário](/manual/api/reference/host/object#host_inventory) propriedades.|
|macros|object/array|[Macros de usuário](/manual/api/reference/usermacro/object) para substituir as macros de usuário atuais.<br><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. Todos os modelos que não estiverem listados na solicitação serão apenas desvinculados.<br><br>Os modelos devem ter 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 a propriedade `templateid` definida.|

::: dica
Ao contrário do frontend Zabbix, quando `name` (visível
nome do host) é o mesmo que `host` (nome técnico do host), atualizando o `host`
via API não atualizará automaticamente `name`. Ambas as propriedades precisam ser
atualizado explicitamente.
:::

[comment]: # ({/54e0f2af-3a8eac6a})

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

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

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

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

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

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

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

Solicitação:

``` {.java}
{
    "jsonrpc": "2.0",
    "método": "host.update",
    "parâmetros": {
        "hostid": "10126",
        "estado": 0
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Resposta:

``` {.java}
{
    "jsonrpc": "2.0",
    "resultado": {
        "hostids": [
            "10126"
        ]
    },
    "id": 1
}
```

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

[comment]: # ({893c214b-bea1db7e})
#### Desvinculando modelos

Desvincule e limpe dois modelos do host.

Solicitação:

``` {.java}
{
    "jsonrpc": "2.0",
    "método": "host.update",
    "parâmetros": {
        "hostid": "10126",
        "templates_clear": [
            {
                "templateid": "10124"
            },
            {
                "templateid": "10125"
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Resposta:

``` {.java}
{
    "jsonrpc": "2.0",
    "resultado": {
        "hostids": [
            "10126"
        ]
    },
    "id": 1
}
```

[comment]: # ({/893c214b-bea1db7e})

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

Substitua todas as macros de host por duas novas.

Solicitação:

``` {.java}
{
    "jsonrpc": "2.0",
    "método": "host.update",
    "parâmetros": {
        "hostid": "10126",
        "macros": [
            {
                "macro": "{$PASS}",
                "valor": "senha"
            },
            {
                "macro": "{$DISC}",
                "valor": "sda",
                "description": "Descrição atualizada"
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Resposta:

``` {.java}
{
    "jsonrpc": "2.0",
    "resultado": {
        "hostids": [
            "10126"
        ]
    },
    "id": 1
}
```

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

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

Alterar o modo de inventário e adicionar local

Solicitação:

``` {.java}
{
    "jsonrpc": "2.0",
    "método": "host.update",
    "parâmetros": {
        "hostid": "10387",
        "modo_inventário": 0,
        "inventário": {
            "location": "Letônia, Riga"
        }
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Resposta:

``` {.java}
{
    "jsonrpc": "2.0",
    "resultado": {
        "hostids": [
            "10387"
        ]
    },
    "id": 1
}
```

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

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

Substitua todas as tags de host por uma nova.

Solicitação:

``` {.java}
{
    "jsonrpc": "2.0",
    "método": "host.update",
    "parâmetros": {
        "hostid": "10387",
        "Tag": {
            "tag": "SO",
            "valor": "CentOS 7"
        }
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Resposta:

``` {.java}
{
    "jsonrpc": "2.0",
    "resultado": {
        "hostids": [
            "10387"
        ]
    },
    "id": 1
}
```

[comment]: # ({/2c9e1ee0-5cc5d950})

[comment]: # ({new-ae2d89bf})
#### Updating discovered host macros

Convert discovery rule created "automatic" macro to "manual" and change its value to "new-value".

Request:

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

Response:

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

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

[comment]: # ({new-b4a9cd46})
#### Updating host encryption

Update the [host "10590"](create#creating-a-host-with-psk-encryption-configured) to use PSK encryption only for connections from host to Zabbix server.
In addition, update the PSK identity and PSK key for this host.
Note that the Zabbix agent that is installed on the host has to be configured to [use PSK](/manual/encryption/using_pre_shared_keys#using-pre-shared-keys).

[Request](/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
}
```

Response:

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

[comment]: # ({/new-b4a9cd46})

[comment]: # ({26d88266-23501347})
### Veja também

- [host.massadd](massadd)
- [host.massupdate](massupdate)
- [host.massremove](massremove)
- [Grupo de hosts](/manual/api/reference/hostgroup/object#host_group)
- [Modelo](/manual/api/reference/template/object#template)
-   [Do utilizador
    macro](/manual/api/reference/usermacro/object#hosttemplate_level_macro)
-   [Hospedeiro
    interface](/manual/api/reference/hostinterface/object#host_interface)
- [Inventário do host](object#host_inventory)
- [Tag do host](object#host_tag)

[comment]: # ({/26d88266-23501347})

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

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

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