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