63 63 | "com.amazonaws.iam.synthetic",
|
64 64 | "GetServiceLastAccessedDetailsOutput",
|
65 65 | );
|
66 66 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
67 67 | ::aws_smithy_schema::ShapeId::from_static(
|
68 68 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$JobStatus",
|
69 69 | "com.amazonaws.iam.synthetic",
|
70 70 | "GetServiceLastAccessedDetailsOutput",
|
71 71 | ),
|
72 72 | ::aws_smithy_schema::ShapeType::String,
|
73 - | "job_status",
|
73 + | "JobStatus",
|
74 74 | 0,
|
75 75 | );
|
76 76 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
77 77 | ::aws_smithy_schema::ShapeId::from_static(
|
78 78 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$JobType",
|
79 79 | "com.amazonaws.iam.synthetic",
|
80 80 | "GetServiceLastAccessedDetailsOutput",
|
81 81 | ),
|
82 82 | ::aws_smithy_schema::ShapeType::String,
|
83 - | "job_type",
|
83 + | "JobType",
|
84 84 | 1,
|
85 85 | );
|
86 86 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_CREATION_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
87 87 | ::aws_smithy_schema::ShapeId::from_static(
|
88 88 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$JobCreationDate",
|
89 89 | "com.amazonaws.iam.synthetic",
|
90 90 | "GetServiceLastAccessedDetailsOutput",
|
91 91 | ),
|
92 92 | ::aws_smithy_schema::ShapeType::Timestamp,
|
93 - | "job_creation_date",
|
93 + | "JobCreationDate",
|
94 94 | 2,
|
95 95 | );
|
96 96 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_SERVICES_LAST_ACCESSED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
97 97 | ::aws_smithy_schema::ShapeId::from_static(
|
98 98 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$ServicesLastAccessed",
|
99 99 | "com.amazonaws.iam.synthetic",
|
100 100 | "GetServiceLastAccessedDetailsOutput",
|
101 101 | ),
|
102 102 | ::aws_smithy_schema::ShapeType::List,
|
103 - | "services_last_accessed",
|
103 + | "ServicesLastAccessed",
|
104 104 | 3,
|
105 105 | );
|
106 106 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_COMPLETION_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
107 107 | ::aws_smithy_schema::ShapeId::from_static(
|
108 108 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$JobCompletionDate",
|
109 109 | "com.amazonaws.iam.synthetic",
|
110 110 | "GetServiceLastAccessedDetailsOutput",
|
111 111 | ),
|
112 112 | ::aws_smithy_schema::ShapeType::Timestamp,
|
113 - | "job_completion_date",
|
113 + | "JobCompletionDate",
|
114 114 | 4,
|
115 115 | );
|
116 116 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_IS_TRUNCATED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
117 117 | ::aws_smithy_schema::ShapeId::from_static(
|
118 118 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$IsTruncated",
|
119 119 | "com.amazonaws.iam.synthetic",
|
120 120 | "GetServiceLastAccessedDetailsOutput",
|
121 121 | ),
|
122 122 | ::aws_smithy_schema::ShapeType::Boolean,
|
123 - | "is_truncated",
|
123 + | "IsTruncated",
|
124 124 | 5,
|
125 125 | );
|
126 126 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_MARKER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
127 127 | ::aws_smithy_schema::ShapeId::from_static(
|
128 128 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$Marker",
|
129 129 | "com.amazonaws.iam.synthetic",
|
130 130 | "GetServiceLastAccessedDetailsOutput",
|
131 131 | ),
|
132 132 | ::aws_smithy_schema::ShapeType::String,
|
133 - | "marker",
|
133 + | "Marker",
|
134 134 | 6,
|
135 135 | );
|
136 136 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_ERROR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
137 137 | ::aws_smithy_schema::ShapeId::from_static(
|
138 138 | "com.amazonaws.iam.synthetic#GetServiceLastAccessedDetailsOutput$Error",
|
139 139 | "com.amazonaws.iam.synthetic",
|
140 140 | "GetServiceLastAccessedDetailsOutput",
|
141 141 | ),
|
142 142 | ::aws_smithy_schema::ShapeType::Structure,
|
143 - | "error",
|
143 + | "Error",
|
144 144 | 7,
|
145 145 | );
|
146 + | static GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
147 + | ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
|
148 + | ::aws_smithy_schema::ShapeType::String,
|
149 + | "request_id",
|
150 + | 8,
|
151 + | )
|
152 + | .with_http_header("x-amzn-requestid");
|
146 153 | static GETSERVICELASTACCESSEDDETAILSOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
147 154 | GETSERVICELASTACCESSEDDETAILSOUTPUT_SCHEMA_ID,
|
148 155 | ::aws_smithy_schema::ShapeType::Structure,
|
149 156 | &[
|
150 157 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_STATUS,
|
151 158 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_TYPE,
|
152 159 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_CREATION_DATE,
|
153 160 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_SERVICES_LAST_ACCESSED,
|
154 161 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_COMPLETION_DATE,
|
155 162 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_IS_TRUNCATED,
|
156 163 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_MARKER,
|
157 164 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_ERROR,
|
165 + | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER__REQUEST_ID,
|
158 166 | ],
|
159 167 | );
|
160 168 | impl GetServiceLastAccessedDetailsOutput {
|
161 169 | /// The schema for this shape.
|
162 170 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETSERVICELASTACCESSEDDETAILSOUTPUT_SCHEMA;
|
163 171 | }
|
164 172 | impl ::aws_smithy_schema::serde::SerializableStruct for GetServiceLastAccessedDetailsOutput {
|
165 173 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
166 174 | fn serialize_members(
|
167 175 | &self,
|
168 176 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
169 177 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
170 178 | {
|
171 179 | let val = &self.job_status;
|
172 180 | ser.write_string(&GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_STATUS, val.as_str())?;
|
173 181 | }
|
174 182 | if let Some(ref val) = self.job_type {
|
175 183 | ser.write_string(&GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_TYPE, val.as_str())?;
|
176 184 | }
|
177 185 | {
|
178 186 | let val = &self.job_creation_date;
|
179 187 | ser.write_timestamp(&GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_CREATION_DATE, val)?;
|
180 188 | }
|
181 189 | {
|
182 190 | let val = &self.services_last_accessed;
|
183 191 |
|
184 192 | ser.write_list(
|
185 193 | &GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_SERVICES_LAST_ACCESSED,
|
186 194 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
187 195 | for item in val {
|
188 196 | ser.write_struct(crate::types::ServiceLastAccessed::SCHEMA, item)?;
|
189 197 | }
|
190 198 | Ok(())
|
191 199 | },
|
192 200 | )?;
|
193 201 | }
|
194 202 | {
|
195 203 | let val = &self.job_completion_date;
|
196 204 | ser.write_timestamp(&GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_JOB_COMPLETION_DATE, val)?;
|
197 205 | }
|
198 206 | {
|
199 207 | let val = &self.is_truncated;
|
200 208 | ser.write_boolean(&GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_IS_TRUNCATED, *val)?;
|
201 209 | }
|
202 210 | if let Some(ref val) = self.marker {
|
203 211 | ser.write_string(&GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_MARKER, val)?;
|
204 212 | }
|
205 213 | if let Some(ref val) = self.error {
|
206 214 | ser.write_struct(&GETSERVICELASTACCESSEDDETAILSOUTPUT_MEMBER_ERROR, val)?;
|
207 215 | }
|
208 216 | Ok(())
|
209 217 | }
|
210 218 | }
|
211 219 | impl GetServiceLastAccessedDetailsOutput {
|
212 220 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
213 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
214 - | deserializer: &mut D,
|
221 + | pub fn deserialize(
|
222 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
215 223 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
216 224 | #[allow(unused_variables, unused_mut)]
|
217 225 | let mut builder = Self::builder();
|
218 226 | #[allow(
|
219 227 | unused_variables,
|
220 228 | unreachable_code,
|
221 229 | clippy::single_match,
|
222 230 | clippy::match_single_binding,
|
223 231 | clippy::diverging_sub_expression
|
224 232 | )]
|
225 - | deserializer.read_struct(&GETSERVICELASTACCESSEDDETAILSOUTPUT_SCHEMA, (), |_, member, deser| {
|
233 + | deserializer.read_struct(&GETSERVICELASTACCESSEDDETAILSOUTPUT_SCHEMA, &mut |member, deser| {
|
226 234 | match member.member_index() {
|
227 235 | Some(0) => {
|
228 236 | builder.job_status = Some(crate::types::JobStatusType::from(deser.read_string(member)?.as_str()));
|
229 237 | }
|
230 238 | Some(1) => {
|
231 239 | builder.job_type = Some(crate::types::AccessAdvisorUsageGranularityType::from(deser.read_string(member)?.as_str()));
|
232 240 | }
|
233 241 | Some(2) => {
|
234 242 | builder.job_creation_date = Some(deser.read_timestamp(member)?);
|
235 243 | }
|
236 244 | Some(3) => {
|
237 245 | builder.services_last_accessed = Some({
|
238 - | let container = if let Some(cap) = deser.container_size() {
|
239 - | Vec::with_capacity(cap)
|
240 - | } else {
|
241 - | Vec::new()
|
242 - | };
|
243 - | deser.read_list(member, container, |mut list, deser| {
|
244 - | list.push(crate::types::ServiceLastAccessed::deserialize(deser)?);
|
245 - | Ok(list)
|
246 - | })?
|
246 + | let mut container = Vec::new();
|
247 + | deser.read_list(member, &mut |deser| {
|
248 + | container.push(crate::types::ServiceLastAccessed::deserialize(deser)?);
|
249 + | Ok(())
|
250 + | })?;
|
251 + | container
|
252 + | });
|
253 + | }
|
254 + | Some(4) => {
|
255 + | builder.job_completion_date = Some(deser.read_timestamp(member)?);
|
256 + | }
|
257 + | Some(5) => {
|
258 + | builder.is_truncated = Some(deser.read_boolean(member)?);
|
259 + | }
|
260 + | Some(6) => {
|
261 + | builder.marker = Some(deser.read_string(member)?);
|
262 + | }
|
263 + | Some(7) => {
|
264 + | builder.error = Some(crate::types::ErrorDetails::deserialize(deser)?);
|
265 + | }
|
266 + | Some(8) => {
|
267 + | builder._request_id = Some(deser.read_string(member)?);
|
268 + | }
|
269 + | _ => {}
|
270 + | }
|
271 + | Ok(())
|
272 + | })?;
|
273 + | builder.job_creation_date = builder.job_creation_date.or(Some(::aws_smithy_types::DateTime::from_secs(0)));
|
274 + | builder.services_last_accessed = builder.services_last_accessed.or(Some(Vec::new()));
|
275 + | builder.job_completion_date = builder.job_completion_date.or(Some(::aws_smithy_types::DateTime::from_secs(0)));
|
276 + | builder
|
277 + | .build()
|
278 + | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
279 + | }
|
280 + | }
|
281 + | impl GetServiceLastAccessedDetailsOutput {
|
282 + | /// Deserializes this structure from a body deserializer and HTTP response headers.
|
283 + | /// Header-bound members are read directly from headers, avoiding runtime
|
284 + | /// member iteration overhead. Body members are read via the deserializer.
|
285 + | pub fn deserialize_with_response(
|
286 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
287 + | headers: &::aws_smithy_runtime_api::http::Headers,
|
288 + | _status: u16,
|
289 + | _body: &[u8],
|
290 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
291 + | #[allow(unused_variables, unused_mut)]
|
292 + | let mut builder = Self::builder();
|
293 + | if let Some(val) = headers.get("x-amzn-requestid") {
|
294 + | builder._request_id = Some(val.to_string());
|
295 + | }
|
296 + | #[allow(
|
297 + | unused_variables,
|
298 + | unreachable_code,
|
299 + | clippy::single_match,
|
300 + | clippy::match_single_binding,
|
301 + | clippy::diverging_sub_expression
|
302 + | )]
|
303 + | deserializer.read_struct(&GETSERVICELASTACCESSEDDETAILSOUTPUT_SCHEMA, &mut |member, deser| {
|
304 + | match member.member_index() {
|
305 + | Some(0) => {
|
306 + | builder.job_status = Some(crate::types::JobStatusType::from(deser.read_string(member)?.as_str()));
|
307 + | }
|
308 + | Some(1) => {
|
309 + | builder.job_type = Some(crate::types::AccessAdvisorUsageGranularityType::from(deser.read_string(member)?.as_str()));
|
310 + | }
|
311 + | Some(2) => {
|
312 + | builder.job_creation_date = Some(deser.read_timestamp(member)?);
|
313 + | }
|
314 + | Some(3) => {
|
315 + | builder.services_last_accessed = Some({
|
316 + | let mut container = Vec::new();
|
317 + | deser.read_list(member, &mut |deser| {
|
318 + | container.push(crate::types::ServiceLastAccessed::deserialize(deser)?);
|
319 + | Ok(())
|
320 + | })?;
|
321 + | container
|
247 322 | });
|
248 323 | }
|
249 324 | Some(4) => {
|
250 325 | builder.job_completion_date = Some(deser.read_timestamp(member)?);
|
251 326 | }
|
252 327 | Some(5) => {
|
253 328 | builder.is_truncated = Some(deser.read_boolean(member)?);
|
254 329 | }
|
255 330 | Some(6) => {
|
256 331 | builder.marker = Some(deser.read_string(member)?);
|