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 Detail

      • overrideConfiguration

        B overrideConfiguration​(ClientOverrideConfiguration overrideConfiguration)
        Specify overrides to the default SDK configuration that should be used for clients created by this builder.
      • endpointOverride

        B endpointOverride​(URI endpointOverride)
        Configure the endpoint with which the SDK should communicate.

        It is important to know that EndpointProviders 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.
      • plugins

        default List<SdkPlugin> plugins()
        Returns the list of plugins configured on the client builder.