#[repr(i32)]pub enum ErrorReason {
Show 33 variants
Unspecified = 0,
CredentialMissing = 100,
CredentialExpired = 101,
CredentialRevoked = 102,
ProofInvalid = 103,
ScopeMissing = 200,
RoleInsufficient = 201,
PolicyDenied = 202,
PlanLimit = 203,
InvitationHumanSessionRequired = 204,
InvitationInviterAuthorityLost = 205,
ResourceNotFound = 300,
ResourceGone = 301,
InvitationHandleNotFound = 302,
FieldInvalid = 400,
FieldRequired = 401,
ChangeIdAmbiguous = 402,
ApprovalRoleBelowEligibilityFloor = 403,
LifecycleState = 500,
OperationIdReused = 501,
VersionConflict = 502,
AlreadyExists = 503,
ImportSourceRequiresCommit = 504,
ImportDestinationConflict = 505,
PersonalSpoolOwnerAccessRequired = 506,
SpoolLastMember = 507,
SpoolLastAdministrator = 508,
RateLimited = 600,
QuotaExceeded = 601,
CursorInvalid = 602,
Transient = 900,
Internal = 901,
Unimplemented = 902,
}Variants§
Unspecified = 0
CredentialMissing = 100
Authentication (1xx)
CredentialExpired = 101
CredentialRevoked = 102
ProofInvalid = 103
ScopeMissing = 200
Authorization (2xx)
RoleInsufficient = 201
PolicyDenied = 202
PlanLimit = 203
InvitationHumanSessionRequired = 204
AcceptInvitation and DeclineInvitation require a human session, never agent or delegated credentials. PERMISSION_DENIED; field “invitation”.
InvitationInviterAuthorityLost = 205
Accept/Redeem: inviter no longer holds authority to grant the offered role. FAILED_PRECONDITION; field “invitation”; disclose no inviter identity.
ResourceNotFound = 300
Existence (3xx)
ResourceGone = 301
InvitationHandleNotFound = 302
CreateInvitation only, after spool administration authorization. The supplied handle has no publicly resolvable claimed account. NOT_FOUND, field “invitation.handle”; no account ID or private lifecycle detail.
FieldInvalid = 400
Request validity (4xx)
FieldRequired = 401
ChangeIdAmbiguous = 402
ApprovalRoleBelowEligibilityFloor = 403
PutApprovalGroup.group.member_role / PutReviewPolicy.policy.minimum_role is below the WRITER (Developer) review evaluator eligibility floor. INVALID_ARGUMENT; field identifies the rejected threshold.
LifecycleState = 500
Preconditions & conflicts (5xx)
OperationIdReused = 501
VersionConflict = 502
AlreadyExists = 503
ImportSourceRequiresCommit = 504
ImportDestinationConflict = 505
CommitImportJob: a sibling holds a selected full ref/target/genesis. ALREADY_EXISTS; destroys prepared key custody; not replay-frozen.
PersonalSpoolOwnerAccessRequired = 506
Membership floors, after authorization to manage grants on this spool. FAILED_PRECONDITION; field “grant” for revoke/leave/coverage/ancestry/cascade, “grant.role” for role changes, “grant.expires_at” for expiry changes. Empty resource/context; precedence: personal owner > member > admin. Otherwise retain the existing refusal without disclosing hidden members.
SpoolLastMember = 507
The resulting spool would have zero effective live human members.
SpoolLastAdministrator = 508
The resulting spool has humans but no effective live ADMINISTRATOR.
RateLimited = 600
Flow control (6xx). RATE_LIMITED / QUOTA_EXCEEDED are retryable; CURSOR_INVALID is a client-fix (restart from a valid cursor), not retryable.
QuotaExceeded = 601
CursorInvalid = 602
Transient = 900
Server (9xx)
Internal = 901
Unimplemented = 902
Implementations§
Source§impl ErrorReason
impl ErrorReason
Source§impl ErrorReason
impl ErrorReason
Sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
Sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.