package com.sequenceiq.cloudbreak.cloud.openstack.view;
import static org.apache.commons.lang3.StringUtils.deleteWhitespace;
import com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext;
import com.sequenceiq.cloudbreak.cloud.model.CloudCredential;
public class KeystoneCredentialView {
public static final String CB_KEYSTONE_V2 = "cb-keystone-v2";
public static final String CB_KEYSTONE_V3_DEFAULT_SCOPE = "cb-keystone-v3-default-scope";
public static final String CB_KEYSTONE_V3_PROJECT_SCOPE = "cb-keystone-v3-project-scope";
public static final String CB_KEYSTONE_V3_DOMAIN_SCOPE = "cb-keystone-v3-domain-scope";
private static final String CB_KEYPAIR_NAME = "cb";
private CloudCredential cloudCredential;
private String stackName;
public KeystoneCredentialView(AuthenticatedContext authenticatedContext) {
this.stackName = authenticatedContext.getCloudContext().getName() + "_" + authenticatedContext.getCloudContext().getId();
this.cloudCredential = authenticatedContext.getCloudCredential();
}
public String getKeyPairName() {
return String.format("%s-%s-%s-%s", CB_KEYPAIR_NAME, getStackName(), deleteWhitespace(getName().toLowerCase()), cloudCredential.getId());
}
public String getName() {
return cloudCredential.getName();
}
public String getStackName() {
return stackName;
}
public String getPublicKey() {
return cloudCredential.getPublicKey();
}
public String getUserName() {
return cloudCredential.getParameter("userName", String.class);
}
public String getPassword() {
return cloudCredential.getParameter("password", String.class);
}
public String getTenantName() {
return cloudCredential.getParameter("tenantName", String.class);
}
public String getEndpoint() {
return cloudCredential.getParameter("endpoint", String.class);
}
public String getUserDomain() {
return cloudCredential.getParameter("userDomain", String.class);
}
public String getProjectName() {
return cloudCredential.getParameter("projectName", String.class);
}
public String getProjectDomain() {
return cloudCredential.getParameter("projectDomainName", String.class);
}
public String getDomainName() {
return cloudCredential.getParameter("domainName", String.class);
}
public String getScope() {
return cloudCredential.getParameter("keystoneAuthScope", String.class);
}
public String getVersion() {
return cloudCredential.getParameter("keystoneVersion", String.class);
}
}