pub enum RotationIssue {
Overdue {
key: String,
last_rotated: String,
interval_days: u32,
overdue_days: i64,
},
NoBaseline {
key: String,
interval_days: u32,
},
Expired {
key: String,
expired_at: String,
days_ago: i64,
},
ExpiringSoon {
key: String,
expires_at: String,
days_left: i64,
},
RevokePending {
key: String,
since: String,
},
BadTimestamp {
key: String,
field: &'static str,
value: String,
},
}Expand description
A rotation-hygiene problem found by rotation_health.
Serializes with a reason tag (e.g. {"reason": "overdue", "key": ...})
so rotate --list --json output is stable for scripts and agents.
Variants§
Overdue
rotation_interval_days has elapsed since the value was last changed.
NoBaseline
A rotation interval is set but there is no updated timestamp to anchor it.
Expired
expires_at is in the past.
ExpiringSoon
expires_at falls within EXPIRY_WARN_DAYS of now.
RevokePending
A recipient who could read this key was revoked and it has not been
rotated since — the revoked recipient can still decrypt the live value
from git history. Driven by the revoked_at marker’s presence.
BadTimestamp
A stored timestamp could not be parsed as RFC-3339.
Trait Implementations§
Source§impl Clone for RotationIssue
impl Clone for RotationIssue
Source§fn clone(&self) -> RotationIssue
fn clone(&self) -> RotationIssue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RotationIssue
impl Debug for RotationIssue
impl Eq for RotationIssue
Source§impl PartialEq for RotationIssue
impl PartialEq for RotationIssue
Source§impl Serialize for RotationIssue
impl Serialize for RotationIssue
impl StructuralPartialEq for RotationIssue
Auto Trait Implementations§
impl Freeze for RotationIssue
impl RefUnwindSafe for RotationIssue
impl Send for RotationIssue
impl Sync for RotationIssue
impl Unpin for RotationIssue
impl UnsafeUnpin for RotationIssue
impl UnwindSafe for RotationIssue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more