pub enum SecretsError {
Kms(KmsError),
Database(DbError),
NotAuthentic {
store: String,
name: String,
version: Version,
},
NoKey(String),
Invalid(String),
NotAudited(String),
ChainBroken {
store: String,
seq: i64,
detail: String,
},
}Variants§
Kms(KmsError)
The KMS could not wrap or unwrap. Carries the port’s error so the caller can still tell retryable from not.
Database(DbError)
The database refused or was unreachable.
NotAuthentic
A ciphertext did not authenticate under its context. Either the row was altered, or it was moved between stores, renamed, rolled back, or repointed at another key.
NoKey(String)
The store has no data key yet, its key row is gone (an offboarding shred), or the key id names a row stamped with another store, which this one cannot see. Every ciphertext in it is unreadable, which is a deliberate state, not a fault to paper over.
Invalid(String)
NotAudited(String)
The access could not be recorded, so it did not happen: the store refuses rather than serving a secret nobody can account for.
ChainBroken
The audit chain does not verify. The seq is the first row whose
hash does not follow from its predecessor.
Trait Implementations§
Source§impl Debug for SecretsError
impl Debug for SecretsError
Source§impl Display for SecretsError
impl Display for SecretsError
Source§impl Error for SecretsError
impl Error for SecretsError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()