package com.bocloud.cmp.provider.campus;

import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.nms.model.campus.AssignedIpInfoModel;
import com.bocloud.nms.model.campus.AssignedIpScopeModel;

import java.util.List;

public interface AssignedIpScopeProvider extends SuperProvider {

    default BocloudResult<List<AssignedIpScopeModel>> list() {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<AssignedIpScopeModel> create(AssignedIpScopeModel model) {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<AssignedIpScopeModel> createChild(Long parentId, AssignedIpScopeModel model) {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<?> update(AssignedIpScopeModel model) {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<?> freed(Long id) {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<?> freedUsed(Long id) {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<List<AssignedIpInfoModel>> listUsed(Long id) {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<?> assignIp(AssignedIpInfoModel model) {
        throw new RuntimeException("unimplemented");
    }

    default BocloudResult<?> get(Long id) {
        throw new RuntimeException("unimplemented");
    }

}
