package com.bocloud.ims.interfaces.resource.azure.db;

import com.bocloud.cmp.params.azure.CloudDatabaseServerOperationParams;
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.azure.db.AzureDatabaseServer;

/**
 * @Company: 博云 www.bocloud.com
 * @ClassName: DatabaseForMysqlService
 * @Description:
 * @author: zhenpingLi/李振平
 * @date: 2020/12/18 15:24
 */
public interface CloudDatabaseServerService {

    BocloudResult<GridBean<AzureDatabaseServer>> list(Pager pager, RequestContext context);

    BocloudResult<AzureDatabaseServer> detail(Long id, RequestContext context);

    BocloudResult<Void> modify(AzureDatabaseServer entityParams, RequestContext context);

    BocloudResult<Void> create(AzureDatabaseServer entityParams, RequestContext context);

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

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

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

    BocloudResult<Void> operations(CloudDatabaseServerOperationParams params, RequestContext context);

    BocloudResult pricingLayer(AzureDatabaseServer modifyParams, RequestContext context);
}