package com.bocloud.cmp.provider.network;

import com.bocloud.cmp.model.cisco.TenantModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.nms.model.agile.AgileTenantModel;
import com.bocloud.nms.model.agile.AgileTenantStatisticsModel;

import java.util.List;

public interface TenantProvider extends SuperProvider {
    default BocloudResult create(TenantModel model) {
        return new BocloudResult(false, "need implement");
    }

    public BocloudResult<?> remove(String dn);

    public BocloudResult<List<AgileTenantModel>> list();

    default BocloudResult<AgileTenantModel> create(AgileTenantModel model) {
        return new BocloudResult<>(false, "need implement");
    }

    default BocloudResult<AgileTenantModel> modify(AgileTenantModel model) {
        return new BocloudResult<>(false, "need implement");
    }

    default BocloudResult<AgileTenantModel> detail(String uuid) {
        return new BocloudResult<>(false, "need implement");
    }

    default BocloudResult<AgileTenantStatisticsModel> statistics(String uuid) {
        return new BocloudResult<>(false, "need implement");
    }

    default BocloudResult<List<String>> queryRouterStatus(String uuid, String type) {
        return new BocloudResult<>(false, "need implement");
    }

    default BocloudResult<List<String>> querySwitchStatus(String uuid, String type) {
        return new BocloudResult<>(false, "need implement");
    }
}
