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
}

Response:

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

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

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

リクエスト:

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

Response:

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

Response:

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

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

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

リクエスト:

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

Response:

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

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

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

リクエスト:

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

Response:

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

ソース

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