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",
        "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": "10086",
        "templates": [
            {
                "templateid": "10087"
            }
        ]
    },
    "id": 1
}

Ответ:

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

Очистка связанных шаблонов шаблона

Отвязать и очистить указанный шаблон от конкретного связанного шаблона.

Запрос:

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

Ответ:

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

Источник

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