aboutsummaryrefslogtreecommitdiff
path: root/pkgs/check_aws_rds/check_aws_rds
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/check_aws_rds/check_aws_rds')
-rw-r--r--pkgs/check_aws_rds/check_aws_rds32
1 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/check_aws_rds/check_aws_rds b/pkgs/check_aws_rds/check_aws_rds
new file mode 100644
index 0000000..d4fd965
--- /dev/null
+++ b/pkgs/check_aws_rds/check_aws_rds
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+cmd=( pmp-check-aws-rds )
+
+getId () {
+ local endpoint="$1"
+ local c=0
+ while [[ "$endpoint" != *.*.*.rds.amazonaws.com* ]]; do
+ endpoint=$(dig "$endpoint" CNAME +short)
+ (( ++c ))
+ if (( c > 10 )); then
+ echo "failed to resolve '$1'" >&2
+ exit 255
+ fi
+ done
+
+ cmd+=( -r $(echo "$endpoint" | cut -d. -f3) )
+ cmd+=( -i $(echo "$endpoint" | cut -d. -f1) )
+}
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -m|-w|-c) cmd+=( $1 $2 ); shift 2;;
+ -f) export BOTO_CONFIG="$2"; shift 2;;
+ -h) getId "$2"; shift 2;;
+ *) echo "$0: unsupported argument: $1" >&2; exit 1;;
+ esac
+done
+exec "${cmd[@]}"
+