using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CheckEVS
{
    public class Disks
    {
        public int id { get; set; }
        public Params @params { get; set; }
        public bool result { get; set; }
        public string session { get; set; }
    }

    public class Device
    {
        public string BUS { get; set; }
        public double Capacity { get; set; }
        public int CmrSize { get; set; }
        public string DRTypeMixState { get; set; }
        public string Firmware { get; set; }
        public int LogicNo { get; set; }
        public int MRType { get; set; }
        public string Media { get; set; }
        public string MediaType { get; set; }
        public string Module { get; set; }
        public string Name { get; set; }
        public int OpState { get; set; }
        public string Parent { get; set; }
        public List<Partition> Partitions { get; set; }
        public int PhysicNo { get; set; }
        public int PosLedState { get; set; }
        public string PowerMode { get; set; }
        public string PreDiskCheck { get; set; }
        public string SerialNo { get; set; }
        public string State { get; set; }
        public Tank Tank { get; set; }
        public int UseMode { get; set; }
        public string Volume { get; set; }
        public int? Temperature { get; set; }
        public Raid Raid { get; set; }
    }

    public class MemberInfo
    {
        public int ID { get; set; }
        public bool Spare { get; set; }
    }

    public class Params
    {
        public List<Tank> tank { get; set; }
    }

    public class Partition
    {
        public string FileSystem { get; set; }
        public bool IsSupportFs { get; set; }
        public string Name { get; set; }
        public int Start { get; set; }
        public object Total { get; set; }
    }

    public class Raid
    {
        public int ActiveDevices { get; set; }
        public string AliasName { get; set; }
        public int ChunkSize { get; set; }
        public int FailedDevices { get; set; }
        public int Level { get; set; }
        public List<MemberInfo> MemberInfos { get; set; }
        public List<string> Members { get; set; }
        public int RaidDevices { get; set; }
        public double RecoverMBps { get; set; }
        public double RecoverPercent { get; set; }
        public int RecoverTimeRemain { get; set; }
        public int SpareDevices { get; set; }
        public List<string> State { get; set; }
        public int Sync { get; set; }
        public int TotalDevices { get; set; }
        public string UUID { get; set; }
        public int WorkingDevices { get; set; }
    }

    public class Tank
    {
        public List<Device> Device { get; set; }
        public double FreeSpace { get; set; }
        public int Level { get; set; }
        public int SlotNum { get; set; }
        public int TankNo { get; set; }
        public double Temperature { get; set; }
        public double TotalSpace { get; set; }
    }

    public class Tank2
    {
        public int Level { get; set; }
        public int Slot { get; set; }
        public int TankNo { get; set; }
    }
}
