aws_sdk_codedeploy/protocol_serde/
shape_create_deployment_config.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_deployment_config_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_deployment_config::CreateDeploymentConfigOutput,
9    crate::operation::create_deployment_config::CreateDeploymentConfigError,
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_deployment_config::CreateDeploymentConfigError::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 => {
19            return Err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled(
20                generic,
21            ))
22        }
23    };
24
25    let _error_message = generic.message().map(|msg| msg.to_owned());
26    Err(match error_code {
27        "DeploymentConfigAlreadyExistsException" => {
28            crate::operation::create_deployment_config::CreateDeploymentConfigError::DeploymentConfigAlreadyExistsException({
29                #[allow(unused_mut)]
30                let mut tmp = {
31                    #[allow(unused_mut)]
32                    let mut output = crate::types::error::builders::DeploymentConfigAlreadyExistsExceptionBuilder::default();
33                    output = crate::protocol_serde::shape_deployment_config_already_exists_exception::de_deployment_config_already_exists_exception_json_err(_response_body, output).map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
34                    let output = output.meta(generic);
35                    output.build()
36                };
37                if tmp.message.is_none() {
38                    tmp.message = _error_message;
39                }
40                tmp
41            })
42        }
43        "DeploymentConfigLimitExceededException" => {
44            crate::operation::create_deployment_config::CreateDeploymentConfigError::DeploymentConfigLimitExceededException({
45                #[allow(unused_mut)]
46                let mut tmp = {
47                    #[allow(unused_mut)]
48                    let mut output = crate::types::error::builders::DeploymentConfigLimitExceededExceptionBuilder::default();
49                    output = crate::protocol_serde::shape_deployment_config_limit_exceeded_exception::de_deployment_config_limit_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
50                    let output = output.meta(generic);
51                    output.build()
52                };
53                if tmp.message.is_none() {
54                    tmp.message = _error_message;
55                }
56                tmp
57            })
58        }
59        "DeploymentConfigNameRequiredException" => {
60            crate::operation::create_deployment_config::CreateDeploymentConfigError::DeploymentConfigNameRequiredException({
61                #[allow(unused_mut)]
62                let mut tmp = {
63                    #[allow(unused_mut)]
64                    let mut output = crate::types::error::builders::DeploymentConfigNameRequiredExceptionBuilder::default();
65                    output = crate::protocol_serde::shape_deployment_config_name_required_exception::de_deployment_config_name_required_exception_json_err(_response_body, output).map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::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        }
75        "InvalidComputePlatformException" => {
76            crate::operation::create_deployment_config::CreateDeploymentConfigError::InvalidComputePlatformException({
77                #[allow(unused_mut)]
78                let mut tmp = {
79                    #[allow(unused_mut)]
80                    let mut output = crate::types::error::builders::InvalidComputePlatformExceptionBuilder::default();
81                    output = crate::protocol_serde::shape_invalid_compute_platform_exception::de_invalid_compute_platform_exception_json_err(
82                        _response_body,
83                        output,
84                    )
85                    .map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
86                    let output = output.meta(generic);
87                    output.build()
88                };
89                if tmp.message.is_none() {
90                    tmp.message = _error_message;
91                }
92                tmp
93            })
94        }
95        "InvalidDeploymentConfigNameException" => {
96            crate::operation::create_deployment_config::CreateDeploymentConfigError::InvalidDeploymentConfigNameException({
97                #[allow(unused_mut)]
98                let mut tmp = {
99                    #[allow(unused_mut)]
100                    let mut output = crate::types::error::builders::InvalidDeploymentConfigNameExceptionBuilder::default();
101                    output =
102                        crate::protocol_serde::shape_invalid_deployment_config_name_exception::de_invalid_deployment_config_name_exception_json_err(
103                            _response_body,
104                            output,
105                        )
106                        .map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
107                    let output = output.meta(generic);
108                    output.build()
109                };
110                if tmp.message.is_none() {
111                    tmp.message = _error_message;
112                }
113                tmp
114            })
115        }
116        "InvalidMinimumHealthyHostValueException" => {
117            crate::operation::create_deployment_config::CreateDeploymentConfigError::InvalidMinimumHealthyHostValueException({
118                #[allow(unused_mut)]
119                let mut tmp = {
120                    #[allow(unused_mut)]
121                    let mut output = crate::types::error::builders::InvalidMinimumHealthyHostValueExceptionBuilder::default();
122                    output = crate::protocol_serde::shape_invalid_minimum_healthy_host_value_exception::de_invalid_minimum_healthy_host_value_exception_json_err(_response_body, output).map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
123                    let output = output.meta(generic);
124                    output.build()
125                };
126                if tmp.message.is_none() {
127                    tmp.message = _error_message;
128                }
129                tmp
130            })
131        }
132        "InvalidTrafficRoutingConfigurationException" => {
133            crate::operation::create_deployment_config::CreateDeploymentConfigError::InvalidTrafficRoutingConfigurationException({
134                #[allow(unused_mut)]
135                let mut tmp = {
136                    #[allow(unused_mut)]
137                    let mut output = crate::types::error::builders::InvalidTrafficRoutingConfigurationExceptionBuilder::default();
138                    output = crate::protocol_serde::shape_invalid_traffic_routing_configuration_exception::de_invalid_traffic_routing_configuration_exception_json_err(_response_body, output).map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
139                    let output = output.meta(generic);
140                    output.build()
141                };
142                if tmp.message.is_none() {
143                    tmp.message = _error_message;
144                }
145                tmp
146            })
147        }
148        "InvalidZonalDeploymentConfigurationException" => {
149            crate::operation::create_deployment_config::CreateDeploymentConfigError::InvalidZonalDeploymentConfigurationException({
150                #[allow(unused_mut)]
151                let mut tmp = {
152                    #[allow(unused_mut)]
153                    let mut output = crate::types::error::builders::InvalidZonalDeploymentConfigurationExceptionBuilder::default();
154                    output = crate::protocol_serde::shape_invalid_zonal_deployment_configuration_exception::de_invalid_zonal_deployment_configuration_exception_json_err(_response_body, output).map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
155                    let output = output.meta(generic);
156                    output.build()
157                };
158                if tmp.message.is_none() {
159                    tmp.message = _error_message;
160                }
161                tmp
162            })
163        }
164        _ => crate::operation::create_deployment_config::CreateDeploymentConfigError::generic(generic),
165    })
166}
167
168#[allow(clippy::unnecessary_wraps)]
169pub fn de_create_deployment_config_http_response(
170    _response_status: u16,
171    _response_headers: &::aws_smithy_runtime_api::http::Headers,
172    _response_body: &[u8],
173) -> std::result::Result<
174    crate::operation::create_deployment_config::CreateDeploymentConfigOutput,
175    crate::operation::create_deployment_config::CreateDeploymentConfigError,
176> {
177    Ok({
178        #[allow(unused_mut)]
179        let mut output = crate::operation::create_deployment_config::builders::CreateDeploymentConfigOutputBuilder::default();
180        output = crate::protocol_serde::shape_create_deployment_config::de_create_deployment_config(_response_body, output)
181            .map_err(crate::operation::create_deployment_config::CreateDeploymentConfigError::unhandled)?;
182        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
183        output.build()
184    })
185}
186
187pub fn ser_create_deployment_config_input(
188    input: &crate::operation::create_deployment_config::CreateDeploymentConfigInput,
189) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
190    let mut out = String::new();
191    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
192    crate::protocol_serde::shape_create_deployment_config_input::ser_create_deployment_config_input_input(&mut object, input)?;
193    object.finish();
194    Ok(::aws_smithy_types::body::SdkBody::from(out))
195}
196
197pub(crate) fn de_create_deployment_config(
198    value: &[u8],
199    mut builder: crate::operation::create_deployment_config::builders::CreateDeploymentConfigOutputBuilder,
200) -> ::std::result::Result<
201    crate::operation::create_deployment_config::builders::CreateDeploymentConfigOutputBuilder,
202    ::aws_smithy_json::deserialize::error::DeserializeError,
203> {
204    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
205    let tokens = &mut tokens_owned;
206    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
207    loop {
208        match tokens.next().transpose()? {
209            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
210            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
211                "deploymentConfigId" => {
212                    builder = builder.set_deployment_config_id(
213                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
214                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
215                            .transpose()?,
216                    );
217                }
218                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
219            },
220            other => {
221                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
222                    "expected object key or end object, found: {:?}",
223                    other
224                )))
225            }
226        }
227    }
228    if tokens.next().is_some() {
229        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
230            "found more JSON tokens after completing parsing",
231        ));
232    }
233    Ok(builder)
234}