fix(aws): set region from default profile

By default when there is no region set:
```
$ asp <my-profile>
$ env | grep -i aws
AWS_DEFAULT_PROFILE=<my-profile>
AWS_PROFILE=<my-profile>
AWS_EB_PROFILE=<my-profile>
AWS_REGION=
AWS_DEFAULT_REGION=
```

we get this error for this command if we are using regional STS endpoints:
```
$ aws sts get-caller-identity | jq .Arn

Invalid endpoint: https://sts..amazonaws.com
```

This PR ensures that a default region is always set. By default comes from `default` profile configuration, and defaults to `us-east-1`
This commit is contained in:
Junaid Ali 2025-09-19 15:02:15 +01:00 committed by GitHub
commit 3ffd03a59c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -43,6 +43,14 @@ function asp() {
export AWS_EB_PROFILE=$1
export AWS_PROFILE_REGION=$(aws configure get region)
if [[ -z "${AWS_PROFILE_REGION}" ]]; then
if [[ -z "${available_profiles[(r)default]}" ]]; then
echo "region defaulting to us-east-1"
else
export AWS_PROFILE_REGION=$(aws configure get region --profile default)
fi
fi
export AWS_REGION=$AWS_PROFILE_REGION
_aws_update_state