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; } }