package com.bocloud.cmp.provider.azure.account;

import com.bocloud.cmp.model.azure.account.StorageAccountFirewallModel;
import com.bocloud.cmp.model.azure.account.StorageAccountModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

/**
 * @Company: 博云 www.bocloud.com
 * @ClassName: StorageAccountProvider
 * @Description:
 * @author: zhenpingLi/李振平
 * @date: 2020/7/24 13:52
 */
public interface StorageAccountProvider extends SuperProvider {

    default BocloudResult list() {
        return new BocloudResult(false, "need implement");
    }

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

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

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

    default BocloudResult remove(String uuid) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult checkName(String name) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult customDomain(StorageAccountModel model) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult minimumTlsVersion(StorageAccountModel model) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult withAccessFromNetworkSubnet(StorageAccountModel model) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult withoutNetworkSubnetAccess(StorageAccountModel model) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult withAccessFromAllNetworks(StorageAccountModel model) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult withAccessFromIpAddress(StorageAccountFirewallModel model) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult withoutIpAddressAccess(StorageAccountFirewallModel model) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult regenerateKey(StorageAccountModel model) {
        return new BocloudResult(false, "need implement");
    }

}