pub struct StackFailure {
pub stack_id: String,
pub stack_status: StackStatus,
pub stack_status_reason: String,
pub resource_events: Vec<(ResourceStatus, StackEventDetails)>,
}
Expand description
Describes a failed stack operation.
This error tries to capture enough information to quickly identify the root-cause of the
operation’s failure (such as not having permission to create or update a particular resource
in the stack). stack_status_reason
and
StackEventDetails::resource_status_reason
may be useful for this purpose.
Fields§
§stack_id: String
The ID of the stack.
stack_status: StackStatus
The failed status in which the stack settled.
stack_status_reason: String
The first reason the stack moved into a failing state.
Note that this may not be the reason associated with the current stack_status
, but rather
the reason for the first negative status the stack entered (which is usually more
descriptive).
resource_events: Vec<(ResourceStatus, StackEventDetails)>
Resource events with negative statuses that may have precipitated the failure of the operation.
Note: this is represented as a Vec
or tuples to avoid having to worry about
matching StackEvent
variants (when it would be a logical error for them to be
anything other than the Resource
variant).
Implementations§
Source§impl StackFailure
impl StackFailure
Sourcepub fn stack_status_reason(&self) -> StatusReason<'_>
pub fn stack_status_reason(&self) -> StatusReason<'_>
The first reason the stack moved into a failing state.
Trait Implementations§
Source§impl Debug for StackFailure
impl Debug for StackFailure
Auto Trait Implementations§
impl Freeze for StackFailure
impl RefUnwindSafe for StackFailure
impl Send for StackFailure
impl Sync for StackFailure
impl Unpin for StackFailure
impl UnwindSafe for StackFailure
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> 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