template.update

Описание

object template.update(объект/массив templates)

Этот метод позволяет обновлять существующие шаблоны.

Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object/array) Свойства шаблона, которые необходимо обновить.

Свойство templateid должно быть определено для каждого шаблона, все остальные свойства являются необязательными. Будут обновлены только указанные свойства, все остальные останутся без изменений.

В дополнение к стандартным свойствам шаблона, метод принимает следующие параметры.

Параметр Тип Описание
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.