package com.bocloud.ims.entity.resource.installation;


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.meta.PKStrategy;

import java.util.List;

/**
 * 物理机的pci信息
 *
 * @author lkx007
 */
@Table("server_pci")
public class ServerPci {

    @PK(value = PKStrategy.AUTO)
    private Long id; // ID
    @Column("server_id")
    private Long serverId; // 服务器ID
    @Column("parent_id")
    private Long parentId; // 父pci的ID


    @Column("pci_id")
    private String pciId;// pci的slot号
    @Column("class_name")
    private String className;
    @Column("claimed")
    private Boolean claimed;
    /**
     * Computer,Motherboard,System memory,....
     */
    @Column("description")
    private String description;
    @Column("product")
    private String product;
    @Column("vendor")
    private String vendor;
    @Column("phys_id")
    private String physId;
    @Column("bus_info")
    private String busInfo;
    @Column("logical_name")
    private String logicalName;
    @Column("serial")
    private String serial;
    @Column("units")
    private String units;
    @Column("size")
    private Long size;
    @Column("capacity")
    private Long capacity;
    @Column("capabilities")
    private String capabilities;
    @Column("configuration")
    private String configuration;
    @IgnoreAll
    private List<ServerPci> children;

    public Long getId() {
        return id;
    }

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

    public Long getServerId() {
        return serverId;
    }

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

    public Long getParentId() {
        return parentId;
    }

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

    public String getPciId() {
        return pciId;
    }

    public void setPciId(String pciId) {
        this.pciId = pciId;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public Boolean getClaimed() {
        return claimed;
    }

    public void setClaimed(Boolean claimed) {
        this.claimed = claimed;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getProduct() {
        return product;
    }

    public void setProduct(String product) {
        this.product = product;
    }

    public String getVendor() {
        return vendor;
    }

    public void setVendor(String vendor) {
        this.vendor = vendor;
    }

    public String getPhysId() {
        return physId;
    }

    public void setPhysId(String physId) {
        this.physId = physId;
    }

    public String getBusInfo() {
        return busInfo;
    }

    public void setBusInfo(String busInfo) {
        this.busInfo = busInfo;
    }

    public String getLogicalName() {
        return logicalName;
    }

    public void setLogicalName(String logicalName) {
        this.logicalName = logicalName;
    }

    public String getSerial() {
        return serial;
    }

    public void setSerial(String serial) {
        this.serial = serial;
    }

    public String getUnits() {
        return units;
    }

    public void setUnits(String units) {
        this.units = units;
    }

    public Long getSize() {
        return size;
    }

    public void setSize(Long size) {
        this.size = size;
    }

    public Long getCapacity() {
        return capacity;
    }

    public void setCapacity(Long capacity) {
        this.capacity = capacity;
    }

    public String getCapabilities() {
        return capabilities;
    }

    public void setCapabilities(String capabilities) {
        this.capabilities = capabilities;
    }

    public String getConfiguration() {
        return configuration;
    }

    public void setConfiguration(String configuration) {
        this.configuration = configuration;
    }

    public List<ServerPci> getChildren() {
        return children;
    }

    public void setChildren(List<ServerPci> children) {
        this.children = children;
    }
}
