package com.bocloud.cmp.provider.storage;

import com.bocloud.cmp.model.VolumeModel;
import com.bocloud.cmp.model.storage.StorageFlashCopyModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

public interface FlashCopyProvider extends SuperProvider {
    /**
     * 查询平台下所有FlashCopy
     */
    default public BocloudResult list() {
        return new BocloudResult(false, "尚未实现");
    }

    /**
     * 根据原卷查询可以和该原卷做FlashCopy的目标卷
     *
     * @param sourceVolume 原卷
     * @return 返回卷名称
     */
    default public BocloudResult listTargetVolume(VolumeModel sourceVolume) {
        return new BocloudResult(false, "尚未实现");
    }

    /**
     * 创建
     */
    default public BocloudResult create(StorageFlashCopyModel model) {
        return new BocloudResult(false, "尚未实现");
    }

    /**
     * 修改
     */
    default public BocloudResult modify(StorageFlashCopyModel model) {
        return new BocloudResult(false, "尚未实现");
    }

    /**
     * 删除
     */
    default public BocloudResult remove(StorageFlashCopyModel model) {
        return new BocloudResult(false, "尚未实现");
    }

    /**
     * 启动
     */
    default public BocloudResult start(StorageFlashCopyModel model) {
        return new BocloudResult(false, "尚未实现");
    }

    /**
     * 停止
     */
    default public BocloudResult stop(StorageFlashCopyModel model) {
        return new BocloudResult(false, "尚未实现");
    }

    default public BocloudResult detail(StorageFlashCopyModel model) {
        return new BocloudResult(false, "尚未实现");
    }
}
