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        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::create_theme_alias::CreateThemeAliasOutput>()
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::create_theme_alias::CreateThemeAliasInput,
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", "CreateThemeAlias", 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 CreateThemeAlias {
79    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
80        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateThemeAlias");
81
82        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
83            CreateThemeAliasRequestSerializer,
84        ));
85        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
86            CreateThemeAliasResponseDeserializer,
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            "CreateThemeAlias",
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("CreateThemeAlias")
117            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
118            .with_interceptor(CreateThemeAliasEndpointParamsInterceptor)
119            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
120                crate::operation::create_theme_alias::CreateThemeAliasError,
121            >::new())
122            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
123                crate::operation::create_theme_alias::CreateThemeAliasError,
124            >::new())
125            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
126                crate::operation::create_theme_alias::CreateThemeAliasError,
127            >::new());
128
129        ::std::borrow::Cow::Owned(rcb)
130    }
131}
132
133#[derive(Debug)]
134struct CreateThemeAliasResponseDeserializer;
135impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateThemeAliasResponseDeserializer {
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_create_theme_alias::de_create_theme_alias_http_error(status, headers, body)
148        } else {
149            crate::protocol_serde::shape_create_theme_alias::de_create_theme_alias_http_response(status, headers, body)
150        };
151        crate::protocol_serde::type_erase_result(parse_result)
152    }
153}
154#[derive(Debug)]
155struct CreateThemeAliasRequestSerializer;
156impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateThemeAliasRequestSerializer {
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::create_theme_alias::CreateThemeAliasInput>()
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::create_theme_alias::CreateThemeAliasInput,
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::create_theme_alias::CreateThemeAliasInput,
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("POST").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_create_theme_alias::ser_create_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 CreateThemeAliasEndpointParamsInterceptor;
242
243impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateThemeAliasEndpointParamsInterceptor {
244    fn name(&self) -> &'static str {
245        "CreateThemeAliasEndpointParamsInterceptor"
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::<CreateThemeAliasInput>()
261            .ok_or("failed to downcast to CreateThemeAliasInput")?;
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 `CreateThemeAliasError` operation.
282#[non_exhaustive]
283#[derive(::std::fmt::Debug)]
284pub enum CreateThemeAliasError {
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>A limit is exceeded.</p>
292    LimitExceededException(crate::types::error::LimitExceededException),
293    /// <p>The resource specified already exists.</p>
294    ResourceExistsException(crate::types::error::ResourceExistsException),
295    /// <p>One or more resources can't be found.</p>
296    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
297    /// <p>Access is throttled.</p>
298    ThrottlingException(crate::types::error::ThrottlingException),
299    /// <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>
300    UnsupportedUserEditionException(crate::types::error::UnsupportedUserEditionException),
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-CreateThemeAliasError) for what information is available for the error.")]
308    Unhandled(crate::error::sealed_unhandled::Unhandled),
309}
310impl CreateThemeAliasError {
311    /// Creates the `CreateThemeAliasError::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 `CreateThemeAliasError::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::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
335            Self::InternalFailureException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
336            Self::InvalidParameterValueException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
337            Self::LimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
338            Self::ResourceExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
339            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
340            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
341            Self::UnsupportedUserEditionException(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 `CreateThemeAliasError::ConflictException`.
346    pub fn is_conflict_exception(&self) -> bool {
347        matches!(self, Self::ConflictException(_))
348    }
349    /// Returns `true` if the error kind is `CreateThemeAliasError::InternalFailureException`.
350    pub fn is_internal_failure_exception(&self) -> bool {
351        matches!(self, Self::InternalFailureException(_))
352    }
353    /// Returns `true` if the error kind is `CreateThemeAliasError::InvalidParameterValueException`.
354    pub fn is_invalid_parameter_value_exception(&self) -> bool {
355        matches!(self, Self::InvalidParameterValueException(_))
356    }
357    /// Returns `true` if the error kind is `CreateThemeAliasError::LimitExceededException`.
358    pub fn is_limit_exceeded_exception(&self) -> bool {
359        matches!(self, Self::LimitExceededException(_))
360    }
361    /// Returns `true` if the error kind is `CreateThemeAliasError::ResourceExistsException`.
362    pub fn is_resource_exists_exception(&self) -> bool {
363        matches!(self, Self::ResourceExistsException(_))
364    }
365    /// Returns `true` if the error kind is `CreateThemeAliasError::ResourceNotFoundException`.
366    pub fn is_resource_not_found_exception(&self) -> bool {
367        matches!(self, Self::ResourceNotFoundException(_))
368    }
369    /// Returns `true` if the error kind is `CreateThemeAliasError::ThrottlingException`.
370    pub fn is_throttling_exception(&self) -> bool {
371        matches!(self, Self::ThrottlingException(_))
372    }
373    /// Returns `true` if the error kind is `CreateThemeAliasError::UnsupportedUserEditionException`.
374    pub fn is_unsupported_user_edition_exception(&self) -> bool {
375        matches!(self, Self::UnsupportedUserEditionException(_))
376    }
377}
378impl ::std::error::Error for CreateThemeAliasError {
379    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
380        match self {
381            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
382            Self::InternalFailureException(_inner) => ::std::option::Option::Some(_inner),
383            Self::InvalidParameterValueException(_inner) => ::std::option::Option::Some(_inner),
384            Self::LimitExceededException(_inner) => ::std::option::Option::Some(_inner),
385            Self::ResourceExistsException(_inner) => ::std::option::Option::Some(_inner),
386            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
387            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
388            Self::UnsupportedUserEditionException(_inner) => ::std::option::Option::Some(_inner),
389            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
390        }
391    }
392}
393impl ::std::fmt::Display for CreateThemeAliasError {
394    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
395        match self {
396            Self::ConflictException(_inner) => _inner.fmt(f),
397            Self::InternalFailureException(_inner) => _inner.fmt(f),
398            Self::InvalidParameterValueException(_inner) => _inner.fmt(f),
399            Self::LimitExceededException(_inner) => _inner.fmt(f),
400            Self::ResourceExistsException(_inner) => _inner.fmt(f),
401            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
402            Self::ThrottlingException(_inner) => _inner.fmt(f),
403            Self::UnsupportedUserEditionException(_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 CreateThemeAliasError {
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 CreateThemeAliasError {
423    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
424        match self {
425            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
426            Self::InternalFailureException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
427            Self::InvalidParameterValueException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
428            Self::LimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::ResourceExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
432            Self::UnsupportedUserEditionException(_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 CreateThemeAliasError {
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::create_theme_alias::CreateThemeAliasError {
449    fn request_id(&self) -> Option<&str> {
450        self.meta().request_id()
451    }
452}
453
454pub use crate::operation::create_theme_alias::_create_theme_alias_output::CreateThemeAliasOutput;
455
456pub use crate::operation::create_theme_alias::_create_theme_alias_input::CreateThemeAliasInput;
457
458mod _create_theme_alias_input;
459
460mod _create_theme_alias_output;
461
462/// Builders
463pub mod builders;