hostprototype.update

Description

object hostprototype.update(object/array hostPrototypes)

Cette méthode permet de mettre à jour des prototypes d’hôte existants.

Cette méthode est disponible uniquement pour les types d’utilisateur Admin et Super admin. Les autorisations d’appel de la 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 des prototypes 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 standard des prototypes d'hôte, la méthode accepte les paramètres suivants.

Paramètre Type Description
groupLinks array Liens de groupes pour remplacer les liens de groupes actuels sur le prototype d'hôte.

Comportement du paramètre :
- lecture seule pour les objets hérités
groupPrototypes array Prototypes de groupes pour remplacer les prototypes de groupes existants sur le prototype d'hôte.

Tous les prototypes de groupes qui ne sont pas listés dans la requête seront supprimés.

Comportement du paramètre :
- lecture seule pour les objets hérités
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.
tags object/array Tags de prototype d'hôte pour remplacer les tags actuels.
Tous les tags qui ne sont pas listés dans la requête seront supprimés.

Comportement du paramètre :
- lecture seule pour les objets hérités
interfaces object/array Interfaces personnalisées du prototype d'hôte pour remplacer les interfaces actuelles.
L'objet d'interface personnalisée doit contenir tous ses paramètres.
Toutes les interfaces qui ne sont pas listées dans la requête seront supprimées.

Comportement du paramètre :
- pris en charge si custom_interfaces de Host prototype object est défini sur "use host prototypes custom interfaces"
- lecture seule pour les objets hérités
templates object/array Modèles pour remplacer les modèles actuellement liés.

Seule la propriété templateid doit être définie pour les modèles.

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

Réponse :

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

Mise à jour des tags du prototype d’hôte

Remplacez les tags du prototype d’hôte par de nouveaux.

Requête :

{
    "jsonrpc": "2.0",
    "method": "hostprototype.update",
    "params": {
        "hostid": "10092",
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            },
            {
                "tag": "instance-type",
                "value": "{#INSTANCE_TYPE}"
            }
        ]
    },
    "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 les interfaces personnalisées du 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}"
                }
            }
        ]
    },
    "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.