/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved.
*
*/
package net.northking.cctp.saas.dto.datasource;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.*;
import java.io.Serializable;

/**
* Restful接口--新增资源--数据传输对象：数据库节点
*
* createdate:  2021-03-16 16:24:39  <br>
* @author:  maven-cctp-plugin  <br>
* @since:  1.0 <br>
*/
@JsonSerialize
@ApiModel(description = "数据库节点")
public class SaaSDataSourceAddDto implements Serializable
{
  /**
   * 主键<br>
   */
  @ApiModelProperty("主键")
  @Size(max = 32, message="主键-id: 数据长度不能 > 32" )
  private String id;
  /**
   * 数据库集群<br>
   */
  @ApiModelProperty("数据库集群")
  @Size(max = 32, message="数据库集群-clusterId: 数据长度不能 > 32" )
  @NotBlank(message = "数据库集群-clusterId: 不可为空")
  private String clusterId;
  /**
   * 数据库类型<br>
   */
  @ApiModelProperty("数据库类型")
  @Size(max = 16, message="数据库类型-databaseType: 数据长度不能 > 16" )
  @NotBlank(message = "数据库类型-databaseType: 不可为空")
  private String databaseType;
  /**
   * 节点类型 master-主；slaver-从<br>
   */
  @ApiModelProperty("节点类型 master-主；slaver-从")
  @Size(max = 16, message="节点类型 master-主；slaver-从-nodeType: 数据长度不能 > 16" )
  @NotBlank(message = "节点类型-nodeType: 不可为空")
  private String nodeType;
  /**
   * IP地址<br>
   */
  @ApiModelProperty("IP地址")
  @Size(max = 32, message="IP地址-srvIp: 数据长度不能 > 32" )
  @NotBlank(message = "IP地址-srvIp: 不可为空")
  private String srvIp;
  /**
   * 端口<br>
   */
  @ApiModelProperty("端口")
  @NotNull(message = "端口-srvPort: 不可为空")
  private Integer srvPort;
  /**
   * 驱动名称<br>
   */
  @ApiModelProperty("驱动名称")
  @Size(max = 128, message="驱动名称-driverClassName: 数据长度不能 > 128" )
  @NotBlank(message = "驱动名称-driverClassName: 不可为空")
  private String driverClassName;
  /**
   * 连接地址<br>
   */
  @ApiModelProperty("连接地址")
  @Size(max = 512, message="连接地址-url: 数据长度不能 > 512" )
  @NotBlank(message = "连接地址-url: 不可为空")
  private String url;
  /**
   * 用户名<br>
   */
  @ApiModelProperty("用户名")
  @Size(max = 32, message="用户名-username: 数据长度不能 > 32" )
  @NotBlank(message = "用户名-username: 不可为空")
  private String username;
  /**
   * 密码<br>
   */
  @ApiModelProperty("密码")
  @Size(max = 32, message="密码-password: 数据长度不能 > 32" )
  @NotBlank(message = "密码-password: 不可为空")
  private String password;
  /**
   * 最大连接数<br>
   */
  @ApiModelProperty("最大连接数")
  private Integer maxPoolSize;
  /**
   * 最小空闲数<br>
   */
  @ApiModelProperty("最小空闲数")
  private Integer minIdle;

  public String getId()
  {
    return id;
  }

  public void setId(String id)
  {
    this.id = id;
  }

  public String getClusterId()
  {
    return clusterId;
  }

  public void setClusterId(String clusterId)
  {
    this.clusterId = clusterId;
  }

  public String getDatabaseType()
  {
    return databaseType;
  }

  public void setDatabaseType(String databaseType)
  {
    this.databaseType = databaseType;
  }

  public String getNodeType()
  {
    return nodeType;
  }

  public void setNodeType(String nodeType)
  {
    this.nodeType = nodeType;
  }

  public String getSrvIp()
  {
    return srvIp;
  }

  public void setSrvIp(String srvIp)
  {
    this.srvIp = srvIp;
  }

  public Integer getSrvPort()
  {
    return srvPort;
  }

  public void setSrvPort(Integer srvPort)
  {
    this.srvPort = srvPort;
  }

  public String getDriverClassName()
  {
    return driverClassName;
  }

  public void setDriverClassName(String driverClassName)
  {
    this.driverClassName = driverClassName;
  }

  public String getUrl()
  {
    return url;
  }

  public void setUrl(String url)
  {
    this.url = url;
  }

  public String getUsername()
  {
    return username;
  }

  public void setUsername(String username)
  {
    this.username = username;
  }

  public String getPassword()
  {
    return password;
  }

  public void setPassword(String password)
  {
    this.password = password;
  }

  public Integer getMaxPoolSize()
  {
    return maxPoolSize;
  }

  public void setMaxPoolSize(Integer maxPoolSize)
  {
    this.maxPoolSize = maxPoolSize;
  }

  public Integer getMinIdle()
  {
    return minIdle;
  }

  public void setMinIdle(Integer minIdle)
  {
    this.minIdle = minIdle;
  }
}