package com.sequenceiq.cloudbreak.api.model;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.sequenceiq.cloudbreak.doc.ModelDescriptions;
import io.swagger.annotations.ApiModelProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class SecurityGroupBase {
@Size(max = 100, min = 1, message = "The length of the security group's name has to be in range of 1 to 100")
@Pattern(regexp = "([a-z][-a-z0-9]*[a-z0-9])",
message = "The security group's name can only contain lowercase alphanumeric characters and hyphens and has start with an alphanumeric character")
@NotNull
@ApiModelProperty(value = ModelDescriptions.NAME, required = true)
private String name;
@ApiModelProperty(value = ModelDescriptions.DESCRIPTION)
@Size(max = 1000)
private String description;
@ApiModelProperty(value = ModelDescriptions.SecurityGroupModelDescription.SECURITY_GROUP_ID)
private String securityGroupId;
@ApiModelProperty(value = ModelDescriptions.CLOUD_PLATFORM, required = true)
@NotNull
private String cloudPlatform;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getSecurityGroupId() {
return securityGroupId;
}
public void setSecurityGroupId(String securityGroupId) {
this.securityGroupId = securityGroupId;
}
public String getCloudPlatform() {
return cloudPlatform;
}
public void setCloudPlatform(String cloudPlatform) {
this.cloudPlatform = cloudPlatform;
}
}