usermacro.get

Description

integer/array usermacro.get(object parameters)

The method allows to retrieve host and global macros according to the given parameters.

This method is available to users of any type. Permissions to call the method can be revoked in user role settings. See User roles for more information.

Parameters

(object) Parameters defining the desired output.

The method supports the following parameters.

Parameter Type Description
globalmacro flag Return global macros instead of host macros.
globalmacroids ID/array Return only global macros with the given IDs.
groupids ID/array Return only host macros that belong to hosts or templates from the given host groups or template groups.
hostids ID/array Return only macros that belong to the given hosts or templates.
hostmacroids ID/array Return only host macros with the given IDs.
inherited boolean If set to true return only host prototype user macros inherited from a template.
selectHostGroups query Return host groups that the host macro belongs to in the hostgroups property.

Used only when retrieving host macros.
selectHosts query Return hosts that the host macro belongs to in the hosts property.

Used only when retrieving host macros.
selectTemplateGroups query Return template groups that the template macro belongs to in the templategroups property.

Used only when retrieving template macros.
selectTemplates query Return templates that the host macro belongs to in the templates property.

Used only when retrieving host macros.
sortfield string/array Sort the result by the given properties.

Possible values: macro.
countOutput boolean These parameters being common for all get methods are described in detail in the reference commentary page.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Return values

(integer/array) Returns either:

  • an array of objects;
  • the count of retrieved objects, if the countOutput parameter has been used.

Examples

Retrieving host macros for a host

Retrieve all host macros defined for host "10198".

Request:

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

Response:

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

Retrieving global macros

Retrieve all global macros.

Request:

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

Response:

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

Source

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