package com.bocloud.cmp.model;

import java.util.Date;
import java.util.List;

public class SnapshotModel {
    private String name;
    private String snapshotUuid; // 快照ID
    private String snapshotVal;
    private String remark;
    private String volumeUuid;
    private Integer size;
    private Long sizeByte;
    private String status;
    private String rollbackStatus;// 回滚状态
    private String progress;
    private Date createTime;// 快照创建时间
    private String instanceId; // 虚拟机instanceId
    private String vmName; // 虚拟机名称
    private String hostName; // 宿主机名称
    private String regionId;
    private String azureResourceGroupName;
    private String resourceGroupName;
    private String volumeType;
    private String poolUuid; // 卷快照所在池的xsky端id
    private Double allocatedSize; // 快照已使用的容量
    private Long clonedBlockVolumeNum; // 克隆卷的个数
    private Boolean isProtected;
    private Boolean hidden;
    private Boolean passive;
    private Boolean reserved;
    private String snapName;
    private Long volumeId;
    private Date updateTime; // 快照更新时间
    private String blockVolumeGroupSnapshotUuid; // 所属组快照uuid
    private String blockVolumeGroupSnapshotName;
    private String poolName;
    private String volumeName;
    private String props;
    private String newName;
    private Integer newSize;
    private String blockDeviceMapping; // 快照下的volume数据
    private String snapshotType;
    private String resourceGroupUuid;
    private String keyPath; // 该快照的path，smis传参用
    private String storageKeyPath; // 该快照所属的存储设备的path，smis传参用
    private String settintKeyPath; // 该快照的setting的path，smis传参用
    private String sourceKeyPath; // 该快照的来源（卷或快照组）的path，smis传参用
    private List<TagModel> tagModels;
    private String parentSnapshotUuid;
    private String category;// 型号

    private String snapshotSource; // 京东云快照来源，可以有self，others两种来源

    private Boolean encrypted; // 京东云,快照是否为加密盘的快照

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getResourceGroupName() {
        return resourceGroupName;
    }

    public void setResourceGroupName(String resourceGroupName) {
        this.resourceGroupName = resourceGroupName;
    }

    public String getProps() {
        return props;
    }

    public void setProps(String props) {
        this.props = props;
    }

    public String getRegionId() {
        return regionId;
    }

    public void setRegionId(String regionId) {
        this.regionId = regionId;
    }

    public SnapshotModel() {}

    public SnapshotModel(String name, String remark, String volumeUuid, String instanceId) {
        super();
        this.name = name;
        this.remark = remark;
        this.volumeUuid = volumeUuid;
        this.instanceId = instanceId;
    }

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

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

    /**
     * @return the snapshotUuid
     */
    public String getSnapshotUuid() {
        return snapshotUuid;
    }

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

    /**
     * @return the snapshotVal
     */
    public String getSnapshotVal() {
        return snapshotVal;
    }

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

    /**
     * @return the vmName
     */
    public String getVmName() {
        return vmName;
    }

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

    /**
     * @return the remark
     */
    public String getRemark() {
        return remark;
    }

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

    /**
     * @return the volumeUuid
     */
    public String getVolumeUuid() {
        return volumeUuid;
    }

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

    /**
     * @return the size
     */
    public Integer getSize() {
        return size;
    }

    /**
     * @param size
     *            the size to set
     */
    public void setSize(Integer size) {
        this.size = size;
    }

    /**
     * @return the status
     */
    public String getStatus() {
        return status;
    }

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

    /**
     * @return the rollbackStatus
     */
    public String getRollbackStatus() {
        return rollbackStatus;
    }

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

    /**
     * @return the progress
     */
    public String getProgress() {
        return progress;
    }

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

    /**
     * @return the createTime
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * @param createTime
     *            the createTime to set
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * @return the instanceId
     */
    public String getInstanceId() {
        return instanceId;
    }

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

    /**
     * @return the hostName
     */
    public String getHostName() {
        return hostName;
    }

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

    public String getAzureResourceGroupName() {
        return azureResourceGroupName;
    }

    public void setAzureResourceGroupName(String azureResourceGroupName) {
        this.azureResourceGroupName = azureResourceGroupName;
    }

    public String getVolumeType() {
        return volumeType;
    }

    public void setVolumeType(String volumeType) {
        this.volumeType = volumeType;
    }

    public String getPoolUuid() {
        return poolUuid;
    }

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

    public Double getAllocatedSize() {
        return allocatedSize;
    }

    public void setAllocatedSize(Double allocatedSize) {
        this.allocatedSize = allocatedSize;
    }

    public Long getClonedBlockVolumeNum() {
        return clonedBlockVolumeNum;
    }

    public void setClonedBlockVolumeNum(Long clonedBlockVolumeNum) {
        this.clonedBlockVolumeNum = clonedBlockVolumeNum;
    }

    public Boolean getProtected() {
        return isProtected;
    }

    public void setProtected(Boolean aProtected) {
        isProtected = aProtected;
    }

    public Boolean getReserved() {
        return reserved;
    }

    public void setReserved(Boolean reserved) {
        this.reserved = reserved;
    }

    public String getSnapName() {
        return snapName;
    }

    public void setSnapName(String snapName) {
        this.snapName = snapName;
    }

    public Long getVolumeId() {
        return volumeId;
    }

    public void setVolumeId(Long volumeId) {
        this.volumeId = volumeId;
    }

    public Boolean getHidden() {
        return hidden;
    }

    public void setHidden(Boolean hidden) {
        this.hidden = hidden;
    }

    public Boolean getPassive() {
        return passive;
    }

    public void setPassive(Boolean passive) {
        this.passive = passive;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getBlockVolumeGroupSnapshotUuid() {
        return blockVolumeGroupSnapshotUuid;
    }

    public void setBlockVolumeGroupSnapshotUuid(String blockVolumeGroupSnapshotUuid) {
        this.blockVolumeGroupSnapshotUuid = blockVolumeGroupSnapshotUuid;
    }

    public String getBlockVolumeGroupSnapshotName() {
        return blockVolumeGroupSnapshotName;
    }

    public void setBlockVolumeGroupSnapshotName(String blockVolumeGroupSnapshotName) {
        this.blockVolumeGroupSnapshotName = blockVolumeGroupSnapshotName;
    }

    public String getPoolName() {
        return poolName;
    }

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

    public String getVolumeName() {
        return volumeName;
    }

    public void setVolumeName(String volumeName) {
        this.volumeName = volumeName;
    }

    public Long getSizeByte() {
        return sizeByte;
    }

    public void setSizeByte(Long sizeByte) {
        this.sizeByte = sizeByte;
    }

    public String getNewName() {
        return newName;
    }

    public void setNewName(String newName) {
        this.newName = newName;
    }

    public Integer getNewSize() {
        return newSize;
    }

    public void setNewSize(Integer newSize) {
        this.newSize = newSize;
    }

    public String getBlockDeviceMapping() {
        return blockDeviceMapping;
    }

    public void setBlockDeviceMapping(String blockDeviceMapping) {
        this.blockDeviceMapping = blockDeviceMapping;
    }

    public String getSnapshotType() {
        return snapshotType;
    }

    public void setSnapshotType(String snapshotType) {
        this.snapshotType = snapshotType;
    }

    public String getResourceGroupUuid() {
        return resourceGroupUuid;
    }

    public void setResourceGroupUuid(String resourceGroupUuid) {
        this.resourceGroupUuid = resourceGroupUuid;
    }

    public String getKeyPath() {
        return keyPath;
    }

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

    public String getStorageKeyPath() {
        return storageKeyPath;
    }

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

    public String getSettintKeyPath() {
        return settintKeyPath;
    }

    public void setSettintKeyPath(String settintKeyPath) {
        this.settintKeyPath = settintKeyPath;
    }

    public String getSourceKeyPath() {
        return sourceKeyPath;
    }

    public void setSourceKeyPath(String sourceKeyPath) {
        this.sourceKeyPath = sourceKeyPath;
    }

    public Boolean getIsProtected() {
        return isProtected;
    }

    public void setIsProtected(Boolean isProtected) {
        this.isProtected = isProtected;
    }

    public List<TagModel> getTagModels() {
        return tagModels;
    }

    public void setTagModels(List<TagModel> tagModels) {
        this.tagModels = tagModels;
    }

    public String getParentSnapshotUuid() {
        return parentSnapshotUuid;
    }

    public void setParentSnapshotUuid(String parentSnapshotUuid) {
        this.parentSnapshotUuid = parentSnapshotUuid;
    }

    public String getSnapshotSource() {
        return snapshotSource;
    }

    public void setSnapshotSource(String snapshotSource) {
        this.snapshotSource = snapshotSource;
    }

    public Boolean getEncrypted() {
        return encrypted;
    }

    public void setEncrypted(Boolean encrypted) {
        this.encrypted = encrypted;
    }
}
