aws_sdk_organizations/protocol_serde/
shape_list_aws_service_access_for_organization.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_list_aws_service_access_for_organization_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::list_aws_service_access_for_organization::ListAwsServiceAccessForOrganizationOutput,
9    crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError,
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::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::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::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::unhandled(generic)),
19    };
20
21    let _error_message = generic.message().map(|msg| msg.to_owned());
22    Err(match error_code {
23        "AccessDeniedException" => {
24            crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::AccessDeniedException({
25                #[allow(unused_mut)]
26                let mut tmp = {
27                    #[allow(unused_mut)]
28                    let mut output = crate::types::error::builders::AccessDeniedExceptionBuilder::default();
29                    output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
30                        .map_err(crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::unhandled)?;
31                    let output = output.meta(generic);
32                    output.build()
33                };
34                if tmp.message.is_none() {
35                    tmp.message = _error_message;
36                }
37                tmp
38            })
39        }
40        "AWSOrganizationsNotInUseException" => {
41            crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::AwsOrganizationsNotInUseException({
42                #[allow(unused_mut)]
43                let mut tmp = {
44                    #[allow(unused_mut)]
45                    let mut output = crate::types::error::builders::AwsOrganizationsNotInUseExceptionBuilder::default();
46                    output = crate::protocol_serde::shape_aws_organizations_not_in_use_exception::de_aws_organizations_not_in_use_exception_json_err(
47                        _response_body,
48                        output,
49                    )
50                    .map_err(crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::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        }
60        "ConstraintViolationException" => {
61            crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::ConstraintViolationException({
62                #[allow(unused_mut)]
63                let mut tmp = {
64                    #[allow(unused_mut)]
65                    let mut output = crate::types::error::builders::ConstraintViolationExceptionBuilder::default();
66                    output = crate::protocol_serde::shape_constraint_violation_exception::de_constraint_violation_exception_json_err(
67                        _response_body,
68                        output,
69                    )
70                    .map_err(crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::unhandled)?;
71                    let output = output.meta(generic);
72                    output.build()
73                };
74                if tmp.message.is_none() {
75                    tmp.message = _error_message;
76                }
77                tmp
78            })
79        }
80        "InvalidInputException" => {
81            crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::InvalidInputException({
82                #[allow(unused_mut)]
83                let mut tmp = {
84                    #[allow(unused_mut)]
85                    let mut output = crate::types::error::builders::InvalidInputExceptionBuilder::default();
86                    output = crate::protocol_serde::shape_invalid_input_exception::de_invalid_input_exception_json_err(_response_body, output)
87                        .map_err(crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::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        }
97        "ServiceException" => {
98            crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::ServiceException({
99                #[allow(unused_mut)]
100                let mut tmp = {
101                    #[allow(unused_mut)]
102                    let mut output = crate::types::error::builders::ServiceExceptionBuilder::default();
103                    output = crate::protocol_serde::shape_service_exception::de_service_exception_json_err(_response_body, output)
104                        .map_err(crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::unhandled)?;
105                    let output = output.meta(generic);
106                    output.build()
107                };
108                if tmp.message.is_none() {
109                    tmp.message = _error_message;
110                }
111                tmp
112            })
113        }
114        "TooManyRequestsException" => {
115            crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::TooManyRequestsException({
116                #[allow(unused_mut)]
117                let mut tmp = {
118                    #[allow(unused_mut)]
119                    let mut output = crate::types::error::builders::TooManyRequestsExceptionBuilder::default();
120                    output =
121                        crate::protocol_serde::shape_too_many_requests_exception::de_too_many_requests_exception_json_err(_response_body, output)
122                            .map_err(
123                                crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::unhandled,
124                            )?;
125                    let output = output.meta(generic);
126                    output.build()
127                };
128                if tmp.message.is_none() {
129                    tmp.message = _error_message;
130                }
131                tmp
132            })
133        }
134        "UnsupportedAPIEndpointException" => {
135            crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::UnsupportedApiEndpointException({
136                #[allow(unused_mut)]
137                let mut tmp = {
138                    #[allow(unused_mut)]
139                    let mut output = crate::types::error::builders::UnsupportedApiEndpointExceptionBuilder::default();
140                    output = crate::protocol_serde::shape_unsupported_api_endpoint_exception::de_unsupported_api_endpoint_exception_json_err(
141                        _response_body,
142                        output,
143                    )
144                    .map_err(crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::unhandled)?;
145                    let output = output.meta(generic);
146                    output.build()
147                };
148                if tmp.message.is_none() {
149                    tmp.message = _error_message;
150                }
151                tmp
152            })
153        }
154        _ => crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::generic(generic),
155    })
156}
157
158#[allow(clippy::unnecessary_wraps)]
159pub fn de_list_aws_service_access_for_organization_http_response(
160    _response_status: u16,
161    _response_headers: &::aws_smithy_runtime_api::http::Headers,
162    _response_body: &[u8],
163) -> std::result::Result<
164    crate::operation::list_aws_service_access_for_organization::ListAwsServiceAccessForOrganizationOutput,
165    crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError,
166> {
167    Ok({
168        #[allow(unused_mut)]
169        let mut output =
170            crate::operation::list_aws_service_access_for_organization::builders::ListAwsServiceAccessForOrganizationOutputBuilder::default();
171        output = crate::protocol_serde::shape_list_aws_service_access_for_organization::de_list_aws_service_access_for_organization(
172            _response_body,
173            output,
174        )
175        .map_err(crate::operation::list_aws_service_access_for_organization::ListAWSServiceAccessForOrganizationError::unhandled)?;
176        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
177        output.build()
178    })
179}
180
181pub fn ser_list_aws_service_access_for_organization_input(
182    input: &crate::operation::list_aws_service_access_for_organization::ListAwsServiceAccessForOrganizationInput,
183) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
184    let mut out = String::new();
185    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
186    crate::protocol_serde::shape_list_aws_service_access_for_organization_input::ser_list_aws_service_access_for_organization_input_input(
187        &mut object,
188        input,
189    )?;
190    object.finish();
191    Ok(::aws_smithy_types::body::SdkBody::from(out))
192}
193
194pub(crate) fn de_list_aws_service_access_for_organization(
195    value: &[u8],
196    mut builder: crate::operation::list_aws_service_access_for_organization::builders::ListAwsServiceAccessForOrganizationOutputBuilder,
197) -> ::std::result::Result<
198    crate::operation::list_aws_service_access_for_organization::builders::ListAwsServiceAccessForOrganizationOutputBuilder,
199    ::aws_smithy_json::deserialize::error::DeserializeError,
200> {
201    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
202    let tokens = &mut tokens_owned;
203    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
204    loop {
205        match tokens.next().transpose()? {
206            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
207            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
208                "EnabledServicePrincipals" => {
209                    builder = builder.set_enabled_service_principals(
210                        crate::protocol_serde::shape_enabled_service_principals::de_enabled_service_principals(tokens)?,
211                    );
212                }
213                "NextToken" => {
214                    builder = builder.set_next_token(
215                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
216                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
217                            .transpose()?,
218                    );
219                }
220                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
221            },
222            other => {
223                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
224                    "expected object key or end object, found: {:?}",
225                    other
226                )))
227            }
228        }
229    }
230    if tokens.next().is_some() {
231        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
232            "found more JSON tokens after completing parsing",
233        ));
234    }
235    Ok(builder)
236}