package com.bocloud.ims.interfaces.resource;

import com.bocloud.cmp.model.ServerLabelParam;
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.Label;

public interface LabelService {

	/**
	 * 查询标签列表
	 *
	 * @param pager
	 * @param context
	 * @return
	 */
	BocloudResult<GridBean<Label>> list(Pager pager, RequestContext context);

	/**
	 * 查看标签详情
	 *
	 * @param id
	 * @return
	 */
	BocloudResult<Label> detail(Long id);

	/**
	 * 创建标签
	 *
	 * @param label
	 * @return
	 */
	BocloudResult<Label> create(Label label);

	/**
	 * 更新标签
	 *
	 * @param label
	 * @return
	 */
	BocloudResult<Label> modify(Label label);

	/**
	 * 删除标签
	 *
	 * @param id
	 * @return
	 */
	BocloudResult remove(Long id);

	/**
	 * 查询资源标签
	 * 
	 * @param serverLabelParam
	 * @return
	 */
	BocloudResult resources(ServerLabelParam serverLabelParam);

	/**
	 * 资源标签绑定
	 * 
	 * @param serverLabelParam
	 * @return
	 */
	BocloudResult createResources(ServerLabelParam serverLabelParam, RequestContext context);

}
