e4946ef9f9
The environment variable name used to be AWS_DEFAULT_PROFILE but the CLI documentation now only mentions AWS_PROFILE. https://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html It seems like the CLI was the only tool using AWS_DEFAULT_PROFILE, and all the AWS SDKs used AWS_PROFILE, so they standardized on it. https://onetechnical.wordpress.com/2016/10/07/the-curious-case-of-aws_default_profile/ Note: still left AWS_DEFAULT_PROFILE on the method to set the profile to maintain backwards compatibility. Close #7354
52 lines
1.4 KiB
Bash
52 lines
1.4 KiB
Bash
_homebrew-installed() {
|
|
type brew &> /dev/null
|
|
_xit=$?
|
|
if [ $_xit -eq 0 ];then
|
|
# ok , we have brew installed
|
|
# speculatively we check default brew prefix
|
|
if [ -h /usr/local/opt/awscli ];then
|
|
_brew_prefix="/usr/local/opt/awscli"
|
|
else
|
|
# ok , it is not default prefix
|
|
# this call to brew is expensive ( about 400 ms ), so at least let's make it only once
|
|
_brew_prefix=$(brew --prefix awscli)
|
|
fi
|
|
return 0
|
|
else
|
|
return $_xit
|
|
fi
|
|
}
|
|
|
|
_awscli-homebrew-installed() {
|
|
[ -r $_brew_prefix/libexec/bin/aws_zsh_completer.sh ] &> /dev/null
|
|
}
|
|
|
|
export AWS_HOME=~/.aws
|
|
|
|
function agp {
|
|
echo $AWS_PROFILE
|
|
}
|
|
|
|
function asp {
|
|
local rprompt=${RPROMPT/<aws:$(agp)>/}
|
|
|
|
export AWS_DEFAULT_PROFILE=$1
|
|
export AWS_PROFILE=$1
|
|
|
|
export RPROMPT="<aws:$AWS_PROFILE>$rprompt"
|
|
}
|
|
|
|
function aws_profiles {
|
|
reply=($(grep profile $AWS_HOME/config|sed -e 's/.*profile \([a-zA-Z0-9_\.-]*\).*/\1/'))
|
|
}
|
|
compctl -K aws_profiles asp
|
|
|
|
if which aws_zsh_completer.sh &>/dev/null; then
|
|
_aws_zsh_completer_path=$(which aws_zsh_completer.sh 2>/dev/null)
|
|
elif _homebrew-installed && _awscli-homebrew-installed; then
|
|
_aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh
|
|
fi
|
|
|
|
[ -n "$_aws_zsh_completer_path" ] && [ -x $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path
|
|
unset _aws_zsh_completer_path
|