itemprototype.update

Description

object itemprototype.update(object/array itemPrototypes)

Cette méthode permet de mettre à jour des prototypes d’éléments 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’élément à mettre à jour.

La propriété itemid doit être définie pour chaque prototype d’élément, 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’élément, la méthode accepte les paramètres suivants.

Paramètre Type Description
preprocessing array Options de prétraitement des prototypes d’élément pour remplacer les options de prétraitement actuelles.

Comportement des paramètres :
- lecture seule pour les objets hérités
tags array Balises des prototypes d’élément.

Valeurs retournées

(object) Retourne un objet contenant les identifiants des prototypes d'élément mis à jour sous la propriété itemids.

Exemples

Modification de l’interface d’un prototype d’élément

Modifiez l’interface de l’hôte qui sera utilisée par les éléments découverts.

Requête:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "27428",
        "interfaceid": "132"
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "27428"
        ]
    },
    "id": 1
}

Mettre à jour un prototype d’élément dépendant

Mettez à jour le prototype d’élément dépendant avec un nouvel ID de prototype d’élément maître. Seules les dépendances sur le même hôte (modèle/règle de découverte) sont autorisées ; par conséquent, l’élément maître et l’élément dépendant doivent avoir le même hostid et le même ruleid.

Requête:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "master_itemid": "25570",
        "itemid": "189030"
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "189030"
        ]
    },
    "id": 1
}

Mettre à jour un prototype d'élément d'agent HTTP

Modifier les champs de requête et supprimer tous les en-têtes personnalisés.

Requête:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid":"28305",
        "query_fields": [
            {
                "name": "random",
                "value": "qwertyuiopasdfghjklzxcvbnm"
            }
        ],
        "headers": []
    }
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "28305"
        ]
    },
    "id": 1
}

Mise à jour des options de prétraitement d’un élément

Mettez à jour un prototype d’élément avec la règle de prétraitement d’élément « Multiplicateur personnalisé ».

Requête :

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "44211",
        "preprocessing": [
            {
                "type": 1,
                "params": "4",
                "error_handler": 2,
                "error_handler_params": "5"
            }
        ]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44211"
        ]
    },
    "id": 1
}

Mise à jour d’un prototype d’élément de script

Mettez à jour un prototype d’élément de script avec un script différent et supprimez les paramètres inutiles qui étaient utilisés par le script précédent.

Requête:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "23865",
        "parameters": [],
        "script": "Zabbix.log(3, 'Log test');\nreturn 1;"
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 1
}

Source

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