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

import com.alibaba.fastjson.JSONObject;
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;

/**
 * hmc volume group
 * 
 * @author lkx007
 *
 */
@Deprecated
@Table("hmc_volume_group")
public class HmcVolumeGroup {
    /**
     * id
     */
    @PK(value = PKStrategy.AUTO)
    private Long id;

    /**
     * group name
     * 
     * rootvg
     */
    @Column("group_name")
    private String groupName;
    /**
     * uuid
     * 
     * ea101735-8c83-3022-8281-01c81e358f02
     */
    @Column("uuid")
    private String uuid;
    /**
     * group capacity
     * 
     * 279
     * 
     */
    @Column("group_capacity")
    private Double groupCapacity;

    /**
     * available size
     * 
     * 253
     */
    @Column("available_size")
    private Double availableSize;
    /**
     * free space
     * 
     * 253
     * 
     */
    @Column("free_space")
    private Double freeSpace;
    /**
     * group serial id
     * 
     * 00cf856300004c0000000164d1578351
     */
    @Column("group_serial_id")
    private String groupSerialId;

    /**
     * max logical volumes
     * 
     * 256
     */
    @Column("max_logical_volumes")
    private Long maxLogicalVolumes;
    /**
     * vios 平台的id
     * 
     * 1
     */
    @Column("vios_id")
    private Long viosId;

    @IgnoreAll
    private List<HmcVirtualDisk> virtualDisks;

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

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

    /**
     * @return the groupName
     */
    public String getGroupName() {
        return groupName;
    }

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

    /**
     * @return the uuid
     */
    public String getUuid() {
        return uuid;
    }

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

    /**
     * @return the groupCapacity
     */
    public Double getGroupCapacity() {
        return groupCapacity;
    }

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

    /**
     * @return the availableSize
     */
    public Double getAvailableSize() {
        return availableSize;
    }

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

    /**
     * @return the freeSpace
     */
    public Double getFreeSpace() {
        return freeSpace;
    }

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

    /**
     * @return the groupSerialId
     */
    public String getGroupSerialId() {
        return groupSerialId;
    }

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

    /**
     * @return the maxLogicalVolumes
     */
    public Long getMaxLogicalVolumes() {
        return maxLogicalVolumes;
    }

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

    /**
     * @return the viosId
     */
    public Long getViosId() {
        return viosId;
    }

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

    /**
     * @return the virtualDisks
     */
    public List<HmcVirtualDisk> getVirtualDisks() {
        return virtualDisks;
    }

    /**
     * @param virtualDisks
     *            the virtualDisks to set
     */
    public void setVirtualDisks(List<HmcVirtualDisk> virtualDisks) {
        this.virtualDisks = virtualDisks;
    }

    public HmcVolumeGroup() {
    }

    @Override
    public String toString() {
        return JSONObject.toJSONString(this);
    }

}
