fix: Cache AWS Creds instead of getting a Session on every invoke #1494
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.
Addresses Issue #1375.
Due to Boto3.session.Session objects not being thread safe, we
create a Session object on every invoke to get credentials to
mount into the container. This works well except for customers
using MFA. When using MFA, this dehavior requires customers to
provide MFA code/pin on every invoke. This creates much longer
debug sessions for customers and pauses invokes until the MFA
code/pin is provided. This PR changes that behavior to one we
had between version v0.8.0 and v0.16.0, which is caching the
creds/session to be reused on other invokes until the credentials
expire. Once the credentials expire, customers will need to restart
the command (which was the same behavior on version 0.8.0 to 0.16.0.
Issue #, if available:
Description of changes:
Checklist:
make pr
passesBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.