in s3-artifact-storage-server/src/main/java/jetbrains/buildServer/artifacts/s3/settings/S3PropertiesProcessor.java [19:46]
public Collection<InvalidProperty> process(Map<String, String> params) {
final ArrayList<InvalidProperty> invalids = new ArrayList<>();
if (ParamUtil.withAwsConnectionId(params)) {
invalids.addAll(new ChosenAwsConnPropertiesProcessor().process(params));
} else {
final Map<String, String> awsErrors = new HashMap<>();
if (!StringUtil.isTrue(params.get(AWSCommonParams.USE_DEFAULT_CREDENTIAL_PROVIDER_CHAIN_PARAM))){
AWSCommonParams.verifyAccessKeys(params, awsErrors);
}
for (Map.Entry<String, String> e : awsErrors.entrySet()) {
invalids.add(new InvalidProperty(e.getKey(), e.getValue()));
}
}
for (Map.Entry<String, String> e : S3Util.validateParameters(params, true).entrySet()) {
invalids.add(new InvalidProperty(e.getKey(), e.getValue()));
}
final String bucketName = S3Util.getBucketName(params);
if (bucketName != null) {
if (CloudFrontConstants.isEnabled() && S3Util.getCloudFrontEnabled(params)) {
invalids.addAll(new CloudFrontPropertiesProcessor().process(params));
}
}
return invalids;
}