package com.bocloud.ims.interfaces.resource;

import com.bocloud.cmp.params.azure.UserAssignParams;
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.ResourceGroup;

import java.util.List;

/**
 * @Company: 博云 www.bocloud.com
 * @ClassName: AzureResourceGroupsService
 * @Description:
 * @author: zhenpingLi/李振平
 * @date: 2019/8/8 13:43
 */
public interface ResourceGroupService {

	BocloudResult<GridBean<ResourceGroup>> list(Pager pager);

	BocloudResult<String> create(ResourceGroup resourceGroup, RequestContext context);

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

	BocloudResult<ResourceGroup> detail(Long id);

	default BocloudResult<String> modify(Long id, String params, RequestContext context) {
		return null;
	}

	default BocloudResult relateDevices(Long id, String params, RequestContext context) {
		return null;
	}

	default BocloudResult removeDevices(Long id, String params, RequestContext context) {
		return null;
	}

	default BocloudResult getOtherResource(Long id, String resourceIp) {
		return null;
	}

	BocloudResult<ResourceGroup> assign(UserAssignParams params, RequestContext context);

	BocloudResult<Void> assignBatch(UserAssignParams params, RequestContext context);

}
