package com.bocloud.cmp.model;

import com.alibaba.fastjson.JSONArray;

import java.util.List;

/**
 * 负载均衡器成员池业务类
 *
 * @author wangyu
 * @version 1.0
 * @since 2017年9月4日
 */
public class LbPoolModel {
    private String poolUuid;// 池UUID
    private String tenantUuid;// 租户UUID
    private String name;// 名称
    private String remark;// 描述
    private String protocol;// 协议(HTTP/HTTPS/TCP)
    private String lbMethod;// 负载均衡方法(ROUND_ROBIN/LEAST_CONNECTIONS/SOURCE_IP)
    private String cookieName;// cookie名称
    private String type;// 会话持久类型(APP_COOKIE/HTTP_COOKIE/SOURCE_IP)
    private Boolean adminStateUp;// 管理状态
    private String listenerUuid;// 监听UUID
    private List<String> listenerUuids;// 所有监听UUID
    private List<String> memberUuids;// 成员UUID
    private String hmUuid;// 健康检查UUID
    private HealthMonitorModel model;
    private String lbUuid;// 负载均衡UUID
    private Integer persistenceTimeout;// 会话保持的超时时间
    // 阿里云
    private String lbId;// 负载均衡器id
    private JSONArray listeners;// 绑定的监听器列表

    //火山云
    private List<LbMemberModel> memberModels;//虚拟服务器

    public List<LbMemberModel> getMemberModels() {
        return this.memberModels;
    }

    public void setMemberModels(final List<LbMemberModel> memberModels) {
        this.memberModels = memberModels;
    }
	
    /**
     * @return the poolUuid
     */
    public String getPoolUuid() {
        return poolUuid;
    }

    /**
     * @param poolUuid the poolUuid to set
     */
    public void setPoolUuid(String poolUuid) {
        this.poolUuid = poolUuid;
    }

    /**
     * @return the tenantUuid
     */
    public String getTenantUuid() {
        return tenantUuid;
    }

    /**
     * @param tenantUuid the tenantUuid to set
     */
    public void setTenantUuid(String tenantUuid) {
        this.tenantUuid = tenantUuid;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * @param remark the remark to set
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * @return the protocol
     */
    public String getProtocol() {
        return protocol;
    }

    /**
     * @param protocol the protocol to set
     */
    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }

    /**
     * @return the lbMethod
     */
    public String getLbMethod() {
        return lbMethod;
    }

    /**
     * @param lbMethod the lbMethod to set
     */
    public void setLbMethod(String lbMethod) {
        this.lbMethod = lbMethod;
    }

    /**
     * @return the cookieName
     */
    public String getCookieName() {
        return cookieName;
    }

    /**
     * @param cookieName the cookieName to set
     */
    public void setCookieName(String cookieName) {
        this.cookieName = cookieName;
    }

    /**
     * @return the type
     */
    public String getType() {
        return type;
    }

    /**
     * @param type the type to set
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * @return the adminStateUp
     */
    public Boolean getAdminStateUp() {
        return adminStateUp;
    }

    /**
     * @param adminStateUp the adminStateUp to set
     */
    public void setAdminStateUp(Boolean adminStateUp) {
        this.adminStateUp = adminStateUp;
    }

    /**
     * @return the listenerUuid
     */
    public String getListenerUuid() {
        return listenerUuid;
    }

    /**
     * @param listenerUuid the listenerUuid to set
     */
    public void setListenerUuid(String listenerUuid) {
        this.listenerUuid = listenerUuid;
    }

    /**
     * @return the listenerUuids
     */
    public List<String> getListenerUuids() {
        return listenerUuids;
    }

    /**
     * @param listenerUuids the listenerUuids to set
     */
    public void setListenerUuids(List<String> listenerUuids) {
        this.listenerUuids = listenerUuids;
    }

    /**
     * @return the memberUuids
     */
    public List<String> getMemberUuids() {
        return memberUuids;
    }

    /**
     * @param memberUuids the memberUuids to set
     */
    public void setMemberUuids(List<String> memberUuids) {
        this.memberUuids = memberUuids;
    }

    /**
     * @return the hmUuid
     */
    public String getHmUuid() {
        return hmUuid;
    }

    /**
     * @param hmUuid the hmUuid to set
     */
    public void setHmUuid(String hmUuid) {
        this.hmUuid = hmUuid;
    }

    /**
     * @return the model
     */
    public HealthMonitorModel getModel() {
        return model;
    }

    /**
     * @param model the model to set
     */
    public void setModel(HealthMonitorModel model) {
        this.model = model;
    }

    public String getLbUuid() {
        return lbUuid;
    }

    public void setLbUuid(String lbUuid) {
        this.lbUuid = lbUuid;
    }

    public Integer getPersistenceTimeout() {
        return persistenceTimeout;
    }

    public void setPersistenceTimeout(Integer persistenceTimeout) {
        this.persistenceTimeout = persistenceTimeout;
    }

    public String getLbId() {
        return lbId;
    }

    public void setLbId(String lbId) {
        this.lbId = lbId;
    }

    public JSONArray getListeners() {
        return listeners;
    }

    public void setListeners(JSONArray listeners) {
        this.listeners = listeners;
    }

}
