object host.update(object/array hosts)
このメソッドは、既存のホストを更新することができます。
このメソッドは、AdminおよびSuper adminタイプのユーザーのみ利用可能です。メソッドを呼び出す権限は、ユーザーの役割の設定で取り消すことができます。詳細はユーザーの役割を参照してください。
(object/array) 更新するホストのプロパティ。
各ホストには hostid プロパティを定義する必要があり、他のすべてのプロパティはオプションです。 指定されたプロパティのみが更新され、他のプロパティは変更されません。
ただし、ホストの技術名を更新すると、ホストの表示名(指定されていない場合や空の場合)もホストの技術名の値で更新されます。
標準のホストプロパティに加えて、このメソッドは以下のパラメータを受け付けます。
| パラメータ | 型 | 説明 |
|---|---|---|
| groups | object/array | 現在のホストグループを置き換えるホストグループ。 リクエストに記載されていないすべてのホストグループはリンク解除されます。 ホストグループには groupid プロパティのみを定義する必要があります。 |
| interfaces | object/array | 現在のホストインターフェースを置き換えるホストインターフェース。 リクエストに記載されていないすべてのインターフェースは削除されます。 |
| tags | object/array | 現在のホストタグを置き換えるホストタグ。 リクエストに記載されていないすべてのタグは削除されます。 |
| inventory | object | ホストインベントリのプロパティ。 |
| macros | object/array | 現在のユーザーマクロを置き換えるユーザーマクロ。 リクエストに記載されていないすべてのマクロは削除されます。 |
| templates | object/array | 現在リンクされているテンプレートを置き換えるテンプレート。 リクエストに記載されていないすべてのテンプレートはリンク解除のみされます。 テンプレートには templateid プロパティのみを定義する必要があります。 |
| templates_clear | object/array | ホストからリンク解除およびクリアするテンプレート。 テンプレートには templateid プロパティのみを定義する必要があります。 |
Zabbixフロントエンドとは異なり、name(表示ホスト名)がhost(技術ホスト名)と同じ場合、API経由でhostを更新してもnameは自動的に更新されません。両方のプロパティを明示的に更新する必要があります。
(object) hostids プロパティの下で更新されたホストの ID を含むオブジェクトを返します。
ホストの監視を有効にする、つまりステータスを0にします。
リクエスト :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"status": 0
},
"id": 1
}レスポンス :
ホストから2つのテンプレートのリンクを削除してクリアします。
リクエスト :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"templates_clear": [
{
"templateid": "10124"
},
{
"templateid": "10125"
}
]
},
"id": 1
}レスポンス :
すべてのホストマクロを新しい2つのマクロに置き換えます。
リクエスト :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"macros": [
{
"macro": "{$PASS}",
"value": "password"
},
{
"macro": "{$DISC}",
"value": "sda",
"description": "Updated description"
}
]
},
"id": 1
}レスポンス :
インベントリモードの変更とロケーションの追加をします。
リクエスト :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"inventory_mode": 0,
"inventory": {
"location": "Latvia, Riga"
}
},
"id": 1
}レスポンス :
すべてのホストタグを新しいものに置き換えます。
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"tags": {
"tag": "os",
"value": "rhel-7"
}
},
"id": 1
}レスポンス:
作成した検出ルールの"自動"マクロを"手動"に変換し、その値を"new-value"に変更します。
リクエスト :
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"macros": {
"hostmacroid": "5541",
"value": "new-value",
"automatic": "0"
}
},
"id": 1
}レスポンス :
ホスト"10590"を更新して、ホストからZabbixサーバーへの接続にのみPSK暗号化を使用するようにし、PSK IDとPSKキーを変更します。
ホストはPSKを使用するように事前設定する必要があることに注意してください。
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10590",
"tls_connect": 1,
"tls_accept": 2,
"tls_psk_identity": "PSK 002",
"tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
},
"id": 1
}レスポンス:
CHost::update() in ui/include/classes/api/services/CHost.php.