in s3-artifact-storage-server/src/main/java/jetbrains/buildServer/artifacts/s3/amazonClient/impl/AmazonS3ProviderImpl.java [286:327]
private <T, E extends Exception> T withCloudFrontClient(@NotNull final Map<String, String> params,
@NotNull final String projectId,
@NotNull final WithCloudFrontClient<T, E> withClient,
final boolean shutdownImmediately) throws E, ConnectionCredentialsException {
if (ParamUtil.withAwsConnectionId(params)) {
AwsConnectionCredentials awsConnectionCredentials = getAwsConnectionCredentials(params, projectId);
final CloudFrontClient client = CloudFrontClient.builder()
.defaultsMode(DefaultsMode.STANDARD)
.region(Region.of(awsConnectionCredentials.getAwsRegion()))
.httpClientBuilder(ClientConfigurationBuilder.createClientBuilder("cloudFront"))
.overrideConfiguration(ClientConfigurationBuilder.clientOverrideConfigurationBuilder().build())
.credentialsProvider(awsConnectionCredentials.toAWSCredentialsProvider())
.build();
try {
return withClient.execute(client);
} finally {
if (shutdownImmediately) {
S3Util.shutdownClient(client);
}
}
} else {
try {
return AWSCommonParams.withAWSClients(params, clients -> {
clients.setS3SignerType(S3_SIGNER_TYPE);
clients.setDisablePathStyleAccess(disablePathStyleAccess(params));
clients.setAccelerateModeEnabled(isAccelerateModeEnabled(params));
patchAWSClientsSsl(clients, params);
final CloudFrontClient client = clients.createCloudFrontClient();
try {
return withClient.execute(client);
} finally {
if (shutdownImmediately) {
S3Util.shutdownClient(client);
}
}
});
} catch (Throwable t) {
throw new ConnectionCredentialsException(new Exception(t));
}
}
}