hostprototype.get

Description

integer/array hostprototype.get(object parameters)

The method allows to retrieve host prototypes 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
hostids ID/array Return only host prototypes with the given IDs.
discoveryids ID/array Return only host prototypes that belong to the given LLD rules.
inherited boolean If set to true return only items inherited from a template.
selectDiscoveryRule query Return a discoveryRule property with the LLD rule that the host prototype belongs to.
selectInterfaces query Return an interfaces property with host prototype custom interfaces.
selectGroupLinks query Return a groupLinks property with the group links of the host prototype.
selectGroupPrototypes query Return a groupPrototypes property with the group prototypes of the host prototype.
selectMacros query Return a macros property with host prototype macros.
selectParentHost query Return a parentHost property with the host that the host prototype belongs to.
selectTags query Return a tags property with host prototype tags.
selectTemplates query Return a templates property with the templates linked to the host prototype.

Supports count.
sortfield string/array Sort the result by the given properties.

Possible values: hostid, host, name, status.
countOutput boolean These parameters being common for all get methods are described in detail in the 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

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 prototypes from an LLD rule

Retrieve all host prototypes, their group links, group prototypes and tags from an LLD rule.

Request:

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

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10092",
                   "host": "{#HV.UUID}",
                   "name": "{#HV.UUID}",
                   "status": "0",
                   "templateid": "0",
                   "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}"
                           }
                       }
                   ]
               }
           ],
           "id": 1
       }

See also

Source

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