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
}
関連項目
- host.massadd
- host.massupdate
- host.massremove
- ホストグループ
- テンプレート
- ユーザーマクロ
- ホストインターフェース
- ホストインベントリ
- ホストタグ
- プロキシ
- プロキシグループ
ソース
CHost::update() in ui/include/classes/api/services/CHost.php.