in aws-core-common/src/main/java/jetbrains/buildServer/util/amazon/AWSClients.java [122:156]
public S3Client createS3Client() {
ClientOverrideConfiguration.Builder overrideConfigurationBuilder = ClientConfigurationBuilder.clientOverrideConfigurationBuilder();
if (StringUtil.isNotEmpty(myS3SignerType)) {
overrideConfigurationBuilder.putAdvancedOption(SdkAdvancedClientOption.SIGNER, SIGNERS.getOrDefault(myS3SignerType, DEFAULT));
}
S3ClientBuilder builder = S3Client.builder()
.defaultsMode(DefaultsMode.STANDARD)
.httpClientBuilder(ClientConfigurationBuilder.createClientBuilder(null, mySocketFactory))
.overrideConfiguration(overrideConfigurationBuilder.build())
.serviceConfiguration(
config -> config.accelerateModeEnabled(myAccelerateModeEnabled)
.pathStyleAccessEnabled(!myDisablePathStyleAccess)
);
if (myCredentials != null) {
builder.credentialsProvider(StaticCredentialsProvider.create(myCredentials));
}
// null in myRegion will cause S3 client instantiation to fail
// we ensure, that we have at least default region
String region = myRegion;
if (myRegion == null) {
region = AwsCloudConnectorConstants.REGION_NAME_DEFAULT;
}
if (StringUtil.isNotEmpty(myServiceEndpoint)) {
builder.endpointOverride(URI.create(myServiceEndpoint));
}
builder.region(Region.of(region));
return builder.build();
}