#!/bin/sh

PROFILE_NAME='default'

if ! command -v jq >/dev/null 2>&1; then
  echo "Please install 'jq' and re-run this command."
  exit 1
fi

if [ -p /dev/stdin ]; then
  INPUT="$(cat)"
else
  echo "$(basename "$0") only takes piped input."
  exit 1
fi

if [ "$1" = "-p" ] || [ "$1" = "--profile" ]; then
  PROFILE_NAME="$2"
fi

access_key="$(echo "$INPUT" | jq -r '.AccessKeyId')"
secret_access_key="$(echo "$INPUT" | jq -r '.SecretAccessKey')"
session_token="$(echo "$INPUT" | jq -r '.Token')"

if [ -n "$session_token" ]; then
  CREDS="$(cat <<EOF
[$PROFILE_NAME]
aws_access_key_id = ${access_key}
aws_secret_access_key = ${secret_access_key}
aws_session_token = ${session_token}
EOF
)"
else
  CREDS="$(cat <<EOF
[$PROFILE_NAME]
aws_access_key_id = ${access_key}
aws_secret_access_key = ${secret_access_key}
EOF
)"
fi

echo "$CREDS"
