awslabs / awslabs/aws-sdk-rust

Allow sdk_config::Config and various ::Clients to be "reopened"

Open
#634 1 comment 1 reaction 0 assignees View on GitHub
feature-request p2
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.