#!/bin/bash

set -o pipefail

type=$1
name=$2
region=$3
profile=$4
shift 4
case $type in
  latest)
    k8sVersion=$1
    output=$(aws eks describe-addon-versions \
        --kubernetes-version=$k8sVersion --addon-name=$name \
        --query="addons[].addonVersions[0].addonVersion" \
        --profile=$profile --region=$region --no-cli-pager --output=text)
    ;;
  default)
    k8sVersion=$1
    output=$(aws eks describe-addon-versions \
        --kubernetes-version=$k8sVersion --addon-name=$name \
        --query="addons[].addonVersions[?compatibilities[?defaultVersion==\`true\`]].addonVersion" \
        --profile=$profile --region=$region --no-cli-pager --output=text)
    ;;
  installed)
    k8sName=$1
    output=$(aws eks describe-addon \
      --cluster-name=$k8sName --addon-name=$name \
      --query="addon.addonVersion" \
      --profile=$profile --region=$region --no-cli-pager --output=text)
    ;;
  *)
    echo "not supported info type"
    exit 1
    ;;
esac
if test $? -ne 0; then
    echo "Failed to get $type config"
    exit 1
fi
echo "$output"
