#!/bin/bash
set -euo pipefail

INSTALL_TMPDIR=$(mktemp -d)
trap 'rm -rf "$INSTALL_TMPDIR"' EXIT

ARCH=$(arch)
OS=$(uname)

mkdir -p $HOME/.local/bin

if [ "$OS" = "Darwin" ]; then
  curl --fail --silent --show-error https://awscli.amazonaws.com/AWSCLIV2.pkg -o $INSTALL_TMPDIR/awscliv2.pkg
  pkgutil --expand-full $INSTALL_TMPDIR/awscliv2.pkg $INSTALL_TMPDIR/aws/
  cp -r $INSTALL_TMPDIR/aws/aws-cli.pkg/Payload/aws-cli/ $HOME/.local/aws-cli/
  ln -s $HOME/.local/aws-cli/aws $HOME/.local/bin/aws
  ln -s $HOME/.local/aws-cli/aws_completer $HOME/.local/bin/aws_completer
else
  curl --fail --silent --show-error https://awscli.amazonaws.com/awscli-exe-linux-$ARCH.zip -o $INSTALL_TMPDIR/awscliv2.zip
  unzip -q $INSTALL_TMPDIR/awscliv2.zip -d $INSTALL_TMPDIR
  $INSTALL_TMPDIR/aws/install --bin-dir $HOME/.local/bin --install-dir $HOME/.local/aws-cli --update
fi