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

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

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

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

Questo metodo consente di aggiornare template esistenti.

::: noteclassic
Questo metodo è disponibile solo per i tipi di utente *Admin* e *Super admin*.
Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente.
Per ulteriori informazioni, vedere [Ruoli utente](/manual/web_interface/frontend_sections/users/user_roles).
:::

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

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

`(object/array)` Proprietà del template da aggiornare.

La proprietà `templateid` deve essere definita per ogni template, tutte le altre
proprietà sono facoltative. Verranno aggiornate solo le proprietà specificate, tutte
le altre rimarranno invariate.

Oltre alle [proprietà standard del template](object#template), il
metodo accetta i seguenti parametri.

|Parametro|[Type](/manual/api/reference_commentary#data-types)|Descrizione|
|--|--|------|
|groups|object/array|[Gruppi di template](/manual/api/reference/templategroup/object) per sostituire i gruppi di template correnti a cui appartengono i template.<br><br>I gruppi di template devono avere definita solo la proprietà `groupid`.|
|tags|object/array|[Tag del template](/manual/api/reference/template/object#template-tag) per sostituire i tag del template correnti.|
|macros|object/array|[Macro utente](/manual/api/reference/usermacro/object) per sostituire le macro utente correnti nei template specificati.|
|templates|object/array|[Template](/manual/api/reference/template/object) per sostituire i template attualmente collegati. I template non passati vengono solo scollegati.<br><br>I template devono avere definita solo la proprietà `templateid`.|
|templates\_clear|object/array|[Template](/manual/api/reference/template/object) da scollegare e rimuovere dai template specificati.<br><br>I template devono avere definita solo la proprietà `templateid`.|

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

[comment]: # ({dcba01c8-dcba01c8})
### Valori di ritorno

`(object)` Restituisce un oggetto contenente gli ID dei modelli aggiornati
sotto la proprietà `templateids`.

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

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

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

[comment]: # ({7ee813bd-cc534212})
#### Modifica delle proprietà standard del template

Modificare il nome tecnico del template in "Linux by Zabbix agent Custom", il nome visibile in "My template" e aggiornare la descrizione del template.

[Richiesta](/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
}
```

Risposta:

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

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

[comment]: # ({2b5d5c60-9dbdf129})
#### Aggiornamento dei gruppi di template

Sostituisce tutti i gruppi di template del template specificato con uno diverso.

[Richiesta](/manual/api#performing-requests):

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


Risposta:

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

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

[comment]: # ({b5383db9-e7972b69})
#### Aggiornamento dei tag del template

Sostituisci tutti i tag del template con uno diverso.

[Richiesta](/manual/api#performing-requests):

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

Risposta:

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

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

[comment]: # ({e808d272-bfacef5d})
#### Aggiornamento delle macro del template

Sostituisce tutte le macro del template con un'altra.

[Richiesta](/manual/api#performing-requests):

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

Risposta:

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

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

[comment]: # ({c0bea3a1-0c7e70df})
#### Aggiornamento dei template collegati

Scollega (senza cancellare) tutti i template dal template specificato e collegane un altro.

[Request](/manual/api#performing-requests):

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

Response:

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

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

[comment]: # ({69f01ba0-3a06a003})
#### Cancellazione dei template collegati del template

Scollega e cancella il template specificato da un template collegato specifico.

[Richiesta](/manual/api#performing-requests):

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

Risposta:

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

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

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

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

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