#[non_exhaustive]pub enum ErasureStep {
StopServing,
ExportData,
ShredDataKeys,
HoldRetention,
DropDatabase,
Archive,
}Expand description
One step of a tenant’s erasure, in the order
docs/TENANT-ONBOARDING.md §2 gives it.
The order is the contract: the export happens while the data is
still readable, the crypto-shred happens before the drop so any
copy of the ciphertext — including provider backups that outlive the
drop — stays unreadable, and the drop happens after the retention
hold. Two of the steps are registry writes this port performs; the
rest are a person’s, which ErasureStep::is_operator states so a
runbook can list only the steps it has to wait for.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
StopServing
§2 row 1: set status offboarding; the tenant stops serving.
ExportData
§2 row 2: final export with fz data export.
ShredDataKeys
§2 row 3: crypto-shred — destroy the tenant’s data keys
(docs/KEY-ROTATION.md).
HoldRetention
§2 row 4: retention hold for the agreed period.
DropDatabase
§2 row 5: drop the database after the hold.
Archive
§2 row 6: set status archived; the id can never be registered
again.
Implementations§
Source§impl ErasureStep
impl ErasureStep
Sourcepub const fn is_operator(self) -> bool
pub const fn is_operator(self) -> bool
Whether the step is a person’s rather than this port’s.
docs/TENANT-ONBOARDING.md §2 marks every step harness or
operator, where operator means a person’s step — it touches a
cloud console or holds a credential, and the harness cannot do it
(§1’s definition of the mark). The two harness rows are the
registry writes this port performs; everything a console,
clipboard or calendar is involved in belongs to an operator.
Trait Implementations§
Source§impl Clone for ErasureStep
impl Clone for ErasureStep
impl Copy for ErasureStep
Source§impl Debug for ErasureStep
impl Debug for ErasureStep
Source§impl Display for ErasureStep
impl Display for ErasureStep
impl Eq for ErasureStep
Source§impl PartialEq for ErasureStep
impl PartialEq for ErasureStep
impl StructuralPartialEq for ErasureStep
Auto Trait Implementations§
impl Freeze for ErasureStep
impl RefUnwindSafe for ErasureStep
impl Send for ErasureStep
impl Sync for ErasureStep
impl Unpin for ErasureStep
impl UnsafeUnpin for ErasureStep
impl UnwindSafe for ErasureStep
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.