AccountKindExtensions
using System;
namespace Azure.Storage.Blobs.Models
{
    internal static class AccountKindExtensions
    {
        public static string ToSerialString(this AccountKind value)
        {
            switch (value) {
            case AccountKind.Storage:
                return "Storage";
            case AccountKind.BlobStorage:
                return "BlobStorage";
            case AccountKind.StorageV2:
                return "StorageV2";
            case AccountKind.FileStorage:
                return "FileStorage";
            case AccountKind.BlockBlobStorage:
                return "BlockBlobStorage";
            default:
                throw new ArgumentOutOfRangeException("value", value, "Unknown AccountKind value.");
            }
        }
        public static AccountKind ToAccountKind(this string value)
        {
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "Storage"))
                return AccountKind.Storage;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "BlobStorage"))
                return AccountKind.BlobStorage;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "StorageV2"))
                return AccountKind.StorageV2;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "FileStorage"))
                return AccountKind.FileStorage;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "BlockBlobStorage"))
                return AccountKind.BlockBlobStorage;
            throw new ArgumentOutOfRangeException("value", value, "Unknown AccountKind value.");
        }
    }
}