template.update

説明

object template.update(object/array templates)

このメソッドでは、既存のテンプレートを更新できます。

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

パラメータ

(object/array) 更新するテンプレートのプロパティ。

各テンプレートでは templateid プロパティを定義する必要があり、その他の プロパティはすべて任意です。指定されたプロパティのみが更新され、その他 は変更されません。

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

パラメータ 説明
groups object/array テンプレートが所属する現在のテンプレートグループを置き換えるための テンプレートグループ

テンプレートグループでは groupid プロパティのみを定義する必要があります。
tags object/array 現在のテンプレートタグを置き換えるための テンプレートタグ
macros object/array 指定したテンプレート上の現在のユーザーマクロを置き換えるための ユーザーマクロ
templates object/array 現在リンクされているテンプレートを置き換えるための テンプレート。渡されなかったテンプレートはリンク解除のみ行われます。

テンプレートでは templateid プロパティのみを定義する必要があります。
templates_clear object/array 指定したテンプレートからリンク解除およびクリアを行うための テンプレート

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

戻り値

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

標準テンプレートのプロパティの変更

テンプレートの技術名を「Linux by Zabbix agent Custom」に、表示名を「My template」に変更し、テンプレートの説明を更新します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "host": "Linux by Zabbix agent Custom",
        "name": "My template",
        "description": "This is a custom Linux template."
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

テンプレートグループの更新

指定したテンプレートのすべてのテンプレートグループを、別のグループに置き換えます。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "groups": [
            {
                "groupid": "24"
            } 
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

テンプレートタグの更新

すべてのテンプレートタグを別のタグに置き換えます。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "tags": [
            {
                "tag": "host-name",
                "value": "{HOST.NAME}"
            }
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

テンプレートマクロの更新

すべてのテンプレートマクロを別のものに置き換えます。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "macros": [
            {
                "macro": "{$MY_MACRO}",
                "value": "new_value"
            }
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

テンプレートにリンクされたテンプレートの更新

指定したテンプレートからすべてのテンプレートのリンクを解除し(クリアはしない)、別のテンプレートをそれにリンクします。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "templates": [
            {
                "templateid": "10087"
            }
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

テンプレートにリンクされたテンプレートのクリア

指定したテンプレートについて、特定のリンクされたテンプレートのリンクを解除してクリアします。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.update",
    "params": {
        "templateid": "10086",
        "templates_clear": [
            {
                "templateid": "10087"
            }
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "templateids": [
            "10086"
        ]
    },
    "id": 1
}

ソース

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