pub struct ProjectTeardownPlan {
pub project: String,
pub sites: Vec<String>,
pub functions: Vec<String>,
pub compute: Vec<ComputeTeardown>,
pub secrets: Vec<String>,
pub safelist: usize,
pub subgraphs: Vec<String>,
pub other_families: BTreeMap<String, usize>,
}Expand description
A structured, serializable enumeration of everything a project owns —
DeployStore::enumerate_project_resources’s output. It is the single source of
truth shared by the project rm --force dry-run preview (rendered to the
operator, nothing deleted) and the cascade loop (which walks it in order to
tear the project down), so the preview and the executed teardown can never drift.
Fields§
§project: StringThe project this plan is for.
sites: Vec<String>The project’s site names (each delete_site also frees the site’s global
domain/*/wildcard/* routing claims).
functions: Vec<String>The project’s function names (each delete_function sweeps its whole subtree).
compute: Vec<ComputeTeardown>The project’s compute workloads, each with the persistent volume names its active spec mounts (captured before teardown drops the spec pointer).
secrets: Vec<String>The project’s internal secret names.
safelist: usizeThe number of GraphQL safelist (persisted-operation) entries.
subgraphs: Vec<String>The project’s registered GraphQL subgraph names.
other_families: BTreeMap<String, usize>Any remaining project/<proj>/<family>/… key families not surfaced as a
dedicated field above, counted per family — a forward-compatible catch-all so a
newly-added resource family is still previewed and swept.
Implementations§
Source§impl ProjectTeardownPlan
impl ProjectTeardownPlan
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Whether the project owns nothing at all (every family empty) — used to decide
the 404 for a force-delete of a project that never existed and owns nothing.
Sourcepub fn all_volumes(&self) -> Vec<String>
pub fn all_volumes(&self) -> Vec<String>
Every persistent-volume name referenced across the plan’s compute workloads (de-duplicated, sorted) — the volumes the cascade reclaims once the workloads that mounted them are gone.
Trait Implementations§
Source§impl Clone for ProjectTeardownPlan
impl Clone for ProjectTeardownPlan
Source§fn clone(&self) -> ProjectTeardownPlan
fn clone(&self) -> ProjectTeardownPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProjectTeardownPlan
impl Debug for ProjectTeardownPlan
Source§impl Default for ProjectTeardownPlan
impl Default for ProjectTeardownPlan
Source§fn default() -> ProjectTeardownPlan
fn default() -> ProjectTeardownPlan
Source§impl<'de> Deserialize<'de> for ProjectTeardownPlan
impl<'de> Deserialize<'de> for ProjectTeardownPlan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ProjectTeardownPlan
Source§impl PartialEq for ProjectTeardownPlan
impl PartialEq for ProjectTeardownPlan
Source§impl Serialize for ProjectTeardownPlan
impl Serialize for ProjectTeardownPlan
impl StructuralPartialEq for ProjectTeardownPlan
Auto Trait Implementations§
impl Freeze for ProjectTeardownPlan
impl RefUnwindSafe for ProjectTeardownPlan
impl Send for ProjectTeardownPlan
impl Sync for ProjectTeardownPlan
impl Unpin for ProjectTeardownPlan
impl UnsafeUnpin for ProjectTeardownPlan
impl UnwindSafe for ProjectTeardownPlan
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.