Thread through `BehaviorVersion` to S3 Express identity provider (#3478)
## Motivation and Context A follow-up task that resolves one of the `TODO(Post S3Express release)` ## Description This PR ensures that `BehaviorVersion` is threaded through from an outer S3 client to the inner S3 client when `DefaultS3ExpressIdentityProvider` is constructed. I considered the alternative where `BehaviorVersion` would be stored in `ConfigBag`using another flavor like `StoreOnce` and obtained from the bag within `DefaultS3ExpressIdentityProvider::express_session_credentials`. But ensuring `StoreOnce` per `ConfigBag` was not enough for `BehaviorVersion` since there could be nested `ConfigBag`s where each `ConfigBag` was separate. `BehaviorVersion` needs to be unique across those different `ConfigBag`s and the fact that we store `BehaviorVersion` outside `RuntimeComponents` or `ConfigBag` is a reasonable choice from that perspective (the ease of guaranteeing the uniqueness of `BehaviorVersion`). ## Testing Relied on existing tests in CI. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
Loading
Please register or sign in to comment