Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

hostprototype.update

Description

object hostprototype.update(object/array hostPrototypes)

Cette méthode permet de mettre à jour les prototypes d'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.

Paramètres

(object/array) Propriétés du prototype d'hôte à mettre à jour.

La propriété hostid doit être définie pour chaque prototype d'hôte, toutes les autres propriétés sont facultatives. Seules les propriétés transmises seront mises à jour, toutes les autres resteront inchangées.

En plus des propriétés de l'objet prototype d'hôte standard, la méthode accepte les paramètres suivants.

Paramètre Type Description
groupLinks array Liens de groupe en remplacement des liens de groupe existants sur le prototype d'hôte.
groupPrototypes array Prototypes de groupe en remplacement des prototypes de groupe existants sur le prototype d'hôte.
macros object/array Macros utilisateurs](/manual/api/reference/usermacro/object) en remplacement des macros existantes.

Toutes les macros qui ne sont pas répertoriées dans la demande seront supprimées.
tags object/array Tags de prototypes d'hôtes en remplacement des tags actuels.

Tous les tags qui ne sont pas répertoriés dans la demande seront supprimés.
interfaces object/array Interfaces personnalisées de prototypes d'hôtes en remplacement des interfaces actuelles.

Custom interface object should contain all its parameters.
All interfaces that are not listed in the request will be removed.
templates object/array Modèles en remplacement des modèles actuellement liés.

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

Valeurs retournées

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

Exemples

Désactivation d'un prototype d'hôte

Désactivez un prototype d'hôte, c'est-à-dire définissez son statut sur 1.

Requête :

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "status": 1
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

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

Mise à jour des tags de prototype d'hôte

Remplacez les tags de prototype d'hôte par de nouvelles.

Requête :

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "tags": [
                   {
                       "tag": "Datacenter",
                       "value": "{#DATACENTER.NAME}"
                   },
                   {
                       "tag": "Instance type",
                       "value": "{#INSTANCE_TYPE}"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

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

Mise à jour des interfaces personnalisées du prototype d'hôte

Remplacez les interfaces héritées par des interfaces personnalisées de prototype d'hôte.

Requête :

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "custom_interfaces": "1",
               "interfaces": [
                   {
                       "main": "1",
                       "type": "2",
                       "useip": "1",
                       "ip": "127.0.0.1",
                       "dns": "",
                       "port": "161",
                       "details": {
                           "version": "2",
                           "bulk": "1",
                           "community": "{$SNMP_COMMUNITY}"
                       }
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

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

Voir également

Source

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