package com.bocloud.cmp.provider.agile.network;

import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.nms.model.agile.AgileResourcePoolLinkModel;
import com.bocloud.nms.model.agile.AgileResourcePoolModel;

import java.util.List;

/**
 * 华为SDN资源池操作接口
 */
public interface ResourcePoolProvider extends SuperProvider {
    /**
     * 创建资源池
     *
     * @param model
     * @return
     */
    public BocloudResult<AgileResourcePoolModel> create(AgileResourcePoolModel model);

    /**
     * 华为Sdn获取区域下的所有资源池
     *
     * @param model
     * @return
     */
    default BocloudResult<List<AgileResourcePoolModel>> listByResign(AgileResourcePoolModel model) {
        return new BocloudResult<>(true, "");
    }

    /**
     * 删除资源池
     *
     * @param model
     * @return
     */
    default BocloudResult<?> removeHuaWeiSdnPool(AgileResourcePoolModel model) {
        return new BocloudResult<>(true, "");
    }

    /**
     * 获取资源池链路
     *
     * @return
     */
    default BocloudResult<List<AgileResourcePoolLinkModel>> listResourcePoolLink() {
        return new BocloudResult<>(false, "need implement");
    }
}
