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

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.f5.BiVirtualServer;

import java.util.Map;

/**
 * @author kyw
 */

public interface F5BiVirtualServerService {
	/**
	 * 列表
	 * @param pager
	 * @return
	 */
	public BocloudResult<GridBean<BiVirtualServer>> list(Pager pager);

	/**
	 * 添加
	 * 
	 * @param biVirtualServer
	 * @param userId
	 * @return
	 */
	public BocloudResult create(BiVirtualServer biVirtualServer, Long userId);

	/**
	 * 更新
	 * 
	 * @param biVirtualServer
	 * @param userId
	 * @return 操作结果
	 */
	public BocloudResult modify(BiVirtualServer biVirtualServer, Long userId);

	/**
	 * 移除
	 * 
	 * @param id
	 *            ID
	 * @param userId
	 *            操作者ID
	 * @return 操作结果
	 */
	public BocloudResult remove(Long id, Long userId);

	/**
	 * 详细信息
	 * 
	 * @param id
	 *            ID
	 * @return 详细信息
	 */
	public BocloudResult<BiVirtualServer> detail(Long id);

	/**
	 * f5扩容申请列表
	 * @param pager
	 * @param context
	 * @return
	 */
	public BocloudResult<GridBean<Map<String, Object>>> expansionApplyList(Pager pager, RequestContext context);
}
