in src/main/java/ProjectFactory.java [30:73]
public String createProject(String projectName, String description,
ProjectSource source,
ProjectArtifacts artifacts,
ProjectEnvironment environment, String serviceIAMRole, String timeout,
String encryptionKey) throws Exception {
ListProjectsRequest lpRequest;
ListProjectsResult lpResult;
List<String> projects = new ArrayList<String>();
String nextToken = null;
do {
lpRequest = new ListProjectsRequest().withNextToken(nextToken);
lpResult = cbClient.listProjects(lpRequest);
nextToken = lpResult.getNextToken();
projects.addAll(lpResult.getProjects());
} while(nextToken != null);
if(projects.contains(projectName)) {
UpdateProjectResult upResult = cbClient.updateProject(new UpdateProjectRequest()
.withName(projectName)
.withDescription(description)
.withSource(source)
.withArtifacts(artifacts)
.withEnvironment(environment)
.withServiceRole(serviceIAMRole)
.withTimeoutInMinutes(parseInt(timeout))
.withEncryptionKey(encryptionKey));
return upResult.getProject().getName();
} else {
CreateProjectResult cpResult = cbClient.createProject(new CreateProjectRequest()
.withName(projectName)
.withDescription(description)
.withSource(source)
.withArtifacts(artifacts)
.withEnvironment(environment)
.withServiceRole(serviceIAMRole)
.withTimeoutInMinutes(parseInt(timeout))
.withEncryptionKey(encryptionKey));
return cpResult.getProject().getName();
}
}