ClientSideEncryptionVersionExtensions
namespace Azure.Storage.Cryptography.Models
{
    internal static class ClientSideEncryptionVersionExtensions
    {
        public static class ClientSideEncryptionVersionString
        {
            public const string V1_0 = "1.0";
            public const string V2_0 = "2.0";
            public const string V2_1 = "2.1";
        }
        public static string Serialize(this ClientSideEncryptionVersionInternal version)
        {
            switch (version) {
            case ClientSideEncryptionVersionInternal.V1_0:
                return "1.0";
            case ClientSideEncryptionVersionInternal.V2_0:
                return "2.0";
            case ClientSideEncryptionVersionInternal.V2_1:
                return "2.1";
            default:
                throw Errors.ClientSideEncryption.ClientSideEncryptionVersionNotSupported(null);
            }
        }
        public static ClientSideEncryptionVersionInternal ToClientSideEncryptionVersion(this string versionString)
        {
            if (versionString == "1.0")
                return ClientSideEncryptionVersionInternal.V1_0;
            if (versionString == "2.0")
                return ClientSideEncryptionVersionInternal.V2_0;
            if (versionString == "2.1")
                return ClientSideEncryptionVersionInternal.V2_1;
            throw Errors.ClientSideEncryption.ClientSideEncryptionVersionNotSupported(versionString);
        }
    }
}