aws_sdk_ssm/protocol_serde/
shape_put_compliance_items.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[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}