hostprototype.get

Descrição

integer/array hostprototype.get(object parameters)

O método permite recuperar protótipos de host de acordo com os parâmetros informados.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte User roles para obter mais informações.

Parâmetros

(object) Parâmetros que definem a saída desejada.

O método suporta os seguintes parâmetros.

Parameter Type Description
hostids ID/array Retorna apenas host prototypes com os IDs informados.
discoveryids ID/array Retorna apenas host prototypes que pertencem às LLD rules informadas.
inherited boolean Se definido como true, retorna apenas items herdados de um template.
selectDiscoveryData query Retorna uma propriedade discoveryData com os dados do objeto de descoberta do host prototype. O objeto de descoberta do host prototype vincula um host prototype descoberto a um host prototype a partir do qual ele foi descoberto.

Ele possui as seguintes propriedades:
host - (string) ID do host;
parent_hostid - (string) ID do host prototype a partir do qual o host prototype foi criado;
status - (int) status da descoberta do host prototype:
0 - (padrão) host prototype foi descoberto,
1 - host prototype não é mais descoberto;
ts_delete - (timestamp) momento em que um host prototype que não é mais descoberto será excluído;
ts_disable - (timestamp) momento em que um host prototype que não é mais descoberto será desabilitado;
disable_source - (int) indicador de se o host prototype foi desabilitado por uma LLD rule ou manualmente:
0 - (padrão) desabilitado automaticamente,
1 - desabilitado por uma LLD rule.
selectDiscoveryRule query Retorna uma propriedade discoveryRule com a LLD rule à qual o host prototype pertence.
selectDiscoveryRulePrototype query Retorna uma propriedade discoveryRulePrototype com o parent LLD rule prototype ao qual o host prototype pertence.
selectInterfaces query Retorna uma propriedade interfaces com as interfaces personalizadas do host prototype.
selectGroupLinks query Retorna uma propriedade groupLinks com os links de grupo do host prototype.
selectGroupPrototypes query Retorna uma propriedade groupPrototypes com os group prototypes do host prototype.
selectMacros query Retorna uma propriedade macros com as macros do host prototype.
selectParentHost query Retorna uma propriedade parentHost com o host ao qual o host prototype pertence.
selectTags query Retorna uma propriedade tags com as tags do host prototype.
selectTemplates query Retorna uma propriedade templates com os templates vinculados ao host prototype.

Suporta count.
sortfield string/array Classifica o resultado pelas propriedades informadas.

Valores possíveis: hostid, host, name, status, discovered.
countOutput boolean Esses parâmetros são descritos no comentário de referência.
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) Retorna um dos seguintes:

  • um array de objetos;
  • a contagem dos objetos recuperados, se o parâmetro countOutput tiver sido usado.

Exemplos

Recuperando protótipos de host de uma regra LLD

Recupere todos os protótipos de host, seus vínculos de grupo, protótipos de grupo e tags de uma regra LLD.

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

Veja também

Fonte

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