You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

hostprototype.update

説明

object hostprototype.update(object/array hostPrototypes)

このメソッドは、既存のホストプロトタイプを更新します。

このメソッドは 管理者 および スーパ管理者 ユーザータイプでのみ利用できます。メソッドの呼び出し権限はユーザーロールの設定で取り消すことができます。詳細はユーザーロールを参照してください。

パラメータ

(object/array) 更新するホストプロトタイプのプロパティ。

各ホストプロトタイプには hostid プロパティを定義する必要があり、他のすべてのプロパティはオプションです。 渡されたプロパティのみが更新され、他のプロパティは変更されません。

標準のホストプロトタイププロパティに加えて、このメソッドは以下のパラメータを受け付けます。

パラメータ 説明
groupLinks array ホストプロトタイプの現在のグループリンクを置き換えるグループリンク

パラメータの動作:
- 継承オブジェクトの場合は読み取り専用
groupPrototypes array ホストプロトタイプの既存のグループプロトタイプを置き換えるグループプロトタイプ

リクエストに記載されていないすべてのグループプロトタイプは削除されます。

パラメータの動作:
- 継承オブジェクトの場合は読み取り専用
macros object/array 現在のユーザーマクロを置き換えるユーザーマクロ
リクエストに記載されていないすべてのマクロは削除されます。
tags object/array 現在のタグを置き換えるホストプロトタイプタグ
リクエストに記載されていないすべてのタグは削除されます。

パラメータの動作:
- 継承オブジェクトの場合は読み取り専用
interfaces object/array 現在のインターフェースを置き換えるホストプロトタイプのカスタムインターフェース
カスタムインターフェースオブジェクトにはすべてのパラメータを含める必要があります。
リクエストに記載されていないすべてのインターフェースは削除されます。

パラメータの動作:
- ホストプロトタイプオブジェクトcustom_interfacesが「ホストプロトタイプのカスタムインターフェースを使用する」に設定されている場合はサポート
- 継承オブジェクトの場合は読み取り専用
templates object/array 現在リンクされているテンプレートを置き換えるテンプレート

テンプレートにはtemplateidプロパティのみを定義する必要があります。

戻り値

(object) hostidsプロパティの下で更新されたホストプロトタイプのIDを含むオブジェクトを返します。

ホストプロトタイプの無効化

ホストプロトタイプを無効にします。つまり、ステータスを "1" に設定します。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "status": 1
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10092"
               ]
           },
           "id": 1
       }

ホストプロトタイプタグの更新

ホストプロトタイプタグを新しいものに置き換えます。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "tags": [
                   {
                       "tag": "datacenter",
                       "value": "{#DATACENTER.NAME}"
                   },
                   {
                       "tag": "instance-type",
                       "value": "{#INSTANCE_TYPE}"
                   }
               ]
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10092"
               ]
           },
           "id": 1
       }

ホストプロトタイプのカスタムインターフェースの更新

継承されたインターフェースをホストプロトタイプのカスタムインターフェースに置き換えます。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.update",
           "params": {
               "hostid": "10092",
               "custom_interfaces": "1",
               "interfaces": [
                   {
                       "main": "1",
                       "type": "2",
                       "useip": "1",
                       "ip": "127.0.0.1",
                       "dns": "",
                       "port": "161",
                       "details": {
                           "version": "2",
                           "bulk": "1",
                           "community": "{$SNMP_COMMUNITY}"
                       }
                   }
               ]
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10092"
               ]
           },
           "id": 1
       }

参照

ソース

CHostPrototype::update() in ui/include/classes/api/services/CHostPrototype.php.