package com.bocloud.cmp.provider.nsx;

import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.nms.model.nsx.NsxLogicalRouterModel;
import com.bocloud.nms.model.nsx.NsxTierOneModel;
import com.bocloud.nms.model.nsx.NsxTierZeroModel;

/**
 * nsx分布式路由器接口
 *
 * @author wangyu
 * @version 1.0
 * @since 2020年2月20日
 */
public interface RouterProvider extends SuperProvider {
    BocloudResult listTier0();

    BocloudResult createTier0(NsxTierZeroModel model);

    BocloudResult removeTier0(String tier0Id);

    BocloudResult detailTier0(String tier0Id);

    BocloudResult updateTier0(NsxTierZeroModel model);

    BocloudResult listTier1();

    BocloudResult createTier1(NsxTierOneModel model);

    BocloudResult removeTier1(String tier1Id);

    BocloudResult detailTier1(String tier1Id);

    BocloudResult updateTier1(NsxTierOneModel model);

    BocloudResult list();

    BocloudResult create(NsxLogicalRouterModel model);

    BocloudResult remove(String routerId);

    BocloudResult detail(String routerId);

    BocloudResult update(NsxLogicalRouterModel model);
}
