template.update

Description

object template.update(object/array templates)

Cette méthode permet de mettre à jour des modèles existants.

Cette méthode est disponible uniquement pour les types d’utilisateurs 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 modèles à mettre à jour.

La propriété templateid doit être définie pour chaque modèle, toutes les autres propriétés sont facultatives. Seules les propriétés indiquées seront mises à jour, toutes les autres resteront inchangées.

En plus des propriétés de modèle standard, la méthode accepte les paramètres suivants.

Paramètre Type Description
groups object/array Groupes de modèles pour remplacer les groupes de modèles actuels auxquels les modèles appartiennent.

Les groupes de modèles doivent avoir uniquement la propriété groupid définie.
tags object/array Balises de modèle pour remplacer les balises de modèle actuelles.
macros object/array Macros utilisateur pour remplacer les macros utilisateur actuelles sur les modèles donnés.
templates object/array Modèles pour remplacer les modèles actuellement liés. Les modèles qui ne sont pas transmis 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 des modèles donnés.

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

Valeurs retournées

(object) Retourne un objet contenant les identifiants des modèles mis à jour sous la propriété templateids.

Exemples

Modification des propriétés standard du modèle

Modifiez le nom technique du modèle en "Linux by Zabbix agent Custom", le nom visible en "My template", et mettez à jour la description du modèle.

Requête :

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "host": "Linux by Zabbix agent Custom",
        "name": "My template",
        "description": "This is a custom Linux template."
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

Mise à jour des groupes de modèles

Remplace tous les groupes de modèles du modèle donné par un autre.

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "groups": [
            {
                "groupid": "24"
            } 
        ]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

Mise à jour de plusieurs groupes de modèles

Remplacez tous les groupes de modèles de plusieurs modèles par d'autres groupes différents.

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": [
        {
            "templateid": "10086",
            "groups": [
                {
                    "groupid": "24"
                }
            ]
        },
        {
            "templateid": "10087",
            "groups": [
                {
                    "groupid": "1"
                },
                {
                    "groupid": "12"
                }
            ]
        },
        {
            "templateid": "10088",
            "groups": [
                {
                    "groupid": "1"
                },
                {
                    "groupid": "12"
                }
            ]
        }
    ],
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086",
            "10087",
            "10088"
        ]
    },
    "id": 1
}

Mise à jour des tags de modèle

Remplacez tous les tags du modèle par un autre.

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "tags": [
            {
                "tag": "host-name",
                "value": "{HOST.NAME}"
            }
        ]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

Mise à jour des macros de modèle

Remplacez toutes les macros du modèle par une autre.

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "macros": [
            {
                "macro": "{$MY_MACRO}",
                "value": "new_value"
            }
        ]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

Mise à jour de plusieurs macros de modèle

Remplacez toutes les macros utilisateur par la macro utilisateur donnée sur plusieurs modèles.

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": [
            {
                "templateid": "10087",
                "macros": [
                    {
                        "macro": "{$AGENT.TIMEOUT}",
                        "value": "5m",
                        "description": "Délai après lequel l'agent est considéré comme indisponible. Fonctionne uniquement pour les agents joignables depuis le serveur/proxy Zabbix (mode passif)."
                    }
                ]
            },
            {
                "templateid": "10088",
                "macros": [
                    {
                        "macro": "{$AGENT.TIMEOUT}",
                        "value": "5m",
                        "description": "Délai après lequel l'agent est considéré comme indisponible. Fonctionne uniquement pour les agents joignables depuis le serveur/proxy Zabbix (mode passif)."
                    }
                ]
            }
        ],
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10087",
            "10088"
        ]
    },
    "id": 1
}

Mise à jour des modèles liés à un modèle

Dissociez (sans effacer) tous les modèles du modèle donné et liez-lui un autre modèle.

Requête :

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

Suppression de plusieurs modèles liés à des modèles

Déliez et supprimez un modèle lié spécifique des modèles donnés.

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": [
        {
            "templateid": "10087",
            "templates_clear": [
                {
                    "templateid": "10001"
                }
            ]
        },
        {
            "templateid": "10088",
            "templates_clear": [
                {
                    "templateid": "10001"
                }
            ]
        }
    ],
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10087",
            "10088"
        ]
    },
    "id": 1
}

Source

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