template.get

Descrição

integer/array template.get(object parameters)

O método permite recuperar modelos 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 do usuário. Consulte funções do usuário para obter mais informações.

Parâmetros

(object) Parâmetros que definem o resultado desejado.

Parâmetro Tipo Descrição
templateids string/array Retorna apenas templates com os IDs de template fornecidos.
groupids string/array Retorna apenas templates que pertencem aos grupos de hosts fornecidos.
parentTemplateids string/array Retorna apenas templates que são pais dos templates fornecidos.
hostids string/array Retorna apenas templates que estão vinculados aos hosts/templates fornecidos.
graphids string/array Retorna apenas templates que contêm os gráficos fornecidos.
itemids string/array Retorna apenas templates que contêm os itens fornecidos.
triggerids string/array Retorna apenas templates que contêm os triggers fornecidos.
with_items flag Retorna apenas templates que possuem itens.
with_triggers flag Retorna apenas templates que possuem triggers.
with_graphs flag Retorna apenas templates que possuem gráficos.
with_httptests flag Retorna apenas templates que possuem cenários da web.
evaltype integer Regras para busca de tags.

Valores possíveis:
0 - (padrão) E/Ou;
2 - Ou.
tags object/array Retorna apenas templates com as tags fornecidas. Correspondência exata de tag e pesquisa sensível ou não sensível a maiúsculas, dependendo do valor do operador.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Uma array vazia retorna todos os templates.

Valores possíveis do operador:
0 - (padrão) Contém;
1 - Igual;
2 - Não contém;
3 - Não é igual
4 - Existe;
5 - Não existe.
selectGroups query Retorna os grupos de hosts aos quais o template pertence na propriedade groups.
selectTags query Retorna tags de template na propriedade tags.
selectHosts query Retorna os hosts vinculados ao template na propriedade hosts.

Suporta count.
selectTemplates query Retorna templates dos quais o template é filho, na propriedade templates.

Suporta count.
selectParentTemplates query Retorna templates dos quais o template é pai, na propriedade parentTemplates.

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

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

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

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

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

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

Suporta count.
selectValueMaps query Retorna uma propriedade valuemaps com mapas de valor do template.
limitSelects integer Limita o número de registros retornados por subconsultas.

Aplica-se às seguintes subconsultas:
selectTemplates - 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 porname;
selectDashboards - ordenados por name.
sortfield string/array Ordena o resultado pelas propriedades fornecidas.

Valores possíveis são: hostid, host, name, status.
countOutput boolean Esses parâmetros comuns a todos os métodos get são descritos em detalhes no 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

Valores de retorno

(integer/array) Retorna ou:

  • uma matriz de objetos;
  • contagem de objetos recuperados, se o countOutput parâmetro tiver sido usado.

Exemplos

Recuperando templates por nome

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

Requisição:

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

Resposta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "proxy_hostid": "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"
               },
               {
                   "proxy_hostid": "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 hosts por template

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

Requisição:

{
           "jsonrpc": "2.0",
           "method": "template.get",
           "params": {
               "output": "templateid",
               "templateids": "10001",
               "selectHosts": ["hostid", "name"]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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
       }

Pesquisando por tags de templates

Recupere modelos que tenham a tag "Host name" igual a "{HOST.NAME}".

Requisição:

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

Resposta:

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

Veja também

Fonte

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