aws_sdk_rds/protocol_serde/
shape_create_db_subnet_group.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_db_subnet_group_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<
8 crate::operation::create_db_subnet_group::CreateDbSubnetGroupOutput,
9 crate::operation::create_db_subnet_group::CreateDBSubnetGroupError,
10> {
11 #[allow(unused_mut)]
12 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
13 .map_err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled)?;
14 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15 let generic = generic_builder.build();
16 let error_code = match generic.code() {
17 Some(code) => code,
18 None => return Err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled(generic)),
19 };
20
21 let _error_message = generic.message().map(|msg| msg.to_owned());
22 Err(match error_code {
23 "DBSubnetGroupAlreadyExists" => crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::DbSubnetGroupAlreadyExistsFault({
24 #[allow(unused_mut)]
25 let mut tmp = {
26 #[allow(unused_mut)]
27 let mut output = crate::types::error::builders::DbSubnetGroupAlreadyExistsFaultBuilder::default();
28 output = crate::protocol_serde::shape_db_subnet_group_already_exists_fault::de_db_subnet_group_already_exists_fault_xml_err(
29 _response_body,
30 output,
31 )
32 .map_err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled)?;
33 let output = output.meta(generic);
34 output.build()
35 };
36 if tmp.message.is_none() {
37 tmp.message = _error_message;
38 }
39 tmp
40 }),
41 "DBSubnetGroupDoesNotCoverEnoughAZs" => {
42 crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::DbSubnetGroupDoesNotCoverEnoughAZs({
43 #[allow(unused_mut)]
44 let mut tmp = {
45 #[allow(unused_mut)]
46 let mut output = crate::types::error::builders::DbSubnetGroupDoesNotCoverEnoughAZsBuilder::default();
47 output =
48 crate::protocol_serde::shape_db_subnet_group_does_not_cover_enough_azs::de_db_subnet_group_does_not_cover_enough_azs_xml_err(
49 _response_body,
50 output,
51 )
52 .map_err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled)?;
53 let output = output.meta(generic);
54 output.build()
55 };
56 if tmp.message.is_none() {
57 tmp.message = _error_message;
58 }
59 tmp
60 })
61 }
62 "DBSubnetGroupQuotaExceeded" => crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::DbSubnetGroupQuotaExceededFault({
63 #[allow(unused_mut)]
64 let mut tmp = {
65 #[allow(unused_mut)]
66 let mut output = crate::types::error::builders::DbSubnetGroupQuotaExceededFaultBuilder::default();
67 output = crate::protocol_serde::shape_db_subnet_group_quota_exceeded_fault::de_db_subnet_group_quota_exceeded_fault_xml_err(
68 _response_body,
69 output,
70 )
71 .map_err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled)?;
72 let output = output.meta(generic);
73 output.build()
74 };
75 if tmp.message.is_none() {
76 tmp.message = _error_message;
77 }
78 tmp
79 }),
80 "DBSubnetQuotaExceededFault" => crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::DbSubnetQuotaExceededFault({
81 #[allow(unused_mut)]
82 let mut tmp = {
83 #[allow(unused_mut)]
84 let mut output = crate::types::error::builders::DbSubnetQuotaExceededFaultBuilder::default();
85 output =
86 crate::protocol_serde::shape_db_subnet_quota_exceeded_fault::de_db_subnet_quota_exceeded_fault_xml_err(_response_body, output)
87 .map_err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled)?;
88 let output = output.meta(generic);
89 output.build()
90 };
91 if tmp.message.is_none() {
92 tmp.message = _error_message;
93 }
94 tmp
95 }),
96 "InvalidSubnet" => crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::InvalidSubnet({
97 #[allow(unused_mut)]
98 let mut tmp = {
99 #[allow(unused_mut)]
100 let mut output = crate::types::error::builders::InvalidSubnetBuilder::default();
101 output = crate::protocol_serde::shape_invalid_subnet::de_invalid_subnet_xml_err(_response_body, output)
102 .map_err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled)?;
103 let output = output.meta(generic);
104 output.build()
105 };
106 if tmp.message.is_none() {
107 tmp.message = _error_message;
108 }
109 tmp
110 }),
111 _ => crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::generic(generic),
112 })
113}
114
115#[allow(clippy::unnecessary_wraps)]
116pub fn de_create_db_subnet_group_http_response(
117 _response_status: u16,
118 _response_headers: &::aws_smithy_runtime_api::http::Headers,
119 _response_body: &[u8],
120) -> std::result::Result<
121 crate::operation::create_db_subnet_group::CreateDbSubnetGroupOutput,
122 crate::operation::create_db_subnet_group::CreateDBSubnetGroupError,
123> {
124 Ok({
125 #[allow(unused_mut)]
126 let mut output = crate::operation::create_db_subnet_group::builders::CreateDbSubnetGroupOutputBuilder::default();
127 output = crate::protocol_serde::shape_create_db_subnet_group::de_create_db_subnet_group(_response_body, output)
128 .map_err(crate::operation::create_db_subnet_group::CreateDBSubnetGroupError::unhandled)?;
129 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
130 output.build()
131 })
132}
133
134#[allow(unused_mut)]
135pub fn de_create_db_subnet_group(
136 inp: &[u8],
137 mut builder: crate::operation::create_db_subnet_group::builders::CreateDbSubnetGroupOutputBuilder,
138) -> std::result::Result<crate::operation::create_db_subnet_group::builders::CreateDbSubnetGroupOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError>
139{
140 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
141
142 #[allow(unused_mut)]
143 let mut decoder = doc.root_element()?;
144 #[allow(unused_variables)]
145 let start_el = decoder.start_el();
146 if !(start_el.matches("CreateDBSubnetGroupResponse")) {
147 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
148 "invalid root, expected CreateDBSubnetGroupResponse got {:?}",
149 start_el
150 )));
151 }
152 if let Some(mut result_tag) = decoder.next_tag() {
153 let start_el = result_tag.start_el();
154 if !(start_el.matches("CreateDBSubnetGroupResult")) {
155 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
156 "invalid result, expected CreateDBSubnetGroupResult got {:?}",
157 start_el
158 )));
159 }
160 while let Some(mut tag) = result_tag.next_tag() {
161 match tag.start_el() {
162 s if s.matches("DBSubnetGroup") => {
163 let var_1 =
164 Some(
165 crate::protocol_serde::shape_db_subnet_group::de_db_subnet_group(&mut tag)
166 ?
167 )
168 ;
169 builder = builder.set_db_subnet_group(var_1);
170 }
171 ,
172 _ => {}
173 }
174 }
175 } else {
176 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected CreateDBSubnetGroupResult tag"));
177 };
178 Ok(builder)
179}