hostprototype.get

Descripción

integer/array hostprototype.get(object parameters)

El método permite recuperar prototipos de host según los parámetros proporcionados.

Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Consulte Roles de usuario para obtener más información.

Parámetros

(object) Parámetros que definen el resultado deseado.

El método admite los siguientes parámetros.

Parámetro Tipo Descripción
hostids ID/array Devuelve únicamente los prototipos de host con los ID indicados.
discoveryids ID/array Devuelve únicamente los prototipos de host que pertenecen a las reglas LLD indicadas.
inherited boolean Si se establece en true, devuelve únicamente los items heredados de un template.
selectDiscoveryData query Devuelve una propiedad discoveryData con los datos del objeto de descubrimiento del prototipo de host. El objeto de descubrimiento del prototipo de host vincula un prototipo de host descubierto con el prototipo de host a partir del cual se descubrió.

Tiene las siguientes propiedades:
host - (string) ID del host;
parent_hostid - (string) ID del prototipo de host a partir del cual se creó el prototipo de host;
status - (int) estado de descubrimiento del prototipo de host:
0 - (predeterminado) el prototipo de host está descubierto,
1 - el prototipo de host ya no está descubierto;
ts_delete - (timestamp) momento en el que se eliminará un prototipo de host que ya no está descubierto;
ts_disable - (timestamp) momento en el que se deshabilitará un prototipo de host que ya no está descubierto;
disable_source - (int) indicador de si el prototipo de host fue deshabilitado por una regla LLD o manualmente:
0 - (predeterminado) deshabilitado automáticamente,
1 - deshabilitado por una regla LLD.
selectDiscoveryRule query Devuelve una propiedad discoveryRule con la regla LLD a la que pertenece el prototipo de host.
selectDiscoveryRulePrototype query Devuelve una propiedad discoveryRulePrototype con el prototipo de regla LLD principal al que pertenece el prototipo de host.
selectInterfaces query Devuelve una propiedad interfaces con las interfaces personalizadas del prototipo de host.
selectGroupLinks query Devuelve una propiedad groupLinks con los enlaces de grupo del prototipo de host.
selectGroupPrototypes query Devuelve una propiedad groupPrototypes con los prototipos de grupo del prototipo de host.
selectInheritedTags query Devuelve una propiedad inheritedTags con las etiquetas presentes en los templates vinculados.
selectMacros query Devuelve una propiedad macros con las macros del prototipo de host.
selectParentHost query Devuelve una propiedad parentHost con el host al que pertenece el prototipo de host.
selectTags query Devuelve una propiedad tags con las etiquetas del prototipo de host.
selectTemplates query Devuelve una propiedad templates con los templates vinculados al prototipo de host.

Admite count.
sortfield string/array Ordena el resultado por las propiedades indicadas.

Valores posibles: hostid, host, name, status, discovered.
countOutput boolean Estos parámetros se describen en los comentarios de referencia.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valores de retorno

(integer/array) Devuelve:

  • un array de objetos;
  • el número de objetos recuperados, si se ha utilizado el parámetro countOutput.

Ejemplos

Recuperación de prototipos de host desde una regla LLD

Recupere todos los prototipos de host, sus vínculos de grupo, prototipos de grupo y etiquetas desde una regla LLD.

Solicitud:

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

Respuesta:

{
    "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",
                        "retries": "5"
                    }
                }
            ]
        }
    ],
    "id": 1
}

Ver también

Fuente

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