in src/main/java/AWSClientFactory.java [91:149]
public AWSClientFactory(String credentialsType, String credentialsId, String proxyHost, String proxyPort, String awsAccessKey, Secret awsSecretKey, String awsSessionToken,
String region, Run<?, ?> build, StepContext stepContext) {
this.awsAccessKey = sanitize(awsAccessKey);
this.awsSecretKey = awsSecretKey;
this.awsSessionToken = sanitize(awsSessionToken);
this.region = sanitize(region);
this.properties = new Properties();
CodeBuilderValidation.checkAWSClientFactoryRegionConfig(this.region);
this.credentialsDescriptor = "";
if(credentialsType.equals(CredentialsType.Jenkins.toString())) {
credentialsId = sanitize(credentialsId);
CodeBuilderValidation.checkAWSClientFactoryJenkinsCredentialsConfig(credentialsId);
com.amazonaws.codebuild.jenkinsplugin.CodeBuildBaseCredentials codeBuildCredentials;
codeBuildCredentials = (CodeBuildBaseCredentials) CredentialsMatchers.firstOrNull(SystemCredentialsProvider.getInstance().getCredentials(),
CredentialsMatchers.allOf(CredentialsMatchers.withId(credentialsId)));
if(codeBuildCredentials == null) {
Item folder;
Jenkins instance = Jenkins.getInstance();
if(instance != null) {
folder = instance.getItemByFullName(build.getParent().getParent().getFullName());
codeBuildCredentials = (CodeBuildBaseCredentials) CredentialsMatchers.firstOrNull(CredentialsProvider.lookupCredentials(Credentials.class, folder),
CredentialsMatchers.allOf(CredentialsMatchers.withId(credentialsId)));
}
}
if(codeBuildCredentials != null) {
this.awsCredentialsProvider = codeBuildCredentials;
this.proxyHost = codeBuildCredentials.getProxyHost();
this.proxyPort = parseInt(codeBuildCredentials.getProxyPort());
this.credentialsDescriptor = codeBuildCredentials.getCredentialsDescriptor() + " (provided from Jenkins credentials " + credentialsId + ")";
} else {
throw new InvalidInputException(CodeBuilderValidation.invalidCredentialsIdError);
}
} else if(credentialsType.equals(CredentialsType.Keys.toString())) {
if(this.awsSecretKey == null) {
throw new InvalidInputException(invalidSecretKeyError);
}
if(stepContext != null && awsAccessKey.isEmpty() && awsSecretKey.getPlainText().isEmpty()) {
try {
EnvVars stepEnvVars = stepContext.get(EnvVars.class);
awsCredentialsProvider = getStepCreds(stepEnvVars);
} catch (IOException|InterruptedException e) {}
}
if(awsCredentialsProvider == null) {
awsCredentialsProvider = getBasicCredentialsOrDefaultChain(sanitize(awsAccessKey), awsSecretKey.getPlainText(), sanitize(awsSessionToken));
}
this.proxyHost = sanitize(proxyHost);
this.proxyPort = parseInt(proxyPort);
} else {
throw new InvalidInputException(invalidCredTypeError);
}
}