itemprototype.update
説明
object itemprototype.update(object/array itemPrototypes)
このメソッドでは、既存のアイテムのプロトタイプを更新できます。
このメソッドは、Admin および Super admin ユーザータイプでのみ利用できます。
このメソッドを呼び出す権限は、ユーザーロールの設定で取り消すことができます。詳細はユーザーロールを参照してください。
パラメータ
(object/array) 更新するアイテムプロトタイプのプロパティ。
各アイテムプロトタイプでは itemid プロパティを定義する必要があり、その他の
プロパティはすべて任意です。渡されたプロパティのみが更新され、その他は
すべて変更されません。
このメソッドは、標準のアイテムプロトタイプ プロパティに加えて、以下の パラメータを受け付けます。
| パラメータ | Type | 説明 |
|---|---|---|
| preprocessing | array | 現在の前処理オプションを置き換えるためのアイテムプロトタイプの前処理オプション。 パラメータの動作: - 継承されたオブジェクトでは read-only |
| tags | array | アイテムプロトタイプのタグ。 |
戻り値
(object) itemids プロパティの下で更新されたアイテム プロトタイプの ID を含むオブジェクトを返します。
例
アイテムプロトタイプのインターフェースの変更
ディスカバリされたアイテムで使用されるホストインターフェースを変更します。
{
"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
}
アイテムの前処理オプションの更新
アイテムの前処理ルール「カスタム乗数」を持つアイテムのプロトタイプを更新します。
{
"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() in ui/include/classes/api/services/CItemPrototype.php.