Skip to main content

aws_sdk_paymentcryptography/operation/
disassociate_mpa_team.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `DisassociateMpaTeam`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct DisassociateMpaTeam;
6impl DisassociateMpaTeam {
7    /// Creates a new `DisassociateMpaTeam`
8    pub fn new() -> Self {
9        Self
10    }
11    pub(crate) async fn orchestrate(
12        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
13        input: crate::operation::disassociate_mpa_team::DisassociateMpaTeamInput,
14    ) -> ::std::result::Result<
15        crate::operation::disassociate_mpa_team::DisassociateMpaTeamOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::disassociate_mpa_team::DisassociateMpaTeamError,
18            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
19        >,
20    > {
21        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<
22            ::aws_smithy_runtime_api::client::interceptors::context::Error,
23            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
24        >| {
25            err.map_service_error(|err| {
26                err.downcast::<crate::operation::disassociate_mpa_team::DisassociateMpaTeamError>()
27                    .expect("correct error type")
28            })
29        };
30        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
31            .await
32            .map_err(map_err)?;
33        let output = context.finalize().map_err(map_err)?;
34        ::std::result::Result::Ok(
35            output
36                .downcast::<crate::operation::disassociate_mpa_team::DisassociateMpaTeamOutput>()
37                .expect("correct output type"),
38        )
39    }
40
41    pub(crate) async fn orchestrate_with_stop_point(
42        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
43        input: crate::operation::disassociate_mpa_team::DisassociateMpaTeamInput,
44        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
45    ) -> ::std::result::Result<
46        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
47        ::aws_smithy_runtime_api::client::result::SdkError<
48            ::aws_smithy_runtime_api::client::interceptors::context::Error,
49            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
50        >,
51    > {
52        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
53        use ::tracing::Instrument;
54        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point(
55            "Payment Cryptography",
56            "DisassociateMpaTeam",
57            input,
58            runtime_plugins,
59            stop_point,
60        )
61        // Create a parent span for the entire operation. Includes a random, internal-only,
62        // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
63        .instrument(::tracing::debug_span!(
64            "Payment Cryptography.DisassociateMpaTeam",
65            "rpc.service" = "Payment Cryptography",
66            "rpc.method" = "DisassociateMpaTeam",
67            "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
68            "rpc.system" = "aws-api",
69        ))
70        .await
71    }
72
73    pub(crate) fn operation_runtime_plugins(
74        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
75        client_config: &crate::config::Config,
76        config_override: ::std::option::Option<crate::config::Builder>,
77    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
78        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
79
80        if let ::std::option::Option::Some(config_override) = config_override {
81            for plugin in config_override.runtime_plugins.iter().cloned() {
82                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
83            }
84            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
85                config_override,
86                client_config.config.clone(),
87                &client_config.runtime_components,
88            ));
89        }
90        runtime_plugins
91    }
92}
93impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for DisassociateMpaTeam {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("DisassociateMpaTeam");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            DisassociateMpaTeamRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            DisassociateMpaTeamResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("DisassociateMpaTeam")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "DisassociateMpaTeam",
113            "Payment Cryptography",
114        ));
115        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
116        signing_options.double_uri_encode = true;
117        signing_options.content_sha256_header = false;
118        signing_options.normalize_uri_path = true;
119        signing_options.payload_override = None;
120
121        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
122            signing_options,
123            ..::std::default::Default::default()
124        });
125
126        ::std::option::Option::Some(cfg.freeze())
127    }
128
129    fn runtime_components(
130        &self,
131        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
132    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
133        #[allow(unused_mut)]
134        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("DisassociateMpaTeam")
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
137            ))
138            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
139                DisassociateMpaTeamEndpointParamsInterceptor,
140            ))
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
142                crate::operation::disassociate_mpa_team::DisassociateMpaTeamError,
143            >::new())
144            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
145                crate::operation::disassociate_mpa_team::DisassociateMpaTeamError,
146            >::new())
147            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
148                crate::operation::disassociate_mpa_team::DisassociateMpaTeamError,
149            >::new());
150
151        ::std::borrow::Cow::Owned(rcb)
152    }
153}
154
155#[derive(Debug)]
156struct DisassociateMpaTeamResponseDeserializer;
157impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DisassociateMpaTeamResponseDeserializer {
158    fn deserialize_nonstreaming_with_config(
159        &self,
160        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
161        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
162    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
163        let (success, status) = (response.status().is_success(), response.status().as_u16());
164        let headers = response.headers();
165        let body = response.body().bytes().expect("body loaded");
166        #[allow(unused_mut)]
167        let mut force_error = false;
168        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
169        let parse_result = if !success && status != 200 || force_error {
170            crate::protocol_serde::shape_disassociate_mpa_team::de_disassociate_mpa_team_http_error(status, headers, body)
171        } else {
172            crate::protocol_serde::shape_disassociate_mpa_team::de_disassociate_mpa_team_http_response(status, headers, body)
173        };
174        crate::protocol_serde::type_erase_result(parse_result)
175    }
176}
177#[derive(Debug)]
178struct DisassociateMpaTeamRequestSerializer;
179impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DisassociateMpaTeamRequestSerializer {
180    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
181    fn serialize_input(
182        &self,
183        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
184        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
185    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
186        let input = input
187            .downcast::<crate::operation::disassociate_mpa_team::DisassociateMpaTeamInput>()
188            .expect("correct type");
189        let _header_serialization_settings = _cfg
190            .load::<crate::serialization_settings::HeaderSerializationSettings>()
191            .cloned()
192            .unwrap_or_default();
193        let mut request_builder = {
194            #[allow(clippy::uninlined_format_args)]
195            fn uri_base(
196                _input: &crate::operation::disassociate_mpa_team::DisassociateMpaTeamInput,
197                output: &mut ::std::string::String,
198            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
199                use ::std::fmt::Write as _;
200                ::std::write!(output, "/").expect("formatting should succeed");
201                ::std::result::Result::Ok(())
202            }
203            #[allow(clippy::unnecessary_wraps)]
204            fn update_http_builder(
205                input: &crate::operation::disassociate_mpa_team::DisassociateMpaTeamInput,
206                builder: ::http_1x::request::Builder,
207            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
208                let mut uri = ::std::string::String::new();
209                uri_base(input, &mut uri)?;
210                ::std::result::Result::Ok(builder.method("POST").uri(uri))
211            }
212            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
213            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.0");
214            builder = _header_serialization_settings.set_default_header(
215                builder,
216                ::http_1x::header::HeaderName::from_static("x-amz-target"),
217                "PaymentCryptographyControlPlane.DisassociateMpaTeam",
218            );
219            builder
220        };
221        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_disassociate_mpa_team::ser_disassociate_mpa_team_input(
222            &input,
223        )?);
224        if let Some(content_length) = body.content_length() {
225            let content_length = content_length.to_string();
226            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
227        }
228        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
229    }
230}
231#[derive(Debug)]
232struct DisassociateMpaTeamEndpointParamsInterceptor;
233
234#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
235impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DisassociateMpaTeamEndpointParamsInterceptor {
236    fn name(&self) -> &'static str {
237        "DisassociateMpaTeamEndpointParamsInterceptor"
238    }
239
240    fn read_before_execution(
241        &self,
242        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
243            '_,
244            ::aws_smithy_runtime_api::client::interceptors::context::Input,
245            ::aws_smithy_runtime_api::client::interceptors::context::Output,
246            ::aws_smithy_runtime_api::client::interceptors::context::Error,
247        >,
248        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
249    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
250        let _input = context
251            .input()
252            .downcast_ref::<DisassociateMpaTeamInput>()
253            .ok_or("failed to downcast to DisassociateMpaTeamInput")?;
254
255        let params = crate::config::endpoint::Params::builder()
256            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
257            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
258            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
259            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
260            .build()
261            .map_err(|err| {
262                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
263            })?;
264        cfg.interceptor_state()
265            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
266        ::std::result::Result::Ok(())
267    }
268}
269
270// The get_* functions below are generated from JMESPath expressions in the
271// operationContextParams trait. They target the operation's input shape.
272
273/// Error type for the `DisassociateMpaTeamError` operation.
274#[non_exhaustive]
275#[derive(::std::fmt::Debug)]
276pub enum DisassociateMpaTeamError {
277    /// <p>You do not have sufficient access to perform this action.</p>
278    /// <p>This exception is thrown when the caller lacks the necessary IAM permissions to perform the requested operation. Verify that your IAM policy includes the required permissions for the specific Amazon Web Services Payment Cryptography action you're attempting.</p>
279    AccessDeniedException(crate::types::error::AccessDeniedException),
280    /// <p>This request can cause an inconsistent state for the resource.</p>
281    /// <p>The requested operation conflicts with the current state of the resource. For example, attempting to delete a key that is currently being used, or trying to create a resource that already exists.</p>
282    ConflictException(crate::types::error::ConflictException),
283    /// <p>The request processing has failed because of an unknown error, exception, or failure.</p>
284    /// <p>This indicates a server-side error within the Amazon Web Services Payment Cryptography service. If this error persists, contact support for assistance.</p>
285    InternalServerException(crate::types::error::InternalServerException),
286    /// <p>The request was denied due to resource not found.</p>
287    /// <p>The specified key, alias, or other resource does not exist in your account or region. Verify that the resource identifier is correct and that the resource exists in the expected region.</p>
288    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
289    /// <p>This request would cause a service quota to be exceeded.</p>
290    /// <p>You have reached the maximum number of keys, aliases, or other resources allowed in your account. Review your current usage and consider deleting unused resources or requesting a quota increase.</p>
291    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
292    /// <p>The service cannot complete the request.</p>
293    /// <p>The Amazon Web Services Payment Cryptography service is temporarily unavailable. This is typically a temporary condition - retry your request after a brief delay.</p>
294    ServiceUnavailableException(crate::types::error::ServiceUnavailableException),
295    /// <p>The request was denied due to request throttling.</p>
296    /// <p>You have exceeded the rate limits for Amazon Web Services Payment Cryptography API calls. Implement exponential backoff and retry logic in your application to handle throttling gracefully.</p>
297    ThrottlingException(crate::types::error::ThrottlingException),
298    /// <p>The request was denied due to an invalid request error.</p>
299    /// <p>One or more parameters in your request are invalid. Check the parameter values, formats, and constraints specified in the API documentation.</p>
300    ValidationException(crate::types::error::ValidationException),
301    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
302    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
303    variable wildcard pattern and check `.code()`:
304     \
305    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
306     \
307    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-DisassociateMpaTeamError) for what information is available for the error.")]
308    Unhandled(crate::error::sealed_unhandled::Unhandled),
309}
310impl DisassociateMpaTeamError {
311    /// Creates the `DisassociateMpaTeamError::Unhandled` variant from any error type.
312    pub fn unhandled(
313        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
314    ) -> Self {
315        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
316            source: err.into(),
317            meta: ::std::default::Default::default(),
318        })
319    }
320
321    /// Creates the `DisassociateMpaTeamError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
322    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
323        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
324            source: err.clone().into(),
325            meta: err,
326        })
327    }
328    ///
329    /// Returns error metadata, which includes the error code, message,
330    /// request ID, and potentially additional information.
331    ///
332    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
333        match self {
334            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
335            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
336            Self::InternalServerException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
337            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
338            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
339            Self::ServiceUnavailableException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
340            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
341            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
342            Self::Unhandled(e) => &e.meta,
343        }
344    }
345    /// Returns `true` if the error kind is `DisassociateMpaTeamError::AccessDeniedException`.
346    pub fn is_access_denied_exception(&self) -> bool {
347        matches!(self, Self::AccessDeniedException(_))
348    }
349    /// Returns `true` if the error kind is `DisassociateMpaTeamError::ConflictException`.
350    pub fn is_conflict_exception(&self) -> bool {
351        matches!(self, Self::ConflictException(_))
352    }
353    /// Returns `true` if the error kind is `DisassociateMpaTeamError::InternalServerException`.
354    pub fn is_internal_server_exception(&self) -> bool {
355        matches!(self, Self::InternalServerException(_))
356    }
357    /// Returns `true` if the error kind is `DisassociateMpaTeamError::ResourceNotFoundException`.
358    pub fn is_resource_not_found_exception(&self) -> bool {
359        matches!(self, Self::ResourceNotFoundException(_))
360    }
361    /// Returns `true` if the error kind is `DisassociateMpaTeamError::ServiceQuotaExceededException`.
362    pub fn is_service_quota_exceeded_exception(&self) -> bool {
363        matches!(self, Self::ServiceQuotaExceededException(_))
364    }
365    /// Returns `true` if the error kind is `DisassociateMpaTeamError::ServiceUnavailableException`.
366    pub fn is_service_unavailable_exception(&self) -> bool {
367        matches!(self, Self::ServiceUnavailableException(_))
368    }
369    /// Returns `true` if the error kind is `DisassociateMpaTeamError::ThrottlingException`.
370    pub fn is_throttling_exception(&self) -> bool {
371        matches!(self, Self::ThrottlingException(_))
372    }
373    /// Returns `true` if the error kind is `DisassociateMpaTeamError::ValidationException`.
374    pub fn is_validation_exception(&self) -> bool {
375        matches!(self, Self::ValidationException(_))
376    }
377}
378impl ::std::error::Error for DisassociateMpaTeamError {
379    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
380        match self {
381            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
382            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
383            Self::InternalServerException(_inner) => ::std::option::Option::Some(_inner),
384            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
385            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
386            Self::ServiceUnavailableException(_inner) => ::std::option::Option::Some(_inner),
387            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
388            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
389            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
390        }
391    }
392}
393impl ::std::fmt::Display for DisassociateMpaTeamError {
394    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
395        match self {
396            Self::AccessDeniedException(_inner) => _inner.fmt(f),
397            Self::ConflictException(_inner) => _inner.fmt(f),
398            Self::InternalServerException(_inner) => _inner.fmt(f),
399            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
400            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
401            Self::ServiceUnavailableException(_inner) => _inner.fmt(f),
402            Self::ThrottlingException(_inner) => _inner.fmt(f),
403            Self::ValidationException(_inner) => _inner.fmt(f),
404            Self::Unhandled(_inner) => {
405                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
406                    write!(f, "unhandled error ({code})")
407                } else {
408                    f.write_str("unhandled error")
409                }
410            }
411        }
412    }
413}
414impl ::aws_smithy_types::retry::ProvideErrorKind for DisassociateMpaTeamError {
415    fn code(&self) -> ::std::option::Option<&str> {
416        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
417    }
418    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
419        ::std::option::Option::None
420    }
421}
422impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for DisassociateMpaTeamError {
423    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
424        match self {
425            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
426            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
427            Self::InternalServerException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
428            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::ServiceUnavailableException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
432            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
433            Self::Unhandled(_inner) => &_inner.meta,
434        }
435    }
436}
437impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for DisassociateMpaTeamError {
438    fn create_unhandled_error(
439        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
440        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
441    ) -> Self {
442        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
443            source,
444            meta: meta.unwrap_or_default(),
445        })
446    }
447}
448impl ::aws_types::request_id::RequestId for crate::operation::disassociate_mpa_team::DisassociateMpaTeamError {
449    fn request_id(&self) -> Option<&str> {
450        self.meta().request_id()
451    }
452}
453
454pub use crate::operation::disassociate_mpa_team::_disassociate_mpa_team_input::DisassociateMpaTeamInput;
455
456pub use crate::operation::disassociate_mpa_team::_disassociate_mpa_team_output::DisassociateMpaTeamOutput;
457
458mod _disassociate_mpa_team_input;
459
460mod _disassociate_mpa_team_output;
461
462/// Builders
463pub mod builders;