hostprototype.get

説明

integer/array hostprototype.get(object parameters)

このメソッドを使用すると、指定したパラメータに従ってホストプロトタイプを取得できます。

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

パラメータ

(object) 目的の出力を定義するパラメータ。

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

Parameter Type Description
hostids ID/array 指定したIDを持つホストプロトタイプのみを返します。
discoveryids ID/array 指定したLLDルールに属するホストプロトタイプのみを返します。
inherited boolean true に設定すると、テンプレートから継承されたアイテムのみを返します。
selectDiscoveryData query ホストプロトタイプの発見オブジェクトデータを含む discoveryData プロパティを返します。ホストプロトタイプの発見オブジェクトは、発見されたホストプロトタイプと、それが発見された元のホストプロトタイプを関連付けます。

次のプロパティがあります:
host - (string) ホストのID;
parent_hostid - (string) ホストプロトタイプが作成された元のホストプロトタイプのID;
status - (int) ホストプロトタイプの発見ステータス:
0 - (default) ホストプロトタイプは発見済みです,
1 - ホストプロトタイプはもはや発見されていません;
ts_delete - (timestamp) もはや発見されないホストプロトタイプが削除される時刻;
ts_disable - (timestamp) もはや発見されないホストプロトタイプが無効化される時刻;
disable_source - (int) ホストプロトタイプがLLDルールによって無効化されたか、手動で無効化されたかを示すインジケーター:
0 - (default) 自動的に無効化,
1 - LLDルールによって無効化。
selectDiscoveryRule query ホストプロトタイプが属するLLDルールを含む discoveryRule プロパティを返します。
selectDiscoveryRulePrototype query ホストプロトタイプが属する親LLDルールプロトタイプを含む discoveryRulePrototype プロパティを返します。
selectInterfaces query ホストプロトタイプのカスタムインターフェースを含む interfaces プロパティを返します。
selectGroupLinks query ホストプロトタイプのグループリンクを含む groupLinks プロパティを返します。
selectGroupPrototypes query ホストプロトタイプのグループプロトタイプを含む groupPrototypes プロパティを返します。
selectMacros query ホストプロトタイプのマクロを含む macros プロパティを返します。
selectParentHost query ホストプロトタイプが属するホストを含む parentHost プロパティを返します。
selectTags query ホストプロトタイプのタグを含む tags プロパティを返します。
selectTemplates query ホストプロトタイプにリンクされているテンプレートを含む templates プロパティを返します。

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

指定可能な値: hostid, host, name, status, discovered
countOutput boolean これらのパラメータは reference commentary に説明されています。
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",
            "flags": "2",
            "discover": "0",
            "custom_interfaces": "1",
            "inventory_mode": "-1",
            "groupLinks": [
                {
                    "group_prototypeid": "4",
                    "hostid": "10092",
                    "groupid": "7",
                    "templateid": "0"
                }
            ],
            "groupPrototypes": [
                {
                    "group_prototypeid": "7",
                    "hostid": "10092",
                    "name": "{#CLUSTER.NAME}",
                    "templateid": "0"
                }
            ],
            "tags": [
                {
                    "tag": "datacenter",
                    "value": "{#DATACENTER.NAME}"
                },
                {
                    "tag": "instance-type",
                    "value": "{#INSTANCE_TYPE}"
                }
            ],
            "interfaces": [
                {
                    "main": "1",
                    "type": "2",
                    "useip": "1",
                    "ip": "127.0.0.1",
                    "dns": "",
                    "port": "161",
                    "details": {
                        "version": "2",
                        "bulk": "1",
                        "community": "{$SNMP_COMMUNITY}",
                        "max_repetitions": "10"
                    }
                }
            ]
        }
    ],
    "id": 1
}

関連項目

ソース

CHostPrototype::get() は ui/include/classes/api/services/CHostPrototype.php にあります。