script.get

Beschrijving

integer/array script.get(objectparameters)

De methode maakt het mogelijk om scripts op te halen volgens de gegeven parameters.

Deze methode is beschikbaar voor gebruikers van elk type. Rechten om de methode aan te roepen, kan worden ingetrokken in de instellingen van de gebruikersrol. Zie Gebruiker rollen voor meer informatie.

Parameters

(object) Parameters die de gewenste uitvoer definiëren.

De methode ondersteunt de volgende parameters.

Parameter Type Beschrijving
groupids string/array Retourneer alleen scripts die kunnen worden uitgevoerd op de opgegeven hostgroepen.
hostids string/array Retourneer alleen scripts die op de opgegeven hosts kunnen worden uitgevoerd.
scriptids string/array Retourneer alleen scripts met de opgegeven ID's.
usrgrpids string/array Retourneer alleen scripts die kunnen worden uitgevoerd door gebruikers in de opgegeven gebruikersgroepen.
selectGroups query Retourneer een eigenschap groups met hostgroepen waarop het script kan worden uitgevoerd.
selectHosts query Retourneer een eigenschap hosts met hosts waarop het script kan worden uitgevoerd.
selectActions query Retourneer een eigenschap actions met acties waaraan het script is gekoppeld.
sortfield string/array Sorteer het resultaat op de gegeven eigenschappen.

Mogelijke waarden zijn: scriptid en name.
countOutput boolean Deze parameters gelden voor alle get-methoden en worden in detail beschreven in de referentiecommentaar.
editable booleaans
excludeSearch boolean
filter object
limiet geheel getal
uitvoer query
preservekeys boolean
zoeken object
searchByAny boolean
searchWildcardsIngeschakeld boolean
sortorde string/array
startZoeken booleaans

Retourwaarden

(integer/array) Retourneert ofwel:

  • een reeks objecten;
  • het aantal opgehaalde objecten, als de countOutput parameter heeft gebruikt.

Voorbeelden

Alle scripts ophalen

Haal alle geconfigureerde scripts op.

Verzoek:

{
           "jsonrpc": "2.0",
           "method": "script.get",
           "params": {
               "output": "extend"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Antwoord:

{
           "jsonrpc": "2.0",
           "result": [    
               {
                   "scriptid": "1",
                   "name": "Ping",
                   "command": "/bin/ping -c 3 {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "0",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": []
               },
               {
                   "scriptid": "2",
                   "name": "Traceroute",
                   "command": "/usr/bin/traceroute {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "0",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": []
               },
               {
                   "scriptid": "3",
                   "name": "Detect operating system",
                   "command": "sudo /usr/bin/nmap -O {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "7",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": []
               },
               {
                   "scriptid": "4",
                   "name": "Webhook",
                   "command": "try {\n var request = new HttpRequest(),\n response,\n data;\n\n request.addHeader('Content-Type: application/json');\n\n response = request.post('https://localhost/post', value);\n\n try {\n response = JSON.parse(response);\n }\n catch (error) {\n response = null;\n }\n\n if (request.getStatus() !== 200 || !('data' in response)) {\n throw 'Unexpected response.';\n }\n\n data = JSON.stringify(response.data);\n\n Zabbix.Log(3, '[Webhook Script] response data: ' + data);\n\n return data;\n}\ncatch (error) {\n Zabbix.Log(3, '[Webhook Script] script execution failed: ' + error);\n throw 'Execution failed: ' + error + '.';\n}",
                   "host_access": "2",
                   "usrgrpid": "7",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "5",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": [
                       {
                           "name": "token",
                           "value": "{$WEBHOOK.TOKEN}"
                       },
                       {
                           "name": "host",
                           "value": "{HOST.HOST}"
                       },
                       {
                           "name": "v",
                           "value": "2.2"
                       }
                   ]
               }
           ],
           "id": 1
       }

Zie ook

Bron

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