itemprototype.update

Описание

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

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

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

Параметры

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

Для каждого прототипа элемента данных должно быть определено свойство itemid, все остальные свойства необязательны. Будут обновлены только переданные свойства, все остальные останутся без изменений.

Помимо стандартных свойств прототипа элемента данных, метод принимает следующие параметры.

Parameter Type Description
preprocessing array Параметры предобработки прототипа элемента данных для замены текущих параметров предобработки.

Поведение параметра:
- только для чтения для наследуемых объектов
tags array Теги прототипа элемента данных.

Возвращаемые значения

(объект) Возвращает объект, который содержит ID обновленных прототипов элементов данных, указанных в свойстве itemids.

Примеры

Изменение интерфейса прототипа элемента данных

Измените интерфейс узла сети, который будет использоваться обнаруженными элементами данных.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "27428",
        "interfaceid": "132"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "27428"
        ]
    },
    "id": 1
}

Обновление прототипа зависимого элемента данных

Обновляет прототип зависимого элемента данных с новым ID прототипа мастер-элемента. Допускаются только зависимости на одном и том же узле сети (шаблон/правило обнаружения), поэтому мастер-элемент и зависимый элемент должны иметь одинаковые hostid и ruleid.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "master_itemid": "25570",
        "itemid": "189030"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "189030"
        ]
    },
    "id": 1
}

Обновление прототипа элемента данных HTTP-агента

Измените поля запроса и удалите все пользовательские заголовки.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid":"28305",
        "query_fields": [
            {
                "name": "random",
                "value": "qwertyuiopasdfghjklzxcvbnm"
            }
        ],
        "headers": []
    }
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "28305"
        ]
    },
    "id": 1
}

Обновление параметров предварительной обработки элемента данных

Обновите прототип элемента данных с правилом предварительной обработки элемента данных “Custom multiplier”.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "44211",
        "preprocessing": [
            {
                "type": 1,
                "params": "4",
                "error_handler": 2,
                "error_handler_params": "5"
            }
        ]
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44211"
        ]
    },
    "id": 1
}

Обновление прототипа элемента данных типа скрипт

Обновите прототип элемента данных типа скрипт, указав другой скрипт, и удалите ненужные параметры, которые использовались предыдущим скриптом.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "23865",
        "parameters": [],
        "script": "Zabbix.log(3, 'Log test');\nreturn 1;"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 1
}

Источник

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