usermacro.get

説明

integer/array usermacro.get(object parameters)

このメソッドでは、指定された パラメータに従ってホストマクロおよびグローバルマクロを取得できます。

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

パラメータ

(object) 必要な出力を定義するパラメータ。

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

パラメータ 説明
globalmacro flag ホストマクロではなくグローバルマクロを返します。
globalmacroids ID/array 指定したIDを持つグローバルマクロのみを返します。
groupids ID/array 指定したホストグループまたはテンプレートグループに属するホストまたはテンプレートのホストマクロのみを返します。
hostids ID/array 指定したホストまたはテンプレートに属するマクロのみを返します。
hostmacroids ID/array 指定したIDを持つホストマクロのみを返します。
inherited boolean true に設定した場合、テンプレートから継承されたホストプロトタイプのユーザーマクロのみを返します。
selectHostGroups query ホストマクロが属するホストグループを hostgroups プロパティで返します。

ホストマクロを取得する場合にのみ使用されます。
selectHosts query ホストマクロが属するホストを hosts プロパティで返します。

ホストマクロを取得する場合にのみ使用されます。
selectTemplateGroups query テンプレートマクロが属するテンプレートグループを templategroups プロパティで返します。

テンプレートマクロを取得する場合にのみ使用されます。
selectTemplates query ホストマクロが属するテンプレートを templates プロパティで返します。

ホストマクロを取得する場合にのみ使用されます。
sortfield string/array 指定したプロパティで結果をソートします。

指定可能な値: macro
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パラメータが使用されている場合、取得されたオブジェクトの数

ホストのホストマクロを取得する

ホスト「10198」に定義されているすべてのホストマクロを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "hostids": "10198"
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostmacroid": "9",
            "hostid": "10198",
            "macro": "{$INTERFACE}",
            "value": "eth0",
            "description": "",
            "type": "0",
            "automatic": "0"
        },
        {
            "hostmacroid": "11",
            "hostid": "10198",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public",
            "description": "",
            "type": "0",
            "automatic": "0"
        }
    ],
    "id": 1
}

テンプレートのホストマクロを取得しています

テンプレート"10265"に定義されている、マクロ名に"STATUS"を含むホストマクロを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "hostids": "10265",
        "search": {
            "macro": "STATUS"
        }
    },
    "id": 1
}

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostmacroid": "6709",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.HOST}",
            "value": "",
            "description": "The hostname or IP address of the Apache status page host.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "1",
                "priority": "1",
                "section_name": "",
                "label": "Apache status host",
                "description": "Hostname or IP address of the Apache status page host.",
                "required": "1",
                "regex": "",
                "options": []
            }
        },
        {
            "hostmacroid": "814",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.PATH}",
            "value": "server-status?auto",
            "description": "The URL path of the Apache status page.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "1",
                "priority": "3",
                "section_name": "",
                "label": "Apache status page path",
                "description": "URL path of the Apache status page.",
                "required": "1",
                "regex": "",
                "options": []
            }
        },
        {
            "hostmacroid": "815",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.PORT}",
            "value": "80",
            "description": "The port of the Apache status page.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "1",
                "priority": "2",
                "section_name": "",
                "label": "Apache status page port",
                "description": "In the range from 1 to 65535 inclusive.",
                "required": "1",
                "regex": "^-?([0-9]+|(([0-9]+)\\.([0-9]+)))$",
                "options": []
            }
        },
        {
            "hostmacroid": "816",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.SCHEME}",
            "value": "http",
            "description": "The request scheme, which may be either HTTP or HTTPS.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "2",
                "priority": "4",
                "section_name": "",
                "label": "Request scheme",
                "description": "Request scheme, which may be either HTTP or HTTPS.",
                "required": "0",
                "regex": "",
                "options": [
                    {
                        "value": "http",
                        "text": "HTTP"
                    },
                    {
                        "value": "https",
                        "text": "HTTPS"
                    }
                ]
            }
        }
    ],
    "id": 1
}

グローバルマクロの取得

すべてのグローバルマクロを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "globalmacro": true
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "globalmacroid": "6",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public",
            "description": "",
            "type": "0"
        }
    ],
    "id": 1
}

ソース

CUserMacro::get() in ui/include/classes/api/services/CUserMacro.php.