aws_sdk_ec2/protocol_serde/
shape_s3_storage.rs1#[allow(unused_mut)]
3pub fn ser_s3_storage(
4 mut writer: ::aws_smithy_query::QueryValueWriter,
5 input: &crate::types::S3Storage,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
7 #[allow(unused_mut)]
8 let mut scope_1 = writer.prefix("AWSAccessKeyId");
9 if let Some(var_2) = &input.aws_access_key_id {
10 scope_1.string(var_2);
11 }
12 #[allow(unused_mut)]
13 let mut scope_3 = writer.prefix("Bucket");
14 if let Some(var_4) = &input.bucket {
15 scope_3.string(var_4);
16 }
17 #[allow(unused_mut)]
18 let mut scope_5 = writer.prefix("Prefix");
19 if let Some(var_6) = &input.prefix {
20 scope_5.string(var_6);
21 }
22 #[allow(unused_mut)]
23 let mut scope_7 = writer.prefix("UploadPolicy");
24 if let Some(var_8) = &input.upload_policy {
25 scope_7.string(&::aws_smithy_types::base64::encode(var_8));
26 }
27 #[allow(unused_mut)]
28 let mut scope_9 = writer.prefix("UploadPolicySignature");
29 if let Some(var_10) = &input.upload_policy_signature {
30 scope_9.string(var_10);
31 }
32 Ok(())
33}
34
35#[allow(clippy::needless_question_mark)]
36pub fn de_s3_storage(
37 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
38) -> ::std::result::Result<crate::types::S3Storage, ::aws_smithy_xml::decode::XmlDecodeError> {
39 #[allow(unused_mut)]
40 let mut builder = crate::types::S3Storage::builder();
41 while let Some(mut tag) = decoder.next_tag() {
42 match tag.start_el() {
43 s if s.matches("AWSAccessKeyId") => {
44 let var_11 =
45 Some(
46 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
47 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
48 .into()
49 )
50 ?
51 )
52 ;
53 builder = builder.set_aws_access_key_id(var_11);
54 }
55 ,
56 s if s.matches("bucket") => {
57 let var_12 =
58 Some(
59 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
60 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
61 .into()
62 )
63 ?
64 )
65 ;
66 builder = builder.set_bucket(var_12);
67 }
68 ,
69 s if s.matches("prefix") => {
70 let var_13 =
71 Some(
72 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
73 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
74 .into()
75 )
76 ?
77 )
78 ;
79 builder = builder.set_prefix(var_13);
80 }
81 ,
82 s if s.matches("uploadPolicy") => {
83 let var_14 =
84 Some(
85 ::aws_smithy_types::base64::decode(
86 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
87 )
88 .map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
89 ?
90 )
91 ;
92 builder = builder.set_upload_policy(var_14);
93 }
94 ,
95 s if s.matches("uploadPolicySignature") => {
96 let var_15 =
97 Some(
98 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
99 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
100 .into()
101 )
102 ?
103 )
104 ;
105 builder = builder.set_upload_policy_signature(var_15);
106 }
107 ,
108 _ => {}
109 }
110 }
111 Ok(builder.build())
112}