B
- The type of builder that should be returned by the fluent builder methods in this interface.C
- The type of client generated by this builder.public interface SdkClientBuilder<B extends SdkClientBuilder<B,C>,C> extends SdkBuilder<B,C>
Implementations of this interface are mutable and not thread-safe.
Modifier and Type | Method and Description |
---|---|
default B |
addPlugin(SdkPlugin plugin)
Adds a plugin to the client builder.
|
B |
endpointOverride(URI endpointOverride)
Configure the endpoint with which the SDK should communicate.
|
ClientOverrideConfiguration |
overrideConfiguration()
Retrieve the current override configuration.
|
B |
overrideConfiguration(ClientOverrideConfiguration overrideConfiguration)
Specify overrides to the default SDK configuration that should be used for clients created by this builder.
|
default B |
overrideConfiguration(Consumer<ClientOverrideConfiguration.Builder> overrideConfiguration)
Similar to
overrideConfiguration(ClientOverrideConfiguration) , but takes a lambda to configure a new
ClientOverrideConfiguration.Builder . |
default List<SdkPlugin> |
plugins()
Returns the list of plugins configured on the client builder.
|
default B |
putAuthScheme(AuthScheme<?> authScheme)
Configure this client with an additional auth scheme, or replace one already on the client.
|
applyMutation, build
B overrideConfiguration(ClientOverrideConfiguration overrideConfiguration)
default B overrideConfiguration(Consumer<ClientOverrideConfiguration.Builder> overrideConfiguration)
overrideConfiguration(ClientOverrideConfiguration)
, but takes a lambda to configure a new
ClientOverrideConfiguration.Builder
. This removes the need to called ClientOverrideConfiguration.builder()
and ClientOverrideConfiguration.Builder#build()
.ClientOverrideConfiguration overrideConfiguration()
ClientOverrideConfiguration.toBuilder()
.B endpointOverride(URI endpointOverride)
It is important to know that EndpointProvider
s and the endpoint override on the client are not mutually
exclusive. In all existing cases, the endpoint override is passed as a parameter to the provider and the provider *may*
modify it. For example, the S3 provider may add the bucket name as a prefix to the endpoint override for virtual bucket
addressing.
default B putAuthScheme(AuthScheme<?> authScheme)
By default, the SDK will only know about default auth schemes that ship with the service. If you want to modify those existing auth schemes or add a custom one (you select with a custom auth scheme resolver), you can add that new auth scheme with this method.
default B addPlugin(SdkPlugin plugin)
Copyright © 2023. All rights reserved.