AccessTier
The AccessTier. 
                using System;
using System.ComponentModel;
namespace Azure.Storage.Blobs.Models
{
    public readonly struct AccessTier : IEquatable<AccessTier>
    {
        private readonly string _value;
        private const string P4Value = "P4";
        private const string P6Value = "P6";
        private const string P10Value = "P10";
        private const string P15Value = "P15";
        private const string P20Value = "P20";
        private const string P30Value = "P30";
        private const string P40Value = "P40";
        private const string P50Value = "P50";
        private const string P60Value = "P60";
        private const string P70Value = "P70";
        private const string P80Value = "P80";
        private const string HotValue = "Hot";
        private const string CoolValue = "Cool";
        private const string ArchiveValue = "Archive";
        private const string PremiumValue = "Premium";
        private const string ColdValue = "Cold";
        public static AccessTier P4 { get; } = new AccessTier("P4");
        public static AccessTier P6 { get; } = new AccessTier("P6");
        public static AccessTier P10 { get; } = new AccessTier("P10");
        public static AccessTier P15 { get; } = new AccessTier("P15");
        public static AccessTier P20 { get; } = new AccessTier("P20");
        public static AccessTier P30 { get; } = new AccessTier("P30");
        public static AccessTier P40 { get; } = new AccessTier("P40");
        public static AccessTier P50 { get; } = new AccessTier("P50");
        public static AccessTier P60 { get; } = new AccessTier("P60");
        public static AccessTier P70 { get; } = new AccessTier("P70");
        public static AccessTier P80 { get; } = new AccessTier("P80");
        public static AccessTier Hot { get; } = new AccessTier("Hot");
        public static AccessTier Cool { get; } = new AccessTier("Cool");
        public static AccessTier Archive { get; } = new AccessTier("Archive");
        public static AccessTier Premium { get; } = new AccessTier("Premium");
        public static AccessTier Cold { get; } = new AccessTier("Cold");
        public AccessTier(string value)
        {
            if (value == null)
                throw new ArgumentNullException("value");
            _value = value;
        }
        public static bool operator ==(AccessTier left, AccessTier right)
        {
            return left.Equals(right);
        }
        public static bool operator !=(AccessTier left, AccessTier right)
        {
            return !left.Equals(right);
        }
        public static implicit operator AccessTier(string value)
        {
            return new AccessTier(value);
        }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public override bool Equals(object obj)
        {
            if (obj is AccessTier) {
                AccessTier other = (AccessTier)obj;
                return Equals(other);
            }
            return false;
        }
        public bool Equals(AccessTier other)
        {
            return string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
        }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public override int GetHashCode()
        {
            if (_value == null)
                return 0;
            return StringComparer.InvariantCultureIgnoreCase.GetHashCode(_value);
        }
        public override string ToString()
        {
            return _value;
        }
    }
}