BlobExpiryOptions
The BlobExpiryOptions. 
                using System;
using System.ComponentModel;
namespace Azure.Storage.Blobs.Models
{
    internal readonly struct BlobExpiryOptions : IEquatable<BlobExpiryOptions>
    {
        private readonly string _value;
        private const string NeverExpireValue = "NeverExpire";
        private const string RelativeToCreationValue = "RelativeToCreation";
        private const string RelativeToNowValue = "RelativeToNow";
        private const string AbsoluteValue = "Absolute";
        public static BlobExpiryOptions NeverExpire { get; } = new BlobExpiryOptions("NeverExpire");
        public static BlobExpiryOptions RelativeToCreation { get; } = new BlobExpiryOptions("RelativeToCreation");
        public static BlobExpiryOptions RelativeToNow { get; } = new BlobExpiryOptions("RelativeToNow");
        public static BlobExpiryOptions Absolute { get; } = new BlobExpiryOptions("Absolute");
        public BlobExpiryOptions(string value)
        {
            if (value == null)
                throw new ArgumentNullException("value");
            _value = value;
        }
        public static bool operator ==(BlobExpiryOptions left, BlobExpiryOptions right)
        {
            return left.Equals(right);
        }
        public static bool operator !=(BlobExpiryOptions left, BlobExpiryOptions right)
        {
            return !left.Equals(right);
        }
        public static implicit operator BlobExpiryOptions(string value)
        {
            return new BlobExpiryOptions(value);
        }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public override bool Equals(object obj)
        {
            if (obj is BlobExpiryOptions) {
                BlobExpiryOptions other = (BlobExpiryOptions)obj;
                return Equals(other);
            }
            return false;
        }
        public bool Equals(BlobExpiryOptions 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;
        }
    }
}