hostprototype.get

説明

integer/array hostprototype.get(object parameters)

このメソッドは、指定されたパラメータに従ってホストプロトタイプを取得します。

このメソッドは、すべての種類のユーザーが利用できます。 このメソッドを呼び出す権限は、ユーザーロールの設定で取り消すことができます。 詳細はユーザーロールを参照してください。

パラメーター

(object) 望ましい出力を定義するパラメーター。

このメソッドは以下のパラメーターをサポートします。

パラメーター 説明
hostids ID/array 指定したIDのホストプロトタイプのみを返します。
discoveryids ID/array 指定したLLDルールに属するホストプロトタイプのみを返します。
inherited boolean trueに設定すると、テンプレートから継承されたアイテムのみを返します。
selectDiscoveryData query ホストプロトタイプディスカバリーオブジェクトデータを持つdiscoveryDataプロパティを返します。ホストプロトタイプディスカバリーオブジェクトは、検出されたホストプロトタイプを、そこから検出されたホストプロトタイプにリンクします。

以下のプロパティを持ちます:
host - (string) ホストのID;
parent_hostid - (string) ホストプロトタイプが作成された元のホストプロトタイプのID;
status - (int) ホストプロトタイプディスカバリーステータス:
0 - (デフォルト) ホストプロトタイプは検出されている,
1 - ホストプロトタイプはもはや検出されていない;
ts_delete - (timestamp) もはや検出されていないホストプロトタイプが削除される時刻;
ts_disable - (timestamp) もはや検出されていないホストプロトタイプが無効化される時刻;
disable_source - (int) ホストプロトタイプがLLDルールによって無効化されたか手動で無効化されたかの指標:
0 - (デフォルト) 自動的に無効化,
1 - LLDルールによって無効化。
selectDiscoveryRule query ホストプロトタイプが属するLLDルールを持つdiscoveryRuleプロパティを返します。
selectDiscoveryRulePrototype query ホストプロトタイプが属する親LLDルールプロトタイプを持つdiscoveryRulePrototypeプロパティを返します。
selectInterfaces query ホストプロトタイプのカスタムインターフェースを持つinterfacesプロパティを返します。
selectGroupLinks query ホストプロトタイプのグループリンクを持つgroupLinksプロパティを返します。
selectGroupPrototypes query ホストプロトタイプのグループプロトタイプを持つgroupPrototypesプロパティを返します。
selectInheritedTags query リンクされたテンプレート上のタグを持つinheritedTagsプロパティを返します。
selectMacros query ホストプロトタイプのマクロを持つmacrosプロパティを返します。
selectParentHost query ホストプロトタイプが属するホストを持つparentHostプロパティを返します。
selectTags query ホストプロトタイプのタグを持つtagsプロパティを返します。
selectTemplates query ホストプロトタイプにリンクされたテンプレートを持つtemplatesプロパティを返します。

countをサポートします。
sortfield string/array 指定したプロパティで結果をソートします。

指定可能な値: hostid, host, name, status, discovered
countOutput boolean これらのパラメーターはリファレンス解説で説明されています。
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

戻り値

(integer/array) 次のいずれかを返します:

  • オブジェクトの配列
  • countOutputパラメータが使用されている場合は取得したオブジェクトの数

LLDルールからのホストプロトタイプの取得

LLDルールから、すべてのホストプロトタイプ、そのグループリンク、グループプロトタイプ、およびタグを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.get",
    "params": {
        "output": "extend",
        "selectInterfaces": "extend",
        "selectGroupLinks": "extend",
        "selectGroupPrototypes": "extend",
        "selectTags": "extend",
        "discoveryids": "23554"
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10092",
            "host": "{#HV.UUID}",
            "name": "{#HV.UUID}",
            "status": "0",
            "templateid": "0",
            "discover": "0",
            "custom_interfaces": "1",
            "uuid": "051a1469d4d045cbbf818fcc843a352e",
            "flags": "2",
            "inventory_mode": "-1",
            "tags": [
                {
                    "tag": "datacenter",
                    "value": "{#DATACENTER.NAME}"
                },
                {
                    "tag": "instance-type",
                    "value": "{#INSTANCE_TYPE}"
                }
            ],
            "groupLinks": [
                {
                    "group_prototypeid": "4",
                    "hostid": "10092",
                    "groupid": "7",
                    "templateid": "0"
                }
            ],
            "groupPrototypes": [
                {
                    "group_prototypeid": "7",
                    "hostid": "10092",
                    "name": "{#CLUSTER.NAME}",
                    "templateid": "0"
                }
            ],
            "interfaces": [
                {
                    "main": "1",
                    "type": "2",
                    "useip": "1",
                    "ip": "127.0.0.1",
                    "dns": "",
                    "port": "161",
                    "available": "0",
                    "error": "",
                    "errors_from": "0",
                    "disable_until": "0",
                    "details": {
                        "version": "2",
                        "bulk": "1",
                        "community": "{$SNMP_COMMUNITY}",
                        "max_repetitions": "10"
                    }
                }
            ]
        }
    ],
    "id": 1
}

関連項目

ソース

ui/include/classes/api/services/CHostPrototype.phpのCHostPrototype::get()。