package com.bocloud.ims.interfaces.resource;

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.VpnPolicy;

import java.util.List;

/**
 * vpc策略
 *
 * @author Administrator
 */
public interface VpnPolicyService {

	/**
	 * 列表展示
	 *
	 * @param pager
	 * @param requestUser
	 * @return
	 */
	BocloudResult<GridBean<VpnPolicy>> list(Pager pager, RequestContext context);

	/**
	 * VPN POLICY CONDITION 查询
	 *
	 * @param condition
	 * @param context
	 * @return
	 */
	BocloudResult<List<VpnPolicy>> condition(String condition, RequestContext context);

	/**
	 * 创建
	 *
	 * @param params
	 * @param user
	 * @return
	 */
	BocloudResult<String> create(VpnPolicy vpnPolicy, RequestContext context);

	/**
	 * 修改
	 *
	 * @param vpn
	 * @param context
	 * @return
	 */
	BocloudResult<VpnPolicy> modify(VpnPolicy vpn, RequestContext context);

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

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

	/**
	 * 查询可用的vpn policy
	 *
	 * @param params
	 * @return
	 */
	BocloudResult<List<VpnPolicy>> listUsablePolicy(String params);



}
