package com.sequenceiq.cloudbreak.api.model;
import java.util.List;
import javax.validation.constraints.Digits;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import com.sequenceiq.cloudbreak.doc.ModelDescriptions.AccountPreferencesModelDescription;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel("AccountPreference")
public class AccountPreferencesJson implements JsonEntity {
@Min(value = 0, message = "The maximum number of clusters has to be greater than '-1'")
@Digits(fraction = 0, integer = 10, message = "The maximum number of clusters has to be a number")
@ApiModelProperty(AccountPreferencesModelDescription.MAX_NO_CLUSTERS)
private Long maxNumberOfClusters;
@Min(value = 0, message = "The maximum number of vms per cluster has to be greater than '-1'")
@Digits(fraction = 0, integer = 10, message = "The maximum number of vms per cluster has to be a number")
@ApiModelProperty(AccountPreferencesModelDescription.MAX_NO_NODES_PER_CLUSTER)
private Long maxNumberOfNodesPerCluster;
@Min(value = 0, message = "The maximum number of clusters per user has to be greater than '-1'")
@Digits(fraction = 0, integer = 10, message = "The maximum number of clusters per user has to be a number")
@ApiModelProperty(AccountPreferencesModelDescription.MAX_NO_CLUSTERS_PER_USER)
private Long maxNumberOfClustersPerUser;
@ApiModelProperty(AccountPreferencesModelDescription.ALLOWED_INSTANCE_TYPES)
private List<String> allowedInstanceTypes;
@NotNull
@Min(value = 0, message = "The cluster time to live has to be greater than '-1'")
@ApiModelProperty(value = AccountPreferencesModelDescription.CLUSTER_TIME_TO_LIVE, required = true)
private Long clusterTimeToLive;
@NotNull
@Min(value = 0, message = "The account time to live has to be greater than '-1'")
@ApiModelProperty(value = AccountPreferencesModelDescription.ACCOUNT_TIME_TO_LIVE, required = true)
private Long userTimeToLive;
@ApiModelProperty(AccountPreferencesModelDescription.PLATFORMS)
private String platforms;
public Long getMaxNumberOfClusters() {
return maxNumberOfClusters;
}
public void setMaxNumberOfClusters(Long maxNumberOfClusters) {
this.maxNumberOfClusters = maxNumberOfClusters;
}
public Long getMaxNumberOfNodesPerCluster() {
return maxNumberOfNodesPerCluster;
}
public void setMaxNumberOfNodesPerCluster(Long maxNumberOfNodesPerCluster) {
this.maxNumberOfNodesPerCluster = maxNumberOfNodesPerCluster;
}
public List<String> getAllowedInstanceTypes() {
return allowedInstanceTypes;
}
public void setAllowedInstanceTypes(List<String> allowedInstanceTypes) {
this.allowedInstanceTypes = allowedInstanceTypes;
}
public Long getClusterTimeToLive() {
return clusterTimeToLive;
}
public void setClusterTimeToLive(Long clusterTimeToLive) {
this.clusterTimeToLive = clusterTimeToLive;
}
public Long getUserTimeToLive() {
return userTimeToLive;
}
public void setUserTimeToLive(Long userTimeToLive) {
this.userTimeToLive = userTimeToLive;
}
public Long getMaxNumberOfClustersPerUser() {
return maxNumberOfClustersPerUser;
}
public void setMaxNumberOfClustersPerUser(Long maxNumberOfClustersPerUser) {
this.maxNumberOfClustersPerUser = maxNumberOfClustersPerUser;
}
public String getPlatforms() {
return platforms;
}
public void setPlatforms(String platforms) {
this.platforms = platforms;
}
}