package com.bocloud.ims.entity.resource;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;

import java.util.List;

/**
 * 存储主机端口
 * @author luyanchao
 */
@Table("storage_host_port")
public class StorageHostPort extends GenericEntity {

    @PK(value = PKStrategy.AUTO)
    private Long id; //
    @Column("host_id")
    private Long hostId; // 所属主机
    @Column("port_uuid")
    private String portUuid; // 标识
    @Column("type")
    private String type; // 类型
    @Column("node_logged_count")
    private Integer nodeLoggedCount; // 已登录节点数
    @IgnoreAll
    @Column("host_name")
    private String hostName;// 所属主机名称
    @Column("key_path")
    private String keyPath; // smis传参用

    @Column("username")
    private String username;// 客户端登录时需要填写的用户名
    @Column("password")
    private String password;// 客户端登录时需要填写的密码
    @Column("encrypted")
    private Boolean encrypted;// 客户端登录时需要填写的密码是否加密
    @Column("chap")
    private Boolean chap;// 客户端登录时是否使用双向认证
    @Column("mutual_username")
    private String mutualUsername;// 客户端用户名
    @Column("mutual_password")
    private String mutualPassword;// 客户端密码
    @Column("mutual_encrypted")
    private Boolean mutualEncrypted;// 客户端密码是否加密
    @Column("mutual_logged")
    private Boolean mutualLogged;// 客户端是否已经登录
    @Column("mutual_hostname")
    private String mutualHostname;// 客户端主机名
    @Column("mutual_ip")
    private String mutualIp;// 客户端ip
    @IgnoreAll
    private String authType;
    @IgnoreAll
    private List<StorageFCPort> fcPorts; // 光纤口
    @IgnoreAll
    private String fcPortNames; // 光纤口名称

    public String getKeyPath() {
        return keyPath;
    }

    public void setKeyPath(String keyPath) {
        this.keyPath = keyPath;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getHostId() {
        return hostId;
    }

    public void setHostId(Long hostId) {
        this.hostId = hostId;
    }

    public String getPortUuid() {
        return portUuid;
    }

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

    public String getType() {
        return type;
    }

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

    public Integer getNodeLoggedCount() {
        return nodeLoggedCount;
    }

    public void setNodeLoggedCount(Integer nodeLoggedCount) {
        this.nodeLoggedCount = nodeLoggedCount;
    }

    public String getHostName() {
        return hostName;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Boolean getEncrypted() {
        return encrypted;
    }

    public void setEncrypted(Boolean encrypted) {
        this.encrypted = encrypted;
    }

    public Boolean getChap() {
        return chap;
    }

    public void setChap(Boolean chap) {
        this.chap = chap;
    }

    public String getMutualUsername() {
        return mutualUsername;
    }

    public void setMutualUsername(String mutualUsername) {
        this.mutualUsername = mutualUsername;
    }

    public String getMutualPassword() {
        return mutualPassword;
    }

    public void setMutualPassword(String mutualPassword) {
        this.mutualPassword = mutualPassword;
    }

    public Boolean getMutualEncrypted() {
        return mutualEncrypted;
    }

    public void setMutualEncrypted(Boolean mutualEncrypted) {
        this.mutualEncrypted = mutualEncrypted;
    }

    public String getAuthType() {
        return authType;
    }

    public void setAuthType(String authType) {
        this.authType = authType;
    }

    public Boolean getMutualLogged() {
        return mutualLogged;
    }

    public void setMutualLogged(Boolean mutualLogged) {
        this.mutualLogged = mutualLogged;
    }

    public String getMutualHostname() {
        return mutualHostname;
    }

    public void setMutualHostname(String mutualHostname) {
        this.mutualHostname = mutualHostname;
    }

    public String getMutualIp() {
        return mutualIp;
    }

    public void setMutualIp(String mutualIp) {
        this.mutualIp = mutualIp;
    }

    public List<StorageFCPort> getFcPorts() {
        return fcPorts;
    }

    public void setFcPorts(List<StorageFCPort> fcPorts) {
        this.fcPorts = fcPorts;
    }

    public String getFcPortNames() {
        return fcPortNames;
    }

    public void setFcPortNames(String fcPortNames) {
        this.fcPortNames = fcPortNames;
    }
}
