host.update

説明

object host.update(object/array hosts)

このメソッドは、既存のホストを更新することができます。

このメソッドは、AdminおよびSuper adminタイプのユーザーのみ利用可能です。メソッドを呼び出す権限は、ユーザーの役割の設定で取り消すことができます。詳細はユーザーの役割を参照してください。

パラメータ

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

各ホストについて hostid プロパティを定義する必要があり、その他の プロパティはすべて任意です。更新されるのは指定されたプロパティのみで、 それ以外は変更されません。

ただし、ホストの技術名を更新すると、その値でホストの表示名も更新されます (表示名が別途指定されていない場合)。

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

Parameter Type Description
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つのテンプレートのリンクを削除してクリアします。

リクエスト :

{
    "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.