template.update
Описание
object template.update(объект/массив templates)
Этот метод позволяет обновлять существующие шаблоны.
Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(object/array) Свойства шаблона, которые необходимо обновить.
Для каждого шаблона должно быть определено свойство templateid, все остальные
свойства необязательны. Будут обновлены только указанные свойства, все
остальные останутся без изменений.
Помимо стандартных свойств шаблона, метод принимает следующие параметры.
| Parameter | Type | Description |
|---|---|---|
| groups | object/array | Группы шаблонов, которыми нужно заменить текущие группы шаблонов, к которым принадлежат шаблоны. Группы шаблонов должны содержать только свойство groupid. |
| tags | object/array | Теги шаблона, которыми нужно заменить текущие теги шаблона. |
| macros | object/array | Пользовательские макросы, которыми нужно заменить текущие пользовательские макросы на указанных шаблонах. |
| templates | object/array | Шаблоны, которыми нужно заменить текущие связанные шаблоны. Шаблоны, которые не переданы, будут только отвязаны. Шаблоны должны содержать только свойство templateid. |
| templates_clear | object/array | Шаблоны, которые нужно отвязать и очистить от указанных шаблонов. Шаблоны должны содержать только свойство templateid. |
Возвращаемые значения
(объект) Возвращает объект, который содержит ID обновленных шаблонов,
указанных в свойстве templateids.
Примеры
Изменение стандартных свойств шаблона
Измените техническое имя шаблона на "Linux by Zabbix agent Custom", видимое имя на "My template" и обновите описание шаблона.
{
"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
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Обновление групп шаблона
Замените все группы шаблона для указанного шаблона на другую.
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"groups": [
{
"groupid": "24"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Обновление нескольких групп шаблонов
Замените все группы шаблонов для нескольких шаблонов на другие.
{
"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
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086",
"10087",
"10088"
]
},
"id": 1
}
Обновление тегов шаблона
Замените все теги шаблона на другой.
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"tags": [
{
"tag": "host-name",
"value": "{HOST.NAME}"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Обновление макросов шаблона
Замените все макросы шаблона на другие.
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"macros": [
{
"macro": "{$MY_MACRO}",
"value": "new_value"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Обновление нескольких макросов шаблона
Замените все пользовательские макросы указанным пользовательским макросом в нескольких шаблонах.
{
"jsonrpc": "2.0",
"method": "template.update",
"params": [
{
"templateid": "10087",
"macros": [
{
"macro": "{$AGENT.TIMEOUT}",
"value": "5m",
"description": "Тайм-аут, по истечении которого агент считается недоступным. Работает только для агентов, доступных с сервера/прокси Zabbix (пассивный режим)."
}
]
},
{
"templateid": "10088",
"macros": [
{
"macro": "{$AGENT.TIMEOUT}",
"value": "5m",
"description": "Тайм-аут, по истечении которого агент считается недоступным. Работает только для агентов, доступных с сервера/прокси Zabbix (пассивный режим)."
}
]
}
],
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10087",
"10088"
]
},
"id": 1
}
Обновление связанных шаблонов шаблона
Отвяжите (без очистки) все шаблоны от указанного шаблона и свяжите с ним другой.
{
"jsonrpc": "2.0",
"method": "template.update",
"params": {
"templateid": "10086",
"templates": [
{
"templateid": "10001"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10086"
]
},
"id": 1
}
Очистка нескольких связанных шаблонов шаблона
Отсоедините и очистите указанный связанный шаблон из заданных шаблонов.
{
"jsonrpc": "2.0",
"method": "template.update",
"params": [
{
"templateid": "10087",
"templates_clear": [
{
"templateid": "10001"
}
]
},
{
"templateid": "10088",
"templates_clear": [
{
"templateid": "10001"
}
]
}
],
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"templateids": [
"10087",
"10088"
]
},
"id": 1
}
Источник
CTemplate::update() в ui/include/classes/api/services/CTemplate.php.