aws_sdk_quicksight/operation/
describe_analysis_definition.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `DescribeAnalysisDefinition`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct DescribeAnalysisDefinition;
6impl DescribeAnalysisDefinition {
7    /// Creates a new `DescribeAnalysisDefinition`
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::describe_analysis_definition::DescribeAnalysisDefinitionInput,
14    ) -> ::std::result::Result<
15        crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionError,
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::describe_analysis_definition::DescribeAnalysisDefinitionError>()
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::describe_analysis_definition::DescribeAnalysisDefinitionOutput>()
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::describe_analysis_definition::DescribeAnalysisDefinitionInput,
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            "DescribeAnalysisDefinition",
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 DescribeAnalysisDefinition {
86    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
87        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("DescribeAnalysisDefinition");
88
89        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
90            DescribeAnalysisDefinitionRequestSerializer,
91        ));
92        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
93            DescribeAnalysisDefinitionResponseDeserializer,
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            "DescribeAnalysisDefinition",
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("DescribeAnalysisDefinition")
125            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
126            .with_interceptor(DescribeAnalysisDefinitionEndpointParamsInterceptor)
127            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
128                crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionError,
129            >::new())
130            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
131                crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionError,
132            >::new())
133            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
134                crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionError,
135            >::new());
136
137        ::std::borrow::Cow::Owned(rcb)
138    }
139}
140
141#[derive(Debug)]
142struct DescribeAnalysisDefinitionResponseDeserializer;
143impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeAnalysisDefinitionResponseDeserializer {
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_describe_analysis_definition::de_describe_analysis_definition_http_error(status, headers, body)
156        } else {
157            crate::protocol_serde::shape_describe_analysis_definition::de_describe_analysis_definition_http_response(status, headers, body)
158        };
159        crate::protocol_serde::type_erase_result(parse_result)
160    }
161}
162#[derive(Debug)]
163struct DescribeAnalysisDefinitionRequestSerializer;
164impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DescribeAnalysisDefinitionRequestSerializer {
165    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
166    fn serialize_input(
167        &self,
168        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
169        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
170    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
171        let input = input
172            .downcast::<crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionInput>()
173            .expect("correct type");
174        let _header_serialization_settings = _cfg
175            .load::<crate::serialization_settings::HeaderSerializationSettings>()
176            .cloned()
177            .unwrap_or_default();
178        let mut request_builder = {
179            fn uri_base(
180                _input: &crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionInput,
181                output: &mut ::std::string::String,
182            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
183                use ::std::fmt::Write as _;
184                let input_1 = &_input.aws_account_id;
185                let input_1 = input_1
186                    .as_ref()
187                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("aws_account_id", "cannot be empty or unset"))?;
188                let aws_account_id = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
189                if aws_account_id.is_empty() {
190                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
191                        "aws_account_id",
192                        "cannot be empty or unset",
193                    ));
194                }
195                let input_2 = &_input.analysis_id;
196                let input_2 = input_2
197                    .as_ref()
198                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("analysis_id", "cannot be empty or unset"))?;
199                let analysis_id = ::aws_smithy_http::label::fmt_string(input_2, ::aws_smithy_http::label::EncodingStrategy::Default);
200                if analysis_id.is_empty() {
201                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
202                        "analysis_id",
203                        "cannot be empty or unset",
204                    ));
205                }
206                ::std::write!(
207                    output,
208                    "/accounts/{AwsAccountId}/analyses/{AnalysisId}/definition",
209                    AwsAccountId = aws_account_id,
210                    AnalysisId = analysis_id
211                )
212                .expect("formatting should succeed");
213                ::std::result::Result::Ok(())
214            }
215            #[allow(clippy::unnecessary_wraps)]
216            fn update_http_builder(
217                input: &crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionInput,
218                builder: ::http::request::Builder,
219            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
220                let mut uri = ::std::string::String::new();
221                uri_base(input, &mut uri)?;
222                ::std::result::Result::Ok(builder.method("GET").uri(uri))
223            }
224            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
225            builder
226        };
227        let body = ::aws_smithy_types::body::SdkBody::from("");
228
229        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
230    }
231}
232#[derive(Debug)]
233struct DescribeAnalysisDefinitionEndpointParamsInterceptor;
234
235impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DescribeAnalysisDefinitionEndpointParamsInterceptor {
236    fn name(&self) -> &'static str {
237        "DescribeAnalysisDefinitionEndpointParamsInterceptor"
238    }
239
240    fn read_before_execution(
241        &self,
242        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
243            '_,
244            ::aws_smithy_runtime_api::client::interceptors::context::Input,
245            ::aws_smithy_runtime_api::client::interceptors::context::Output,
246            ::aws_smithy_runtime_api::client::interceptors::context::Error,
247        >,
248        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
249    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
250        let _input = context
251            .input()
252            .downcast_ref::<DescribeAnalysisDefinitionInput>()
253            .ok_or("failed to downcast to DescribeAnalysisDefinitionInput")?;
254
255        let params = crate::config::endpoint::Params::builder()
256            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
257            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
258            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
259            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
260            .build()
261            .map_err(|err| {
262                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
263            })?;
264        cfg.interceptor_state()
265            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
266        ::std::result::Result::Ok(())
267    }
268}
269
270// The get_* functions below are generated from JMESPath expressions in the
271// operationContextParams trait. They target the operation's input shape.
272
273/// Error type for the `DescribeAnalysisDefinitionError` operation.
274#[non_exhaustive]
275#[derive(::std::fmt::Debug)]
276pub enum DescribeAnalysisDefinitionError {
277    /// <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>
278    AccessDeniedException(crate::types::error::AccessDeniedException),
279    /// <p>Updating or deleting a resource can cause an inconsistent state.</p>
280    ConflictException(crate::types::error::ConflictException),
281    /// <p>An internal failure occurred.</p>
282    InternalFailureException(crate::types::error::InternalFailureException),
283    /// <p>One or more parameters has a value that isn't valid.</p>
284    InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
285    /// <p>The resource specified already exists.</p>
286    ResourceExistsException(crate::types::error::ResourceExistsException),
287    /// <p>One or more resources can't be found.</p>
288    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
289    /// <p>Access is throttled.</p>
290    ThrottlingException(crate::types::error::ThrottlingException),
291    /// <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>
292    UnsupportedUserEditionException(crate::types::error::UnsupportedUserEditionException),
293    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
294    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
295    variable wildcard pattern and check `.code()`:
296     \
297    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
298     \
299    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-DescribeAnalysisDefinitionError) for what information is available for the error.")]
300    Unhandled(crate::error::sealed_unhandled::Unhandled),
301}
302impl DescribeAnalysisDefinitionError {
303    /// Creates the `DescribeAnalysisDefinitionError::Unhandled` variant from any error type.
304    pub fn unhandled(
305        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
306    ) -> Self {
307        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
308            source: err.into(),
309            meta: ::std::default::Default::default(),
310        })
311    }
312
313    /// Creates the `DescribeAnalysisDefinitionError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
314    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
315        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
316            source: err.clone().into(),
317            meta: err,
318        })
319    }
320    ///
321    /// Returns error metadata, which includes the error code, message,
322    /// request ID, and potentially additional information.
323    ///
324    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
325        match self {
326            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
327            Self::ConflictException(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::ResourceExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
331            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
332            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
333            Self::UnsupportedUserEditionException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
334            Self::Unhandled(e) => &e.meta,
335        }
336    }
337    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::AccessDeniedException`.
338    pub fn is_access_denied_exception(&self) -> bool {
339        matches!(self, Self::AccessDeniedException(_))
340    }
341    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::ConflictException`.
342    pub fn is_conflict_exception(&self) -> bool {
343        matches!(self, Self::ConflictException(_))
344    }
345    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::InternalFailureException`.
346    pub fn is_internal_failure_exception(&self) -> bool {
347        matches!(self, Self::InternalFailureException(_))
348    }
349    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::InvalidParameterValueException`.
350    pub fn is_invalid_parameter_value_exception(&self) -> bool {
351        matches!(self, Self::InvalidParameterValueException(_))
352    }
353    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::ResourceExistsException`.
354    pub fn is_resource_exists_exception(&self) -> bool {
355        matches!(self, Self::ResourceExistsException(_))
356    }
357    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::ResourceNotFoundException`.
358    pub fn is_resource_not_found_exception(&self) -> bool {
359        matches!(self, Self::ResourceNotFoundException(_))
360    }
361    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::ThrottlingException`.
362    pub fn is_throttling_exception(&self) -> bool {
363        matches!(self, Self::ThrottlingException(_))
364    }
365    /// Returns `true` if the error kind is `DescribeAnalysisDefinitionError::UnsupportedUserEditionException`.
366    pub fn is_unsupported_user_edition_exception(&self) -> bool {
367        matches!(self, Self::UnsupportedUserEditionException(_))
368    }
369}
370impl ::std::error::Error for DescribeAnalysisDefinitionError {
371    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
372        match self {
373            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
374            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
375            Self::InternalFailureException(_inner) => ::std::option::Option::Some(_inner),
376            Self::InvalidParameterValueException(_inner) => ::std::option::Option::Some(_inner),
377            Self::ResourceExistsException(_inner) => ::std::option::Option::Some(_inner),
378            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
379            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
380            Self::UnsupportedUserEditionException(_inner) => ::std::option::Option::Some(_inner),
381            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
382        }
383    }
384}
385impl ::std::fmt::Display for DescribeAnalysisDefinitionError {
386    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
387        match self {
388            Self::AccessDeniedException(_inner) => _inner.fmt(f),
389            Self::ConflictException(_inner) => _inner.fmt(f),
390            Self::InternalFailureException(_inner) => _inner.fmt(f),
391            Self::InvalidParameterValueException(_inner) => _inner.fmt(f),
392            Self::ResourceExistsException(_inner) => _inner.fmt(f),
393            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
394            Self::ThrottlingException(_inner) => _inner.fmt(f),
395            Self::UnsupportedUserEditionException(_inner) => _inner.fmt(f),
396            Self::Unhandled(_inner) => {
397                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
398                    write!(f, "unhandled error ({code})")
399                } else {
400                    f.write_str("unhandled error")
401                }
402            }
403        }
404    }
405}
406impl ::aws_smithy_types::retry::ProvideErrorKind for DescribeAnalysisDefinitionError {
407    fn code(&self) -> ::std::option::Option<&str> {
408        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
409    }
410    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
411        ::std::option::Option::None
412    }
413}
414impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for DescribeAnalysisDefinitionError {
415    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
416        match self {
417            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
418            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
419            Self::InternalFailureException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
420            Self::InvalidParameterValueException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
421            Self::ResourceExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
422            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
423            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
424            Self::UnsupportedUserEditionException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
425            Self::Unhandled(_inner) => &_inner.meta,
426        }
427    }
428}
429impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for DescribeAnalysisDefinitionError {
430    fn create_unhandled_error(
431        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
432        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
433    ) -> Self {
434        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
435            source,
436            meta: meta.unwrap_or_default(),
437        })
438    }
439}
440impl ::aws_types::request_id::RequestId for crate::operation::describe_analysis_definition::DescribeAnalysisDefinitionError {
441    fn request_id(&self) -> Option<&str> {
442        self.meta().request_id()
443    }
444}
445
446pub use crate::operation::describe_analysis_definition::_describe_analysis_definition_output::DescribeAnalysisDefinitionOutput;
447
448pub use crate::operation::describe_analysis_definition::_describe_analysis_definition_input::DescribeAnalysisDefinitionInput;
449
450mod _describe_analysis_definition_input;
451
452mod _describe_analysis_definition_output;
453
454/// Builders
455pub mod builders;