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;

@Table("ceph_osd")
public class CephOsd extends GenericEntity {

    @PK(value = PKStrategy.AUTO)
    private Long id;
    @Column("osd_id")
    private String osdId;
    @Column("osd_uuid")
    private String osdUuid;
    @Column("node_id")
    private Long nodeId;
    @Column("vendor_id")
    private Long vendorId;
    @Column("disk_total")
    private Double diskTotal;
    @Column("disk_used")
    private Double diskUsed;
    @Column("pg_num")
    private Integer pgNum;
    @Column("data_disk")
    private String dataDisk;
    @Column("log_disk")
    private String logDisk;
    @Column("cache_disk_id")
    private Long cacheDiskId; // 缓存盘id，关联disk表
    @Column("physical_disk_id")
    private Long physicalDiskId; // 物理盘id，关联disk表
    @Column("server_id")
    private Long serverId; // 所属服务器id，关联server表
    @Column("volume_pool_id")
    private Long volumePoolId; // 所属存储池id，关联volume_pool表
    @Column("role")
    private String role; // 角色
    @Column("data_status")
    private String dataStatus; // 数据状态
    @Column("weight")
    private Long weight; // 权重
    @IgnoreAll
    private String nodeName;
    @IgnoreAll
    private String saltMasterUrl;
    @IgnoreAll
    private String targetServers;
    @IgnoreAll
    private String host;
    @IgnoreAll
    private String hostType;
    @IgnoreAll
    private Disk physicalDisk;
    @IgnoreAll
    private Disk cacheDisk;
    @IgnoreAll
    private Long readCacheSize;
    @IgnoreAll
    private Server server;
    @IgnoreAll
    private VolumePool volumePool;


    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the osdId
     */
    public String getOsdId() {
        return osdId;
    }

    /**
     * @param osdId
     *            the osdId to set
     */
    public void setOsdId(String osdId) {
        this.osdId = osdId;
    }

    /**
     * @return the nodeId
     */
    public Long getNodeId() {
        return nodeId;
    }

    /**
     * @param nodeId
     *            the nodeId to set
     */
    public void setNodeId(Long nodeId) {
        this.nodeId = nodeId;
    }

    /**
     * @return the vendorId
     */
    public Long getVendorId() {
        return vendorId;
    }

    /**
     * @param vendorId
     *            the vendorId to set
     */
    public void setVendorId(Long vendorId) {
        this.vendorId = vendorId;
    }

    /**
     * @return the diskTotal
     */
    public Double getDiskTotal() {
        return diskTotal;
    }

    /**
     * @param diskTotal
     *            the diskTotal to set
     */
    public void setDiskTotal(Double diskTotal) {
        this.diskTotal = diskTotal;
    }

    /**
     * @return the diskUsed
     */
    public Double getDiskUsed() {
        return diskUsed;
    }

    /**
     * @param diskUsed
     *            the diskUsed to set
     */
    public void setDiskUsed(Double diskUsed) {
        this.diskUsed = diskUsed;
    }

    /**
     * @return the pgNum
     */
    public Integer getPgNum() {
        return pgNum;
    }

    /**
     * @param pgNum
     *            the pgNum to set
     */
    public void setPgNum(Integer pgNum) {
        this.pgNum = pgNum;
    }

    /**
     * @return the dataDisk
     */
    public String getDataDisk() {
        return dataDisk;
    }

    /**
     * @param dataDisk
     *            the dataDisk to set
     */
    public void setDataDisk(String dataDisk) {
        this.dataDisk = dataDisk;
    }

    /**
     * @return the logDisk
     */
    public String getLogDisk() {
        return logDisk;
    }

    /**
     * @param logDisk
     *            the logDisk to set
     */
    public void setLogDisk(String logDisk) {
        this.logDisk = logDisk;
    }

    /**
     * @return the nodeName
     */
    public String getNodeName() {
        return nodeName;
    }

    /**
     * @param nodeName
     *            the nodeName to set
     */
    public void setNodeName(String nodeName) {
        this.nodeName = nodeName;
    }

    public String getSaltMasterUrl() {
        return saltMasterUrl;
    }

    public void setSaltMasterUrl(String saltMasterUrl) {
        this.saltMasterUrl = saltMasterUrl;
    }

    public String getTargetServers() {
        return targetServers;
    }

    public void setTargetServers(String targetServers) {
        this.targetServers = targetServers;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getHostType() {
        return hostType;
    }

    public void setHostType(String hostType) {
        this.hostType = hostType;
    }

    public Long getCacheDiskId() {
        return cacheDiskId;
    }

    public void setCacheDiskId(Long cacheDiskId) {
        this.cacheDiskId = cacheDiskId;
    }

    public Long getPhysicalDiskId() {
        return physicalDiskId;
    }

    public void setPhysicalDiskId(Long physicalDiskId) {
        this.physicalDiskId = physicalDiskId;
    }

    public Long getServerId() {
        return serverId;
    }

    public void setServerId(Long serverId) {
        this.serverId = serverId;
    }

    public Long getVolumePoolId() {
        return volumePoolId;
    }

    public void setVolumePoolId(Long volumePoolId) {
        this.volumePoolId = volumePoolId;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    public String getDataStatus() {
        return dataStatus;
    }

    public void setDataStatus(String dataStatus) {
        this.dataStatus = dataStatus;
    }

    public Disk getPhysicalDisk() {
        return physicalDisk;
    }

    public void setPhysicalDisk(Disk physicalDisk) {
        this.physicalDisk = physicalDisk;
    }

    public Disk getCacheDisk() {
        return cacheDisk;
    }

    public void setCacheDisk(Disk cacheDisk) {
        this.cacheDisk = cacheDisk;
    }

    public Long getReadCacheSize() {
        return readCacheSize;
    }

    public void setReadCacheSize(Long readCacheSize) {
        this.readCacheSize = readCacheSize;
    }

    public Server getServer() {
        return server;
    }

    public void setServer(Server server) {
        this.server = server;
    }

    public VolumePool getVolumePool() {
        return volumePool;
    }

    public void setVolumePool(VolumePool volumePool) {
        this.volumePool = volumePool;
    }

    public String getOsdUuid() {
        return osdUuid;
    }

    public void setOsdUuid(String osdUuid) {
        this.osdUuid = osdUuid;
    }


    public Long getWeight() {
        return weight;
    }

    public void setWeight(Long weight) {
        this.weight = weight;
    }
}
