package com.bocloud.cmp.provider.compute;

import com.bocloud.cmp.model.SnapshotBackupModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

/**
 * 快照备份操作接口
 *
 * @author hufy
 */
public interface SnapshotBackupProvider extends SuperProvider {
    /**
     * @return
     */
    public BocloudResult list();

    /**
     * @param volume
     * @return
     */
    public BocloudResult create(SnapshotBackupModel volume);

    /**
     * @param instanceId
     * @return
     */
    public BocloudResult remove(String instanceId);

    /**
     * 快照备份详情
     *
     * @return
     */
    public BocloudResult detail(SnapshotBackupModel model);

    /**
     * 快照备份删除
     *
     * @param model
     * @return
     */
    public BocloudResult remove(SnapshotBackupModel model);

    /**
     * 备份还原
     *
     * @param model
     * @return
     */
    public BocloudResult restore(SnapshotBackupModel model);
}
