ArchiveStatusExtensions
using System;
namespace Azure.Storage.Blobs.Models
{
    internal static class ArchiveStatusExtensions
    {
        public static string ToSerialString(this ArchiveStatus value)
        {
            switch (value) {
            case ArchiveStatus.RehydratePendingToHot:
                return "rehydrate-pending-to-hot";
            case ArchiveStatus.RehydratePendingToCool:
                return "rehydrate-pending-to-cool";
            case ArchiveStatus.RehydratePendingToCold:
                return "rehydrate-pending-to-cold";
            default:
                throw new ArgumentOutOfRangeException("value", value, "Unknown ArchiveStatus value.");
            }
        }
        public static ArchiveStatus ToArchiveStatus(this string value)
        {
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "rehydrate-pending-to-hot"))
                return ArchiveStatus.RehydratePendingToHot;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "rehydrate-pending-to-cool"))
                return ArchiveStatus.RehydratePendingToCool;
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "rehydrate-pending-to-cold"))
                return ArchiveStatus.RehydratePendingToCold;
            throw new ArgumentOutOfRangeException("value", value, "Unknown ArchiveStatus value.");
        }
    }
}