
software.amazon.awssdk.services.s3.S3BaseClientBuilder Maven / Gradle / Ivy
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package software.amazon.awssdk.services.s3;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.awscore.client.builder.AwsClientBuilder;
import software.amazon.awssdk.services.s3.auth.scheme.S3AuthSchemeProvider;
import software.amazon.awssdk.services.s3.endpoints.S3EndpointProvider;
/**
* This includes configuration specific to Amazon S3 that is supported by both {@link S3ClientBuilder} and
* {@link S3AsyncClientBuilder}.
*/
@Generated("software.amazon.awssdk:codegen")
@SdkPublicApi
public interface S3BaseClientBuilder, C> extends AwsClientBuilder {
B serviceConfiguration(S3Configuration serviceConfiguration);
default B serviceConfiguration(Consumer serviceConfiguration) {
return serviceConfiguration(S3Configuration.builder().applyMutation(serviceConfiguration).build());
}
/**
* Set the {@link S3EndpointProvider} implementation that will be used by the client to determine the endpoint for
* each request. This is optional; if none is provided a default implementation will be used the SDK.
*/
default B endpointProvider(S3EndpointProvider endpointProvider) {
throw new UnsupportedOperationException();
}
/**
* Set the {@link S3AuthSchemeProvider} implementation that will be used by the client to resolve the auth scheme
* for each request. This is optional; if none is provided a default implementation will be used the SDK.
*/
default B authSchemeProvider(S3AuthSchemeProvider authSchemeProvider) {
throw new UnsupportedOperationException();
}
/**
* Enables this client to use S3 Transfer Acceleration endpoints.
*/
B accelerate(Boolean accelerate);
/**
* Disables this client's usage of Multi-Region Access Points.
*/
B disableMultiRegionAccessPoints(Boolean disableMultiRegionAccessPoints);
/**
* Disables this client's usage of Session Auth for S3Express buckets and reverts to using conventional SigV4 for
* those.
*/
B disableS3ExpressSessionAuth(Boolean disableS3ExpressSessionAuth);
/**
* Forces this client to use path-style addressing for buckets.
*/
B forcePathStyle(Boolean forcePathStyle);
/**
* Enables this client to use an ARN's region when constructing an endpoint instead of the client's configured
* region.
*/
B useArnRegion(Boolean useArnRegion);
/**
* Enables cross-region bucket access for this client
*/
B crossRegionAccessEnabled(Boolean crossRegionAccessEnabled);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy