Interface SdkClientBuilder<B extends SdkClientBuilder<B,C>,C>
-
- Type Parameters:
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.
- All Superinterfaces:
Buildable
,SdkBuilder<B,C>
- All Known Implementing Classes:
SdkDefaultClientBuilder
public interface SdkClientBuilder<B extends SdkClientBuilder<B,C>,C> extends SdkBuilder<B,C>
This includes required and optional override configuration required by every client builder. An instance can be acquired by calling the static "builder" method on the type of client you wish to create.Implementations of this interface are mutable and not thread-safe.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method 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.default B
overrideConfiguration(Consumer<ClientOverrideConfiguration.Builder> overrideConfiguration)
Similar tooverrideConfiguration(ClientOverrideConfiguration)
, but takes a lambda to configure a newClientOverrideConfiguration.Builder
.B
overrideConfiguration(ClientOverrideConfiguration overrideConfiguration)
Specify overrides to the default SDK configuration that should be used for clients created by this 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.-
Methods inherited from interface software.amazon.awssdk.utils.builder.SdkBuilder
applyMutation, build
-
-
-
-
Method Detail
-
overrideConfiguration
B overrideConfiguration(ClientOverrideConfiguration overrideConfiguration)
Specify overrides to the default SDK configuration that should be used for clients created by this builder.
-
overrideConfiguration
default B overrideConfiguration(Consumer<ClientOverrideConfiguration.Builder> overrideConfiguration)
Similar tooverrideConfiguration(ClientOverrideConfiguration)
, but takes a lambda to configure a newClientOverrideConfiguration.Builder
. This removes the need to calledClientOverrideConfiguration.builder()
andSdkBuilder.build()
.
-
overrideConfiguration
ClientOverrideConfiguration overrideConfiguration()
Retrieve the current override configuration. This allows further overrides across calls. Can be modified by first converting to a builder withClientOverrideConfiguration.toBuilder()
.- Returns:
- The existing override configuration for the builder.
-
endpointOverride
B endpointOverride(URI endpointOverride)
Configure the endpoint with which the SDK should communicate.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.
-
putAuthScheme
default B putAuthScheme(AuthScheme<?> authScheme)
Configure this client with an additional auth scheme, or replace one already on the client.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.
-
addPlugin
default B addPlugin(SdkPlugin plugin)
Adds a plugin to the client builder. The plugins will be invoked when building the client to allow them to change the configuration of the built client.
-
-