package com.bocloud.cmp.model.storage;

import com.bocloud.cmp.model.StorageRaidModel;
import com.bocloud.cmp.model.VolumeModel;
import com.bocloud.cmp.model.VolumePoolModel;

import java.util.List;

/**
 * 存储Mdisk
 */
public class StorageMdiskModel {
    private String mdiskUuid; // 标识
    private String storageUuid; // 所属存储集群uuid
    private String storageKeyPath; // 所属存储集群keyPath
    private String poolIdentifier; // 所属存储池标识
    private String poolUuid; // 所属存储池uuid
    private String poolKeyPath; // 所属存储池keyPath
    private String poolName; // 所属存储池名称
    private String name; // 名称
    private Integer mode; // 方式
    private Double capacity; // 总容量
    private Double freecapacity; // 可用容量
    private Integer diskCount;
    private Integer raidStatus; // RAID 状态
    private String raidLevel; // RAID 级别
    private Integer redundancy; // 冗余
    private Integer stripSize; // 条带大小
    private Integer enabledState; // 状态
    private String keyPath; // smis用来传参
    private Boolean spare; // 自动配置备件
    private String healthStatus; // 健康状态
    private String operationalStatus; // 运行状态
    private Double UsedCapacity; //已分配容量
    private List<StorageDiskModel> disks; // 该mdisk包含的disk
    private List<VolumeModel> volumes; // 该mdisk包含的volume
    private List<VolumePoolModel> pools; // 该mdisk包含的存储池
    private List<StorageRaidModel> storageRaidModels; // 该硬盘域下的所有raid策略

    public List<VolumePoolModel> getPools() {
        return pools;
    }

    public void setPools(List<VolumePoolModel> pools) {
        this.pools = pools;
    }

    public String getStorageKeyPath() {
        return storageKeyPath;
    }

    public void setStorageKeyPath(String storageKeyPath) {
        this.storageKeyPath = storageKeyPath;
    }

    public String getPoolKeyPath() {
        return poolKeyPath;
    }

    public void setPoolKeyPath(String poolKeyPath) {
        this.poolKeyPath = poolKeyPath;
    }

    public String getKeyPath() {
        return keyPath;
    }

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

    public String getMdiskUuid() {
        return mdiskUuid;
    }

    public void setMdiskUuid(String mdiskUuid) {
        this.mdiskUuid = mdiskUuid;
    }

    public String getStorageUuid() {
        return storageUuid;
    }

    public void setStorageUuid(String storageUuid) {
        this.storageUuid = storageUuid;
    }

    public String getName() {
        return name;
    }

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

    public Integer getMode() {
        return mode;
    }

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

    public Double getCapacity() {
        return capacity;
    }

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

    public Integer getRaidStatus() {
        return raidStatus;
    }

    public void setRaidStatus(Integer raidStatus) {
        this.raidStatus = raidStatus;
    }

    public String getRaidLevel() {
        return raidLevel;
    }

    public void setRaidLevel(String raidLevel) {
        this.raidLevel = raidLevel;
    }

    public Integer getRedundancy() {
        return redundancy;
    }

    public void setRedundancy(Integer redundancy) {
        this.redundancy = redundancy;
    }

    public Integer getStripSize() {
        return stripSize;
    }

    public void setStripSize(Integer stripSize) {
        this.stripSize = stripSize;
    }

    public Integer getEnabledState() {
        return enabledState;
    }

    public void setEnabledState(Integer enabledState) {
        this.enabledState = enabledState;
    }

    public String getPoolUuid() {
        return poolUuid;
    }

    public void setPoolUuid(String poolUuid) {
        this.poolUuid = poolUuid;
    }

    public String getPoolName() {
        return poolName;
    }

    public void setPoolName(String poolName) {
        this.poolName = poolName;
    }

    public Integer getDiskCount() {
        return diskCount;
    }

    public void setDiskCount(Integer diskCount) {
        this.diskCount = diskCount;
    }

    public String getPoolIdentifier() {
        return poolIdentifier;
    }

    public void setPoolIdentifier(String poolIdentifier) {
        this.poolIdentifier = poolIdentifier;
    }

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

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

    public List<VolumeModel> getVolumes() {
        return volumes;
    }

    public void setVolumes(List<VolumeModel> volumes) {
        this.volumes = volumes;
    }

    public Boolean getSpare() {
        return spare;
    }

    public void setSpare(Boolean spare) {
        this.spare = spare;
    }

    public String getHealthStatus() {
        return healthStatus;
    }

    public void setHealthStatus(String healthStatus) {
        this.healthStatus = healthStatus;
    }

    public String getOperationalStatus() {
        return operationalStatus;
    }

    public void setOperationalStatus(String operationalStatus) {
        this.operationalStatus = operationalStatus;
    }

    public Double getFreecapacity() {
        return freecapacity;
    }

    public void setFreecapacity(Double freecapacity) {
        this.freecapacity = freecapacity;
    }

    public List<StorageRaidModel> getStorageRaidModels() {
        return storageRaidModels;
    }

    public void setStorageRaidModels(List<StorageRaidModel> storageRaidModels) {
        this.storageRaidModels = storageRaidModels;
    }

    public Double getUsedCapacity() {
        return UsedCapacity;
    }

    public void setUsedCapacity(Double usedCapacity) {
        UsedCapacity = usedCapacity;
    }
}
