package com.bocloud.ims.interfaces.resource;

import java.util.List;

import com.bocloud.cmp.model.InternetGatewayParam;
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.InternetGateway;

public interface InternetGatewayService {

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

	/**
	 * 创建
	 *
	 * @return
	 */
	BocloudResult<InternetGateway> create(InternetGateway internetGateway, RequestContext context);

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

	/**
	 * 附加VPC
	 *
	 * @return
	 */
	BocloudResult attach(InternetGatewayParam internetGatewayParam, RequestContext context);

	/**
	 * 脱离VPC
	 *
	 * @return
	 */
	BocloudResult detach(InternetGatewayParam internetGatewayParam, RequestContext context);

	/**
	 * 更新网关
	 *
	 * @return
	 */
	BocloudResult<InternetGateway> modify(InternetGateway gateway, RequestContext context);

}
