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

/**
 * openstack底层租户业务接口
 *
 * @author wangyu
 * @version 4.2.1-SNAPSHOT
 * @since 2019/11/14
 */
public interface OSTenantService {

	/**
	 * 查询openstack租户列表
	 *
	 * @param pager
	 * @return
	 */
	BocloudResult<GridBean<OSTenant>> list(Pager pager);

	/**
	 * 查询openstack租户详情
	 *
	 * @param id
	 * @return
	 */
	BocloudResult<OSTenant> detail(Long id);

	BocloudResult<String> create(OSTenant oSTenant, RequestContext context);

	BocloudResult<String> remove(Long id, RequestContext context);

	BocloudResult<String> modify(OSTenant oSTenant, RequestContext context);

	/**
	 * 项目分配
	 * 
	 * @param opTenant
	 * @param context
	 * @return
	 */
	BocloudResult assign(OSTenant opTenant, RequestContext context);

	/**
	 * 项目回收
	 * 
	 * @param id
	 * @param context
	 * @return
	 */
	BocloudResult reclaim(Long id, RequestContext context);

	BocloudResult condition(String condition, RequestContext context);

}
