fix(cli): AssumeRole profiles require a [default] profile #10032
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This works around a bug in the AWS SDK for JS that only surfaced when
we switched to
AWS_STS_REGIONAL_ENDPOINTS=regional
, requiring a[default]
profile with a region for all users.The bug was that the INI-file AssumeRole provider would ignore the
region in the profile, and always fall back to the region in:
$AWS_PROFILE
(which we don't use).[default]
profile (which a usermay or may not have).
Traditionally it didn't really matter whether the STS client got a
region or not because it would always connect to
us-east-1
no matterwhat, but when we switched to
AWS_STS_REGIONAL_ENDPOINTS=regional
, itbecame illegal to not have a region.
Fix the upstream bug by basically replicating the important parts of
SharedIniFileCredentials
of the AWS SDK in our codebase and patchingthe bug.
Reported upstreeam as aws/aws-sdk-js#3418
Fixes #9937
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license