in aws-core-common/src/main/java/jetbrains/buildServer/util/amazon/AWSCommonParams.java [307:336]
private static AWSClients createAWSClients(@NotNull Map<String, String> params) {
final String regionName = getRegionName(params);
final String accessKeyId = getAccessKeyId(params);
final String secretAccessKey = getSecretAccessKey(params);
final AWSClients awsClients;
if (isTempCredentialsOption(getCredentialsType(params))) {
final String iamRoleARN = getIamRoleArnParam(params);
final String externalID = getExternalId(params);
final String sessionName = getStringOrDefault(params.get(TEMP_CREDENTIALS_SESSION_NAME_PARAM), TEMP_CREDENTIALS_SESSION_NAME_DEFAULT_PREFIX + new Date().getTime());
final int sessionDuration = getIntegerOrDefault(params.get(TEMP_CREDENTIALS_DURATION_SEC_PARAM), TEMP_CREDENTIALS_DURATION_SEC_DEFAULT);
awsClients = isUseDefaultCredentialProviderChain(params)
? fromSessionCredentials(iamRoleARN, externalID, sessionName, sessionDuration, regionName)
: fromSessionCredentials(accessKeyId, secretAccessKey, iamRoleARN, externalID, sessionName, sessionDuration, regionName);
} else {
awsClients = isUseDefaultCredentialProviderChain(params) ?
fromDefaultCredentialProviderChain(regionName) :
fromBasicCredentials(accessKeyId, secretAccessKey, regionName);
}
final String environmentType = params.get(ENVIRONMENT_NAME_PARAM);
if (StringUtil.areEqualIgnoringCase(ENVIRONMENT_TYPE_CUSTOM, environmentType)) {
final String serviceEndpoint = params.get(SERVICE_ENDPOINT_PARAM);
awsClients.setServiceEndpoint(serviceEndpoint);
}
return awsClients;
}