aws_sdk_workdocs/protocol_serde/
shape_create_custom_metadata.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_custom_metadata_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_custom_metadata::CreateCustomMetadataOutput,
9    crate::operation::create_custom_metadata::CreateCustomMetadataError,
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_custom_metadata::CreateCustomMetadataError::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_custom_metadata::CreateCustomMetadataError::unhandled(generic)),
19    };
20
21    let _error_message = generic.message().map(|msg| msg.to_owned());
22    Err(match error_code {
23        "CustomMetadataLimitExceededException" => {
24            crate::operation::create_custom_metadata::CreateCustomMetadataError::CustomMetadataLimitExceededException({
25                #[allow(unused_mut)]
26                let mut tmp = {
27                    #[allow(unused_mut)]
28                    let mut output = crate::types::error::builders::CustomMetadataLimitExceededExceptionBuilder::default();
29                    output =
30                        crate::protocol_serde::shape_custom_metadata_limit_exceeded_exception::de_custom_metadata_limit_exceeded_exception_json_err(
31                            _response_body,
32                            output,
33                        )
34                        .map_err(crate::operation::create_custom_metadata::CreateCustomMetadataError::unhandled)?;
35                    let output = output.meta(generic);
36                    output.build()
37                };
38                if tmp.message.is_none() {
39                    tmp.message = _error_message;
40                }
41                tmp
42            })
43        }
44        "EntityNotExistsException" => crate::operation::create_custom_metadata::CreateCustomMetadataError::EntityNotExistsException({
45            #[allow(unused_mut)]
46            let mut tmp = {
47                #[allow(unused_mut)]
48                let mut output = crate::types::error::builders::EntityNotExistsExceptionBuilder::default();
49                output = crate::protocol_serde::shape_entity_not_exists_exception::de_entity_not_exists_exception_json_err(_response_body, output)
50                    .map_err(crate::operation::create_custom_metadata::CreateCustomMetadataError::unhandled)?;
51                let output = output.meta(generic);
52                output.build()
53            };
54            if tmp.message.is_none() {
55                tmp.message = _error_message;
56            }
57            tmp
58        }),
59        "FailedDependencyException" => crate::operation::create_custom_metadata::CreateCustomMetadataError::FailedDependencyException({
60            #[allow(unused_mut)]
61            let mut tmp = {
62                #[allow(unused_mut)]
63                let mut output = crate::types::error::builders::FailedDependencyExceptionBuilder::default();
64                output = crate::protocol_serde::shape_failed_dependency_exception::de_failed_dependency_exception_json_err(_response_body, output)
65                    .map_err(crate::operation::create_custom_metadata::CreateCustomMetadataError::unhandled)?;
66                let output = output.meta(generic);
67                output.build()
68            };
69            if tmp.message.is_none() {
70                tmp.message = _error_message;
71            }
72            tmp
73        }),
74        "ProhibitedStateException" => crate::operation::create_custom_metadata::CreateCustomMetadataError::ProhibitedStateException({
75            #[allow(unused_mut)]
76            let mut tmp = {
77                #[allow(unused_mut)]
78                let mut output = crate::types::error::builders::ProhibitedStateExceptionBuilder::default();
79                output = crate::protocol_serde::shape_prohibited_state_exception::de_prohibited_state_exception_json_err(_response_body, output)
80                    .map_err(crate::operation::create_custom_metadata::CreateCustomMetadataError::unhandled)?;
81                let output = output.meta(generic);
82                output.build()
83            };
84            if tmp.message.is_none() {
85                tmp.message = _error_message;
86            }
87            tmp
88        }),
89        "ServiceUnavailableException" => crate::operation::create_custom_metadata::CreateCustomMetadataError::ServiceUnavailableException({
90            #[allow(unused_mut)]
91            let mut tmp = {
92                #[allow(unused_mut)]
93                let mut output = crate::types::error::builders::ServiceUnavailableExceptionBuilder::default();
94                output =
95                    crate::protocol_serde::shape_service_unavailable_exception::de_service_unavailable_exception_json_err(_response_body, output)
96                        .map_err(crate::operation::create_custom_metadata::CreateCustomMetadataError::unhandled)?;
97                let output = output.meta(generic);
98                output.build()
99            };
100            if tmp.message.is_none() {
101                tmp.message = _error_message;
102            }
103            tmp
104        }),
105        "UnauthorizedOperationException" => crate::operation::create_custom_metadata::CreateCustomMetadataError::UnauthorizedOperationException({
106            #[allow(unused_mut)]
107            let mut tmp = {
108                #[allow(unused_mut)]
109                let mut output = crate::types::error::builders::UnauthorizedOperationExceptionBuilder::default();
110                output = crate::protocol_serde::shape_unauthorized_operation_exception::de_unauthorized_operation_exception_json_err(
111                    _response_body,
112                    output,
113                )
114                .map_err(crate::operation::create_custom_metadata::CreateCustomMetadataError::unhandled)?;
115                let output = output.meta(generic);
116                output.build()
117            };
118            if tmp.message.is_none() {
119                tmp.message = _error_message;
120            }
121            tmp
122        }),
123        "UnauthorizedResourceAccessException" => {
124            crate::operation::create_custom_metadata::CreateCustomMetadataError::UnauthorizedResourceAccessException({
125                #[allow(unused_mut)]
126                let mut tmp = {
127                    #[allow(unused_mut)]
128                    let mut output = crate::types::error::builders::UnauthorizedResourceAccessExceptionBuilder::default();
129                    output = crate::protocol_serde::shape_unauthorized_resource_access_exception::de_unauthorized_resource_access_exception_json_err(
130                        _response_body,
131                        output,
132                    )
133                    .map_err(crate::operation::create_custom_metadata::CreateCustomMetadataError::unhandled)?;
134                    let output = output.meta(generic);
135                    output.build()
136                };
137                if tmp.message.is_none() {
138                    tmp.message = _error_message;
139                }
140                tmp
141            })
142        }
143        _ => crate::operation::create_custom_metadata::CreateCustomMetadataError::generic(generic),
144    })
145}
146
147#[allow(clippy::unnecessary_wraps)]
148pub fn de_create_custom_metadata_http_response(
149    _response_status: u16,
150    _response_headers: &::aws_smithy_runtime_api::http::Headers,
151    _response_body: &[u8],
152) -> std::result::Result<
153    crate::operation::create_custom_metadata::CreateCustomMetadataOutput,
154    crate::operation::create_custom_metadata::CreateCustomMetadataError,
155> {
156    Ok({
157        #[allow(unused_mut)]
158        let mut output = crate::operation::create_custom_metadata::builders::CreateCustomMetadataOutputBuilder::default();
159        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
160        output.build()
161    })
162}
163
164pub fn ser_create_custom_metadata_headers(
165    input: &crate::operation::create_custom_metadata::CreateCustomMetadataInput,
166    mut builder: ::http::request::Builder,
167) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
168    if let ::std::option::Option::Some(inner_1) = &input.authentication_token {
169        let formatted_2 = inner_1.as_str();
170        let header_value = formatted_2;
171        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
172            ::aws_smithy_types::error::operation::BuildError::invalid_field(
173                "authentication_token",
174                format!("`{}` cannot be used as a header value: {}", &"*** Sensitive Data Redacted ***", err),
175            )
176        })?;
177        builder = builder.header("Authentication", header_value);
178    }
179    Ok(builder)
180}
181
182pub fn ser_create_custom_metadata_input(
183    input: &crate::operation::create_custom_metadata::CreateCustomMetadataInput,
184) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
185    let mut out = String::new();
186    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
187    crate::protocol_serde::shape_create_custom_metadata_input::ser_create_custom_metadata_input_input(&mut object, input)?;
188    object.finish();
189    Ok(::aws_smithy_types::body::SdkBody::from(out))
190}