Áú»¢¶Ä²©

This is a translation of the original English documentation page. Help us make it better.

Appendice 1. Commento di riferimento

Notazione

Tipi di dati

L'API Áú»¢¶Ä²© supporta i seguenti tipi di dati come input:

|Tipo|Descrizione| |---------|-------------------------- -----------| |boolean|Un valore booleano, accetta true o false.| |flag|Il valore ¨¨ considerato true se viene passato e non uguale a null e false in caso contrario.| |intero|Un numero intero.| |float|Un numero in virgola mobile.| |stringa|Una stringa di testo.| |testo|Una stringa di testo pi¨´ lunga.| |timestamp|Un timestamp Unix.| |array|Una sequenza ordinata di valori, ovvero un semplice array.| |oggetto|Un array associativo.| |query|Un valore che definisce quali dati devono essere restituiti.

Pu¨° essere definito come un array di nomi di propriet¨¤ per restituire solo propriet¨¤ specifiche o come uno dei valori predefiniti:
extend - restituisce tutte le propriet¨¤ dell'oggetto;
count - restituisce il numero di record recuperati, supportato solo da alcune sottoselezioni.|

::: nota importante L'API Áú»¢¶Ä²© restituisce sempre valori come stringhe o solo array. :::

####Etichette delle propriet¨¤

Alcune delle propriet¨¤ degli oggetti sono contrassegnate da brevi etichette per descrivere il loro comportamento. Vengono utilizzate le seguenti etichette:

  • sola lettura - il valore della propriet¨¤ viene impostato automaticamente e non pu¨° essere definito o modificato dal cliente;
  • costante - il valore della propriet¨¤ pu¨° essere impostato durante la creazione di un oggetto, ma non pu¨° essere modificato dopo.

Valore ID riservato "0"

Il valore ID riservato "0" pu¨° essere utilizzato per filtrare gli elementi e rimuoverli oggetti di riferimento. Ad esempio, per rimuovere un proxy referenziato da a host, proxy_hostid deve essere impostato su 0 ("proxy_hostid": "0") o su filtro host monitorati da proxyid opzione server deve essere impostato su 0 ("proxyids": "0").

Parametri comuni del metodo "get".

I seguenti parametri sono supportati da tutti i metodi get:

|Parametro|Tipo|Descrizione| |---------|------|-------------------------------- -------------------| |countOutput|boolean|Restituisce il numero di record nel risultato invece dei dati effettivi.| |editable|boolean|Se impostato su true restituisce solo gli oggetti per i quali l'utente ha i permessi di scrittura.

Predefinito: false.| |excludeSearch|boolean|Restituisce risultati che non corrispondono ai criteri forniti nel parametro search.| |filter|object|Restituisce solo i risultati che corrispondono esattamente al filtro specificato.

Accetta una matrice, in cui le chiavi sono nomi di propriet¨¤ e i valori sono un singolo valore o una matrice di valori con cui confrontare.

Non funziona per i campi testo.| |limit|intero|Limita il numero di record restituiti.| |output|query|Propriet¨¤ dell'oggetto da restituire.

Predefinito: extend.| |preservekeys|boolean|Utilizza gli ID come chiavi nell'array risultante.| |search|object|Restituisce risultati che corrispondono alla ricerca con caratteri jolly specificata (senza distinzione tra maiuscole e minuscole).

Accetta una matrice, in cui le chiavi sono nomi di propriet¨¤ e i valori sono stringhe da cercare. Se non vengono fornite opzioni aggiuntive, verr¨¤ eseguita una ricerca LIKE "%¡­%".

Funziona solo per i campi string e text.| |searchByAny|boolean|Se impostato su true restituisce risultati che corrispondono a uno qualsiasi dei criteri forniti nel parametro filter o search invece di tutti.

Predefinito: false.| |searchWildcardsEnabled|boolean|Se impostato su true abilita l'uso di "*" come carattere jolly nel parametro search.

Predefinito: false.| |sortfield|string/array|Ordina il risultato in base alle propriet¨¤ date. Fare riferimento a una descrizione del metodo get API specifica per un elenco di propriet¨¤ che possono essere utilizzate per l'ordinamento. Le macro non vengono espanse prima dell'ordinamento.

Se non viene specificato alcun valore, i dati verranno restituiti non ordinati.| |sortorder|stringa/array|Ordine di ordinamento. Se viene passato un array, ogni valore verr¨¤ abbinato alla propriet¨¤ corrispondente fornita nel parametro sortfield.

I valori possibili sono:
ASC - (default) ascendente;
DESC - discendente.| |startSearch|boolean|Il parametro search confronter¨¤ l'inizio dei campi, ovvero eseguir¨¤ invece una ricerca LIKE "¡­%".

Ignorato se searchWildcardsEnabled ¨¨ impostato su true. |

Esempi

Controllo autorizzazione utente

L'utente dispone dell'autorizzazione per scrivere agli host i cui nomi iniziano con "MySQL" o "Linux"?

Richiesta:

{
           "jsonrpc": "2.0",
           "metodo": "host.get",
           "parametri": {
               "countOutput": vero,
               "ricerca": {
                   "host": ["MySQL", "Linux"]
               },
               "modificabile": vero,
               "startSearch": vero,
               "searchByAny": vero
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }

Risposta:

{
           "jsonrpc": "2.0",
           "risultato": "0",
           "id": 1
       }

Risultato zero significa nessun host con lettura/scrittura permessi.

Conteggio non corrispondente

Conta il numero di host i cui nomi non contengono la sottostringa "ubuntu"

Richiesta:

{
           "jsonrpc": "2.0",
           "metodo": "host.get",
           "parametri": {
               "countOutput": vero,
               "ricerca": {
                   "ospite": "ubuntu"
               },
               "excludeSearch": vero
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }

Risposta:

{
           "jsonrpc": "2.0",
           "risultato": "44",
           "id": 1
       }

Ricerca di host tramite caratteri jolly

Trova host il cui nome contiene la parola "server" e dispongono di porte di interfaccia "10050" o "10071". Ordina il risultato per nome host in ordine decrescente e limitalo a 5 host.

Richiesta:

{
           "jsonrpc": "2.0",
           "metodo": "host.get",
           "parametri": {
               "output": ["hostid", "host"],
               "selectInterfaces": ["porta"],
               "filtro": {
                   "porta": ["10050", "10071"]
               },
               "ricerca": {
                   "host": "*server*"
               },
               "searchWildcardsEnabled": vero,
               "searchByAny": vero,
               "sortfield": "host",
               "sortorder": "DESC",
               "limite": 5
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }

Risposta:

{
           "jsonrpc": "2.0",
           "risultato": [
               {
                   "hostid": "50003",
                   "host": "WebServer-Tomcat02",
                   "interfacce": [
                       {
                           "porta": "10071"
                       }
                   ]
               },
               {
                   "hostid": "50005",
                   "host": "WebServer-Tomcat01",
                   "interfacce": [
                       {
                           "porta": "10071"
                       }
                   ]
               },
               {
                   "hostid": "50004",
                   "host": "WebServer-Nginx",
                   "interfacce": [
                       {
                           "porta": "10071"
                       }
                   ]
               },
               {
                   "hostid": "99032",
                   "host": "Server MySQL 01",
                   "interfacce": [
                       {
                           "porta": "10050"
                       }
                   ]
               },
               {
                   "hostid": "99061",
                   "host": "server Linux 01",
                   "interfacce": [
                       {
                           "porta": "10050"
                       }
                   ]
               }
           ],
           "id": 1
       }

Ricerca di host utilizzando caratteri jolly con "preservekeys"

Se si aggiunge il parametro "preservekeys" alla richiesta precedente, il il risultato viene restituito come un array associativo, in cui le chiavi sono l'id di gli oggetti.

Richiesta:

{
           "jsonrpc": "2.0",
           "metodo": "host.get",
           "parametri": {
               "output": ["hostid", "host"],
               "selectInterfaces": ["porta"],
               "filtro": {
                   "porta": ["10050", "10071"]
               },
               "ricerca": {
                   "host": "*server*"
               },
               "searchWildcardsEnabled": vero,
               "searchByAny": vero,
               "sortfield": "host",
               "sortorder": "DESC",
               "limite": 5,
               "preservekeys": vero
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }

Risposta:

{
           "jsonrpc": "2.0",
           "risultato": {
               "50003": {
                   "hostid": "50003",
                   "host": "WebServer-Tomcat02",
                   "interfacce": [
                       {
                           "porta": "10071"
                       }
                   ]
               },
               "50005": {
                   "hostid": "50005",
                   "host": "WebServer-Tomcat01",
                   "interfacce": [
                       {
                           "porta": "10071"
                       }
                   ]
               },
               "50004": {
                   "hostid": "50004",
                   "host": "WebServer-Nginx",
                   "interfacce": [
                       {
                           "porta": "10071"
                       }
                   ]
               },
               "99032": {
                   "hostid": "99032",
                   "host": "Server MySQL 01",
                   "interfacce": [
                       {
                           "porta": "10050"
                       }
                   ]
               },
               "99061": {
                   "hostid": "99061",
                   "host": "server Linux 01",
                   "interfacce": [
                       {
                           "porta": "10050"
                       }
                   ]
               }
           },
           "id": 1
       }