aws_sdk_ssm/protocol_serde/
shape_put_compliance_items.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_put_compliance_items_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::put_compliance_items::PutComplianceItemsOutput,
9 crate::operation::put_compliance_items::PutComplianceItemsError,
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::put_compliance_items::PutComplianceItemsError::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::put_compliance_items::PutComplianceItemsError::unhandled(generic)),
19 };
20
21 let _error_message = generic.message().map(|msg| msg.to_owned());
22 Err(match error_code {
23 "ComplianceTypeCountLimitExceededException" => {
24 crate::operation::put_compliance_items::PutComplianceItemsError::ComplianceTypeCountLimitExceededException({
25 #[allow(unused_mut)]
26 let mut tmp = {
27 #[allow(unused_mut)]
28 let mut output = crate::types::error::builders::ComplianceTypeCountLimitExceededExceptionBuilder::default();
29 output = crate::protocol_serde::shape_compliance_type_count_limit_exceeded_exception::de_compliance_type_count_limit_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::put_compliance_items::PutComplianceItemsError::unhandled)?;
30 let output = output.meta(generic);
31 output.build()
32 };
33 if tmp.message.is_none() {
34 tmp.message = _error_message;
35 }
36 tmp
37 })
38 }
39 "InternalServerError" => crate::operation::put_compliance_items::PutComplianceItemsError::InternalServerError({
40 #[allow(unused_mut)]
41 let mut tmp = {
42 #[allow(unused_mut)]
43 let mut output = crate::types::error::builders::InternalServerErrorBuilder::default();
44 output = crate::protocol_serde::shape_internal_server_error::de_internal_server_error_json_err(_response_body, output)
45 .map_err(crate::operation::put_compliance_items::PutComplianceItemsError::unhandled)?;
46 let output = output.meta(generic);
47 output.build()
48 };
49 if tmp.message.is_none() {
50 tmp.message = _error_message;
51 }
52 tmp
53 }),
54 "InvalidItemContentException" => crate::operation::put_compliance_items::PutComplianceItemsError::InvalidItemContentException({
55 #[allow(unused_mut)]
56 let mut tmp = {
57 #[allow(unused_mut)]
58 let mut output = crate::types::error::builders::InvalidItemContentExceptionBuilder::default();
59 output =
60 crate::protocol_serde::shape_invalid_item_content_exception::de_invalid_item_content_exception_json_err(_response_body, output)
61 .map_err(crate::operation::put_compliance_items::PutComplianceItemsError::unhandled)?;
62 let output = output.meta(generic);
63 output.build()
64 };
65 if tmp.message.is_none() {
66 tmp.message = _error_message;
67 }
68 tmp
69 }),
70 "InvalidResourceId" => crate::operation::put_compliance_items::PutComplianceItemsError::InvalidResourceId({
71 #[allow(unused_mut)]
72 let mut tmp = {
73 #[allow(unused_mut)]
74 let mut output = crate::types::error::builders::InvalidResourceIdBuilder::default();
75 output = crate::protocol_serde::shape_invalid_resource_id::de_invalid_resource_id_json_err(_response_body, output)
76 .map_err(crate::operation::put_compliance_items::PutComplianceItemsError::unhandled)?;
77 let output = output.meta(generic);
78 output.build()
79 };
80 if tmp.message.is_none() {
81 tmp.message = _error_message;
82 }
83 tmp
84 }),
85 "InvalidResourceType" => crate::operation::put_compliance_items::PutComplianceItemsError::InvalidResourceType({
86 #[allow(unused_mut)]
87 let mut tmp = {
88 #[allow(unused_mut)]
89 let mut output = crate::types::error::builders::InvalidResourceTypeBuilder::default();
90 output = crate::protocol_serde::shape_invalid_resource_type::de_invalid_resource_type_json_err(_response_body, output)
91 .map_err(crate::operation::put_compliance_items::PutComplianceItemsError::unhandled)?;
92 let output = output.meta(generic);
93 output.build()
94 };
95 if tmp.message.is_none() {
96 tmp.message = _error_message;
97 }
98 tmp
99 }),
100 "ItemSizeLimitExceededException" => crate::operation::put_compliance_items::PutComplianceItemsError::ItemSizeLimitExceededException({
101 #[allow(unused_mut)]
102 let mut tmp = {
103 #[allow(unused_mut)]
104 let mut output = crate::types::error::builders::ItemSizeLimitExceededExceptionBuilder::default();
105 output = crate::protocol_serde::shape_item_size_limit_exceeded_exception::de_item_size_limit_exceeded_exception_json_err(
106 _response_body,
107 output,
108 )
109 .map_err(crate::operation::put_compliance_items::PutComplianceItemsError::unhandled)?;
110 let output = output.meta(generic);
111 output.build()
112 };
113 if tmp.message.is_none() {
114 tmp.message = _error_message;
115 }
116 tmp
117 }),
118 "TotalSizeLimitExceededException" => crate::operation::put_compliance_items::PutComplianceItemsError::TotalSizeLimitExceededException({
119 #[allow(unused_mut)]
120 let mut tmp = {
121 #[allow(unused_mut)]
122 let mut output = crate::types::error::builders::TotalSizeLimitExceededExceptionBuilder::default();
123 output = crate::protocol_serde::shape_total_size_limit_exceeded_exception::de_total_size_limit_exceeded_exception_json_err(
124 _response_body,
125 output,
126 )
127 .map_err(crate::operation::put_compliance_items::PutComplianceItemsError::unhandled)?;
128 let output = output.meta(generic);
129 output.build()
130 };
131 if tmp.message.is_none() {
132 tmp.message = _error_message;
133 }
134 tmp
135 }),
136 _ => crate::operation::put_compliance_items::PutComplianceItemsError::generic(generic),
137 })
138}
139
140#[allow(clippy::unnecessary_wraps)]
141pub fn de_put_compliance_items_http_response(
142 _response_status: u16,
143 _response_headers: &::aws_smithy_runtime_api::http::Headers,
144 _response_body: &[u8],
145) -> std::result::Result<
146 crate::operation::put_compliance_items::PutComplianceItemsOutput,
147 crate::operation::put_compliance_items::PutComplianceItemsError,
148> {
149 Ok({
150 #[allow(unused_mut)]
151 let mut output = crate::operation::put_compliance_items::builders::PutComplianceItemsOutputBuilder::default();
152 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
153 output.build()
154 })
155}
156
157pub fn ser_put_compliance_items_input(
158 input: &crate::operation::put_compliance_items::PutComplianceItemsInput,
159) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
160 let mut out = String::new();
161 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
162 crate::protocol_serde::shape_put_compliance_items_input::ser_put_compliance_items_input_input(&mut object, input)?;
163 object.finish();
164 Ok(::aws_smithy_types::body::SdkBody::from(out))
165}