BREAKING: Updated endpoint resolution #761
lucix-aws
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
An upcoming release of the AWS SDK for Kotlin includes redesigned endpoint resolution, as well as support for a host of endpoint-related AWS features.
This release will break any code that currently references the
EndpointResolver
interface.Release date
This feature will ship with the
v0.18.0
release planned for 11/22/22.What's changing?
Client implementations in the SDK are generated from service models written in smithy. A recent update to the smithy IDL included support for endpoint rules. Endpoint rules, in brief, define an intermediate language that dictates how endpoints are resolved within the context of a request.
The principal benefit of this feature is to allow service teams (S3, Lambda, etc.) to define the logic for how to resolve endpoints such that SDKs can generate implementations to do so.
The switch to using modeled endpoint providers comes with a host of AWS SDK features that in the past would have required hand-written customizations:
The
EndpointResolver
interface, which was previously a static type within the runtime:has been refactored into a per-service type known as
EndpointProvider
:The resolve method (now
resolveEndpoint
) now takes a set of service-specific parameters. The way in which the parameters are set is an implementation detail of the SDK and can vary per-request.How to migrate
EndpointResolver
to use FIPS or dualstack endpoints, you can most likely remove this and instead set the client config fieldsuseFips
anduseDualStack
accordingly.EndpointResolver
for any other reason, you will need to update your implementation according to the new per-service type.Additional resources
If you have any questions concerning this change, please feel free to engage with us in this discussion. If you've encountered a bug with these changes, please file an issue.
Beta Was this translation helpful? Give feedback.
All reactions