openshift_openapi/v4_5/api/template/v1/
template_instance_condition.rs1#[derive(Clone, Debug, PartialEq)]
5pub struct TemplateInstanceCondition {
6 pub last_transition_time: k8s_openapi::apimachinery::pkg::apis::meta::v1::Time,
8
9 pub message: String,
11
12 pub reason: String,
14
15 pub status: String,
17
18 pub type_: String,
20}
21
22impl<'de> serde::Deserialize<'de> for TemplateInstanceCondition {
23 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: serde::Deserializer<'de> {
24 #[allow(non_camel_case_types)]
25 enum Field {
26 Key_last_transition_time,
27 Key_message,
28 Key_reason,
29 Key_status,
30 Key_type_,
31 Other,
32 }
33
34 impl<'de> serde::Deserialize<'de> for Field {
35 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: serde::Deserializer<'de> {
36 struct Visitor;
37
38 impl<'de> serde::de::Visitor<'de> for Visitor {
39 type Value = Field;
40
41 fn expecting(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
42 f.write_str("field identifier")
43 }
44
45 fn visit_str<E>(self, v: &str) -> Result<Self::Value, E> where E: serde::de::Error {
46 Ok(match v {
47 "lastTransitionTime" => Field::Key_last_transition_time,
48 "message" => Field::Key_message,
49 "reason" => Field::Key_reason,
50 "status" => Field::Key_status,
51 "type" => Field::Key_type_,
52 _ => Field::Other,
53 })
54 }
55 }
56
57 deserializer.deserialize_identifier(Visitor)
58 }
59 }
60
61 struct Visitor;
62
63 impl<'de> serde::de::Visitor<'de> for Visitor {
64 type Value = TemplateInstanceCondition;
65
66 fn expecting(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
67 f.write_str("TemplateInstanceCondition")
68 }
69
70 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error> where A: serde::de::MapAccess<'de> {
71 let mut value_last_transition_time: Option<k8s_openapi::apimachinery::pkg::apis::meta::v1::Time> = None;
72 let mut value_message: Option<String> = None;
73 let mut value_reason: Option<String> = None;
74 let mut value_status: Option<String> = None;
75 let mut value_type_: Option<String> = None;
76
77 while let Some(key) = serde::de::MapAccess::next_key::<Field>(&mut map)? {
78 match key {
79 Field::Key_last_transition_time => value_last_transition_time = Some(serde::de::MapAccess::next_value(&mut map)?),
80 Field::Key_message => value_message = Some(serde::de::MapAccess::next_value(&mut map)?),
81 Field::Key_reason => value_reason = Some(serde::de::MapAccess::next_value(&mut map)?),
82 Field::Key_status => value_status = Some(serde::de::MapAccess::next_value(&mut map)?),
83 Field::Key_type_ => value_type_ = Some(serde::de::MapAccess::next_value(&mut map)?),
84 Field::Other => { let _: serde::de::IgnoredAny = serde::de::MapAccess::next_value(&mut map)?; },
85 }
86 }
87
88 Ok(TemplateInstanceCondition {
89 last_transition_time: value_last_transition_time.ok_or_else(|| serde::de::Error::missing_field("lastTransitionTime"))?,
90 message: value_message.ok_or_else(|| serde::de::Error::missing_field("message"))?,
91 reason: value_reason.ok_or_else(|| serde::de::Error::missing_field("reason"))?,
92 status: value_status.ok_or_else(|| serde::de::Error::missing_field("status"))?,
93 type_: value_type_.ok_or_else(|| serde::de::Error::missing_field("type"))?,
94 })
95 }
96 }
97
98 deserializer.deserialize_struct(
99 "TemplateInstanceCondition",
100 &[
101 "lastTransitionTime",
102 "message",
103 "reason",
104 "status",
105 "type",
106 ],
107 Visitor,
108 )
109 }
110}
111
112impl serde::Serialize for TemplateInstanceCondition {
113 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: serde::Serializer {
114 let mut state = serializer.serialize_struct(
115 "TemplateInstanceCondition",
116 5,
117 )?;
118 serde::ser::SerializeStruct::serialize_field(&mut state, "lastTransitionTime", &self.last_transition_time)?;
119 serde::ser::SerializeStruct::serialize_field(&mut state, "message", &self.message)?;
120 serde::ser::SerializeStruct::serialize_field(&mut state, "reason", &self.reason)?;
121 serde::ser::SerializeStruct::serialize_field(&mut state, "status", &self.status)?;
122 serde::ser::SerializeStruct::serialize_field(&mut state, "type", &self.type_)?;
123 serde::ser::SerializeStruct::end(state)
124 }
125}