host.update

説明

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 プロパティのみを定義する必要があります。

戻り値

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

ホストの有効化

ホストの監視を有効にする、つまりステータスを0にします。

リクエスト :

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "status": 0
    },
    "id": 1
}

レスポンス :

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

複数ホストの有効化

2つのホストの監視を有効にします。つまり、ステータスを"0"に設定します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": [
        {
            "hostid": "10127",
            "status": 0
        },
        {
            "hostid": "10128",
            "status": 0
        }
    ],
    "id": 1
}

レスポンス:

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

テンプレートのリンク削除

ホストから2つのテンプレートのリンクを削除してクリアします。

リクエスト :

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "templates_clear": [
            {
                "templateid": "10124"
            },
            {
                "templateid": "10125"
            }
        ]
    },
    "id": 1
}

レスポンス :

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10126"
        ]
    },
    "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",
    "result": {
        "hostids": [
            "10126"
        ]
    },
    "id": 1
}

ホストインベントリの更新

インベントリモードの変更とロケーションの追加をします。

リクエスト :

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "inventory_mode": 0,
        "inventory": {
            "location": "Latvia, Riga"
        }
    },
    "id": 1
}

レスポンス :

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

ホストタグの更新

すべてのホストタグを新しいものに置き換えます。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "tags": {
            "tag": "os",
            "value": "rhel-7"
        }
    },
    "id": 1
}

レスポンス:

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

検出されたホストマクロの更新

作成した検出ルールの"自動"マクロを"手動"に変換し、その値を"new-value"に変更します。

リクエスト :

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "macros": {
            "hostmacroid": "5541",
            "value": "new-value",
            "automatic": "0"
        }
    },
    "id": 1
}

レスポンス :

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10387"
        ]
    },
    "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
}

レスポンス:

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

参考

ソース

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