Move default endpoint resolver into a runtime plugin (#3072)
## Motivation and Context In preparation for inlining the old endpoint traits, I'm cleaning up the endpoint resolver behavior. ## Description 1. The `Config` field of `service_runtime_plugin` was unused to I deleted it 2. Store the endpoint resolver in `RuntimeComponents` instead of in operation config. This allows a lot of complex logic around `ConfigOverride` to be removed. 3. Move the default endpoint resolver into a runtime plugin. 4. Don't have a fallback implementation for `EndpointResolver`, allow final construction of `RuntimeComponents` to fail 5. `ServiceRuntimePlugin` has been changed to `Defaults` so that it doesn't overwrite settings set by the service config ## Testing Well covered by existing UT / IT ## 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 smithy-rs codegen or runtime crates - [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