pub struct MicrovmImageBuildSummaryWire {
pub image_arn: String,
pub image_version: String,
pub build_id: String,
pub build_state: String,
pub architecture: String,
pub chipset: String,
pub chipset_generation: String,
pub created_at: f64,
pub state_reason: Option<String>,
}Expand description
MicrovmImageBuildSummary.
buildState, not state. The model has no state member on this shape. A
#[serde(rename)] to state here, or a field named state relying on
rename_all, reproduces the bug described in this module’s docs: the stall probe
reads None from every real response and TRAP-2 becomes unfalsifiable. The
deserializer test for this shape uses literal model-spelled JSON for that reason,
and asserts that {"state": ...} fails to deserialize.
Every member the model marks required is a bare field here, plus the optional
stateReason. All eight required ones rather than the four this crate reads today,
because the model requiring a member is the strongest promise it makes about a
response, and a required member absent from the struct is a member no drift check can
notice going missing.
Fields§
§image_arn: String§image_version: String§build_id: String§build_state: String§architecture: StringARM_64, the enum’s only value — carried as String rather than narrowed, because
a response is not a request and a second value AWS adds must parse rather than fail.
chipset: String§chipset_generation: String§created_at: f64A Timestamp, which rest-json sends as epoch seconds — possibly fractional, hence
f64 rather than i64.
state_reason: Option<String>Implementations§
Source§impl MicrovmImageBuildSummaryWire
impl MicrovmImageBuildSummaryWire
Sourcepub fn describe(&self) -> String
pub fn describe(&self) -> String
The build, as a stall diagnosis wants to read it: the state, the build id, and the reason when the service gave one.
The buildId is in here because it is the identifier GetMicrovmImageBuild takes,
so a reader handed a wedge verdict can go ask about a named build rather than about
“one of the builds”. The reason is included because the model documents it as “the
reason for the build state, if applicable” — so it is populated on states other
than a failure, and a probe that dropped it would be discarding the service’s own
account of why nothing was scheduled.
An absent reason renders nothing at all rather than an empty parenthesis, for the
reason MicrovmResponseWire::state_reason gives: “the service said nothing” and
“the service said nothing useful” are different diagnoses.
Trait Implementations§
Source§impl Clone for MicrovmImageBuildSummaryWire
impl Clone for MicrovmImageBuildSummaryWire
Source§fn clone(&self) -> MicrovmImageBuildSummaryWire
fn clone(&self) -> MicrovmImageBuildSummaryWire
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 MicrovmImageBuildSummaryWire
impl Debug for MicrovmImageBuildSummaryWire
Source§impl<'de> Deserialize<'de> for MicrovmImageBuildSummaryWire
impl<'de> Deserialize<'de> for MicrovmImageBuildSummaryWire
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MicrovmImageBuildSummaryWire, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MicrovmImageBuildSummaryWire, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for MicrovmImageBuildSummaryWire
impl Serialize for MicrovmImageBuildSummaryWire
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for MicrovmImageBuildSummaryWire
impl RefUnwindSafe for MicrovmImageBuildSummaryWire
impl Send for MicrovmImageBuildSummaryWire
impl Sync for MicrovmImageBuildSummaryWire
impl Unpin for MicrovmImageBuildSummaryWire
impl UnsafeUnpin for MicrovmImageBuildSummaryWire
impl UnwindSafe for MicrovmImageBuildSummaryWire
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<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