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;
}
}
}