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

import com.alibaba.fastjson.JSONObject;
import com.bocloud.cmp.model.common.ApplicationParam;
import com.bocloud.cmp.model.common.CancelationParam;
import com.bocloud.cmp.model.common.ExtensionParam;
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.slb.Slb;

public interface SlbService {

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

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

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

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

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

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

    BocloudResult<Void> apply(ApplicationParam application);

    BocloudResult<Void> extension(ExtensionParam param);

    BocloudResult<Void> cancelation(CancelationParam param);


}
