template.update
Descrição
object template.update(object/array templates)
Este método permite atualizar templates existentes.
Este método está disponível apenas para usuários do tipo Admin e Super admin. As permissões para utilizar o método podem ser revogadas nas configurações de funções de usuário. Para mais informações, consulte User roles.
Parâmetros
(object/array) Propriedades dos templates a serem atualizadas.
A propriedade templateid deve ser definida para cada template, todas as outras propriedades são opcionais. Somente as propriedades fornecidas serão atualizadas; todas as outras permanecerão inalteradas.
Além das propriedades padrão do template standard template properties, o método aceita os seguintes parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| groups | object/array | groups de hots para substituir os grupos de hosts atuais aos quais os templates pertencem. Os grupos de hosts devem ter a propriedade groupid definida. |
| tags | object/array | tags de templates para substituir as tags atuais dos templates. |
| macros | object/array | User macros para substituir as macros de usuário atuais nos modelos templates. |
| templates | object/array | Templates para os templates vinculados atualmente. Os templates que não forem passados serão apenas desvinculados. Os templates devem ter a propriedade templateid definida. |
| templates_clear | object/array | Templates para desvincular e remover dos templates fornecidos. Os templates devem ter a propriedade templateid definida. |
Retorno de valores
(object) Retorna um objeto que contenha os IDs dos templates atualizados na propriedade templateids.
Exemplos
Changing the standard template properties
Change the technical name of the template to "Linux by Zabbix agent Custom", the visible name to "My template", and update the template description.
Request:
{
"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."
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Updating template groups
Replace all template groups for the given template with a different one.
Request:
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"groups": [
{
"groupid": "24"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Updating template tags
Replace all template tags with a different one.
Request:
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"tags": [
{
"tag": "Host name",
"value": "{HOST.NAME}"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Updating template macros
Replace all template macros with a different one.
Request:
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"macros": [
{
"macro": "{$MY_MACRO}",
"value": "new_value"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Updating template linked templates
Unlink (without clearing) all templates from the given template and link a different one to it.
Request:
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"templates": [
{
"templateid": "10087"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Clearing template linked templates
Unlink and clear the given template from a specific linked template.
Request:
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"templates_clear": [
{
"templateid": "10087"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Fonte
CTemplate::update() in ui/include/classes/api/services/CTemplate.php.