itemprototype.update
Описание
object itemprototype.update(объект/массив itemPrototypes)
Этот метод позволяет обновлять существующие прототипы элементов данных.
Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(object/array) Свойства прототипа элемента данных, которые необходимо обновить.
Свойство itemid должно быть определено для каждого прототипа элемента данных, все остальные
свойства являются необязательными. Будут обновлены только переданные свойства, все
остальные останутся без изменений.
В дополнение к стандартным свойствам прототипа элемента данных, метод принимает следующие параметры.
| Параметр | Type | Описание |
|---|---|---|
| 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 agent
Измените поля запроса и удалите все пользовательские заголовки.
{
"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
}
Обновление параметров предобработки элемента данных
Обновите прототип элемента данных с правилом предобработки элемента данных «Пользовательский множитель».
{
"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
}
Обновление прототипа элемента данных script
Обновите прототип элемента данных script другим скриптом и удалите ненужные параметры, которые использовались предыдущим скриптом.
{
"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.