aws_sdk_quicksight/operation/
generate_embed_url_for_registered_user.rs

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