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

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.hmc.HmcVirtualSwitch;

import java.util.List;

public interface HmcVirtualSwitchService {
	/**
	 * 列表虚拟交换机
	 * @param pager
	 * @return
	 */
	public BocloudResult<GridBean<HmcVirtualSwitch>> list(Pager pager);

	/**
	 * 修改虚拟交换机
	 * 
	 * @param
	 * @return 操作结果
	 */
	public BocloudResult modify(HmcVirtualSwitch profile, RequestContext context);

	/**
	 * 创建虚拟交换机
	 * 
	 * @param
	 * @return 操作结果
	 */
	public BocloudResult create(HmcVirtualSwitch virtualSwitch, RequestContext context);

	/**
	 * 删除虚拟交换机
	 * 
	 * @param id
	 *            the id
	 * @param id
	 *            the context id
	 * @return the result
	 */
	public BocloudResult remove(Long id, RequestContext context);
	
	/**
	 * 查看HMC虚拟交换机详细信息
	 * 
	 * @param id
	 *            HMC虚拟交换机ID
	 * @return 操作结果
	 */
	public BocloudResult<HmcVirtualSwitch> detail(Long id, Long serverId);

	/**
	 * 查看HMC虚拟交换机可用的vlanId
	 *
	 * @param id
	 *            HMC虚拟交换机ID
	 * @return 操作结果
	 */
	public BocloudResult<List<Integer>> getVlanIds(Long id);
}
