object host.update(object/array hosts)
Cette méthode permet de mettre à jour les hôtes existants.
Cette méthode est disponible uniquement pour les types d'utilisateurs Admin et Super admin. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôles utilisateur. Voir Rôles Utilisateur pour plus d'informations.
(object/array)
Propriétés de l'hôte à mettre à jour.
La propriété hostid
doit être définie pour chaque hôte, toutes les autres propriétés sont facultatives. Seules les propriétés données seront mises à jour, toutes les autres resteront inchangées.
En plus des propriétés de l'objet hôte standard, la méthode accepte les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
groups | object/array | Groupes d'hôtes en remplacement des groupes d'hôtes actuels auxquels appartient l'hôte. Les groupes hôtes doivent avoir la propriété groupid définie. Tous les groupes hôtes qui ne figurent pas dans la demande seront déliés. |
interfaces | object/array | Interfaces hôtes en remplacement des interfaces hôtes actuelles. Toutes les interfaces qui ne figurent pas dans la demande seront supprimées. |
tags | object/array | Tags d'hôte en remplacement des tags d'hôte actuels. Toutes les tas qui ne figurent pas dans la demande seront supprimés. |
inventory | object | Propriétés d'inventaire d'hôte . |
macros | object/array | Macros utilisateur en remplacement des macros utilisateur actuelles. Toutes les macros non répertoriées dans la demande seront supprimées. |
templates | object/array | Modèles en remplacement des modèles actuellement liés. Tous les modèles qui ne sont pas répertoriés dans la demande seront uniquement déliés. Les modèles doivent avoir la propriété templateid définie. |
templates_clear | object/array | Modèles à délier et supprimer de l'hôte. Les modèles doivent avoir la propriété templateid définie. |
Contrairement à l'interface Zabbix, lorsque name
(nom d'hôte visible) est identique à host
(nom d'hôte technique), la mise à jour de host
via l'API ne mettra pas automatiquement à jour name
. Les deux propriétés doivent être mises à jour explicitement.
(object)
Retourne un objet contenant les identifiants des hôtes mis à jour sous la propriété hostids
.
Activez la surveillance de l'hôte, c'est-à-dire définissez son statut sur 0.
Requête :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"status": 0
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Dissociez et effacez deux modèles de l'hôte.
Requête :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"templates_clear": [
{
"templateid": "10124"
},
{
"templateid": "10125"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
#### Mise à jour des macros de l'hôte
Remplacez toutes les macros hôtes par deux nouvelles.
Requête :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"macros": [
{
"macro": "{$PASS}",
"value": "password"
},
{
"macro": "{$DISC}",
"value": "sda",
"description": "Updated description"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Changer le mode d'inventaire et ajouter une localisation
Requête :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"inventory_mode": 0,
"inventory": {
"location": "Latvia, Riga"
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
#### Mise à jour des tags d'hôte
Remplacez tous les tags d'hôte par une nouvelle.
Requête :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"tags": {
"tag": "OS",
"value": "RHEL 7"
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Convert discovery rule created "automatic" macro to "manual" and change its value to "new-value".
Request:
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"macros": {
"hostmacroid": "5541",
"value": "new-value",
"automatic": "0"
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
Update the host "10590" 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.
{
"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:
CHost::update() dans ui/include/classes/api/services/CHost.php.