package com.bocloud.ims.interfaces.resource;

import com.bocloud.common.model.*;
import com.bocloud.ims.entity.resource.Mdisk;

import java.util.List;

/**
 * @author luyanchao
 */
public interface MdiskService {

    /**
     * 列表展示
     *
     * @param page
     * @param rows
     * @param params
     * @param sorter
     * @param context
     * @return
     */
    public BocloudResult<GridBean<Mdisk>> list(Pager pager, RequestContext context);

    /**
     * 创建
     *
     * @param mdisk
     * @param context
     * @return
     */
    public BocloudResult create(Mdisk mdisk, RequestContext context);

    /**
     * 详情
     *
     * @param id
     * @return
     */
    public BocloudResult<Mdisk> detail(long id);


    /**
     * 华为存储查看raid策略
     *
     * @param id
     * @param context
     * @return
     */
    public BocloudResult<List<SimpleBean>> getRaid(Long id, RequestContext context);

    /**
     * 华为存储根据raid名称查看raid策略
     *
     * @param id
     * @param params
     * @param context
     * @return
     */
    public BocloudResult<List<SimpleBean>> getRaidByRaidName(Long id, String params, RequestContext context);

    /**
     * 根据raid策略获取创建池可用的容量
     * @param params
     * @return
     */
    public BocloudResult<Mdisk> getCapacityForCreatePool(Long id, String params);

}
