package com.sequenceiq.cloudbreak.cloud.aws.view;
import java.util.List;
import com.sequenceiq.cloudbreak.cloud.model.InstanceTemplate;
import com.sequenceiq.cloudbreak.cloud.model.Volume;
public class AwsInstanceView {
private InstanceTemplate instanceTemplate;
public AwsInstanceView(InstanceTemplate instanceTemplate) {
this.instanceTemplate = instanceTemplate;
}
public List<Volume> getVolumes() {
return instanceTemplate.getVolumes();
}
public String getFlavor() {
return instanceTemplate.getFlavor();
}
public String getVolumeType() {
return instanceTemplate.getVolumeType();
}
public int getVolumeSize() {
return instanceTemplate.getVolumeSize();
}
public String getGroupName() {
return instanceTemplate.getGroupName();
}
public Long getPrivateId() {
return instanceTemplate.getPrivateId();
}
public boolean isEncryptedVolumes() {
Object ev = instanceTemplate.getParameter("encrypted", Object.class);
if (ev instanceof Boolean) {
return ((Boolean) ev).booleanValue();
}
if (ev instanceof String) {
return Boolean.parseBoolean((String) ev);
}
return false;
}
public Double getSpotPrice() {
Object sv = instanceTemplate.getParameter("spotPrice", Object.class);
if (sv instanceof Double) {
return (Double) sv;
}
if (sv instanceof Integer) {
return ((Integer) sv).doubleValue();
}
if (sv instanceof String) {
return Double.parseDouble((String) sv);
}
return null;
}
}