package com.bocloud.nms.model.campus;

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

public class DeviceModel {
    private Long deviceUuid;
    private String label; // 设备标签
    private String ip; // 设备IP 地址
    private String mask; // 掩码
    private Integer status; // 设备状态。 -1: unmanage 0: unknown 1: normal 2: warning 3: minor 4: major 5: critical
    private String sysName; // 系统名称
    private String contact; // 联系人
    private String location; // 位置
    private String sysOid; // sysOID
    private String runtime; // 运行时间
    private Date lastPoll; // 最后轮询时间，格式：yyyy-MM-dd HH:mm:ss
    private Integer loginType; // 登录方式。0：无；1：telnet；2：ssh
    private String sysDescription; // 系统描述
    private Integer devPingState; // ping状态。0：不通；1：正常
    private Integer categoryId; // 设备类型id
    private Boolean supportPing; // 是否支持ping操作
    private Integer snmpTmplId; // snmp模板id
    private Integer telnetTmplId; // telnet模板id
    private Integer sshTmplId; // ssh模板id
    private Long webMgrPort; // 下级网管的登录端口,如果该元素不存在，则使用系统管理中全局web网管配置
    private Integer configPollTime; // 配置轮询时间，单位为分钟
    private Integer statePollTime; // 状态轮询时间间隔，单位秒
    // deviceService 设备服务 查询设备服务监控信息
    private Long symbolId; // 设备符号id
    private String symbolName; // 设备符号名称
    private Integer symbolType; // 设备符号类型
    private String symbolDesc; // 设备符号描述
    private Integer symbolLevel; // 设备符号级别
    private Long parentId; // 设备父符号id
    private String typeName; // 设备类型名称
    private Long viewType; // 视图类型。 1：IP视图；3：自定义视图的根符号id；11：自定义视图我的网络拓扑视图id；514：虚拟视图的根符号id；
    private String iconFileName; // 符号对应的图标
    private Long positionX; // x位置坐标
    private Long positionY; // Y位置坐标
    private Integer visibleFlag; // 是否显示标志。 0：visible；1：hidden
    private String statusImg; // 设备状态图标文件
    private String version; // 设备bin文件
    private String mac; // mac地址
    private String categoryImg; // 设备类型图标文件
    private String vendorImg; // 设备厂商图标文件
    private Integer childrenNum; // 设备符号的子符号个数
    private Integer vergeNet; // 边缘子网标识
    private String phyName; // 物理名称
    private Date phyCreateTime; // 创建时间
    private String phyCreator; // 创建者
    private String appendUnicode; // 附加unicode
    private String snmpTmpl; // snmp模板url
    private String telnetTmpl; // telnet模板url
    private String sshTmpl; // ssh模板url
    private String series; // 设备系列url
    private String model; // 设备型号url
    private String interfaces; // 设备接口列表
    private String category; // 设备类型url
    private List<DeviceServiceModel> serviceModels;

    // 根据返回的url查询需要数据
    private String seriesName; // 设备系列名称，根据series(设备系列url)查询
    private String modelName; // 设备型号，根据model(设备型号url)查询

    private List<DeviceVlanModel> vlanModels;
    private List<DeviceInterfaceModel> interfaceModels;


    // 新增设备参数
    private String nameOrIp; // 设备主机名或 IP 地址。必须，无缺省值。
    private Boolean registerTrap; // 将设备的 Trap 发送到本网管系统。
    private Boolean forceAdd; // Ping不通也加入。
    private Boolean loopbackAsMgrIp; // 将 LoopBack 地址作为管理 IP。
    private SnmpTemplateModel snmpParameter; // 设备的SNMP参数。 非必须，无缺省值。如果snmpTmplId与snmpParameter同时存在，则优先使用 snmpParameter，忽略 snmpTmplId。
    private TelnetTemplateModel telnetParameter; // 设备的TELNET参数。非必须，无缺省值。如果telnetTmplId与telnetParameter同时存在，则优先使用telnetParameter，忽略telnetTmplId。
    private SshTemplateModel sshParameter; // 设备的SSH参数。 非必须，无缺省值。如果sshTmplId 与 sshParameter 同时存在，则优先使用 sshParameter，忽略 sshTmplId。
    private Long devGroupId; // 设备分组ID。


    public Long getDeviceUuid() {
        return deviceUuid;
    }

    public void setDeviceUuid(Long deviceUuid) {
        this.deviceUuid = deviceUuid;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getMask() {
        return mask;
    }

    public void setMask(String mask) {
        this.mask = mask;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getSysName() {
        return sysName;
    }

    public void setSysName(String sysName) {
        this.sysName = sysName;
    }

    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getSysOid() {
        return sysOid;
    }

    public void setSysOid(String sysOid) {
        this.sysOid = sysOid;
    }

    public String getRuntime() {
        return runtime;
    }

    public void setRuntime(String runtime) {
        this.runtime = runtime;
    }

    public Date getLastPoll() {
        return lastPoll;
    }

    public void setLastPoll(Date lastPoll) {
        this.lastPoll = lastPoll;
    }

    public Integer getLoginType() {
        return loginType;
    }

    public void setLoginType(Integer loginType) {
        this.loginType = loginType;
    }

    public String getSysDescription() {
        return sysDescription;
    }

    public void setSysDescription(String sysDescription) {
        this.sysDescription = sysDescription;
    }

    public Integer getDevPingState() {
        return devPingState;
    }

    public void setDevPingState(Integer devPingState) {
        this.devPingState = devPingState;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public Boolean getSupportPing() {
        return supportPing;
    }

    public void setSupportPing(Boolean supportPing) {
        this.supportPing = supportPing;
    }

    public Integer getSnmpTmplId() {
        return snmpTmplId;
    }

    public void setSnmpTmplId(Integer snmpTmplId) {
        this.snmpTmplId = snmpTmplId;
    }

    public Integer getTelnetTmplId() {
        return telnetTmplId;
    }

    public void setTelnetTmplId(Integer telnetTmplId) {
        this.telnetTmplId = telnetTmplId;
    }

    public Integer getSshTmplId() {
        return sshTmplId;
    }

    public void setSshTmplId(Integer sshTmplId) {
        this.sshTmplId = sshTmplId;
    }

    public Long getWebMgrPort() {
        return webMgrPort;
    }

    public void setWebMgrPort(Long webMgrPort) {
        this.webMgrPort = webMgrPort;
    }

    public Integer getConfigPollTime() {
        return configPollTime;
    }

    public void setConfigPollTime(Integer configPollTime) {
        this.configPollTime = configPollTime;
    }

    public Integer getStatePollTime() {
        return statePollTime;
    }

    public void setStatePollTime(Integer statePollTime) {
        this.statePollTime = statePollTime;
    }

    public Long getSymbolId() {
        return symbolId;
    }

    public void setSymbolId(Long symbolId) {
        this.symbolId = symbolId;
    }

    public String getSymbolName() {
        return symbolName;
    }

    public void setSymbolName(String symbolName) {
        this.symbolName = symbolName;
    }

    public Integer getSymbolType() {
        return symbolType;
    }

    public void setSymbolType(Integer symbolType) {
        this.symbolType = symbolType;
    }

    public String getSymbolDesc() {
        return symbolDesc;
    }

    public void setSymbolDesc(String symbolDesc) {
        this.symbolDesc = symbolDesc;
    }

    public Integer getSymbolLevel() {
        return symbolLevel;
    }

    public void setSymbolLevel(Integer symbolLevel) {
        this.symbolLevel = symbolLevel;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Long getViewType() {
        return viewType;
    }

    public void setViewType(Long viewType) {
        this.viewType = viewType;
    }

    public String getIconFileName() {
        return iconFileName;
    }

    public void setIconFileName(String iconFileName) {
        this.iconFileName = iconFileName;
    }

    public Long getPositionX() {
        return positionX;
    }

    public void setPositionX(Long positionX) {
        this.positionX = positionX;
    }

    public Long getPositionY() {
        return positionY;
    }

    public void setPositionY(Long positionY) {
        this.positionY = positionY;
    }

    public Integer getVisibleFlag() {
        return visibleFlag;
    }

    public void setVisibleFlag(Integer visibleFlag) {
        this.visibleFlag = visibleFlag;
    }

    public String getStatusImg() {
        return statusImg;
    }

    public void setStatusImg(String statusImg) {
        this.statusImg = statusImg;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getMac() {
        return mac;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    public String getCategoryImg() {
        return categoryImg;
    }

    public void setCategoryImg(String categoryImg) {
        this.categoryImg = categoryImg;
    }

    public String getVendorImg() {
        return vendorImg;
    }

    public void setVendorImg(String vendorImg) {
        this.vendorImg = vendorImg;
    }

    public Integer getChildrenNum() {
        return childrenNum;
    }

    public void setChildrenNum(Integer childrenNum) {
        this.childrenNum = childrenNum;
    }

    public Integer getVergeNet() {
        return vergeNet;
    }

    public void setVergeNet(Integer vergeNet) {
        this.vergeNet = vergeNet;
    }

    public String getPhyName() {
        return phyName;
    }

    public void setPhyName(String phyName) {
        this.phyName = phyName;
    }

    public Date getPhyCreateTime() {
        return phyCreateTime;
    }

    public void setPhyCreateTime(Date phyCreateTime) {
        this.phyCreateTime = phyCreateTime;
    }

    public String getPhyCreator() {
        return phyCreator;
    }

    public void setPhyCreator(String phyCreator) {
        this.phyCreator = phyCreator;
    }

    public String getAppendUnicode() {
        return appendUnicode;
    }

    public void setAppendUnicode(String appendUnicode) {
        this.appendUnicode = appendUnicode;
    }

    public String getSnmpTmpl() {
        return snmpTmpl;
    }

    public void setSnmpTmpl(String snmpTmpl) {
        this.snmpTmpl = snmpTmpl;
    }

    public String getTelnetTmpl() {
        return telnetTmpl;
    }

    public void setTelnetTmpl(String telnetTmpl) {
        this.telnetTmpl = telnetTmpl;
    }

    public String getSshTmpl() {
        return sshTmpl;
    }

    public void setSshTmpl(String sshTmpl) {
        this.sshTmpl = sshTmpl;
    }

    public String getSeries() {
        return series;
    }

    public void setSeries(String series) {
        this.series = series;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getInterfaces() {
        return interfaces;
    }

    public void setInterfaces(String interfaces) {
        this.interfaces = interfaces;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getNameOrIp() {
        return nameOrIp;
    }

    public void setNameOrIp(String nameOrIp) {
        this.nameOrIp = nameOrIp;
    }

    public Boolean getRegisterTrap() {
        return registerTrap;
    }

    public void setRegisterTrap(Boolean registerTrap) {
        this.registerTrap = registerTrap;
    }

    public Boolean getForceAdd() {
        return forceAdd;
    }

    public void setForceAdd(Boolean forceAdd) {
        this.forceAdd = forceAdd;
    }

    public Boolean getLoopbackAsMgrIp() {
        return loopbackAsMgrIp;
    }

    public void setLoopbackAsMgrIp(Boolean loopbackAsMgrIp) {
        this.loopbackAsMgrIp = loopbackAsMgrIp;
    }

    public SnmpTemplateModel getSnmpParameter() {
        return snmpParameter;
    }

    public void setSnmpParameter(SnmpTemplateModel snmpParameter) {
        this.snmpParameter = snmpParameter;
    }

    public TelnetTemplateModel getTelnetParameter() {
        return telnetParameter;
    }

    public void setTelnetParameter(TelnetTemplateModel telnetParameter) {
        this.telnetParameter = telnetParameter;
    }

    public SshTemplateModel getSshParameter() {
        return sshParameter;
    }

    public void setSshParameter(SshTemplateModel sshParameter) {
        this.sshParameter = sshParameter;
    }

    public Long getDevGroupId() {
        return devGroupId;
    }

    public void setDevGroupId(Long devGroupId) {
        this.devGroupId = devGroupId;
    }


    public String getSeriesName() {
        return seriesName;
    }

    public void setSeriesName(String seriesName) {
        this.seriesName = seriesName;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public List<DeviceVlanModel> getVlanModels() {
        return vlanModels;
    }

    public void setVlanModels(List<DeviceVlanModel> vlanModels) {
        this.vlanModels = vlanModels;
    }

    public List<DeviceInterfaceModel> getInterfaceModels() {
        return interfaceModels;
    }

    public void setInterfaceModels(List<DeviceInterfaceModel> interfaceModels) {
        this.interfaceModels = interfaceModels;
    }

    public List<DeviceServiceModel> getServiceModels() {
        return serviceModels;
    }

    public void setServiceModels(List<DeviceServiceModel> serviceModels) {
        this.serviceModels = serviceModels;
    }
}
