hostprototype.create

説明

object hostprototype.create(object/array hostPrototypes)

このメソッドでは、新しいホストプロトタイプを作成できます。

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

パラメータ

(object/array) 作成するホストプロトタイプ。

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

パラメータ Type 説明
groupLinks array ホストプロトタイプ用に作成するグループリンク

パラメータの動作:
- 必須
ruleid ID このホストプロトタイプが属するLLDルールのID。

パラメータの動作:
- 必須
groupPrototypes array ホストプロトタイプ用に作成するグループプロトタイプ
macros object/array ホストプロトタイプ用に作成するユーザーマクロ
tags object/array ホストプロトタイプタグ
interfaces object/array ホストプロトタイプのカスタムインターフェース
templates object/array ホストプロトタイプにリンクするテンプレート

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

戻り値

(object) hostidsプロパティの下で作成されたホストプロトタイプのIDを含むオブジェクトを返します。 返されるIDの順序は、渡されたホストプロトタイプの順序と一致します。

ホストプロトタイプの作成

LLDルール「23542」に、グループプロトタイプ「{#HV.NAME}」、タグの組「datacenter」: 「{#DATACENTER.NAME}」、およびコミュニティ {$SNMP_COMMUNITY} を使用するカスタムSNMPv2インターフェース 127.0.0.1:161 を持つホストプロトタイプ「{#VM.NAME}」を作成します。これをホストグループ「2」にリンクします。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.create",
    "params": {
        "host": "{#VM.NAME}",
        "ruleid": "23542",
        "custom_interfaces": "1",
        "groupLinks": [
            {
                "groupid": "2"
            }
        ],
        "groupPrototypes": [
            {
                "name": "{#HV.NAME}"
            }
        ],
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            }
        ],
        "interfaces": [
            {
                "main": "1",
                "type": "2",
                "useip": "1",
                "ip": "127.0.0.1",
                "dns": "",
                "port": "161",
                "details": {
                    "version": "2",
                    "bulk": "1",
                    "community": "{$SNMP_COMMUNITY}"
                }
            }
        ]
    },
    "id": 1
}

レスポンス:

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

関連項目

ソース

CHostPrototype::create() in ui/include/classes/api/services/CHostPrototype.php.