[comment]: # ({36f834f7-36f834f7})
# template.update

[comment]: # ({/36f834f7-36f834f7})

[comment]: # ({c65d8691-f8425904})
### Description

`object template.update(object/array templates)`

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

::: noteclassic
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](/manual/web_interface/frontend_sections/users/user_roles)
pour plus d’informations.
:::

[comment]: # ({/c65d8691-f8425904})

[comment]: # ({80d66659-5d06cf34})
### Paramètres

`(object/array)` Propriétés du modèle à 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](object#template), la
méthode accepte les paramètres suivants.

|Paramètre|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|groups|object/array|[Groupes de modèles](/manual/api/reference/templategroup/object) pour remplacer les groupes de modèles actuels auxquels les modèles appartiennent.<br><br>Les groupes de modèles doivent avoir uniquement la propriété `groupid` définie.|
|tags|object/array|[Balises de modèle](/manual/api/reference/template/object#template-tag) pour remplacer les balises de modèle actuelles.|
|macros|object/array|[Macros utilisateur](/manual/api/reference/usermacro/object) pour remplacer les macros utilisateur actuelles sur les modèles donnés.|
|templates|object/array|[Modèles](/manual/api/reference/template/object) pour remplacer les modèles actuellement liés. Les modèles qui ne sont pas transmis seront uniquement dissociés.<br><br>Les modèles doivent avoir uniquement la propriété `templateid` définie.|
|templates\_clear|object/array|[Modèles](/manual/api/reference/template/object) à dissocier et supprimer des modèles donnés.<br><br>Les modèles doivent avoir uniquement la propriété `templateid` définie.|

[comment]: # ({/80d66659-5d06cf34})

[comment]: # ({dcba01c8-dcba01c8})
### Valeurs retournées

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

[comment]: # ({/dcba01c8-dcba01c8})

[comment]: # ({b41637d2-b41637d2})
### Exemples

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({7ee813bd-cc534212})
#### 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](/manual/api#performing-requests) :

```json
{
    "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 :

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

[comment]: # ({/7ee813bd-cc534212})

[comment]: # ({2b5d5c60-9dbdf129})
#### Mise à jour des groupes de modèles

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

[Requête](/manual/api#performing-requests):

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


Réponse :

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

[comment]: # ({/2b5d5c60-9dbdf129})

[comment]: # ({b5383db9-e7972b69})
#### Mise à jour des tags de modèle

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

[Requête](/manual/api#performing-requests):

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

Réponse :

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

[comment]: # ({/b5383db9-e7972b69})

[comment]: # ({e808d272-bfacef5d})
#### Mise à jour des macros de modèle

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

[Requête](/manual/api#performing-requests):

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

Réponse :

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

[comment]: # ({/e808d272-bfacef5d})

[comment]: # ({c0bea3a1-0c7e70df})
#### Mise à jour des modèles liés

Dissocie (sans effacer) tous les modèles du modèle donné et lui en associe un autre.

[Requête](/manual/api#performing-requests) :

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

Réponse :

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

[comment]: # ({/c0bea3a1-0c7e70df})

[comment]: # ({69f01ba0-3a06a003})
#### Suppression des modèles liés du modèle

Dissocie et supprime le modèle donné d'un modèle lié spécifique.

[Requête](/manual/api#performing-requests) :

```json
{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "templates_clear": [
            {
                "templateid": "10087"
            }
        ]
    },
    "id": 1
}
```

Réponse :

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

[comment]: # ({/69f01ba0-3a06a003})

[comment]: # ({eb72cc1c-eb72cc1c})
### Source

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

[comment]: # ({/eb72cc1c-eb72cc1c})
