Commit 1343ab67 authored by programmer04's avatar programmer04 Committed by Marc Cornellà
Browse files

aws: check availability of aws profiles (#7839)

parent 5d875d68
# AWS profile selection agp() {
function agp {
echo $AWS_PROFILE echo $AWS_PROFILE
} }
function asp { # AWS profile selection
asp() {
if [[ -z "$1" ]]; then if [[ -z "$1" ]]; then
unset AWS_DEFAULT_PROFILE AWS_PROFILE AWS_EB_PROFILE unset AWS_DEFAULT_PROFILE AWS_PROFILE AWS_EB_PROFILE
echo AWS profile cleared. echo AWS profile cleared.
return return
fi fi
local available_profiles=($(aws_profiles))
if [[ -z "${available_profiles[(r)$1]}" ]]; then
echo "${fg[red]}Profile '$1' not found in '${AWS_CONFIG_FILE:-$HOME/.aws/config}'" >&2
echo "Available profiles: ${(j:, :)available_profiles:-no profiles found}${reset_color}" >&2
return 1
fi
export AWS_DEFAULT_PROFILE=$1 export AWS_DEFAULT_PROFILE=$1
export AWS_PROFILE=$1 export AWS_PROFILE=$1
export AWS_EB_PROFILE=$1 export AWS_EB_PROFILE=$1
} }
function aws_change_access_key { aws_change_access_key() {
if [[ -z "$1" ]] then if [[ -z "$1" ]]; then
echo "usage: $0 <profile>" echo "usage: $0 <profile>"
return 1 return 1
fi fi
echo Insert the credentials when asked. echo Insert the credentials when asked.
asp "$1" asp "$1" || return 1
aws iam create-access-key aws iam create-access-key
aws configure --profile "$1" aws configure --profile "$1"
...@@ -32,16 +38,18 @@ function aws_change_access_key { ...@@ -32,16 +38,18 @@ function aws_change_access_key {
aws iam list-access-keys aws iam list-access-keys
} }
function aws_profiles { aws_profiles() {
[[ -r "${AWS_CONFIG_FILE:-$HOME/.aws/config}" ]] || return 1 [[ -r "${AWS_CONFIG_FILE:-$HOME/.aws/config}" ]] || return 1
reply=($(grep '\[profile' "${AWS_CONFIG_FILE:-$HOME/.aws/config}"|sed -e 's/.*profile \([a-zA-Z0-9_\.-]*\).*/\1/')) grep '\[profile' "${AWS_CONFIG_FILE:-$HOME/.aws/config}"|sed -e 's/.*profile \([a-zA-Z0-9_\.-]*\).*/\1/'
} }
compctl -K aws_profiles asp aws_change_access_key
_aws_profiles() {
reply=($(aws_profiles))
}
compctl -K _aws_profiles asp aws_change_access_key
# AWS prompt # AWS prompt
aws_prompt_info() {
function aws_prompt_info() {
[[ -z $AWS_PROFILE ]] && return [[ -z $AWS_PROFILE ]] && return
echo "${ZSH_THEME_AWS_PREFIX:=<aws:}${AWS_PROFILE}${ZSH_THEME_AWS_SUFFIX:=>}" echo "${ZSH_THEME_AWS_PREFIX:=<aws:}${AWS_PROFILE}${ZSH_THEME_AWS_SUFFIX:=>}"
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment