API now has all advertised API selectors from the documentation.

dev
Eric Loyd 1 year ago
parent bc02a4d412
commit 02f18cf5ab

@ -105,8 +105,9 @@ print_helpopt() {
all: all:
i Make all string comparisons case-insentitive i Make all string comparisons case-insentitive
servicestatus: servicestatus|hoststatus:
c Show fields selected by -f as quoted CSV c Show fields selected by -f as quoted CSV
C Same as C but also include the fields
hostgroupmembers: hostgroupmembers:
h Only show hosts (not the complete JSON data) h Only show hosts (not the complete JSON data)
@ -128,6 +129,10 @@ print_help() {
--api < o*bjects | c*onfig | s*ystem > --api < o*bjects | c*onfig | s*ystem >
-c|--command check_command=<value> -c|--command check_command=<value>
-cca current_check_attempt=<value> -cca current_check_attempt=<value>
--col column name=<type>:<value>
Ex: name=lk:local - Displays any matching name with 'local' anywhere in the string.
Ex: name=in:localhost,nagios,testhost - Displays any matching name with the comma-separated list.
Note: Multiple --col selectors are not valid at this time
-cnn current_notification_number=<n> -cnn current_notification_number=<n>
--cname command_name]=<...> --cname command_name]=<...>
--cline command_line]=<...> --cline command_line]=<...>
@ -150,10 +155,12 @@ print_help() {
--key APIKEY=<value> --key APIKEY=<value>
--keyfile APIkeyFile=<value> --keyfile APIkeyFile=<value>
-o|--opt cmdOptions=<value> (endpoint specific options. See --helpopt) -o|--opt cmdOptions=<value> (endpoint specific options. See --helpopt)
--order orderby <column>:<a or d>
--output output text=<value> --output output text=<value>
-Q|--quick Sets -f to .host_name,.service_description,.current_state,.state_type,.problem_has_been_acknowledged (assumes servicestatus) -Q|--quick Sets -f to .host_name,.service_description,.current_state,.state_type,.problem_has_been_acknowledged (assumes servicestatus)
-q Same as --quick but add -o c -q Same as --quick but add -o c
-qq Same as --quick but add -o c but also print the first line of the CSV output (fields) -qq Same as --quick but add -o c but also print the first line of the CSV output (fields)
--records records <amount>:<starting at>
--save save JSON to=<value> --save save JSON to=<value>
-sg|--servicegroup servicegroup=<value> -sg|--servicegroup servicegroup=<value>
-sgm servicegroup_members (mainly for creating servicegroups) -sgm servicegroup_members (mainly for creating servicegroups)
@ -210,6 +217,7 @@ while [ -n "$1" ]; do
--api) get_myAPI "$2"; shift 2;; --api) get_myAPI "$2"; shift 2;;
-c|--command) myDir[check_command]="$2"; shift 2;; -c|--command) myDir[check_command]="$2"; shift 2;;
-cca) myDir[current_check_attempt]="$2"; shift 2;; -cca) myDir[current_check_attempt]="$2"; shift 2;;
--col) myOptions[Column]="$2"; shift 2;;
--cname) myDir[command_name]="$2"; shift 2;; --cname) myDir[command_name]="$2"; shift 2;;
--cline) myDir[command_line]="$2"; shift 2;; --cline) myDir[command_line]="$2"; shift 2;;
--ctrace) myOptions[CommandTrace]="true"; shift 1;; --ctrace) myOptions[CommandTrace]="true"; shift 1;;
@ -230,10 +238,12 @@ while [ -n "$1" ]; do
--key) apikey="$2"; shift 2;; --key) apikey="$2"; shift 2;;
--keyfile) apikeyfile="$2"; shift 2;; --keyfile) apikeyfile="$2"; shift 2;;
-o|--opt) myOptions[Options]+="$2,"; shift 2;; -o|--opt) myOptions[Options]+="$2,"; shift 2;;
--order) myOptions[OrderBy]="$2"; shift 2;;
--output) myDir[output]="$2"; shift 2;; --output) myDir[output]="$2"; shift 2;;
-q) myOptions[Quick]="true"; myOptions[Options]+="c,"; shift 1;; -q) myOptions[Quick]="true"; myOptions[Options]+="c,"; shift 1;;
-qq) myOptions[Quick]="true"; myOptions[Options]+="c,c,"; shift 1;; -qq) myOptions[Quick]="true"; myOptions[Options]+="c,C,"; shift 1;;
-Q|--quick) myOptions[Quick]="true"; shift 1;; -Q|--quick) myOptions[Quick]="true"; shift 1;;
--records) myOptions[Records]="$2"; shift 2;;
--save) myOptions[Save]="$2"; shift 2;; --save) myOptions[Save]="$2"; shift 2;;
-sg|--servicegroup) myDir[servicegroup_name]="$2"; shift 2;; -sg|--servicegroup) myDir[servicegroup_name]="$2"; shift 2;;
-sgm) myDir[servicegroup_members]="$2"; shift 2;; -sgm) myDir[servicegroup_members]="$2"; shift 2;;
@ -270,10 +280,17 @@ fi
do_api() { do_api() {
api_start="$1" api_start="$1"
api_command="$2" api_command="$2"
url="${XI_URL}/api/v1/${api_start}/${api_command}?pretty=0" url="${XI_URL}/api/v1/${api_start}/${api_command}?pretty=0&apikey=${APIKEY}"
[ -n "${myOptions[Start]}" ] && url+="&starttime=${myOptions[Start]}" [ -n "${myOptions[Start]}" ] && url+="&starttime=${myOptions[Start]}"
[ -n "${myOptions[End]}" ] && url+="&endtime=${myOptions[End]}" [ -n "${myOptions[End]}" ] && url+="&endtime=${myOptions[End]}"
url+="&apikey=${APIKEY}" [ -n "${myOptions[Records]}" ] && url+="&records=${myOptions[Records]}"
[ -n "${myOptions[OrderBy]}" ] && url+="&orderby=${myOptions[OrderBy]}"
if [ -n "${myOptions[Column]}" ]; then
colName=`echo "${myOptions[Column]}" | cut -d= -f 1`
colVal=`echo "${myOptions[Column]}" | cut -d= -f 2`
do_debug 1 "colName=$colName colVal=$colVal"
url+="&$colName=$colVal"
fi
do_debug 2 "start=$1 command=$2" do_debug 2 "start=$1 command=$2"
do_debug 1 "Executing: $url" do_debug 1 "Executing: $url"
$curl -XGET -k "$url" $curl -XGET -k "$url"

Loading…
Cancel
Save