package com.bocloud.cmp.provider.storage;

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

import java.util.List;

public interface FabricZoneProvider extends SuperProvider {
    default BocloudResult list(String fabricWwn) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult create(String fabricWwn, List<SanFabricZoneModel> zones) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult remove(String fabricWwn, List<String> zones) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult detail(String fabricWwn, String zoneName) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult listAlias(String fabricWwn) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult createAlias(String fabricWwn, List<SanFabricZoneModel> aliases) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult removeAlias(String fabricWwn, List<String> aliases) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult detailAlias(String fabricWwn, String alias) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult create(SanFabricZoneModel zone) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult modify(SanFabricZoneModel zone) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult remove(SanFabricZoneModel zone) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult createAlias(SanFabricZoneModel zone) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult modifyAlias(SanFabricZoneModel zone) {
        return new BocloudResult(false, "need implement");
    }

    default public BocloudResult removeAlias(SanFabricZoneModel zone) {
        return new BocloudResult(false, "need implement");
    }
}
