package com.bocloud.nms.model.hillstone;

import java.util.List;
import java.util.Objects;

// VPN IPsec 配置
public class VpnIpsecConfigModel extends HillStoneGenericModel {
    private Long vendorId; // 所属平台
    private String name; // 名称
    private Long peerId; // 对端选项id
    private String peer; // 对端选项
    private Integer mode; // 模式，null tunnel，2 transport
    private Long propId; // P2提议id
    private String prop; // P2提议
    private List<VpnIpsecConfigProxyIdModel> proxyIds; // 代理ID列表

    public String getName() {
        return name;
    }

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

    public Long getPeerId() {
        return peerId;
    }

    public void setPeerId(Long peerId) {
        this.peerId = peerId;
    }

    public String getPeer() {
        return peer;
    }

    public void setPeer(String peer) {
        this.peer = peer;
    }

    public Long getPropId() {
        return propId;
    }

    public void setPropId(Long propId) {
        this.propId = propId;
    }

    public String getProp() {
        return prop;
    }

    public void setProp(String prop) {
        this.prop = prop;
    }

    public Integer getMode() {
        return mode;
    }

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

    public List<VpnIpsecConfigProxyIdModel> getProxyIds() {
        return proxyIds;
    }

    public void setProxyIds(List<VpnIpsecConfigProxyIdModel> proxyIds) {
        this.proxyIds = proxyIds;
    }

    public Long getVendorId() {
        return vendorId;
    }

    public void setVendorId(Long vendorId) {
        this.vendorId = vendorId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        VpnIpsecConfigModel that = (VpnIpsecConfigModel) o;
        return Objects.equals(vendorId, that.vendorId) &&
            Objects.equals(name, that.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(vendorId, name);
    }
}
