aws_sdk_quicksight/operation/
create_theme_alias.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `CreateThemeAlias`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct CreateThemeAlias;
6impl CreateThemeAlias {
7    /// Creates a new `CreateThemeAlias`
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::create_theme_alias::CreateThemeAliasInput,
14    ) -> ::std::result::Result<
15        crate::operation::create_theme_alias::CreateThemeAliasOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::create_theme_alias::CreateThemeAliasError,
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::create_theme_alias::CreateThemeAliasError>()
27                    .expect("correct error type")
28            })
29        };
30        use ::tracing::Instrument;
31        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
32            // Create a parent span for the entire operation. Includes a random, internal-only,
33            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
34            .instrument(::tracing::debug_span!(
35                "quicksight.CreateThemeAlias",
36                "rpc.service" = "quicksight",
37                "rpc.method" = "CreateThemeAlias",
38                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
39                "rpc.system" = "aws-api",
40            ))
41            .await
42            .map_err(map_err)?;
43        let output = context.finalize().map_err(map_err)?;
44        ::std::result::Result::Ok(
45            output
46                .downcast::<crate::operation::create_theme_alias::CreateThemeAliasOutput>()
47                .expect("correct output type"),
48        )
49    }
50
51    pub(crate) async fn orchestrate_with_stop_point(
52        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
53        input: crate::operation::create_theme_alias::CreateThemeAliasInput,
54        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
55    ) -> ::std::result::Result<
56        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
57        ::aws_smithy_runtime_api::client::result::SdkError<
58            ::aws_smithy_runtime_api::client::interceptors::context::Error,
59            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
60        >,
61    > {
62        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
63        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("quicksight", "CreateThemeAlias", input, runtime_plugins, stop_point).await
64    }
65
66    pub(crate) fn operation_runtime_plugins(
67        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
68        client_config: &crate::config::Config,
69        config_override: ::std::option::Option<crate::config::Builder>,
70    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
71        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
72        runtime_plugins = runtime_plugins.with_client_plugin(crate::auth_plugin::DefaultAuthOptionsPlugin::new(vec![
73            ::aws_runtime::auth::sigv4::SCHEME_ID,
74        ]));
75        if let ::std::option::Option::Some(config_override) = config_override {
76            for plugin in config_override.runtime_plugins.iter().cloned() {
77                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
78            }
79            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
80                config_override,
81                client_config.config.clone(),
82                &client_config.runtime_components,
83            ));
84        }
85        runtime_plugins
86    }
87}
88impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for CreateThemeAlias {
89    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
90        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateThemeAlias");
91
92        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
93            CreateThemeAliasRequestSerializer,
94        ));
95        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
96            CreateThemeAliasResponseDeserializer,
97        ));
98
99        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
100            ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(),
101        ));
102
103        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
104            "CreateThemeAlias",
105            "quicksight",
106        ));
107        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
108        signing_options.double_uri_encode = true;
109        signing_options.content_sha256_header = false;
110        signing_options.normalize_uri_path = true;
111        signing_options.payload_override = None;
112
113        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
114            signing_options,
115            ..::std::default::Default::default()
116        });
117
118        ::std::option::Option::Some(cfg.freeze())
119    }
120
121    fn runtime_components(
122        &self,
123        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
124    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
125        #[allow(unused_mut)]
126        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("CreateThemeAlias")
127            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
128            .with_interceptor(CreateThemeAliasEndpointParamsInterceptor)
129            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
130                crate::operation::create_theme_alias::CreateThemeAliasError,
131            >::new())
132            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
133                crate::operation::create_theme_alias::CreateThemeAliasError,
134            >::new())
135            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
136                crate::operation::create_theme_alias::CreateThemeAliasError,
137            >::new());
138
139        ::std::borrow::Cow::Owned(rcb)
140    }
141}
142
143#[derive(Debug)]
144struct CreateThemeAliasResponseDeserializer;
145impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateThemeAliasResponseDeserializer {
146    fn deserialize_nonstreaming(
147        &self,
148        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
149    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
150        let (success, status) = (response.status().is_success(), response.status().as_u16());
151        let headers = response.headers();
152        let body = response.body().bytes().expect("body loaded");
153        #[allow(unused_mut)]
154        let mut force_error = false;
155        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
156        let parse_result = if !success && status != 200 || force_error {
157            crate::protocol_serde::shape_create_theme_alias::de_create_theme_alias_http_error(status, headers, body)
158        } else {
159            crate::protocol_serde::shape_create_theme_alias::de_create_theme_alias_http_response(status, headers, body)
160        };
161        crate::protocol_serde::type_erase_result(parse_result)
162    }
163}
164#[derive(Debug)]
165struct CreateThemeAliasRequestSerializer;
166impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateThemeAliasRequestSerializer {
167    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
168    fn serialize_input(
169        &self,
170        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
171        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
172    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
173        let input = input
174            .downcast::<crate::operation::create_theme_alias::CreateThemeAliasInput>()
175            .expect("correct type");
176        let _header_serialization_settings = _cfg
177            .load::<crate::serialization_settings::HeaderSerializationSettings>()
178            .cloned()
179            .unwrap_or_default();
180        let mut request_builder = {
181            fn uri_base(
182                _input: &crate::operation::create_theme_alias::CreateThemeAliasInput,
183                output: &mut ::std::string::String,
184            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
185                use ::std::fmt::Write as _;
186                let input_1 = &_input.aws_account_id;
187                let input_1 = input_1
188                    .as_ref()
189                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("aws_account_id", "cannot be empty or unset"))?;
190                let aws_account_id = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
191                if aws_account_id.is_empty() {
192                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
193                        "aws_account_id",
194                        "cannot be empty or unset",
195                    ));
196                }
197                let input_2 = &_input.theme_id;
198                let input_2 = input_2
199                    .as_ref()
200                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("theme_id", "cannot be empty or unset"))?;
201                let theme_id = ::aws_smithy_http::label::fmt_string(input_2, ::aws_smithy_http::label::EncodingStrategy::Default);
202                if theme_id.is_empty() {
203                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
204                        "theme_id",
205                        "cannot be empty or unset",
206                    ));
207                }
208                let input_3 = &_input.alias_name;
209                let input_3 = input_3
210                    .as_ref()
211                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("alias_name", "cannot be empty or unset"))?;
212                let alias_name = ::aws_smithy_http::label::fmt_string(input_3, ::aws_smithy_http::label::EncodingStrategy::Default);
213                if alias_name.is_empty() {
214                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
215                        "alias_name",
216                        "cannot be empty or unset",
217                    ));
218                }
219                ::std::write!(
220                    output,
221                    "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}",
222                    AwsAccountId = aws_account_id,
223                    ThemeId = theme_id,
224                    AliasName = alias_name
225                )
226                .expect("formatting should succeed");
227                ::std::result::Result::Ok(())
228            }
229            #[allow(clippy::unnecessary_wraps)]
230            fn update_http_builder(
231                input: &crate::operation::create_theme_alias::CreateThemeAliasInput,
232                builder: ::http::request::Builder,
233            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
234                let mut uri = ::std::string::String::new();
235                uri_base(input, &mut uri)?;
236                ::std::result::Result::Ok(builder.method("POST").uri(uri))
237            }
238            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
239            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/json");
240            builder
241        };
242        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_create_theme_alias::ser_create_theme_alias_input(&input)?);
243        if let Some(content_length) = body.content_length() {
244            let content_length = content_length.to_string();
245            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
246        }
247        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
248    }
249}
250#[derive(Debug)]
251struct CreateThemeAliasEndpointParamsInterceptor;
252
253impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateThemeAliasEndpointParamsInterceptor {
254    fn name(&self) -> &'static str {
255        "CreateThemeAliasEndpointParamsInterceptor"
256    }
257
258    fn read_before_execution(
259        &self,
260        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
261            '_,
262            ::aws_smithy_runtime_api::client::interceptors::context::Input,
263            ::aws_smithy_runtime_api::client::interceptors::context::Output,
264            ::aws_smithy_runtime_api::client::interceptors::context::Error,
265        >,
266        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
267    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
268        let _input = context
269            .input()
270            .downcast_ref::<CreateThemeAliasInput>()
271            .ok_or("failed to downcast to CreateThemeAliasInput")?;
272
273        let params = crate::config::endpoint::Params::builder()
274            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
275            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
276            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
277            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
278            .build()
279            .map_err(|err| {
280                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
281            })?;
282        cfg.interceptor_state()
283            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
284        ::std::result::Result::Ok(())
285    }
286}
287
288// The get_* functions below are generated from JMESPath expressions in the
289// operationContextParams trait. They target the operation's input shape.
290
291/// Error type for the `CreateThemeAliasError` operation.
292#[non_exhaustive]
293#[derive(::std::fmt::Debug)]
294pub enum CreateThemeAliasError {
295    /// <p>Updating or deleting a resource can cause an inconsistent state.</p>
296    ConflictException(crate::types::error::ConflictException),
297    /// <p>An internal failure occurred.</p>
298    InternalFailureException(crate::types::error::InternalFailureException),
299    /// <p>One or more parameters has a value that isn't valid.</p>
300    InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
301    /// <p>A limit is exceeded.</p>
302    LimitExceededException(crate::types::error::LimitExceededException),
303    /// <p>The resource specified already exists.</p>
304    ResourceExistsException(crate::types::error::ResourceExistsException),
305    /// <p>One or more resources can't be found.</p>
306    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
307    /// <p>Access is throttled.</p>
308    ThrottlingException(crate::types::error::ThrottlingException),
309    /// <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>
310    UnsupportedUserEditionException(crate::types::error::UnsupportedUserEditionException),
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-CreateThemeAliasError) for what information is available for the error.")]
318    Unhandled(crate::error::sealed_unhandled::Unhandled),
319}
320impl CreateThemeAliasError {
321    /// Creates the `CreateThemeAliasError::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 `CreateThemeAliasError::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::ConflictException(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::LimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::ResourceExistsException(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::UnsupportedUserEditionException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
352            Self::Unhandled(e) => &e.meta,
353        }
354    }
355    /// Returns `true` if the error kind is `CreateThemeAliasError::ConflictException`.
356    pub fn is_conflict_exception(&self) -> bool {
357        matches!(self, Self::ConflictException(_))
358    }
359    /// Returns `true` if the error kind is `CreateThemeAliasError::InternalFailureException`.
360    pub fn is_internal_failure_exception(&self) -> bool {
361        matches!(self, Self::InternalFailureException(_))
362    }
363    /// Returns `true` if the error kind is `CreateThemeAliasError::InvalidParameterValueException`.
364    pub fn is_invalid_parameter_value_exception(&self) -> bool {
365        matches!(self, Self::InvalidParameterValueException(_))
366    }
367    /// Returns `true` if the error kind is `CreateThemeAliasError::LimitExceededException`.
368    pub fn is_limit_exceeded_exception(&self) -> bool {
369        matches!(self, Self::LimitExceededException(_))
370    }
371    /// Returns `true` if the error kind is `CreateThemeAliasError::ResourceExistsException`.
372    pub fn is_resource_exists_exception(&self) -> bool {
373        matches!(self, Self::ResourceExistsException(_))
374    }
375    /// Returns `true` if the error kind is `CreateThemeAliasError::ResourceNotFoundException`.
376    pub fn is_resource_not_found_exception(&self) -> bool {
377        matches!(self, Self::ResourceNotFoundException(_))
378    }
379    /// Returns `true` if the error kind is `CreateThemeAliasError::ThrottlingException`.
380    pub fn is_throttling_exception(&self) -> bool {
381        matches!(self, Self::ThrottlingException(_))
382    }
383    /// Returns `true` if the error kind is `CreateThemeAliasError::UnsupportedUserEditionException`.
384    pub fn is_unsupported_user_edition_exception(&self) -> bool {
385        matches!(self, Self::UnsupportedUserEditionException(_))
386    }
387}
388impl ::std::error::Error for CreateThemeAliasError {
389    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
390        match self {
391            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
392            Self::InternalFailureException(_inner) => ::std::option::Option::Some(_inner),
393            Self::InvalidParameterValueException(_inner) => ::std::option::Option::Some(_inner),
394            Self::LimitExceededException(_inner) => ::std::option::Option::Some(_inner),
395            Self::ResourceExistsException(_inner) => ::std::option::Option::Some(_inner),
396            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
397            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
398            Self::UnsupportedUserEditionException(_inner) => ::std::option::Option::Some(_inner),
399            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
400        }
401    }
402}
403impl ::std::fmt::Display for CreateThemeAliasError {
404    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
405        match self {
406            Self::ConflictException(_inner) => _inner.fmt(f),
407            Self::InternalFailureException(_inner) => _inner.fmt(f),
408            Self::InvalidParameterValueException(_inner) => _inner.fmt(f),
409            Self::LimitExceededException(_inner) => _inner.fmt(f),
410            Self::ResourceExistsException(_inner) => _inner.fmt(f),
411            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
412            Self::ThrottlingException(_inner) => _inner.fmt(f),
413            Self::UnsupportedUserEditionException(_inner) => _inner.fmt(f),
414            Self::Unhandled(_inner) => {
415                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
416                    write!(f, "unhandled error ({code})")
417                } else {
418                    f.write_str("unhandled error")
419                }
420            }
421        }
422    }
423}
424impl ::aws_smithy_types::retry::ProvideErrorKind for CreateThemeAliasError {
425    fn code(&self) -> ::std::option::Option<&str> {
426        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
427    }
428    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
429        ::std::option::Option::None
430    }
431}
432impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateThemeAliasError {
433    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
434        match self {
435            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
436            Self::InternalFailureException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
437            Self::InvalidParameterValueException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
438            Self::LimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
439            Self::ResourceExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
440            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
441            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
442            Self::UnsupportedUserEditionException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
443            Self::Unhandled(_inner) => &_inner.meta,
444        }
445    }
446}
447impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateThemeAliasError {
448    fn create_unhandled_error(
449        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
450        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
451    ) -> Self {
452        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
453            source,
454            meta: meta.unwrap_or_default(),
455        })
456    }
457}
458impl ::aws_types::request_id::RequestId for crate::operation::create_theme_alias::CreateThemeAliasError {
459    fn request_id(&self) -> Option<&str> {
460        self.meta().request_id()
461    }
462}
463
464pub use crate::operation::create_theme_alias::_create_theme_alias_output::CreateThemeAliasOutput;
465
466pub use crate::operation::create_theme_alias::_create_theme_alias_input::CreateThemeAliasInput;
467
468mod _create_theme_alias_input;
469
470mod _create_theme_alias_output;
471
472/// Builders
473pub mod builders;