Skip to content

Instantly share code, notes, and snippets.

@ckabalan
Last active June 3, 2019 22:39
Show Gist options
  • Save ckabalan/fc728f183cf3e5039b623a25df6664d2 to your computer and use it in GitHub Desktop.
Save ckabalan/fc728f183cf3e5039b623a25df6664d2 to your computer and use it in GitHub Desktop.
AWS Run Across Accounts / Regions
aws_all_div () {
COMMAND=`cat`
API_LIST=(
'profile_name_1 region_1'
'profile_name_2 region_1'
'profile_name_3 region_1'
'profile_name_1 region_2'
'profile_name_2 region_2'
'profile_name_3 region_2'
'profile_name_1 region_3'
'profile_name_2 region_3'
'profile_name_3 region_3'
)
WIDTH=`tput cols`
for API in $API_LIST; do
AWS_DEFAULT_REGION="$(cut -d' ' -f2 <<<"$API")"
AWS_PROFILE="$(cut -d' ' -f1 <<<"$API")"
AWSNAME=$AWS_PROFILE/$AWS_DEFAULT_REGION
AWSNAMELEN=${#AWSNAME}
CENTERWIDTH=`expr $WIDTH - $AWSNAMELEN - $AWSNAMELEN - 14`
CENTERSTR=`head -c $CENTERWIDTH < /dev/zero | tr '\0' '\55'`
echo "----- $AWSNAME $CENTERSTR $AWSNAME -----"
eval "$COMMAND" | sed "s/.*/$AWS_PROFILE\t$AWS_DEFAULT_REGION\t&/"
done
}
aws_all () {
COMMAND=`cat`
API_LIST=(
'profile_name_1 region_1'
'profile_name_2 region_1'
'profile_name_3 region_1'
'profile_name_1 region_2'
'profile_name_2 region_2'
'profile_name_3 region_2'
'profile_name_1 region_3'
'profile_name_2 region_3'
'profile_name_3 region_3'
)
for API in $API_LIST; do
AWS_DEFAULT_REGION="$(cut -d' ' -f2 <<<"$API")"
AWS_PROFILE="$(cut -d' ' -f1 <<<"$API")"
eval "$COMMAND" | sed "s/.*/$AWS_PROFILE\t$AWS_DEFAULT_REGION\t&/"
done
}
And to run:
aws_all <<EOF;
aws sts get-caller-identity | jq '"\(.Arn)"'
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment