#! /bin/bash
#
# Gets the number of pending APT package updates and returns differently
# depending on how many have yet to be applied
#

threshold_warn=10
threshold_crit=20

# https://askubuntu.com/questions/269606/apt-get-count-the-number-of-updates-available
pending="$(apt-get -q -y --ignore-hold --allow-change-held-packages --allow-unauthenticated -s dist-upgrade | \
	/bin/grep  ^Inst | \
	wc -l)"

if [ -n "$pending" ]; then
	if (( pending >= threshold_crit )); then
		echo "CRITICAL - $pending package updates pending"
		exit 2
	elif (( pending >= thresold_warn )); then
		echo "WARNING - $pending package updates pending"
		exit 1
	elif (( pending > 0 )); then
		echo "OK - $pending package updates pending"
		exit 0
	else
		echo "OK - No updates available"
		exit 0
	fi
else
	echo "UNKNOWN - Unable to get pending updates"
	exit 3
fi