fish-shell/share/completions/zabbix_server.fish
Robert Szulist de5bd624d8 Add Zabbix completions (#9647)
Add Zabbix completions

(cherry picked from commit 9bd1dc14e5)
2023-09-08 19:57:56 +02:00

96 lines
3 KiB
Fish

set -l runtime config_cache_reload \
housekeeper_execute \
trigger_housekeeper_execute \
log_level_increase \
"log_level_increase=" \
log_level_decrease \
"log_level_decrease=" \
snmp_cache_reload \
secrets_reload \
diaginfo \
"diaginfo=" \
prof_enable \
prof_enable= \
prof_disable \
prof_disable= \
service_cache_reload \
ha_status \
"ha_remove_node=" \
ha_set_failover_delay
set -l scope rwlock mutex processing
function __fish_string_in_command -a ch
string match -rq $ch (commandline)
end
function __fish_prepend -a prefix
set -l log_target alerter \
"alert manager" \
"configuration syncer" \
discoverer \
escalator \
"history syncer" \
housekeeper \
"http poller" \
"icmp pinger" \
"ipmi manager" \
"ipmi poller" \
"java poller" \
poller \
"preprocessing manager" \
"preprocessing worker" \
"proxy poller" \
"self-monitoring" \
"snmp trapper" \
"task manager" \
timer \
trapper \
"unreachable poller" \
"vmware collector" \
"history poller" \
"availability manager" \
"service manager" \
"odbc poller"
if string match -rq 'log_level_(in|de)crease' $prefix
set var $log_target
else if string match -rq 'prof_(en|dis)able' $prefix
set var $log_target 'ha manager'
else if string match -rq 'diaginfo' $prefix
set var historycache preprocessing alerting lld valuecache locks
end
for i in $var
echo $prefix="$i"
end
end
function __fish_list_nodes
zabbix_server -R ha_status | tail -n+4 | awk '{print "ha_remove_node="$3}'
end
# General
complete -c zabbix_server -s c -l config -d "Path to the configuration file."
complete -c zabbix_server -f -s f -l foreground -d "Run Zabbix server in foreground."
complete -c zabbix_server -f -s h -l help -d "Display this help message."
complete -c zabbix_server -f -s V -l version -d "Display version number."
complete -c zabbix_server -f -s R -l runtime-control -a "$runtime" -d "Perform administrative functions."
# Log levels
complete -c zabbix_server -r -f -s R -l runtime-control -n "__fish_string_in_command log_level_increase" -a "(__fish_prepend log_level_increase)"
complete -c zabbix_server -r -f -s R -l runtime-control -n "__fish_string_in_command log_level_decrease" -a "(__fish_prepend log_level_decrease)"
# Prof enable
complete -c zabbix_server -r -f -s R -l runtime-control -n "__fish_string_in_command prof_enable" -a "(__fish_prepend prof_enable)"
complete -c zabbix_server -r -f -s R -l runtime-control -n "__fish_string_in_command prof_disable" -a "(__fish_prepend prof_disable)"
# HA nodes
complete -c zabbix_server -r -f -s R -l runtime-control -n "__fish_string_in_command ha_remove_node" -a "(__fish_list_nodes)"
# diaginfo
complete -c zabbix_server -r -f -s R -l runtime-control -n "__fish_string_in_command diaginfo" -a "(__fish_prepend diaginfo)"