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.
(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. |
(object)
Retourne un objet contenant les identifiants des prototypes hôte mis à jour sous la propriété hostids
.
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 :
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 :
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 :
CHostPrototype::update() dans ui/include/classes/api/services/CHostPrototype.php.