host.update

Description

object host.update(object/array hosts)

Cette méthode permet de mettre à jour des hôtes existants.

Cette méthode est disponible uniquement pour les types d’utilisateur Admin et Super admin. Les autorisations permettant d’appeler cette méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Voir User roles pour plus d’informations.

Paramètres

(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 indiquées seront mises à jour, toutes les autres resteront inchangées.

Notez toutefois que la mise à jour du nom technique de l’hôte mettra également à jour le nom visible de l’hôte (s’il n’est pas indiqué séparément) avec la valeur du nom technique de l’hôte.

En plus des propriétés d’hôte standard, la méthode accepte les paramètres suivants.

Paramètre Type Description
groups object/array Groupes d’hôtes pour remplacer les groupes d’hôtes actuels auxquels l’hôte appartient.
Tous les groupes d’hôtes qui ne sont pas listés dans la requête seront dissociés.

Les groupes d’hôtes doivent avoir uniquement la propriété groupid définie.
interfaces object/array Interfaces d’hôte pour remplacer les interfaces d’hôte actuelles.
Toutes les interfaces qui ne sont pas listées dans la requête seront supprimées.
tags object/array Tags d’hôte pour remplacer les tags d’hôte actuels.
Tous les tags qui ne sont pas listés dans la requête seront supprimés.
inventory object Propriétés de l’inventaire de l’hôte.
macros object/array Macros utilisateur pour remplacer les macros utilisateur actuelles.
Toutes les macros qui ne sont pas listées dans la requête seront supprimées.
templates object/array Modèles pour remplacer les modèles actuellement liés.
Tous les modèles qui ne sont pas listés dans la requête seront uniquement dissociés.

Les modèles doivent avoir uniquement la propriété templateid définie.
templates_clear object/array Modèles à dissocier et à supprimer de l’hôte.

Les modèles doivent avoir uniquement la propriété templateid définie.

Valeurs retournées

(object) Retourne un objet contenant les identifiants des hôtes mis à jour sous la propriété hostids.

Exemples

Activation d’un hôte

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
    },
    "id": 1
}

Réponse :

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

Activation de plusieurs hôtes

Activez la surveillance de deux hôtes, c’est-à-dire définissez leur statut sur « 0 ».

Requête:

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

Réponse :

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

Dissociation des modèles

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"
            }
        ]
    },
    "id": 1
}

Réponse :

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

Mise à jour des macros d'hôte

Remplacez toutes les macros d'hôte par deux nouvelles.

Requête :

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "macros": [
            {
                "macro": "{$PASS}",
                "value": "password"
            },
            {
                "macro": "{$DISC}",
                "value": "sda",
                "description": "Description mise à jour"
            }
        ]
    },
    "id": 1
}

Réponse :

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

Mise à jour de l’inventaire de l’hôte

Modifier le mode d’inventaire et ajouter l’emplacement

Requête:

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

Réponse :

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

Mise à jour des tags d’hôte

Remplacez tous les tags d’hôte par un nouveau.

Requête:

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

Réponse :

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

Mise à jour des macros d’hôte découvertes

Convertissez la macro « automatique » créée par la règle de découverte en macro « manuelle » et modifiez sa valeur en « new-value ».

Requête:

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

Réponse :

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

Mise à jour du chiffrement de l'hôte

Mettez à jour l'hôte « 10590 » afin d'utiliser uniquement le chiffrement PSK pour les connexions de l'hôte vers le serveur Zabbix, et modifiez l'identité PSK ainsi que la clé PSK. Notez que l'hôte doit être préconfiguré pour utiliser PSK.

Requête :

{
    "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
}

Réponse :

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

Voir aussi

Source

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