package com.bocloud.cmp.model.agile;

import java.util.Date;
import java.util.List;

/**
 * 虚拟交换机端口
 */
public class AgileSwitchPortModel {
    private String portUuid; // 逻辑端口标识Id
    private String name; // 逻辑端口名称
    private String description; // 逻辑端口描述
    private String switchUuid; // 逻辑端口所属的逻辑交换机Id
    private String metaData; // 逻辑端口的metaData信息
    private String tenantUuid; // 逻辑端口所属租户Id，控制器自动提取逻辑交换机所属租户填写
    private String fabricPoolUuid; // 逻辑端口所属的Fabric Id
    private String mode; // 逻辑端口接入模式，Uni(用户侧接口)，Nni（网络侧接口）
    // 逻辑端口类型，DOT1Q，DEFAULT，UNTAG，QINQ。
    // 如果type=dot1q，vlan参数有效，忽略qinq参数；
    // 如果type=qinq，qinq参数有效，忽略vlan参数；
    // 如果type=untag或者default, 忽略vlan和qinq参数
    private String type;
    private Integer vlan; // 逻辑端口指定接入vlan，在接入类型为dot1q时必选
    private Integer subinterfaceNumber; // 逻辑端口指定接入子接口编号
    private Integer innerVidBegin; // 逻辑端口指定qinq的内层vlan段的起始vlan
    private Integer innerVidEnd; // 逻辑端口指定QINQ的内层vlan段的结束vlan
    private Integer outerVidBegin; // 逻辑端口指定QINQ的外层vlan段的起始vlan
    private Integer outerVidEnd; // 逻辑端口指定QINQ的外层vlan段的结束vlan
    private String rewriteAction; // 逻辑端口指定QINQ的rewrite动作，PopDouble，Passthrough
    private List<AgileDeviceGroupModel> deviceGroupModels;
    private List<String> devicePortUuids;
    private String producer; //配置来源
    private Date gmtCreate; //创建时间
    private Date gmtModify; //更新时间
    private Long cabinetId;
    private List<Long> ipIds; //
    private String hostName;

    public String getPortUuid() {
        return portUuid;
    }

    public void setPortUuid(String portUuid) {
        this.portUuid = portUuid;
    }

    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 getSwitchUuid() {
        return switchUuid;
    }

    public void setSwitchUuid(String switchUuid) {
        this.switchUuid = switchUuid;
    }

    public String getMetaData() {
        return metaData;
    }

    public void setMetaData(String metaData) {
        this.metaData = metaData;
    }

    public String getTenantUuid() {
        return tenantUuid;
    }

    public void setTenantUuid(String tenantUuid) {
        this.tenantUuid = tenantUuid;
    }

    public String getFabricPoolUuid() {
        return fabricPoolUuid;
    }

    public void setFabricPoolUuid(String fabricPoolUuid) {
        this.fabricPoolUuid = fabricPoolUuid;
    }

    public String getMode() {
        return mode;
    }

    public void setMode(String mode) {
        this.mode = mode;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Integer getVlan() {
        return vlan;
    }

    public void setVlan(Integer vlan) {
        this.vlan = vlan;
    }

    public Integer getSubinterfaceNumber() {
        return subinterfaceNumber;
    }

    public void setSubinterfaceNumber(Integer subinterfaceNumber) {
        this.subinterfaceNumber = subinterfaceNumber;
    }

    public Integer getInnerVidBegin() {
        return innerVidBegin;
    }

    public void setInnerVidBegin(Integer innerVidBegin) {
        this.innerVidBegin = innerVidBegin;
    }

    public Integer getInnerVidEnd() {
        return innerVidEnd;
    }

    public void setInnerVidEnd(Integer innerVidEnd) {
        this.innerVidEnd = innerVidEnd;
    }

    public Integer getOuterVidBegin() {
        return outerVidBegin;
    }

    public void setOuterVidBegin(Integer outerVidBegin) {
        this.outerVidBegin = outerVidBegin;
    }

    public Integer getOuterVidEnd() {
        return outerVidEnd;
    }

    public void setOuterVidEnd(Integer outerVidEnd) {
        this.outerVidEnd = outerVidEnd;
    }

    public String getRewriteAction() {
        return rewriteAction;
    }

    public void setRewriteAction(String rewriteAction) {
        this.rewriteAction = rewriteAction;
    }

    public List<AgileDeviceGroupModel> getDeviceGroupModels() {
        return deviceGroupModels;
    }

    public void setDeviceGroupModels(List<AgileDeviceGroupModel> deviceGroupModels) {
        this.deviceGroupModels = deviceGroupModels;
    }

    public List<String> getDevicePortUuids() {
        return devicePortUuids;
    }

    public void setDevicePortUuids(List<String> devicePortUuids) {
        this.devicePortUuids = devicePortUuids;
    }

    public String getProducer() {
        return producer;
    }

    public void setProducer(String producer) {
        this.producer = producer;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtModify() {
        return gmtModify;
    }

    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }

    public Long getCabinetId() {
        return cabinetId;
    }

    public void setCabinetId(Long cabinetId) {
        this.cabinetId = cabinetId;
    }

    public List<Long> getIpIds() {
        return ipIds;
    }

    public void setIpIds(List<Long> ipIds) {
        this.ipIds = ipIds;
    }

    public String getHostName() {
        return hostName;
    }

    public void setHostName(String hostName) {
        this.hostName = hostName;
    }
}
