aws_sdk_quicksight/operation/
update_application_with_token_exchange_grant.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `UpdateApplicationWithTokenExchangeGrant`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct UpdateApplicationWithTokenExchangeGrant;
6impl UpdateApplicationWithTokenExchangeGrant {
7    /// Creates a new `UpdateApplicationWithTokenExchangeGrant`
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::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantInput,
14    ) -> ::std::result::Result<
15        crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantError,
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::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantError>()
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::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantOutput>()
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::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantInput,
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            "QuickSight",
56            "UpdateApplicationWithTokenExchangeGrant",
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            "QuickSight.UpdateApplicationWithTokenExchangeGrant",
65            "rpc.service" = "QuickSight",
66            "rpc.method" = "UpdateApplicationWithTokenExchangeGrant",
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        runtime_plugins = runtime_plugins.with_client_plugin(crate::auth_plugin::DefaultAuthOptionsPlugin::new(vec![
80            ::aws_runtime::auth::sigv4::SCHEME_ID,
81        ]));
82        if let ::std::option::Option::Some(config_override) = config_override {
83            for plugin in config_override.runtime_plugins.iter().cloned() {
84                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
85            }
86            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
87                config_override,
88                client_config.config.clone(),
89                &client_config.runtime_components,
90            ));
91        }
92        runtime_plugins
93    }
94}
95impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for UpdateApplicationWithTokenExchangeGrant {
96    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
97        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("UpdateApplicationWithTokenExchangeGrant");
98
99        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
100            UpdateApplicationWithTokenExchangeGrantRequestSerializer,
101        ));
102        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
103            UpdateApplicationWithTokenExchangeGrantResponseDeserializer,
104        ));
105
106        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
107            ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(),
108        ));
109
110        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
111            "UpdateApplicationWithTokenExchangeGrant",
112            "QuickSight",
113        ));
114        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
115        signing_options.double_uri_encode = true;
116        signing_options.content_sha256_header = false;
117        signing_options.normalize_uri_path = true;
118        signing_options.payload_override = None;
119
120        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
121            signing_options,
122            ..::std::default::Default::default()
123        });
124
125        ::std::option::Option::Some(cfg.freeze())
126    }
127
128    fn runtime_components(
129        &self,
130        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
131    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
132        #[allow(unused_mut)]
133        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("UpdateApplicationWithTokenExchangeGrant")
134            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
135            .with_interceptor(UpdateApplicationWithTokenExchangeGrantEndpointParamsInterceptor)
136            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
137                crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantError,
138            >::new())
139            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
140                crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantError,
141            >::new())
142            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
143                crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantError,
144            >::new());
145
146        ::std::borrow::Cow::Owned(rcb)
147    }
148}
149
150#[derive(Debug)]
151struct UpdateApplicationWithTokenExchangeGrantResponseDeserializer;
152impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UpdateApplicationWithTokenExchangeGrantResponseDeserializer {
153    fn deserialize_nonstreaming(
154        &self,
155        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
156    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
157        let (success, status) = (response.status().is_success(), response.status().as_u16());
158        let headers = response.headers();
159        let body = response.body().bytes().expect("body loaded");
160        #[allow(unused_mut)]
161        let mut force_error = false;
162        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
163        let parse_result = if !success && status != 200 || force_error {
164            crate::protocol_serde::shape_update_application_with_token_exchange_grant::de_update_application_with_token_exchange_grant_http_error(
165                status, headers, body,
166            )
167        } else {
168            crate::protocol_serde::shape_update_application_with_token_exchange_grant::de_update_application_with_token_exchange_grant_http_response(
169                status, headers, body,
170            )
171        };
172        crate::protocol_serde::type_erase_result(parse_result)
173    }
174}
175#[derive(Debug)]
176struct UpdateApplicationWithTokenExchangeGrantRequestSerializer;
177impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for UpdateApplicationWithTokenExchangeGrantRequestSerializer {
178    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
179    fn serialize_input(
180        &self,
181        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
182        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
183    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
184        let input = input
185            .downcast::<crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantInput>()
186            .expect("correct type");
187        let _header_serialization_settings = _cfg
188            .load::<crate::serialization_settings::HeaderSerializationSettings>()
189            .cloned()
190            .unwrap_or_default();
191        let mut request_builder = {
192            fn uri_base(
193                _input: &crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantInput,
194                output: &mut ::std::string::String,
195            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
196                use ::std::fmt::Write as _;
197                let input_1 = &_input.aws_account_id;
198                let input_1 = input_1
199                    .as_ref()
200                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("aws_account_id", "cannot be empty or unset"))?;
201                let aws_account_id = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
202                if aws_account_id.is_empty() {
203                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
204                        "aws_account_id",
205                        "cannot be empty or unset",
206                    ));
207                }
208                ::std::write!(
209                    output,
210                    "/accounts/{AwsAccountId}/application-with-token-exchange-grant",
211                    AwsAccountId = aws_account_id
212                )
213                .expect("formatting should succeed");
214                ::std::result::Result::Ok(())
215            }
216            fn uri_query(
217                _input: &crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantInput,
218                mut output: &mut ::std::string::String,
219            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
220                let mut query = ::aws_smithy_http::query::Writer::new(output);
221                let inner_2 = &_input.namespace;
222                let inner_2 = inner_2
223                    .as_ref()
224                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("namespace", "cannot be empty or unset"))?;
225                if inner_2.is_empty() {
226                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
227                        "namespace",
228                        "cannot be empty or unset",
229                    ));
230                }
231                query.push_kv("namespace", &::aws_smithy_http::query::fmt_string(inner_2));
232                ::std::result::Result::Ok(())
233            }
234            #[allow(clippy::unnecessary_wraps)]
235            fn update_http_builder(
236                input: &crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantInput,
237                builder: ::http::request::Builder,
238            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
239                let mut uri = ::std::string::String::new();
240                uri_base(input, &mut uri)?;
241                uri_query(input, &mut uri)?;
242                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
243            }
244            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
245            builder
246        };
247        let body = ::aws_smithy_types::body::SdkBody::from("");
248
249        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
250    }
251}
252#[derive(Debug)]
253struct UpdateApplicationWithTokenExchangeGrantEndpointParamsInterceptor;
254
255impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateApplicationWithTokenExchangeGrantEndpointParamsInterceptor {
256    fn name(&self) -> &'static str {
257        "UpdateApplicationWithTokenExchangeGrantEndpointParamsInterceptor"
258    }
259
260    fn read_before_execution(
261        &self,
262        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
263            '_,
264            ::aws_smithy_runtime_api::client::interceptors::context::Input,
265            ::aws_smithy_runtime_api::client::interceptors::context::Output,
266            ::aws_smithy_runtime_api::client::interceptors::context::Error,
267        >,
268        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
269    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
270        let _input = context
271            .input()
272            .downcast_ref::<UpdateApplicationWithTokenExchangeGrantInput>()
273            .ok_or("failed to downcast to UpdateApplicationWithTokenExchangeGrantInput")?;
274
275        let params = crate::config::endpoint::Params::builder()
276            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
277            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
278            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
279            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
280            .build()
281            .map_err(|err| {
282                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
283            })?;
284        cfg.interceptor_state()
285            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
286        ::std::result::Result::Ok(())
287    }
288}
289
290// The get_* functions below are generated from JMESPath expressions in the
291// operationContextParams trait. They target the operation's input shape.
292
293/// Error type for the `UpdateApplicationWithTokenExchangeGrantError` operation.
294#[non_exhaustive]
295#[derive(::std::fmt::Debug)]
296pub enum UpdateApplicationWithTokenExchangeGrantError {
297    /// <p>You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon QuickSight service, that your policies have the correct permissions, and that you are using the correct credentials.</p>
298    AccessDeniedException(crate::types::error::AccessDeniedException),
299    /// <p>An internal failure occurred.</p>
300    InternalFailureException(crate::types::error::InternalFailureException),
301    /// <p>One or more parameters has a value that isn't valid.</p>
302    InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
303    /// <p>You don't have this feature activated for your account. To fix this issue, contact Amazon Web Services support.</p>
304    InvalidRequestException(crate::types::error::InvalidRequestException),
305    /// <p>A limit is exceeded.</p>
306    LimitExceededException(crate::types::error::LimitExceededException),
307    /// <p>One or more resources can't be found.</p>
308    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
309    /// <p>Access is throttled.</p>
310    ThrottlingException(crate::types::error::ThrottlingException),
311    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
312    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
313    variable wildcard pattern and check `.code()`:
314     \
315    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
316     \
317    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-UpdateApplicationWithTokenExchangeGrantError) for what information is available for the error.")]
318    Unhandled(crate::error::sealed_unhandled::Unhandled),
319}
320impl UpdateApplicationWithTokenExchangeGrantError {
321    /// Creates the `UpdateApplicationWithTokenExchangeGrantError::Unhandled` variant from any error type.
322    pub fn unhandled(
323        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
324    ) -> Self {
325        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
326            source: err.into(),
327            meta: ::std::default::Default::default(),
328        })
329    }
330
331    /// Creates the `UpdateApplicationWithTokenExchangeGrantError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
332    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
333        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
334            source: err.clone().into(),
335            meta: err,
336        })
337    }
338    ///
339    /// Returns error metadata, which includes the error code, message,
340    /// request ID, and potentially additional information.
341    ///
342    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
343        match self {
344            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
345            Self::InternalFailureException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
346            Self::InvalidParameterValueException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
347            Self::InvalidRequestException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::LimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
349            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
350            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
351            Self::Unhandled(e) => &e.meta,
352        }
353    }
354    /// Returns `true` if the error kind is `UpdateApplicationWithTokenExchangeGrantError::AccessDeniedException`.
355    pub fn is_access_denied_exception(&self) -> bool {
356        matches!(self, Self::AccessDeniedException(_))
357    }
358    /// Returns `true` if the error kind is `UpdateApplicationWithTokenExchangeGrantError::InternalFailureException`.
359    pub fn is_internal_failure_exception(&self) -> bool {
360        matches!(self, Self::InternalFailureException(_))
361    }
362    /// Returns `true` if the error kind is `UpdateApplicationWithTokenExchangeGrantError::InvalidParameterValueException`.
363    pub fn is_invalid_parameter_value_exception(&self) -> bool {
364        matches!(self, Self::InvalidParameterValueException(_))
365    }
366    /// Returns `true` if the error kind is `UpdateApplicationWithTokenExchangeGrantError::InvalidRequestException`.
367    pub fn is_invalid_request_exception(&self) -> bool {
368        matches!(self, Self::InvalidRequestException(_))
369    }
370    /// Returns `true` if the error kind is `UpdateApplicationWithTokenExchangeGrantError::LimitExceededException`.
371    pub fn is_limit_exceeded_exception(&self) -> bool {
372        matches!(self, Self::LimitExceededException(_))
373    }
374    /// Returns `true` if the error kind is `UpdateApplicationWithTokenExchangeGrantError::ResourceNotFoundException`.
375    pub fn is_resource_not_found_exception(&self) -> bool {
376        matches!(self, Self::ResourceNotFoundException(_))
377    }
378    /// Returns `true` if the error kind is `UpdateApplicationWithTokenExchangeGrantError::ThrottlingException`.
379    pub fn is_throttling_exception(&self) -> bool {
380        matches!(self, Self::ThrottlingException(_))
381    }
382}
383impl ::std::error::Error for UpdateApplicationWithTokenExchangeGrantError {
384    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
385        match self {
386            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
387            Self::InternalFailureException(_inner) => ::std::option::Option::Some(_inner),
388            Self::InvalidParameterValueException(_inner) => ::std::option::Option::Some(_inner),
389            Self::InvalidRequestException(_inner) => ::std::option::Option::Some(_inner),
390            Self::LimitExceededException(_inner) => ::std::option::Option::Some(_inner),
391            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
392            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
393            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
394        }
395    }
396}
397impl ::std::fmt::Display for UpdateApplicationWithTokenExchangeGrantError {
398    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
399        match self {
400            Self::AccessDeniedException(_inner) => _inner.fmt(f),
401            Self::InternalFailureException(_inner) => _inner.fmt(f),
402            Self::InvalidParameterValueException(_inner) => _inner.fmt(f),
403            Self::InvalidRequestException(_inner) => _inner.fmt(f),
404            Self::LimitExceededException(_inner) => _inner.fmt(f),
405            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
406            Self::ThrottlingException(_inner) => _inner.fmt(f),
407            Self::Unhandled(_inner) => {
408                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
409                    write!(f, "unhandled error ({code})")
410                } else {
411                    f.write_str("unhandled error")
412                }
413            }
414        }
415    }
416}
417impl ::aws_smithy_types::retry::ProvideErrorKind for UpdateApplicationWithTokenExchangeGrantError {
418    fn code(&self) -> ::std::option::Option<&str> {
419        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
420    }
421    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
422        ::std::option::Option::None
423    }
424}
425impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for UpdateApplicationWithTokenExchangeGrantError {
426    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
427        match self {
428            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::InternalFailureException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::InvalidParameterValueException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::InvalidRequestException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
432            Self::LimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
433            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
434            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
435            Self::Unhandled(_inner) => &_inner.meta,
436        }
437    }
438}
439impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for UpdateApplicationWithTokenExchangeGrantError {
440    fn create_unhandled_error(
441        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
442        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
443    ) -> Self {
444        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
445            source,
446            meta: meta.unwrap_or_default(),
447        })
448    }
449}
450impl ::aws_types::request_id::RequestId
451    for crate::operation::update_application_with_token_exchange_grant::UpdateApplicationWithTokenExchangeGrantError
452{
453    fn request_id(&self) -> Option<&str> {
454        self.meta().request_id()
455    }
456}
457
458pub use crate::operation::update_application_with_token_exchange_grant::_update_application_with_token_exchange_grant_output::UpdateApplicationWithTokenExchangeGrantOutput;
459
460pub use crate::operation::update_application_with_token_exchange_grant::_update_application_with_token_exchange_grant_input::UpdateApplicationWithTokenExchangeGrantInput;
461
462mod _update_application_with_token_exchange_grant_input;
463
464mod _update_application_with_token_exchange_grant_output;
465
466/// Builders
467pub mod builders;