aws_sdk_s3/
protocol_serde.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub(crate) fn type_erase_result<O, E>(
3    result: ::std::result::Result<O, E>,
4) -> ::std::result::Result<
5    ::aws_smithy_runtime_api::client::interceptors::context::Output,
6    ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError<::aws_smithy_runtime_api::client::interceptors::context::Error>,
7>
8where
9    O: ::std::fmt::Debug + ::std::marker::Send + ::std::marker::Sync + 'static,
10    E: ::std::error::Error + std::fmt::Debug + ::std::marker::Send + ::std::marker::Sync + 'static,
11{
12    result
13        .map(|output| ::aws_smithy_runtime_api::client::interceptors::context::Output::erase(output))
14        .map_err(|error| ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(error))
15        .map_err(::std::convert::Into::into)
16}
17
18pub fn parse_http_error_metadata(
19    response_status: u16,
20    _response_headers: &::aws_smithy_runtime_api::http::Headers,
21    response_body: &[u8],
22) -> ::std::result::Result<::aws_smithy_types::error::metadata::Builder, ::aws_smithy_xml::decode::XmlDecodeError> {
23    // S3 HEAD responses have no response body to for an error code. Therefore,
24    // check the HTTP response status and populate an error code for 404s.
25    if response_body.is_empty() {
26        let mut builder = ::aws_smithy_types::error::ErrorMetadata::builder();
27        if response_status == 404 {
28            builder = builder.code("NotFound");
29        }
30        Ok(builder)
31    } else {
32        crate::rest_xml_unwrapped_errors::parse_error_metadata(response_body)
33    }
34}
35
36pub(crate) mod shape_abort_multipart_upload;
37
38pub(crate) mod shape_complete_multipart_upload;
39
40pub fn rest_xml_unset_struct_payload() -> ::std::vec::Vec<u8> {
41    Vec::new()
42}
43
44pub(crate) mod shape_complete_multipart_upload_input;
45
46pub(crate) mod shape_copy_object;
47
48pub(crate) mod shape_create_bucket;
49
50pub(crate) mod shape_create_bucket_input;
51
52pub(crate) mod shape_create_multipart_upload;
53
54pub(crate) mod shape_create_session;
55
56pub(crate) mod shape_delete_bucket;
57
58pub(crate) mod shape_delete_bucket_analytics_configuration;
59
60pub(crate) mod shape_delete_bucket_cors;
61
62pub(crate) mod shape_delete_bucket_encryption;
63
64pub(crate) mod shape_delete_bucket_intelligent_tiering_configuration;
65
66pub(crate) mod shape_delete_bucket_inventory_configuration;
67
68pub(crate) mod shape_delete_bucket_lifecycle;
69
70pub(crate) mod shape_delete_bucket_metrics_configuration;
71
72pub(crate) mod shape_delete_bucket_ownership_controls;
73
74pub(crate) mod shape_delete_bucket_policy;
75
76pub(crate) mod shape_delete_bucket_replication;
77
78pub(crate) mod shape_delete_bucket_tagging;
79
80pub(crate) mod shape_delete_bucket_website;
81
82pub(crate) mod shape_delete_object;
83
84pub(crate) mod shape_delete_object_tagging;
85
86pub(crate) mod shape_delete_objects;
87
88pub(crate) mod shape_delete_objects_input;
89
90pub(crate) mod shape_delete_public_access_block;
91
92pub(crate) mod shape_get_bucket_accelerate_configuration;
93
94pub(crate) mod shape_get_bucket_acl;
95
96pub(crate) mod shape_get_bucket_analytics_configuration;
97
98pub(crate) mod shape_get_bucket_cors;
99
100pub(crate) mod shape_get_bucket_encryption;
101
102pub(crate) mod shape_get_bucket_intelligent_tiering_configuration;
103
104pub(crate) mod shape_get_bucket_inventory_configuration;
105
106pub(crate) mod shape_get_bucket_lifecycle_configuration;
107
108pub(crate) mod shape_get_bucket_location;
109
110pub(crate) mod shape_get_bucket_logging;
111
112pub(crate) mod shape_get_bucket_metrics_configuration;
113
114pub(crate) mod shape_get_bucket_notification_configuration;
115
116pub(crate) mod shape_get_bucket_ownership_controls;
117
118pub(crate) mod shape_get_bucket_policy;
119
120pub(crate) mod shape_get_bucket_policy_status;
121
122pub(crate) mod shape_get_bucket_replication;
123
124pub(crate) mod shape_get_bucket_request_payment;
125
126pub(crate) mod shape_get_bucket_tagging;
127
128pub(crate) mod shape_get_bucket_versioning;
129
130pub(crate) mod shape_get_bucket_website;
131
132pub(crate) mod shape_get_object;
133
134pub(crate) mod shape_get_object_acl;
135
136pub(crate) mod shape_get_object_attributes;
137
138pub(crate) mod shape_get_object_legal_hold;
139
140pub(crate) mod shape_get_object_lock_configuration;
141
142pub(crate) mod shape_get_object_retention;
143
144pub(crate) mod shape_get_object_tagging;
145
146pub(crate) mod shape_get_object_torrent;
147
148pub(crate) mod shape_get_public_access_block;
149
150pub(crate) mod shape_head_bucket;
151
152pub(crate) mod shape_head_object;
153
154pub(crate) mod shape_list_bucket_analytics_configurations;
155
156pub(crate) mod shape_list_bucket_intelligent_tiering_configurations;
157
158pub(crate) mod shape_list_bucket_inventory_configurations;
159
160pub(crate) mod shape_list_bucket_metrics_configurations;
161
162pub(crate) mod shape_list_buckets;
163
164pub(crate) mod shape_list_directory_buckets;
165
166pub(crate) mod shape_list_multipart_uploads;
167
168pub(crate) mod shape_list_object_versions;
169
170pub(crate) mod shape_list_objects;
171
172pub(crate) mod shape_list_objects_v2;
173
174pub(crate) mod shape_list_parts;
175
176pub(crate) mod shape_put_bucket_accelerate_configuration;
177
178pub(crate) mod shape_put_bucket_accelerate_configuration_input;
179
180pub(crate) mod shape_put_bucket_acl;
181
182pub(crate) mod shape_put_bucket_acl_input;
183
184pub(crate) mod shape_put_bucket_analytics_configuration;
185
186pub(crate) mod shape_put_bucket_analytics_configuration_input;
187
188pub(crate) mod shape_put_bucket_cors;
189
190pub(crate) mod shape_put_bucket_cors_input;
191
192pub(crate) mod shape_put_bucket_encryption;
193
194pub(crate) mod shape_put_bucket_encryption_input;
195
196pub(crate) mod shape_put_bucket_intelligent_tiering_configuration;
197
198pub(crate) mod shape_put_bucket_intelligent_tiering_configuration_input;
199
200pub(crate) mod shape_put_bucket_inventory_configuration;
201
202pub(crate) mod shape_put_bucket_inventory_configuration_input;
203
204pub(crate) mod shape_put_bucket_lifecycle_configuration;
205
206pub(crate) mod shape_put_bucket_lifecycle_configuration_input;
207
208pub(crate) mod shape_put_bucket_logging;
209
210pub(crate) mod shape_put_bucket_logging_input;
211
212pub(crate) mod shape_put_bucket_metrics_configuration;
213
214pub(crate) mod shape_put_bucket_metrics_configuration_input;
215
216pub(crate) mod shape_put_bucket_notification_configuration;
217
218pub(crate) mod shape_put_bucket_notification_configuration_input;
219
220pub(crate) mod shape_put_bucket_ownership_controls;
221
222pub(crate) mod shape_put_bucket_ownership_controls_input;
223
224pub(crate) mod shape_put_bucket_policy;
225
226pub(crate) mod shape_put_bucket_policy_input;
227
228pub(crate) mod shape_put_bucket_replication;
229
230pub(crate) mod shape_put_bucket_replication_input;
231
232pub(crate) mod shape_put_bucket_request_payment;
233
234pub(crate) mod shape_put_bucket_request_payment_input;
235
236pub(crate) mod shape_put_bucket_tagging;
237
238pub(crate) mod shape_put_bucket_tagging_input;
239
240pub(crate) mod shape_put_bucket_versioning;
241
242pub(crate) mod shape_put_bucket_versioning_input;
243
244pub(crate) mod shape_put_bucket_website;
245
246pub(crate) mod shape_put_bucket_website_input;
247
248pub(crate) mod shape_put_object;
249
250pub(crate) mod shape_put_object_acl;
251
252pub(crate) mod shape_put_object_acl_input;
253
254pub(crate) mod shape_put_object_input;
255
256pub(crate) mod shape_put_object_legal_hold;
257
258pub(crate) mod shape_put_object_legal_hold_input;
259
260pub(crate) mod shape_put_object_lock_configuration;
261
262pub(crate) mod shape_put_object_lock_configuration_input;
263
264pub(crate) mod shape_put_object_retention;
265
266pub(crate) mod shape_put_object_retention_input;
267
268pub(crate) mod shape_put_object_tagging;
269
270pub(crate) mod shape_put_object_tagging_input;
271
272pub(crate) mod shape_put_public_access_block;
273
274pub(crate) mod shape_put_public_access_block_input;
275
276pub(crate) mod shape_restore_object;
277
278pub(crate) mod shape_restore_object_input;
279
280pub(crate) mod shape_select_object_content;
281
282pub(crate) mod shape_upload_part;
283
284pub(crate) mod shape_upload_part_copy;
285
286pub(crate) mod shape_upload_part_input;
287
288pub(crate) mod shape_write_get_object_response;
289
290pub(crate) mod shape_write_get_object_response_input;
291
292pub(crate) mod shape_abort_multipart_upload_output;
293
294pub(crate) mod shape_bucket_already_exists;
295
296pub(crate) mod shape_bucket_already_owned_by_you;
297
298pub(crate) mod shape_complete_multipart_upload_output;
299
300pub(crate) mod shape_copy_object_output;
301
302pub(crate) mod shape_create_bucket_output;
303
304pub(crate) mod shape_create_multipart_upload_output;
305
306pub(crate) mod shape_delete_object_output;
307
308pub(crate) mod shape_delete_object_tagging_output;
309
310pub(crate) mod shape_delete_objects_output;
311
312pub(crate) mod shape_get_bucket_accelerate_configuration_output;
313
314pub(crate) mod shape_get_bucket_analytics_configuration_output;
315
316pub(crate) mod shape_get_bucket_encryption_output;
317
318pub(crate) mod shape_get_bucket_intelligent_tiering_configuration_output;
319
320pub(crate) mod shape_get_bucket_inventory_configuration_output;
321
322pub(crate) mod shape_get_bucket_metrics_configuration_output;
323
324pub(crate) mod shape_get_bucket_ownership_controls_output;
325
326pub(crate) mod shape_get_bucket_policy_output;
327
328pub(crate) mod shape_get_bucket_policy_status_output;
329
330pub(crate) mod shape_get_bucket_replication_output;
331
332pub(crate) mod shape_get_object_acl_output;
333
334pub(crate) mod shape_get_object_attributes_output;
335
336pub(crate) mod shape_get_object_legal_hold_output;
337
338pub(crate) mod shape_get_object_lock_configuration_output;
339
340pub(crate) mod shape_get_object_output;
341
342pub(crate) mod shape_get_object_retention_output;
343
344pub(crate) mod shape_get_object_tagging_output;
345
346pub(crate) mod shape_get_object_torrent_output;
347
348pub(crate) mod shape_get_public_access_block_output;
349
350pub(crate) mod shape_head_bucket_output;
351
352pub(crate) mod shape_head_object_output;
353
354pub(crate) mod shape_invalid_object_state;
355
356pub(crate) mod shape_list_multipart_uploads_output;
357
358pub(crate) mod shape_list_object_versions_output;
359
360pub(crate) mod shape_list_objects_output;
361
362pub(crate) mod shape_list_objects_v2_output;
363
364pub(crate) mod shape_list_parts_output;
365
366pub(crate) mod shape_no_such_bucket;
367
368pub(crate) mod shape_no_such_key;
369
370pub(crate) mod shape_no_such_upload;
371
372pub(crate) mod shape_not_found;
373
374pub(crate) mod shape_object_already_in_active_tier_error;
375
376pub(crate) mod shape_object_not_in_active_tier_error;
377
378pub(crate) mod shape_put_object_acl_output;
379
380pub(crate) mod shape_put_object_legal_hold_output;
381
382pub(crate) mod shape_put_object_lock_configuration_output;
383
384pub(crate) mod shape_put_object_output;
385
386pub(crate) mod shape_put_object_retention_output;
387
388pub(crate) mod shape_put_object_tagging_output;
389
390pub(crate) mod shape_restore_object_output;
391
392pub(crate) mod shape_select_object_content_input;
393
394pub(crate) mod shape_select_object_content_output;
395
396pub(crate) mod shape_upload_part_copy_output;
397
398pub(crate) mod shape_upload_part_output;
399
400pub fn parse_event_stream_error_metadata(
401    payload: &::bytes::Bytes,
402) -> Result<::aws_smithy_types::error::metadata::Builder, ::aws_smithy_xml::decode::XmlDecodeError> {
403    crate::rest_xml_unwrapped_errors::parse_error_metadata(payload.as_ref())
404}
405
406pub(crate) mod shape_accelerate_configuration;
407
408pub(crate) mod shape_access_control_policy;
409
410pub(crate) mod shape_analytics_configuration;
411
412pub(crate) mod shape_bucket_lifecycle_configuration;
413
414pub(crate) mod shape_bucket_logging_status;
415
416pub(crate) mod shape_buckets;
417
418pub(crate) mod shape_checksum;
419
420pub(crate) mod shape_common_prefix;
421
422pub(crate) mod shape_completed_multipart_upload;
423
424pub(crate) mod shape_cors_configuration;
425
426pub(crate) mod shape_cors_rule;
427
428pub(crate) mod shape_create_bucket_configuration;
429
430pub(crate) mod shape_delete;
431
432pub(crate) mod shape_delete_marker_entry;
433
434pub(crate) mod shape_deleted_object;
435
436pub(crate) mod shape_error;
437
438pub(crate) mod shape_error_document;
439
440pub(crate) mod shape_event_bridge_configuration;
441
442pub(crate) mod shape_get_object_attributes_parts;
443
444pub(crate) mod shape_grants;
445
446pub(crate) mod shape_index_document;
447
448pub(crate) mod shape_initiator;
449
450pub(crate) mod shape_input_serialization;
451
452pub(crate) mod shape_intelligent_tiering_configuration;
453
454pub(crate) mod shape_inventory_configuration;
455
456pub(crate) mod shape_lambda_function_configuration;
457
458pub(crate) mod shape_lifecycle_rule;
459
460pub(crate) mod shape_logging_enabled;
461
462pub(crate) mod shape_metrics_configuration;
463
464pub(crate) mod shape_multipart_upload;
465
466pub(crate) mod shape_notification_configuration;
467
468pub(crate) mod shape_object;
469
470pub(crate) mod shape_object_lock_configuration;
471
472pub(crate) mod shape_object_lock_legal_hold;
473
474pub(crate) mod shape_object_lock_retention;
475
476pub(crate) mod shape_object_version;
477
478pub(crate) mod shape_output_serialization;
479
480pub(crate) mod shape_owner;
481
482pub(crate) mod shape_ownership_controls;
483
484pub(crate) mod shape_part;
485
486pub(crate) mod shape_public_access_block_configuration;
487
488pub(crate) mod shape_queue_configuration;
489
490pub(crate) mod shape_redirect_all_requests_to;
491
492pub(crate) mod shape_replication_configuration;
493
494pub(crate) mod shape_request_payment_configuration;
495
496pub(crate) mod shape_request_progress;
497
498pub(crate) mod shape_restore_request;
499
500pub(crate) mod shape_routing_rules;
501
502pub(crate) mod shape_scan_range;
503
504pub(crate) mod shape_server_side_encryption_configuration;
505
506pub(crate) mod shape_session_credentials;
507
508pub(crate) mod shape_tag_set;
509
510pub(crate) mod shape_tagging;
511
512pub(crate) mod shape_topic_configuration;
513
514pub(crate) mod shape_versioning_configuration;
515
516pub(crate) mod shape_website_configuration;
517
518pub(crate) mod shape_abort_incomplete_multipart_upload;
519
520pub(crate) mod shape_analytics_filter;
521
522pub(crate) mod shape_bucket;
523
524pub(crate) mod shape_bucket_info;
525
526pub(crate) mod shape_completed_part;
527
528pub(crate) mod shape_copy_object_result;
529
530pub(crate) mod shape_copy_part_result;
531
532pub(crate) mod shape_csv_input;
533
534pub(crate) mod shape_csv_output;
535
536pub(crate) mod shape_glacier_job_parameters;
537
538pub(crate) mod shape_grant;
539
540pub(crate) mod shape_intelligent_tiering_filter;
541
542pub(crate) mod shape_inventory_destination;
543
544pub(crate) mod shape_inventory_filter;
545
546pub(crate) mod shape_inventory_optional_fields;
547
548pub(crate) mod shape_inventory_schedule;
549
550pub(crate) mod shape_json_input;
551
552pub(crate) mod shape_json_output;
553
554pub(crate) mod shape_lifecycle_expiration;
555
556pub(crate) mod shape_lifecycle_rule_filter;
557
558pub(crate) mod shape_location_info;
559
560pub(crate) mod shape_metrics_filter;
561
562pub(crate) mod shape_noncurrent_version_expiration;
563
564pub(crate) mod shape_noncurrent_version_transition;
565
566pub(crate) mod shape_notification_configuration_filter;
567
568pub(crate) mod shape_object_identifier;
569
570pub(crate) mod shape_object_lock_rule;
571
572pub(crate) mod shape_object_part;
573
574pub(crate) mod shape_output_location;
575
576pub(crate) mod shape_ownership_controls_rule;
577
578pub(crate) mod shape_policy_status;
579
580pub(crate) mod shape_progress_event;
581
582pub(crate) mod shape_replication_rule;
583
584pub(crate) mod shape_restore_status;
585
586pub(crate) mod shape_routing_rule;
587
588pub(crate) mod shape_select_parameters;
589
590pub(crate) mod shape_server_side_encryption_rule;
591
592pub(crate) mod shape_stats_event;
593
594pub(crate) mod shape_storage_class_analysis;
595
596pub(crate) mod shape_tag;
597
598pub(crate) mod shape_target_grants;
599
600pub(crate) mod shape_target_object_key_format;
601
602pub(crate) mod shape_tiering;
603
604pub(crate) mod shape_transition;
605
606pub(crate) mod shape_analytics_and_operator;
607
608pub(crate) mod shape_condition;
609
610pub(crate) mod shape_default_retention;
611
612pub(crate) mod shape_delete_marker_replication;
613
614pub(crate) mod shape_destination;
615
616pub(crate) mod shape_existing_object_replication;
617
618pub(crate) mod shape_grantee;
619
620pub(crate) mod shape_intelligent_tiering_and_operator;
621
622pub(crate) mod shape_inventory_s3_bucket_destination;
623
624pub(crate) mod shape_lifecycle_rule_and_operator;
625
626pub(crate) mod shape_metrics_and_operator;
627
628pub(crate) mod shape_partitioned_prefix;
629
630pub(crate) mod shape_progress;
631
632pub(crate) mod shape_redirect;
633
634pub(crate) mod shape_replication_rule_filter;
635
636pub(crate) mod shape_s3_key_filter;
637
638pub(crate) mod shape_s3_location;
639
640pub(crate) mod shape_server_side_encryption_by_default;
641
642pub(crate) mod shape_simple_prefix;
643
644pub(crate) mod shape_source_selection_criteria;
645
646pub(crate) mod shape_stats;
647
648pub(crate) mod shape_storage_class_analysis_data_export;
649
650pub(crate) mod shape_target_grant;
651
652pub(crate) mod shape_access_control_translation;
653
654pub(crate) mod shape_analytics_export_destination;
655
656pub(crate) mod shape_encryption;
657
658pub(crate) mod shape_encryption_configuration;
659
660pub(crate) mod shape_filter_rule;
661
662pub(crate) mod shape_inventory_encryption;
663
664pub(crate) mod shape_metadata_entry;
665
666pub(crate) mod shape_metrics;
667
668pub(crate) mod shape_replica_modifications;
669
670pub(crate) mod shape_replication_rule_and_operator;
671
672pub(crate) mod shape_replication_time;
673
674pub(crate) mod shape_sse_kms_encrypted_objects;
675
676pub(crate) mod shape_analytics_s3_bucket_destination;
677
678pub(crate) mod shape_replication_time_value;
679
680pub(crate) mod shape_ssekms;
681
682pub(crate) mod shape_sses3;