mirror of https://github.com/akelge/zsh
Fix multimatch on awsprofile function
This commit is contained in:
parent
0173294d2a
commit
b8eec1e213
|
@ -1,5 +1,5 @@
|
|||
profile=$1
|
||||
shift
|
||||
[ $# -gt 0 ] && shift
|
||||
region=${1:-""}
|
||||
|
||||
|
||||
|
@ -9,8 +9,14 @@ if [ ! -f ~/.aws/config ]; then
|
|||
fi
|
||||
|
||||
if [ $profile ]; then # We got a profile pattern, look for a match
|
||||
# look for an exact match
|
||||
grep -qE "\[profile $profile\]" ~/.aws/config
|
||||
|
||||
if [ $? -eq 0 ]; then # We have an exact match
|
||||
match=$profile
|
||||
else # Look for regex match
|
||||
match=$(grep -E "\[profile .*$profile.*" ~/.aws/config | sed -E 's/\[profile (.+)\]/\1/') # Array of matching profiles
|
||||
match_no=$(echo $match|wc -l) # Number of profile matching
|
||||
match_no=$(echo $match|wc -l) # Number of profiles matching
|
||||
|
||||
if [ $match_no -gt 1 ]; then # more than one match
|
||||
print -P "$FX[bold]multiple profile match:"
|
||||
|
@ -19,14 +25,21 @@ if [ $profile ]; then # We got a profile pattern, look for a match
|
|||
print -P "$FX[reset]"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $match ]; then # Single match, setting profile
|
||||
export AWS_CLI_AUTO_PROMPT=on
|
||||
export AWS_CLI_AUTO_PROMPT=off
|
||||
|
||||
# Set default profile and profile
|
||||
export AWS_DEFAULT_PROFILE=$match
|
||||
export AWS_PROFILE=${AWS_DEFAULT_PROFILE}
|
||||
|
||||
# Get default region and set region to argument or default region
|
||||
export AWS_DEFAULT_REGION=$(aws configure get region)
|
||||
export AWS_PROFILE=$match
|
||||
export AWS_REGION=${region:-$AWS_DEFAULT_REGION}
|
||||
|
||||
print -P "$FX[bold]activating profile $FG[075]$match$FX[reset]$FX[bold] on region $FG[075]$AWS_REGION$FX[reset]"
|
||||
export AWS_CLI_AUTO_PROMPT=on
|
||||
return
|
||||
else
|
||||
print -P "$FX[bold]$FG[009]no match for $profile$FX[reset]"
|
||||
|
|
Loading…
Reference in New Issue