package com.bocloud.cmp.provider.network;

import java.util.List;

import com.bocloud.cmp.model.RouteTableModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

/**
 * 路由表
 */
public interface RouteTableProvider extends SuperProvider {
    /**
     * 路由表列表
     *
     * @return
     */
    default BocloudResult list() {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult create(RouteTableModel model) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult delete(String routeTableId) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult modify(RouteTableModel model) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult detail(String routeTableId) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult associate(String routeTableId, String vSwitchId) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult unAssociate(String routeTableId, String vSwitchId) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult associateSubnet(List<String> subnetUuids, String routeTableId) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult unAssociateSubnet(String subnetUuid, String routeTableId) {
        return new BocloudResult(false, "暂未开发！");
    }

    default BocloudResult getByVpc(String vpcUuid) {
        return null;
    }

}
