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.