package com.bocloud.ims.interfaces.resource;

import com.bocloud.cmp.model.NetBean;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.common.model.GridBean;
import com.bocloud.common.model.Pager;
import com.bocloud.common.model.RequestContext;
import com.bocloud.ims.entity.resource.NetworkCard;

import java.util.List;

public interface NetworkCardService {

	/**
	 * 列表展示
	 * 
	 * @param pager
	 * @return
	 */
	public BocloudResult<GridBean<NetworkCard>> list(Pager pager);

	/**
	 * 查询未绑定浮动ip的网卡
	 * @param context
	 * @return
	 */
	BocloudResult unBandList(Long context);

	/**
	 * 创建
	 *
	 * @param params
	 * @param user
	 * @return
	 */
	public BocloudResult create(NetworkCard networkCard, RequestContext context);

	/**
	 * 删除
	 *
	 * @param id
	 * @param user
	 * @return
	 */
	public BocloudResult remove(Long id, RequestContext context);

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

	/**
	 * 修改
	 * 
	 * @param bean
	 * @param user
	 * @return
	 */
	public BocloudResult modify(NetBean bean, RequestContext context);

	public BocloudResult attachNetworkCard(NetworkCard networkCardParam, RequestContext context);

	public BocloudResult detachNetworkCard(Long id, RequestContext context);

	public BocloudResult batchRemove(List<Long> idArray, RequestContext context);

}
