Files
selectel-balance/selectel-balance.sh
2021-07-14 13:16:49 +03:00

63 lines
2.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -eu
# Проверка наличия файла с переменными .env
if [[ ! -f ".env" ]]; then
echo "Ошибка - отсутствует файл с переменными .env"
exit 1
fi
# Входные переменные берём из .env
source .env
# Проверка заполнения переменной SELECTEL_API_KEY
if [[ -z "${SELECTEL_API_KEY}" ]]; then
echo "Ошибка - пустой SELECTEL_API_KEY (${SELECTEL_API_KEY})"
exit 2
#else
# echo "SELECTEL_API_KEY=${SELECTEL_API_KEY}"
fi
# Проверка заполнения переменной MIN_BALANCE
if [[ -z "${MIN_BALANCE}" ]]; then
echo "Ошибка - пустой MIN_BALANCE (${MIN_BALANCE})"
exit 3
#else
# echo "MIN_BALANCE=${MIN_BALANCE}"
fi
# Получаем баланс
ANSWER=$(curl -s -H "X-token: ${SELECTEL_API_KEY}" -H "Content-Type: application/json" https://my.selectel.ru/api/v3/billing/balance)
#echo "ANSWER=${ANSWER}"
# Проверяем прошла ли авторизация
if [[ ! -z $(echo ${ANSWER} | grep "401 Authorization Required") ]]; then
echo "Ошибка - не пройдена авторизация на SELECTEL (${ANSWER})"
exit 4
else
BALANCE=$(echo ${ANSWER} | jq '.data.primary.main')
# echo "BALANCE=${BALANCE}"
fi
# Проверка заполнения переменной BALANCE
if [[ -z "${BALANCE}" ]]; then
echo "Ошибка - не получен BALANCE (${BALANCE})"
exit 4
#else
# echo "BALANCE=${BALANCE}"
fi
# Подготавливаем переменные BALANCE_RUB и MIN_BALANCE_RUB
BALANCE_RUB=$(echo ${BALANCE} | rev); BALANCE_RUB=${BALANCE_RUB:0:2}.${BALANCE_RUB:2}; BALANCE_RUB=$(echo $BALANCE_RUB | rev)
MIN_BALANCE_RUB=$(echo ${MIN_BALANCE} | rev); MIN_BALANCE_RUB=${MIN_BALANCE_RUB:0:2}.${MIN_BALANCE_RUB:2}; MIN_BALANCE_RUB=$(echo $MIN_BALANCE_RUB | rev)
# Сравниваем BALANCE с MIN_BALANCE
if [[ "${BALANCE}" -le "${MIN_BALANCE}" ]]; then
echo "Баланс на Selectel нужно пополнить (${BALANCE_RUB} руб. < ${MIN_BALANCE_RUB} руб.)"
else
echo "Баланс на Selectel достаточен (${BALANCE_RUB} руб. > ${MIN_BALANCE_RUB} руб.)"
fi
# Выход
exit 0