summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Xiang Zhang <yuxz@amazon.com>2023-03-14 19:02:54 +0000
committerCarlo Sala <carlosalag@protonmail.com>2023-03-21 16:06:45 +0100
commit4a39779067eda369152bfd6b653f843286c930c0 (patch)
treea9f3061f714f2bb254a877f3553a31c613307573
parent82d261603d968dfe5e86a44464c38fd88dda802c (diff)
downloadzsh-4a39779067eda369152bfd6b653f843286c930c0.tar.gz
zsh-4a39779067eda369152bfd6b653f843286c930c0.tar.bz2
zsh-4a39779067eda369152bfd6b653f843286c930c0.zip
feat(aws): set region when AWS_REGION is not set
-rw-r--r--plugins/aws/README.md2
-rw-r--r--plugins/aws/aws.plugin.zsh7
2 files changed, 6 insertions, 3 deletions
diff --git a/plugins/aws/README.md b/plugins/aws/README.md
index e1e355741..846bf1414 100644
--- a/plugins/aws/README.md
+++ b/plugins/aws/README.md
@@ -12,7 +12,7 @@ plugins=(... aws)
## Plugin commands
* `asp [<profile>]`: sets `$AWS_PROFILE` and `$AWS_DEFAULT_PROFILE` (legacy) to `<profile>`.
- It also sets `$AWS_EB_PROFILE` to `<profile>` for the Elastic Beanstalk CLI.
+ It also sets `$AWS_EB_PROFILE` to `<profile>` for the Elastic Beanstalk CLI. It sets `$AWS_PROFILE_REGION` for display in `aws_prompt_info`.
Run `asp` without arguments to clear the profile.
* `asp [<profile>] login`: If AWS SSO has been configured in your aws profile, it will run the `aws sso login` command following profile selection.
diff --git a/plugins/aws/aws.plugin.zsh b/plugins/aws/aws.plugin.zsh
index 1c386a3e1..39c47d572 100644
--- a/plugins/aws/aws.plugin.zsh
+++ b/plugins/aws/aws.plugin.zsh
@@ -9,7 +9,7 @@ function agr() {
# AWS profile selection
function asp() {
if [[ -z "$1" ]]; then
- unset AWS_DEFAULT_PROFILE AWS_PROFILE AWS_EB_PROFILE
+ unset AWS_DEFAULT_PROFILE AWS_PROFILE AWS_EB_PROFILE AWS_PROFILE_REGION
echo AWS profile cleared.
return
fi
@@ -26,6 +26,8 @@ function asp() {
export AWS_PROFILE=$1
export AWS_EB_PROFILE=$1
+ export AWS_PROFILE_REGION=$(aws configure get region)
+
if [[ "$2" == "login" ]]; then
aws sso login
fi
@@ -195,7 +197,8 @@ compctl -K _aws_profiles asp acp aws_change_access_key
# AWS prompt
function aws_prompt_info() {
if [[ -z $AWS_REGION && -z $AWS_PROFILE ]];then return; fi
- echo "${ZSH_THEME_AWS_PROFILE_PREFIX:=<aws:}${AWS_PROFILE}${ZSH_THEME_AWS_PROFILE_SUFFIX:=>} ${ZSH_THEME_AWS_REGION_PREFIX:=<region:}${AWS_REGION}${ZSH_THEME_AWS_REGION_SUFFIX:=>}"
+ region=${AWS_REGION:-${AWS_DEFAULT_REGION:-$AWS_PROFILE_REGION}}
+ echo "${ZSH_THEME_AWS_PROFILE_PREFIX:=<aws:}${AWS_PROFILE}${ZSH_THEME_AWS_PROFILE_SUFFIX:=>} ${ZSH_THEME_AWS_REGION_PREFIX:=<region:}${region}${ZSH_THEME_AWS_REGION_SUFFIX:=>}"
}
if [[ "$SHOW_AWS_PROMPT" != false && "$RPROMPT" != *'$(aws_prompt_info)'* ]]; then