template.get

Descrição

integer/array template.get(object parameters)

O método permite recuperar templates de acordo com os parâmetros fornecidos.

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 de usuário. Consulte Funções de usuário 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
templateids ID/array Retorna apenas templates com os IDs de template informados.
groupids ID/array Retorna apenas templates que pertencem aos grupos de template informados.
parentTemplateids ID/array Retorna apenas templates aos quais o template informado está vinculado.
hostids ID/array Retorna apenas templates que estão vinculados aos hosts/templates informados.
graphids ID/array Retorna apenas templates que contêm os graphs informados.
itemids ID/array Retorna apenas templates que contêm os items informados.
triggerids ID/array Retorna apenas templates que contêm os triggers informados.
with_items flag Retorna apenas templates que têm items.
with_triggers flag Retorna apenas templates que têm triggers.
with_graphs flag Retorna apenas templates que têm graphs.
with_httptests flag Retorna apenas templates que têm cenários web.
evaltype integer Método de avaliação de tags.

Valores possíveis:
0 - (padrão) And/Or;
2 - Or.
tags object/array Retorna apenas templates com as tags informadas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Uma matriz vazia retorna todos os templates.

Valores possíveis de operator:
0 - (padrão) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist.
selectTags query Retorna as tags do template na propriedade tags.
selectHosts query Retorna os hosts vinculados ao template na propriedade hosts.

Suporta count.
selectTemplateGroups query Retorna os grupos de template aos quais o template pertence na propriedade templategroups.
selectTemplates query Retorna os templates aos quais o template informado está vinculado na propriedade templates.

Suporta count.
selectParentTemplates query Retorna os templates vinculados ao template informado na propriedade parentTemplates.

Suporta count.
selectHttpTests query Retorna os cenários web do template na propriedade httpTests.

Suporta count.
selectItems query Retorna os items do template na propriedade items.

Suporta count.
selectDiscoveries query Retorna as descobertas de baixo nível do template na propriedade discoveries.

Suporta count.
selectTriggers query Retorna os triggers do template na propriedade triggers.

Suporta count.
selectGraphs query Retorna os graphs do template na propriedade graphs.

Suporta count.
selectMacros query Retorna as macros do template na propriedade macros.
selectDashboards query Retorna os dashboards do template na propriedade dashboards.

Suporta count.
selectValueMaps query Retorna uma propriedade valuemaps com os value maps do template.
limitSelects integer Limita o número de registros retornados pelos subselects.

Aplica-se aos seguintes subselects:
selectTemplates - os resultados serão ordenados por name;
selectHosts - ordenados por host;
selectParentTemplates - ordenados por host;
selectItems - ordenados por name;
selectDiscoveries - ordenados por name;
selectTriggers - ordenados por description;
selectGraphs - ordenados por name;
selectDashboards - ordenados por name.
sortfield string/array Ordena o resultado pelas propriedades informadas.

Valores possíveis: hostid, host, name, status.
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
selectGroups
(deprecated)
query Este parâmetro está obsoleto; use selectTemplateGroups em seu lugar.
Retorna os grupos de template aos quais o template pertence na propriedade groups.

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 templates pelo nome

Recupere todos os dados sobre dois templates chamados "Linux" e "Windows".

Request:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "extend",
        "filter": {
            "host": [
                "Linux",
                "Windows"
            ]
        }
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "proxyid": "0",
            "host": "Linux",
            "status": "3",
            "disable_until": "0",
            "error": "",
            "available": "0",
            "errors_from": "0",
            "lastaccess": "0",
            "ipmi_authtype": "0",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "ipmi_disable_until": "0",
            "ipmi_available": "0",
            "snmp_disable_until": "0",
            "snmp_available": "0",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "ipmi_errors_from": "0",
            "snmp_errors_from": "0",
            "ipmi_error": "",
            "snmp_error": "",
            "jmx_disable_until": "0",
            "jmx_available": "0",
            "jmx_errors_from": "0",
            "jmx_error": "",
            "name": "Linux",
            "flags": "0",
            "templateid": "10001",
            "description": "",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "uuid": "282ffe33afc74cccaf1524d9aa9dc502"
        },
        {
            "proxyid": "0",
            "host": "Windows",
            "status": "3",
            "disable_until": "0",
            "error": "",
            "available": "0",
            "errors_from": "0",
            "lastaccess": "0",
            "ipmi_authtype": "0",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "ipmi_disable_until": "0",
            "ipmi_available": "0",
            "snmp_disable_until": "0",
            "snmp_available": "0",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "ipmi_errors_from": "0",
            "snmp_errors_from": "0",
            "ipmi_error": "",
            "snmp_error": "",
            "jmx_disable_until": "0",
            "jmx_available": "0",
            "jmx_errors_from": "0",
            "jmx_error": "",
            "name": "Windows",
            "flags": "0",
            "templateid": "10081",
            "description": "",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "uuid": "522d17e1834049be879287b7c0518e5d"
        }
    ],
    "id": 1
}

Recuperando grupos de templates

Recupere os grupos de templates dos quais o template "Linux by Zabbix agent" é membro.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTemplateGroups": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent"
            ]
        }
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "templategroups": [
                {
                    "groupid": "10",
                    "name": "Templates/Operating systems",
                    "uuid": "846977d1dfed4968bc5f8bdb363285bc"
                }
            ]
        }
    ],
    "id": 1
}

Recuperando hosts por template

Recupere hosts que tenham o template "10001" (Linux por Zabbix agent) vinculado a eles.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "templateid",
        "templateids": "10001",
        "selectHosts": ["hostid", "name"]
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "hosts": [
                {
                    "hostid": "10084",
                    "name": "Zabbix server"
                },
                {
                    "hostid": "10603",
                    "name": "Host 1"
                },
                {
                    "hostid": "10604",
                    "name": "Host 2"
                }
            ]
        }
    ],
    "id": 1
}

Pesquisa por tags de template

Recupere templates que tenham a tag "host-name" igual a "{HOST.NAME}".

Request:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "host-name",
                "value": "{HOST.NAME}",
                "operator": 1
            }
        ]
    },
    "id": 1
}

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10402",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "{HOST.NAME}"
                }
            ]
        }
    ],
    "id": 1
}

Veja também

Fonte

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