aws_sdk_quicksight/operation/
update_theme_alias.rs

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