#!/usr/bin/env bash

source .utils

REGIONS=( $(aws ec2 describe-regions --region eu-west-1 | jq -r '.Regions[].RegionName') )
INSTANCE_TYPES=()

print_usage() {
  orange "aws-instance-type-availability - check EC2 instance type availability in all regions"
  echo " "
  underline "Usage:"
  echo "aws-instance-type-availability [instance type IDs]"
  echo " "
  echo " "
  underline "Options:"
  echo "-h, --help            show this help text"
}

while test $# -gt 0; do
  case "$1" in
    -h|--help)
      print_usage
      exit 0
      ;;
    *)
      INSTANCE_TYPES+=${1}
      break
      ;;
  esac
done

for INSTANCE in "${INSTANCE_TYPES[@]}"; do
  blue "${INSTANCE} availability:"
  for REGION in "${REGIONS[@]}"; do
    aws ec2 describe-instance-type-offerings --filters Name=instance-type,Values=${INSTANCE} --region  ${REGION} | jq -r '.InstanceTypeOfferings[0].Location | select( . != null )'
  done
  echo ""
done
