awslabs / awslabs/aws-sdk-rust
Allow sdk_config::Config and various ::Clients to be "reopened"
- Dominant language
- Rust
- Stars
- 3.3k
- Forks
- 290
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 3
Description
### Describe the feature
From a couple chats, something like:
> Is there a supported way send different credentials per requests with the S3Client? Right now, i'm creating a new aws_types::sdk_config::SdkConfig with different credentials_provider and passing that into a new S3 Client per request that uses different credentials. - @skrueger
This also applies to making requests to multiple regions, using different roles, etc. It would be nice to have some "reopening" of a Config or Client to get a builder, change the options, and keeping it around.
### Use Case
I'm frustrated when I need to re-load the AWS environment to make an equivalent request across multiple regions. With this feature, I could create one Client with my common options, and then iterate the alternatives to quickly make the requests withy varying configs.
### Proposed Solution
_No response_
### Other Information
_No response_
### Acknowledgements
- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### A note for the community
### Community Note
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue, please leave a comment
Contributor guide
Research direction
Start by reading the sdk_config::Config and the affected ::Clients, especially how credentials, regions, and client construction are currently handled. Define the supported reopening or builder behavior for changing options while retaining common configuration, then validate it across requests using different credentials, roles, or regions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, rust
- Domain
- api, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100