package com.bocloud.ims.interfaces.resource.powervc;

import com.bocloud.common.model.BocloudResult;
import com.bocloud.common.model.Param;
import com.bocloud.common.model.RequestContext;
import com.bocloud.ims.entity.resource.powervc.HostSeaAdapter;

import java.util.List;
import java.util.Map;

public interface HostSeaService {

    /**
     * 分页查询列表
     *
     * @param page   当前页码
     * @param rows   页面数据大小
     * @param params 查询参数
     * @param sorter 排序参数
     * @param user   操作者信息
     * @param simple 暂时用不到
     * @return 数据结果集
     */
    BocloudResult list(Integer page, Integer rows, List<Param> params, Map<String, String> sorter, boolean simple, RequestContext context);

    /**
     * 按平台查询主机，并将附加上主机上可用的Sea
     * @param vendorId
     * @return
     */
    BocloudResult listServerAndSeaByVendor(long vendorId);

    /**
     * 按主机查询可用的Sea
     * @param serverId
     * @return
     */
    BocloudResult<List<HostSeaAdapter>> listByServerIdAndVlanId(long serverId, int vlanId);

    /**
     * 按网络查询设定的sea
     * @param networkId
     * @return
     */
    BocloudResult<List<HostSeaAdapter>> listByNetworkId(long networkId);
}
