package com.bocloud.nms.model.agile;

import com.bocloud.nms.enums.AgileDeviceStatus;

import java.util.List;

/*
 * 设备组
 */
public class AgileDeviceModel {
    private String uuid; // 设备的ID
    private String name;
    private String location; // 设备的位置
    private String ip; // 设备的管理IP
    private AgileDeviceStatus status;
    private String deviceType; // 设备类型，例如：Switch、FW、LB。
    private String mac; // 设备的MAC地址
    private String mode; // 设备的型号
    private String vtepIp; // NVE IP
    private Boolean stack; // 是否是堆叠设备
    private String resourcePoolUuid; //设备所属的pool资源池。
    private String stackType; // 堆叠的类型，枚举：“1”.SVF; “2”.CSS; “3”.IStack; “4”.NONE。
    private String mastserMac; // Master角色的设备的MAC地址
    private String standbyMac; // Standby角色的设备的MAC地址
    private List<String> leafMacs; // leaf角色的设备的MAC地址
    private List<PortModel> portModels; // 设备下的端口
    private String deviceGroupUuid;

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

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLocation() {
        return location;
    }

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

    public String getIp() {
        return ip;
    }

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

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getMac() {
        return mac;
    }

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

    public String getMode() {
        return mode;
    }

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

    public String getVtepIp() {
        return vtepIp;
    }

    public void setVtepIp(String vtepIp) {
        this.vtepIp = vtepIp;
    }

    public Boolean getStack() {
        return stack;
    }

    public void setStack(Boolean stack) {
        this.stack = stack;
    }

    public String getResourcePoolUuid() {
        return resourcePoolUuid;
    }

    public void setResourcePoolUuid(String resourcePoolUuid) {
        this.resourcePoolUuid = resourcePoolUuid;
    }

    public String getStackType() {
        return stackType;
    }

    public void setStackType(String stackType) {
        this.stackType = stackType;
    }

    public String getMastserMac() {
        return mastserMac;
    }

    public void setMastserMac(String mastserMac) {
        this.mastserMac = mastserMac;
    }

    public String getStandbyMac() {
        return standbyMac;
    }

    public void setStandbyMac(String standbyMac) {
        this.standbyMac = standbyMac;
    }

    public List<String> getLeafMacs() {
        return leafMacs;
    }

    public void setLeafMacs(List<String> leafMacs) {
        this.leafMacs = leafMacs;
    }

    public AgileDeviceStatus getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status == null ? null : AgileDeviceStatus.byValue(status);
    }

    public List<PortModel> getPortModels() {
        return portModels;
    }

    public void setPortModels(List<PortModel> portModels) {
        this.portModels = portModels;
    }

    public String getDeviceGroupUuid() {
        return deviceGroupUuid;
    }

    public void setDeviceGroupUuid(String deviceGroupUuid) {
        this.deviceGroupUuid = deviceGroupUuid;
    }
}
