All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.cluster.util.clients.AbstractClientBuilder Maven / Gradle / Ivy

The newest version!
package prerna.cluster.util.clients;

public abstract class AbstractClientBuilder implements ICloudClientBuilder {

	public static String RCLONE_PATH = "RCLONE_PATH";

	// s3 prefix is used for minio as well
	public static final String S3_REGION_KEY = "S3_REGION";
	public static final String S3_BUCKET_KEY = "S3_BUCKET";
	public static final String S3_ACCESS_KEY = "S3_ACCESS_KEY";
	public static final String S3_SECRET_KEY = "S3_SECRET_KEY";
	public static final String S3_ENDPOINT_KEY = "S3_ENDPOINT";
	
	// gcp keys
	public static final String GCP_SERVICE_ACCOUNT_FILE_KEY = "GCP_SERVICE_ACCOUNT_FILE";
	public static final String GCP_REGION_KEY = "GCP_REGION";
	public static final String GCP_BUCKET_KEY = "GCP_BUCKET";
	
	// az keys
	public static final String AZ_CONN_STRING = "AZ_CONN_STRING";
	public static final String AZ_NAME = "AZ_NAME";
	public static final String AZ_KEY = "AZ_KEY";
	public static final String AZ_GENERATE_DYNAMIC_SAS = "AZ_GENERATE_DYNAMIC_SAS";
	public static final String SAS_URL = "SAS_URL";
	public static final String AZ_URI = "AZ_URI";
	public static final String STORAGE = "STORAGE"; // says if this is local / cluster
	public static final String KEY_HOME = "KEY_HOME"; // this is where the various keys are cycled
	
	protected String rclonePath = "rclone";
	protected String rcloneConfigF = null;
	
	@Override
	public ICloudClientBuilder setRClonePath(String rclonePath) {
		if(rclonePath != null && !rclonePath.isEmpty()) {
			if(rclonePath.contains(" ") && !rclonePath.startsWith("\"")) {
				// need start quote
				rclonePath = "\""+rclonePath;
			}
			if(rclonePath.contains(" ") && !rclonePath.endsWith("\"")) {
				// need start quote
				rclonePath = rclonePath+"\"";
			}
			this.rclonePath = rclonePath;
		}
		return this;
	}
	
	@Override
	public ICloudClientBuilder setRCloneConfigFolder(String rcloneConfigF) {
		this.rcloneConfigF = rcloneConfigF;
		return this;
	}
	
	@Override
	public String getRClonePath() {
		return rclonePath;
	}
	
	@Override
	public String getRCloneConfigFolder() {
		return rcloneConfigF;
	}
	
	

}
 




© 2015 - 2025 Weber Informatics LLC | Privacy Policy