package com.bocloud.cmp.provider.storage;

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

public interface DataStoreProvider extends SuperProvider {
    @Override
    public boolean accessable();

    default BocloudResult uploadFile(String dcName, String dsName, String filePath) {
        return null;
    }

    default BocloudResult create(DataStoreModel model) {
        return null;
    }

    default BocloudResult rename(String dcName, String oldName, String newName) {
        return null;
    }

    default BocloudResult unmount(String dcName, String hostName, String name) {
        return null;
    }

    default BocloudResult remove(String dcName, String name) {
        return null;
    }

    default BocloudResult detail(String dcName, String dsName) {
        return null;
    }
    default BocloudResult simpleDetail(String dcName, String dsName) {
        return null;
    }
    default BocloudResult listByVdc(String vdcName) {
        return null;
    }

    default BocloudResult detail(String uri) {
        return null;
    }

    default BocloudResult remove(String uuid) {
        return null;
    }

    default BocloudResult modify(DataStoreModel model) {
        return new BocloudResult(false, "need implement");
    }

    default  BocloudResult listFile(String uri) {
        return new BocloudResult(false, "need implement");
    }

}
