#!/bin/bash

#AWSUME_FLAG - what awsumepy told the shell to do
#AWSUME_n - the data from awsumepy
read AWSUME_FLAG AWSUME_1 AWSUME_2 AWSUME_3 AWSUME_4 AWSUME_5 AWSUME_6 AWSUME_7 <<< $(awsumepy "$@")
# remove carraige return
AWSUME_FLAG=$(echo "$AWSUME_FLAG" | tr -d '\r')

if [ "$AWSUME_FLAG" = "usage:" ]; then
  awsumepy "$@"


elif [ "$AWSUME_FLAG" = "Version" ]; then
  awsumepy "$@"


elif [ "$AWSUME_FLAG" = "Listing..." ]; then
  awsumepy "$@"


elif [ "$AWSUME_FLAG" = "Auto" ]; then
  unset AWS_SECRET_ACCESS_KEY
  unset AWS_SESSION_TOKEN
  unset AWS_SECURITY_TOKEN
  unset AWS_ACCESS_KEY_ID
  unset AWS_REGION
  unset AWS_DEFAULT_REGION
  unset AWS_PROFILE
  unset AWS_DEFAULT_PROFILE
  unset AWSUME_PROFILE
  unset AWSUME_EXPIRATION
  export AWS_PROFILE=${AWSUME_1}
  export AWS_DEFAULT_PROFILE=${AWSUME_1}
  if [ ! "${AWSUME_2}" = "None" ]; then
    export AWS_REGION=${AWSUME_2}
    export AWS_DEFAULT_REGION=${AWSUME_2}
  fi
  if [ ! "${AWSUME_3}" = "None" ]; then
    export AWSUME_PROFILE=${AWSUME_3}
  fi
  #run the background autoawsume process
  autoawsume & disown


elif [ "$AWSUME_FLAG" = "Unset" ]; then
  unset AWS_PROFILE
  unset AWS_DEFAULT_PROFILE
  unset AWS_SECRET_ACCESS_KEY
  unset AWS_SESSION_TOKEN
  unset AWS_SECURITY_TOKEN
  unset AWS_ACCESS_KEY_ID
  unset AWS_REGION
  unset AWS_DEFAULT_REGION
  unset AWSUME_PROFILE
  unset AWSUME_EXPIRATION
  for AWSUME_var in "$@"
  do
    if [[ "$AWSUME_var" == "-s"* ]]; then
      echo unset AWS_PROFILE
      echo unset AWS_DEFAULT_PROFILE
      echo unset AWS_SECRET_ACCESS_KEY
      echo unset AWS_SESSION_TOKEN
      echo unset AWS_SECURITY_TOKEN
      echo unset AWS_ACCESS_KEY_ID
      echo unset AWS_REGION
      echo unset AWS_DEFAULT_REGION
      echo unset AWSUME_PROFILE
      echo unset AWSUME_EXPIRATION
    fi
  done
  return


elif [ "$AWSUME_FLAG" = "Kill" ]; then
  unset AWS_PROFILE
  unset AWS_DEFAULT_PROFILE
  unset AWS_SECRET_ACCESS_KEY
  unset AWS_SESSION_TOKEN
  unset AWS_SECURITY_TOKEN
  unset AWS_ACCESS_KEY_ID
  unset AWS_REGION
  unset AWS_DEFAULT_REGION
  unset AWSUME_PROFILE
  unset AWSUME_EXPIRATION
  return


elif [ "$AWSUME_FLAG" = "Stop" ]; then
  if [ "auto-refresh-${AWSUME_1}" == "$AWS_PROFILE" ]; then
    unset AWS_PROFILE
    unset AWS_DEFAULT_PROFILE
  fi
  return


elif [ "$AWSUME_FLAG" = "Awsume" ]; then
  unset AWS_SECRET_ACCESS_KEY
  unset AWS_SESSION_TOKEN
  unset AWS_SECURITY_TOKEN
  unset AWS_ACCESS_KEY_ID
  unset AWS_REGION
  unset AWS_DEFAULT_REGION
  unset AWS_PROFILE
  unset AWSUME_EXPIRATION
  unset AWS_DEFAULT_PROFILE
  unset AWSUME_PROFILE

  export AWSUME_COMMAND="$@"
  if [ ! "${AWSUME_1}" = "None" ]; then
    export AWS_ACCESS_KEY_ID=${AWSUME_1}
  fi
  if [ ! "${AWSUME_2}" = "None" ]; then
    export AWS_SECRET_ACCESS_KEY=${AWSUME_2}
  fi
  if [ ! "${AWSUME_3}" = "None" ]; then
    export AWS_SESSION_TOKEN=${AWSUME_3}
    export AWS_SECURITY_TOKEN=${AWSUME_3}
  fi
  if [ ! "${AWSUME_4}" = "None" ]; then
    export AWS_REGION=${AWSUME_4}
    export AWS_DEFAULT_REGION=${AWSUME_4}
  fi
  if [ ! "${AWSUME_5}" = "None" ]; then
    export AWSUME_PROFILE=${AWSUME_5}
  fi
  if [ ! "${AWSUME_6}" = "None" ]; then
    export AWS_PROFILE=${AWSUME_6}
    export AWS_DEFAULT_PROFILE=${AWSUME_6}
  fi
  if [ ! "${AWSUME_7}" = "None" ]; then
    export AWSUME_EXPIRATION=${AWSUME_7}
  fi
  for AWSUME_var in "$@"
  do
    if [[ "$AWSUME_var" == "-s"* ]]; then
      if [ ! "${AWSUME_1}" = "None" ]; then
        echo export AWS_ACCESS_KEY_ID=${AWSUME_1}
      fi
      if [ ! "${AWSUME_2}" = "None" ]; then
        echo export AWS_SECRET_ACCESS_KEY=${AWSUME_2}
      fi
      if [ ! "${AWSUME_3}" = "None" ]; then
        echo export AWS_SESSION_TOKEN=${AWSUME_3}
        echo export AWS_SECURITY_TOKEN=${AWSUME_3}
      fi
      if [ ! "${AWSUME_4}" = "None" ]; then
        echo export AWS_REGION=${AWSUME_4}
        echo export AWS_DEFAULT_REGION=${AWSUME_4}
      fi
      if [ ! "${AWSUME_5}" = "None" ]; then
        echo export AWSUME_PROFILE=${AWSUME_5}
      fi
      if [ ! "${AWSUME_6}" = "None" ]; then
        echo export AWS_PROFILE=${AWSUME_6}
        echo export AWS_DEFAULT_PROFILE=${AWSUME_6}
      fi
      if [ ! "${AWSUME_7}" = "None" ]; then
        echo export AWSUME_EXPIRATION=${AWSUME_7}
      fi
    fi
  done
fi
