BlobErrorCode
Error codes returned by the service. 
                using Azure.Core;
using System;
using System.ComponentModel;
namespace Azure.Storage.Blobs.Models
{
    [CodeGenModel("ErrorCode")]
    public readonly struct BlobErrorCode : IEquatable<BlobErrorCode>
    {
        private readonly string _value;
        private const string AccountAlreadyExistsValue = "AccountAlreadyExists";
        private const string AccountBeingCreatedValue = "AccountBeingCreated";
        private const string AccountIsDisabledValue = "AccountIsDisabled";
        private const string AuthenticationFailedValue = "AuthenticationFailed";
        private const string AuthorizationFailureValue = "AuthorizationFailure";
        private const string ConditionHeadersNotSupportedValue = "ConditionHeadersNotSupported";
        private const string ConditionNotMetValue = "ConditionNotMet";
        private const string EmptyMetadataKeyValue = "EmptyMetadataKey";
        private const string InsufficientAccountPermissionsValue = "InsufficientAccountPermissions";
        private const string InternalErrorValue = "InternalError";
        private const string InvalidAuthenticationInfoValue = "InvalidAuthenticationInfo";
        private const string InvalidHeaderValueValue = "InvalidHeaderValue";
        private const string InvalidHttpVerbValue = "InvalidHttpVerb";
        private const string InvalidInputValue = "InvalidInput";
        private const string InvalidMd5Value = "InvalidMd5";
        private const string InvalidMetadataValue = "InvalidMetadata";
        private const string InvalidQueryParameterValueValue = "InvalidQueryParameterValue";
        private const string InvalidRangeValue = "InvalidRange";
        private const string InvalidResourceNameValue = "InvalidResourceName";
        private const string InvalidUriValue = "InvalidUri";
        private const string InvalidXmlDocumentValue = "InvalidXmlDocument";
        private const string InvalidXmlNodeValueValue = "InvalidXmlNodeValue";
        private const string Md5MismatchValue = "Md5Mismatch";
        private const string MetadataTooLargeValue = "MetadataTooLarge";
        private const string MissingContentLengthHeaderValue = "MissingContentLengthHeader";
        private const string MissingRequiredQueryParameterValue = "MissingRequiredQueryParameter";
        private const string MissingRequiredHeaderValue = "MissingRequiredHeader";
        private const string MissingRequiredXmlNodeValue = "MissingRequiredXmlNode";
        private const string MultipleConditionHeadersNotSupportedValue = "MultipleConditionHeadersNotSupported";
        private const string OperationTimedOutValue = "OperationTimedOut";
        private const string OutOfRangeInputValue = "OutOfRangeInput";
        private const string OutOfRangeQueryParameterValueValue = "OutOfRangeQueryParameterValue";
        private const string RequestBodyTooLargeValue = "RequestBodyTooLarge";
        private const string ResourceTypeMismatchValue = "ResourceTypeMismatch";
        private const string RequestUrlFailedToParseValue = "RequestUrlFailedToParse";
        private const string ResourceAlreadyExistsValue = "ResourceAlreadyExists";
        private const string ResourceNotFoundValue = "ResourceNotFound";
        private const string ServerBusyValue = "ServerBusy";
        private const string UnsupportedHeaderValue = "UnsupportedHeader";
        private const string UnsupportedXmlNodeValue = "UnsupportedXmlNode";
        private const string UnsupportedQueryParameterValue = "UnsupportedQueryParameter";
        private const string UnsupportedHttpVerbValue = "UnsupportedHttpVerb";
        private const string AppendPositionConditionNotMetValue = "AppendPositionConditionNotMet";
        private const string BlobAlreadyExistsValue = "BlobAlreadyExists";
        private const string BlobImmutableDueToPolicyValue = "BlobImmutableDueToPolicy";
        private const string BlobNotFoundValue = "BlobNotFound";
        private const string BlobOverwrittenValue = "BlobOverwritten";
        private const string BlobTierInadequateForContentLengthValue = "BlobTierInadequateForContentLength";
        private const string BlobUsesCustomerSpecifiedEncryptionValue = "BlobUsesCustomerSpecifiedEncryption";
        private const string BlockCountExceedsLimitValue = "BlockCountExceedsLimit";
        private const string BlockListTooLongValue = "BlockListTooLong";
        private const string CannotChangeToLowerTierValue = "CannotChangeToLowerTier";
        private const string CannotVerifyCopySourceValue = "CannotVerifyCopySource";
        private const string ContainerAlreadyExistsValue = "ContainerAlreadyExists";
        private const string ContainerBeingDeletedValue = "ContainerBeingDeleted";
        private const string ContainerDisabledValue = "ContainerDisabled";
        private const string ContainerNotFoundValue = "ContainerNotFound";
        private const string ContentLengthLargerThanTierLimitValue = "ContentLengthLargerThanTierLimit";
        private const string CopyAcrossAccountsNotSupportedValue = "CopyAcrossAccountsNotSupported";
        private const string CopyIdMismatchValue = "CopyIdMismatch";
        private const string FeatureVersionMismatchValue = "FeatureVersionMismatch";
        private const string IncrementalCopyBlobMismatchValue = "IncrementalCopyBlobMismatch";
        private const string IncrementalCopyOfEarlierVersionSnapshotNotAllowedValue = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
        private const string IncrementalCopySourceMustBeSnapshotValue = "IncrementalCopySourceMustBeSnapshot";
        private const string InfiniteLeaseDurationRequiredValue = "InfiniteLeaseDurationRequired";
        private const string InvalidBlobOrBlockValue = "InvalidBlobOrBlock";
        private const string InvalidBlobTierValue = "InvalidBlobTier";
        private const string InvalidBlobTypeValue = "InvalidBlobType";
        private const string InvalidBlockIdValue = "InvalidBlockId";
        private const string InvalidBlockListValue = "InvalidBlockList";
        private const string InvalidOperationValue = "InvalidOperation";
        private const string InvalidPageRangeValue = "InvalidPageRange";
        private const string InvalidSourceBlobTypeValue = "InvalidSourceBlobType";
        private const string InvalidSourceBlobUrlValue = "InvalidSourceBlobUrl";
        private const string InvalidVersionForPageBlobOperationValue = "InvalidVersionForPageBlobOperation";
        private const string LeaseAlreadyPresentValue = "LeaseAlreadyPresent";
        private const string LeaseAlreadyBrokenValue = "LeaseAlreadyBroken";
        private const string LeaseIdMismatchWithBlobOperationValue = "LeaseIdMismatchWithBlobOperation";
        private const string LeaseIdMismatchWithContainerOperationValue = "LeaseIdMismatchWithContainerOperation";
        private const string LeaseIdMismatchWithLeaseOperationValue = "LeaseIdMismatchWithLeaseOperation";
        private const string LeaseIdMissingValue = "LeaseIdMissing";
        private const string LeaseIsBreakingAndCannotBeAcquiredValue = "LeaseIsBreakingAndCannotBeAcquired";
        private const string LeaseIsBreakingAndCannotBeChangedValue = "LeaseIsBreakingAndCannotBeChanged";
        private const string LeaseIsBrokenAndCannotBeRenewedValue = "LeaseIsBrokenAndCannotBeRenewed";
        private const string LeaseLostValue = "LeaseLost";
        private const string LeaseNotPresentWithBlobOperationValue = "LeaseNotPresentWithBlobOperation";
        private const string LeaseNotPresentWithContainerOperationValue = "LeaseNotPresentWithContainerOperation";
        private const string LeaseNotPresentWithLeaseOperationValue = "LeaseNotPresentWithLeaseOperation";
        private const string MaxBlobSizeConditionNotMetValue = "MaxBlobSizeConditionNotMet";
        private const string NoAuthenticationInformationValue = "NoAuthenticationInformation";
        private const string NoPendingCopyOperationValue = "NoPendingCopyOperation";
        private const string OperationNotAllowedOnIncrementalCopyBlobValue = "OperationNotAllowedOnIncrementalCopyBlob";
        private const string PendingCopyOperationValue = "PendingCopyOperation";
        private const string PreviousSnapshotCannotBeNewerValue = "PreviousSnapshotCannotBeNewer";
        private const string PreviousSnapshotNotFoundValue = "PreviousSnapshotNotFound";
        private const string PreviousSnapshotOperationNotSupportedValue = "PreviousSnapshotOperationNotSupported";
        private const string SequenceNumberConditionNotMetValue = "SequenceNumberConditionNotMet";
        private const string SequenceNumberIncrementTooLargeValue = "SequenceNumberIncrementTooLarge";
        private const string SnapshotCountExceededValue = "SnapshotCountExceeded";
        private const string SnapshotOperationRateExceededValue = "SnapshotOperationRateExceeded";
        private const string SnapshotsPresentValue = "SnapshotsPresent";
        private const string SourceConditionNotMetValue = "SourceConditionNotMet";
        private const string SystemInUseValue = "SystemInUse";
        private const string TargetConditionNotMetValue = "TargetConditionNotMet";
        private const string  = "UnauthorizedBlobOverwrite";
        private const string BlobBeingRehydratedValue = "BlobBeingRehydrated";
        private const string BlobArchivedValue = "BlobArchived";
        private const string BlobNotArchivedValue = "BlobNotArchived";
        private const string AuthorizationSourceIPMismatchValue = "AuthorizationSourceIPMismatch";
        private const string AuthorizationProtocolMismatchValue = "AuthorizationProtocolMismatch";
        private const string AuthorizationPermissionMismatchValue = "AuthorizationPermissionMismatch";
        private const string AuthorizationServiceMismatchValue = "AuthorizationServiceMismatch";
        private const string AuthorizationResourceTypeMismatchValue = "AuthorizationResourceTypeMismatch";
        private const string BlobAccessTierNotSupportedForAccountTypeValue = "BlobAccessTierNotSupportedForAccountType";
        private const string SnaphotOperationRateExceededValue = "SnaphotOperationRateExceeded";
        private const string IncrementalCopyOfEralierVersionSnapshotNotAllowedValue = "IncrementalCopyOfEralierVersionSnapshotNotAllowed";
        public static BlobErrorCode AccountAlreadyExists { get; } = new BlobErrorCode("AccountAlreadyExists");
        public static BlobErrorCode AccountBeingCreated { get; } = new BlobErrorCode("AccountBeingCreated");
        public static BlobErrorCode AccountIsDisabled { get; } = new BlobErrorCode("AccountIsDisabled");
        public static BlobErrorCode AuthenticationFailed { get; } = new BlobErrorCode("AuthenticationFailed");
        public static BlobErrorCode AuthorizationFailure { get; } = new BlobErrorCode("AuthorizationFailure");
        public static BlobErrorCode ConditionHeadersNotSupported { get; } = new BlobErrorCode("ConditionHeadersNotSupported");
        public static BlobErrorCode ConditionNotMet { get; } = new BlobErrorCode("ConditionNotMet");
        public static BlobErrorCode EmptyMetadataKey { get; } = new BlobErrorCode("EmptyMetadataKey");
        public static BlobErrorCode InsufficientAccountPermissions { get; } = new BlobErrorCode("InsufficientAccountPermissions");
        public static BlobErrorCode InternalError { get; } = new BlobErrorCode("InternalError");
        public static BlobErrorCode InvalidAuthenticationInfo { get; } = new BlobErrorCode("InvalidAuthenticationInfo");
        public static BlobErrorCode InvalidHeaderValue { get; } = new BlobErrorCode("InvalidHeaderValue");
        public static BlobErrorCode InvalidHttpVerb { get; } = new BlobErrorCode("InvalidHttpVerb");
        public static BlobErrorCode InvalidInput { get; } = new BlobErrorCode("InvalidInput");
        public static BlobErrorCode InvalidMd5 { get; } = new BlobErrorCode("InvalidMd5");
        public static BlobErrorCode InvalidMetadata { get; } = new BlobErrorCode("InvalidMetadata");
        public static BlobErrorCode InvalidQueryParameterValue { get; } = new BlobErrorCode("InvalidQueryParameterValue");
        public static BlobErrorCode InvalidRange { get; } = new BlobErrorCode("InvalidRange");
        public static BlobErrorCode InvalidResourceName { get; } = new BlobErrorCode("InvalidResourceName");
        public static BlobErrorCode InvalidUri { get; } = new BlobErrorCode("InvalidUri");
        public static BlobErrorCode InvalidXmlDocument { get; } = new BlobErrorCode("InvalidXmlDocument");
        public static BlobErrorCode InvalidXmlNodeValue { get; } = new BlobErrorCode("InvalidXmlNodeValue");
        public static BlobErrorCode Md5Mismatch { get; } = new BlobErrorCode("Md5Mismatch");
        public static BlobErrorCode MetadataTooLarge { get; } = new BlobErrorCode("MetadataTooLarge");
        public static BlobErrorCode MissingContentLengthHeader { get; } = new BlobErrorCode("MissingContentLengthHeader");
        public static BlobErrorCode MissingRequiredQueryParameter { get; } = new BlobErrorCode("MissingRequiredQueryParameter");
        public static BlobErrorCode MissingRequiredHeader { get; } = new BlobErrorCode("MissingRequiredHeader");
        public static BlobErrorCode MissingRequiredXmlNode { get; } = new BlobErrorCode("MissingRequiredXmlNode");
        public static BlobErrorCode MultipleConditionHeadersNotSupported { get; } = new BlobErrorCode("MultipleConditionHeadersNotSupported");
        public static BlobErrorCode OperationTimedOut { get; } = new BlobErrorCode("OperationTimedOut");
        public static BlobErrorCode OutOfRangeInput { get; } = new BlobErrorCode("OutOfRangeInput");
        public static BlobErrorCode OutOfRangeQueryParameterValue { get; } = new BlobErrorCode("OutOfRangeQueryParameterValue");
        public static BlobErrorCode RequestBodyTooLarge { get; } = new BlobErrorCode("RequestBodyTooLarge");
        public static BlobErrorCode ResourceTypeMismatch { get; } = new BlobErrorCode("ResourceTypeMismatch");
        public static BlobErrorCode RequestUrlFailedToParse { get; } = new BlobErrorCode("RequestUrlFailedToParse");
        public static BlobErrorCode ResourceAlreadyExists { get; } = new BlobErrorCode("ResourceAlreadyExists");
        public static BlobErrorCode ResourceNotFound { get; } = new BlobErrorCode("ResourceNotFound");
        public static BlobErrorCode ServerBusy { get; } = new BlobErrorCode("ServerBusy");
        public static BlobErrorCode UnsupportedHeader { get; } = new BlobErrorCode("UnsupportedHeader");
        public static BlobErrorCode UnsupportedXmlNode { get; } = new BlobErrorCode("UnsupportedXmlNode");
        public static BlobErrorCode UnsupportedQueryParameter { get; } = new BlobErrorCode("UnsupportedQueryParameter");
        public static BlobErrorCode UnsupportedHttpVerb { get; } = new BlobErrorCode("UnsupportedHttpVerb");
        public static BlobErrorCode AppendPositionConditionNotMet { get; } = new BlobErrorCode("AppendPositionConditionNotMet");
        public static BlobErrorCode BlobAlreadyExists { get; } = new BlobErrorCode("BlobAlreadyExists");
        public static BlobErrorCode BlobImmutableDueToPolicy { get; } = new BlobErrorCode("BlobImmutableDueToPolicy");
        public static BlobErrorCode BlobNotFound { get; } = new BlobErrorCode("BlobNotFound");
        public static BlobErrorCode BlobOverwritten { get; } = new BlobErrorCode("BlobOverwritten");
        public static BlobErrorCode BlobTierInadequateForContentLength { get; } = new BlobErrorCode("BlobTierInadequateForContentLength");
        public static BlobErrorCode BlobUsesCustomerSpecifiedEncryption { get; } = new BlobErrorCode("BlobUsesCustomerSpecifiedEncryption");
        public static BlobErrorCode BlockCountExceedsLimit { get; } = new BlobErrorCode("BlockCountExceedsLimit");
        public static BlobErrorCode BlockListTooLong { get; } = new BlobErrorCode("BlockListTooLong");
        public static BlobErrorCode CannotChangeToLowerTier { get; } = new BlobErrorCode("CannotChangeToLowerTier");
        public static BlobErrorCode CannotVerifyCopySource { get; } = new BlobErrorCode("CannotVerifyCopySource");
        public static BlobErrorCode ContainerAlreadyExists { get; } = new BlobErrorCode("ContainerAlreadyExists");
        public static BlobErrorCode ContainerBeingDeleted { get; } = new BlobErrorCode("ContainerBeingDeleted");
        public static BlobErrorCode ContainerDisabled { get; } = new BlobErrorCode("ContainerDisabled");
        public static BlobErrorCode ContainerNotFound { get; } = new BlobErrorCode("ContainerNotFound");
        public static BlobErrorCode ContentLengthLargerThanTierLimit { get; } = new BlobErrorCode("ContentLengthLargerThanTierLimit");
        public static BlobErrorCode CopyAcrossAccountsNotSupported { get; } = new BlobErrorCode("CopyAcrossAccountsNotSupported");
        public static BlobErrorCode CopyIdMismatch { get; } = new BlobErrorCode("CopyIdMismatch");
        public static BlobErrorCode FeatureVersionMismatch { get; } = new BlobErrorCode("FeatureVersionMismatch");
        public static BlobErrorCode IncrementalCopyBlobMismatch { get; } = new BlobErrorCode("IncrementalCopyBlobMismatch");
        public static BlobErrorCode IncrementalCopyOfEarlierVersionSnapshotNotAllowed { get; } = new BlobErrorCode("IncrementalCopyOfEarlierVersionSnapshotNotAllowed");
        public static BlobErrorCode IncrementalCopySourceMustBeSnapshot { get; } = new BlobErrorCode("IncrementalCopySourceMustBeSnapshot");
        public static BlobErrorCode InfiniteLeaseDurationRequired { get; } = new BlobErrorCode("InfiniteLeaseDurationRequired");
        public static BlobErrorCode InvalidBlobOrBlock { get; } = new BlobErrorCode("InvalidBlobOrBlock");
        public static BlobErrorCode InvalidBlobTier { get; } = new BlobErrorCode("InvalidBlobTier");
        public static BlobErrorCode InvalidBlobType { get; } = new BlobErrorCode("InvalidBlobType");
        public static BlobErrorCode InvalidBlockId { get; } = new BlobErrorCode("InvalidBlockId");
        public static BlobErrorCode InvalidBlockList { get; } = new BlobErrorCode("InvalidBlockList");
        public static BlobErrorCode InvalidOperation { get; } = new BlobErrorCode("InvalidOperation");
        public static BlobErrorCode InvalidPageRange { get; } = new BlobErrorCode("InvalidPageRange");
        public static BlobErrorCode InvalidSourceBlobType { get; } = new BlobErrorCode("InvalidSourceBlobType");
        public static BlobErrorCode InvalidSourceBlobUrl { get; } = new BlobErrorCode("InvalidSourceBlobUrl");
        public static BlobErrorCode InvalidVersionForPageBlobOperation { get; } = new BlobErrorCode("InvalidVersionForPageBlobOperation");
        public static BlobErrorCode LeaseAlreadyPresent { get; } = new BlobErrorCode("LeaseAlreadyPresent");
        public static BlobErrorCode LeaseAlreadyBroken { get; } = new BlobErrorCode("LeaseAlreadyBroken");
        public static BlobErrorCode LeaseIdMismatchWithBlobOperation { get; } = new BlobErrorCode("LeaseIdMismatchWithBlobOperation");
        public static BlobErrorCode LeaseIdMismatchWithContainerOperation { get; } = new BlobErrorCode("LeaseIdMismatchWithContainerOperation");
        public static BlobErrorCode LeaseIdMismatchWithLeaseOperation { get; } = new BlobErrorCode("LeaseIdMismatchWithLeaseOperation");
        public static BlobErrorCode LeaseIdMissing { get; } = new BlobErrorCode("LeaseIdMissing");
        public static BlobErrorCode LeaseIsBreakingAndCannotBeAcquired { get; } = new BlobErrorCode("LeaseIsBreakingAndCannotBeAcquired");
        public static BlobErrorCode LeaseIsBreakingAndCannotBeChanged { get; } = new BlobErrorCode("LeaseIsBreakingAndCannotBeChanged");
        public static BlobErrorCode LeaseIsBrokenAndCannotBeRenewed { get; } = new BlobErrorCode("LeaseIsBrokenAndCannotBeRenewed");
        public static BlobErrorCode LeaseLost { get; } = new BlobErrorCode("LeaseLost");
        public static BlobErrorCode LeaseNotPresentWithBlobOperation { get; } = new BlobErrorCode("LeaseNotPresentWithBlobOperation");
        public static BlobErrorCode LeaseNotPresentWithContainerOperation { get; } = new BlobErrorCode("LeaseNotPresentWithContainerOperation");
        public static BlobErrorCode LeaseNotPresentWithLeaseOperation { get; } = new BlobErrorCode("LeaseNotPresentWithLeaseOperation");
        public static BlobErrorCode MaxBlobSizeConditionNotMet { get; } = new BlobErrorCode("MaxBlobSizeConditionNotMet");
        public static BlobErrorCode NoAuthenticationInformation { get; } = new BlobErrorCode("NoAuthenticationInformation");
        public static BlobErrorCode NoPendingCopyOperation { get; } = new BlobErrorCode("NoPendingCopyOperation");
        public static BlobErrorCode OperationNotAllowedOnIncrementalCopyBlob { get; } = new BlobErrorCode("OperationNotAllowedOnIncrementalCopyBlob");
        public static BlobErrorCode PendingCopyOperation { get; } = new BlobErrorCode("PendingCopyOperation");
        public static BlobErrorCode PreviousSnapshotCannotBeNewer { get; } = new BlobErrorCode("PreviousSnapshotCannotBeNewer");
        public static BlobErrorCode PreviousSnapshotNotFound { get; } = new BlobErrorCode("PreviousSnapshotNotFound");
        public static BlobErrorCode PreviousSnapshotOperationNotSupported { get; } = new BlobErrorCode("PreviousSnapshotOperationNotSupported");
        public static BlobErrorCode SequenceNumberConditionNotMet { get; } = new BlobErrorCode("SequenceNumberConditionNotMet");
        public static BlobErrorCode SequenceNumberIncrementTooLarge { get; } = new BlobErrorCode("SequenceNumberIncrementTooLarge");
        public static BlobErrorCode SnapshotCountExceeded { get; } = new BlobErrorCode("SnapshotCountExceeded");
        public static BlobErrorCode SnapshotOperationRateExceeded { get; } = new BlobErrorCode("SnapshotOperationRateExceeded");
        public static BlobErrorCode SnapshotsPresent { get; } = new BlobErrorCode("SnapshotsPresent");
        public static BlobErrorCode SourceConditionNotMet { get; } = new BlobErrorCode("SourceConditionNotMet");
        public static BlobErrorCode SystemInUse { get; } = new BlobErrorCode("SystemInUse");
        public static BlobErrorCode TargetConditionNotMet { get; } = new BlobErrorCode("TargetConditionNotMet");
        public static BlobErrorCode  { get; } = new BlobErrorCode("UnauthorizedBlobOverwrite");
        public static BlobErrorCode BlobBeingRehydrated { get; } = new BlobErrorCode("BlobBeingRehydrated");
        public static BlobErrorCode BlobArchived { get; } = new BlobErrorCode("BlobArchived");
        public static BlobErrorCode BlobNotArchived { get; } = new BlobErrorCode("BlobNotArchived");
        public static BlobErrorCode AuthorizationSourceIPMismatch { get; } = new BlobErrorCode("AuthorizationSourceIPMismatch");
        public static BlobErrorCode AuthorizationProtocolMismatch { get; } = new BlobErrorCode("AuthorizationProtocolMismatch");
        public static BlobErrorCode AuthorizationPermissionMismatch { get; } = new BlobErrorCode("AuthorizationPermissionMismatch");
        public static BlobErrorCode AuthorizationServiceMismatch { get; } = new BlobErrorCode("AuthorizationServiceMismatch");
        public static BlobErrorCode AuthorizationResourceTypeMismatch { get; } = new BlobErrorCode("AuthorizationResourceTypeMismatch");
        public static BlobErrorCode BlobAccessTierNotSupportedForAccountType { get; } = new BlobErrorCode("BlobAccessTierNotSupportedForAccountType");
        [EditorBrowsable(EditorBrowsableState.Never)]
        public static BlobErrorCode SnaphotOperationRateExceeded { get; } = new BlobErrorCode("SnaphotOperationRateExceeded");
        [EditorBrowsable(EditorBrowsableState.Never)]
        public static BlobErrorCode IncrementalCopyOfEralierVersionSnapshotNotAllowed { get; } = new BlobErrorCode("IncrementalCopyOfEralierVersionSnapshotNotAllowed");
        public BlobErrorCode(string value)
        {
            if (value == null)
                throw new ArgumentNullException("value");
            _value = value;
        }
        public static bool operator ==(BlobErrorCode left, BlobErrorCode right)
        {
            return left.Equals(right);
        }
        public static bool operator !=(BlobErrorCode left, BlobErrorCode right)
        {
            return !left.Equals(right);
        }
        public static implicit operator BlobErrorCode(string value)
        {
            return new BlobErrorCode(value);
        }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public override bool Equals(object obj)
        {
            if (obj is BlobErrorCode) {
                BlobErrorCode other = (BlobErrorCode)obj;
                return Equals(other);
            }
            return false;
        }
        public bool Equals(BlobErrorCode 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;
        }
        public static bool operator ==(BlobErrorCode code, string value)
        {
            return code.Equals(value);
        }
        public static bool operator !=(BlobErrorCode code, string value)
        {
            return !(code == value);
        }
        public static bool operator ==(string value, BlobErrorCode code)
        {
            return code.Equals(value);
        }
        public static bool operator !=(string value, BlobErrorCode code)
        {
            return !(value == code);
        }
        public bool Equals(string value)
        {
            if (value == null)
                return false;
            return Equals(new BlobErrorCode(value));
        }
    }
}