pub struct TeardownReport {
pub undeleted: Vec<String>,
pub terminate_accepted: bool,
pub image_deleted: Option<bool>,
pub lifecycle: Option<Lifecycle>,
pub failures: Vec<String>,
}Expand description
What a teardown did, and what it left behind.
Returned rather than raised. See the module docs: this runs where a finally would.
Fields§
§undeleted: Vec<String>Identifiers of everything a caller asked to have deleted that still exists.
The CLI emits these (CLI-6), which is the whole reason they are identifiers rather than a boolean: a leak nobody can name is a leak nobody can clean up.
Two things land here. A delete that was attempted and failed — an image whose twenty
attempts all hit a conflict. And the build log group, which this crate cannot
delete at all: no CloudWatch client exists anywhere in this workspace, and a logs
API for one delete call is a bigger surface than the leak it would hide (an
aws-sdk-cloudwatchlogs edge is a reasonable future add if teardown grows more
log-group work). Naming it is strictly better than the
alternatives: deleting it is unavailable, and silently succeeding would report a
clean teardown over six accumulated log groups — which is how the leak was found in
the first place.
terminate_accepted: boolWhether the terminate call was accepted.
image_deleted: Option<bool>Whether the image was deleted, or None when deletion was not asked for.
lifecycle: Option<Lifecycle>The lifecycle state the sandbox ended in.
failures: Vec<String>Every failure the teardown swallowed, in the order it hit them.
Kept because a teardown that never raises is a teardown whose failures are invisible otherwise, and the first one is usually the cause of the rest.
Implementations§
Trait Implementations§
Source§impl Clone for TeardownReport
impl Clone for TeardownReport
Source§fn clone(&self) -> TeardownReport
fn clone(&self) -> TeardownReport
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 TeardownReport
impl Debug for TeardownReport
Source§impl Default for TeardownReport
impl Default for TeardownReport
Source§fn default() -> TeardownReport
fn default() -> TeardownReport
impl Eq for TeardownReport
Source§impl PartialEq for TeardownReport
impl PartialEq for TeardownReport
impl StructuralPartialEq for TeardownReport
Auto Trait Implementations§
impl Freeze for TeardownReport
impl RefUnwindSafe for TeardownReport
impl Send for TeardownReport
impl Sync for TeardownReport
impl Unpin for TeardownReport
impl UnsafeUnpin for TeardownReport
impl UnwindSafe for TeardownReport
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more