package com.bocloud.cmp.model.installation;

import com.bocloud.cmp.entity.enums.installation.RaidType;
import com.bocloud.cmp.model.storage.StorageDiskModel;

import java.util.List;

/**
 * Raid配置Raid实体类
 *
 * @author 007
 */
public class Raid {
    /**
     * enclosure id, 252
     */
    private int enclosure;
    /**
     * 支持的Raid类型
     * <p>
     * 暂时支持["raid0", "raid1", "raid5", "raid6", "raid10", "raid50", "raid60"]
     */
    private RaidType type;
    /**
     * drive信息
     * <p>
     * 为list的string, "[0,1]"
     */
    private String drives;
    /**
     * 该RAID使用的硬盘信息，cop使用，rackhd不需要
     */
    private List<StorageDiskModel> disks;
    /**
     * raid 名称
     * <p>
     * VD1
     */
    private String name;
    /**
     * LSI SAS3108最多支持64个RAID，创建10/50/60时，必须指定pdperarray参数。
     * 如果没有这个参数，是创建不成功的。
     * 这个参数的含义是：Specifies the number of physical drives per array. The default value is automatically chosen
     */
    private Integer pdperarray;

    /**
     * @return the enclosure
     */
    public int getEnclosure() {
        return enclosure;
    }

    /**
     * @param enclosure the enclosure to set
     */
    public void setEnclosure(int enclosure) {
        this.enclosure = enclosure;
    }

    /**
     * @return the type
     */
    public RaidType getType() {
        return type;
    }

    /**
     * @param type the type to set
     */
    public void setType(RaidType type) {
        this.type = type;
    }

    /**
     * @return the drives
     */
    public String getDrives() {
        return drives;
    }

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

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

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

    public List<StorageDiskModel> getDisks() {
        return disks;
    }

    public void setDisks(List<StorageDiskModel> disks) {
        this.disks = disks;
    }

    public Integer getPdperarray() {
        return pdperarray;
    }

    public void setPdperarray(Integer pdperarray) {
        this.pdperarray = pdperarray;
    }
}
