Skip to main content

aws_sdk_devopsguru/operation/
describe_organization_resource_collection_health.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `DescribeOrganizationResourceCollectionHealth`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct DescribeOrganizationResourceCollectionHealth;
6impl DescribeOrganizationResourceCollectionHealth {
7    /// Creates a new `DescribeOrganizationResourceCollectionHealth`
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_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthInput,
14    ) -> ::std::result::Result<
15        crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthError,
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_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthError>(
27                )
28                .expect("correct error type")
29            })
30        };
31        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
32            .await
33            .map_err(map_err)?;
34        let output = context.finalize().map_err(map_err)?;
35        ::std::result::Result::Ok(
36            output
37                .downcast::<crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthOutput>()
38                .expect("correct output type"),
39        )
40    }
41
42    pub(crate) async fn orchestrate_with_stop_point(
43        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
44        input: crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthInput,
45        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
46    ) -> ::std::result::Result<
47        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
48        ::aws_smithy_runtime_api::client::result::SdkError<
49            ::aws_smithy_runtime_api::client::interceptors::context::Error,
50            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
51        >,
52    > {
53        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
54        use ::tracing::Instrument;
55        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point(
56            "DevOps Guru",
57            "DescribeOrganizationResourceCollectionHealth",
58            input,
59            runtime_plugins,
60            stop_point,
61        )
62        // Create a parent span for the entire operation. Includes a random, internal-only,
63        // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
64        .instrument(::tracing::debug_span!(
65            "DevOps Guru.DescribeOrganizationResourceCollectionHealth",
66            "rpc.service" = "DevOps Guru",
67            "rpc.method" = "DescribeOrganizationResourceCollectionHealth",
68            "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
69            "rpc.system" = "aws-api",
70        ))
71        .await
72    }
73
74    pub(crate) fn operation_runtime_plugins(
75        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
76        client_config: &crate::config::Config,
77        config_override: ::std::option::Option<crate::config::Builder>,
78    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
79        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
80
81        if let ::std::option::Option::Some(config_override) = config_override {
82            for plugin in config_override.runtime_plugins.iter().cloned() {
83                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
84            }
85            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
86                config_override,
87                client_config.config.clone(),
88                &client_config.runtime_components,
89            ));
90        }
91        runtime_plugins
92    }
93}
94impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for DescribeOrganizationResourceCollectionHealth {
95    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
96        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("DescribeOrganizationResourceCollectionHealth");
97
98        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
99            DescribeOrganizationResourceCollectionHealthRequestSerializer,
100        ));
101        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
102            DescribeOrganizationResourceCollectionHealthResponseDeserializer,
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
106            crate::config::auth::Params::builder()
107                .operation_name("DescribeOrganizationResourceCollectionHealth")
108                .build()
109                .expect("required fields set"),
110        ));
111
112        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
113            "DescribeOrganizationResourceCollectionHealth",
114            "DevOps Guru",
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 =
136            ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("DescribeOrganizationResourceCollectionHealth")
137                .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
138                    DescribeOrganizationResourceCollectionHealthTelemetryInputCaptureInterceptor,
139                ))
140                .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
141                    ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
142                ))
143                .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
144                    DescribeOrganizationResourceCollectionHealthEndpointParamsInterceptor,
145                ))
146                .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
147                    crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthError,
148                >::new())
149                .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
150                    crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthError,
151                >::new())
152                .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
153                    crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthError,
154                >::new());
155
156        ::std::borrow::Cow::Owned(rcb)
157    }
158}
159
160#[derive(Debug)]
161struct DescribeOrganizationResourceCollectionHealthTelemetryInputCaptureInterceptor;
162
163#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
164impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DescribeOrganizationResourceCollectionHealthTelemetryInputCaptureInterceptor {
165    fn name(&self) -> &'static str {
166        "DescribeOrganizationResourceCollectionHealthTelemetryInputCaptureInterceptor"
167    }
168
169    fn read_before_execution(
170        &self,
171        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
172            '_,
173            ::aws_smithy_runtime_api::client::interceptors::context::Input,
174            ::aws_smithy_runtime_api::client::interceptors::context::Output,
175            ::aws_smithy_runtime_api::client::interceptors::context::Error,
176        >,
177        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
178    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
179        // Nothing to do unless the customer opted in by naming members to record.
180        let ::std::option::Option::Some(requested) = cfg
181            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
182            .filter(|r| !r.is_empty())
183        else {
184            return ::std::result::Result::Ok(());
185        };
186
187        let ::std::option::Option::Some(input) = context.input().downcast_ref::<DescribeOrganizationResourceCollectionHealthInput>() else {
188            // A mismatched input is not this interceptor's concern; skip quietly.
189            return ::std::result::Result::Ok(());
190        };
191
192        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
193        if requested.should_capture("NextToken") {
194            if let ::std::option::Option::Some(value) = input.next_token.as_deref() {
195                captured.insert("NextToken", value);
196            }
197        }
198
199        cfg.interceptor_state().store_put(captured);
200        ::std::result::Result::Ok(())
201    }
202}
203#[derive(Debug)]
204struct DescribeOrganizationResourceCollectionHealthResponseDeserializer;
205impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeOrganizationResourceCollectionHealthResponseDeserializer {
206    fn deserialize_nonstreaming_with_config(
207        &self,
208        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
209        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
210    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
211        let (success, status) = (response.status().is_success(), response.status().as_u16());
212        let headers = response.headers();
213        let body = response.body().bytes().expect("body loaded");
214        #[allow(unused_mut)]
215        let mut force_error = false;
216        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
217        let parse_result = if !success && status != 200 || force_error {
218            crate::protocol_serde::shape_describe_organization_resource_collection_health::de_describe_organization_resource_collection_health_http_error(status, headers, body)
219        } else {
220            crate::protocol_serde::shape_describe_organization_resource_collection_health::de_describe_organization_resource_collection_health_http_response(status, headers, body)
221        };
222        crate::protocol_serde::type_erase_result(parse_result)
223    }
224}
225#[derive(Debug)]
226struct DescribeOrganizationResourceCollectionHealthRequestSerializer;
227impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DescribeOrganizationResourceCollectionHealthRequestSerializer {
228    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
229    fn serialize_input(
230        &self,
231        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
232        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
233    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
234        let input = input
235            .downcast::<crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthInput>()
236            .expect("correct type");
237        let _header_serialization_settings = _cfg
238            .load::<crate::serialization_settings::HeaderSerializationSettings>()
239            .cloned()
240            .unwrap_or_default();
241        let mut request_builder = {
242            #[allow(clippy::uninlined_format_args)]
243            fn uri_base(
244                _input: &crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthInput,
245                output: &mut ::std::string::String,
246            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
247                use ::std::fmt::Write as _;
248                ::std::write!(output, "/organization/health/resource-collection").expect("formatting should succeed");
249                ::std::result::Result::Ok(())
250            }
251            #[allow(clippy::unnecessary_wraps)]
252            fn update_http_builder(
253                input: &crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthInput,
254                builder: ::http_1x::request::Builder,
255            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
256                let mut uri = ::std::string::String::new();
257                uri_base(input, &mut uri)?;
258                ::std::result::Result::Ok(builder.method("POST").uri(uri))
259            }
260            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
261            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
262            builder
263        };
264        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_describe_organization_resource_collection_health::ser_describe_organization_resource_collection_health_input(&input)?);
265        if let Some(content_length) = body.content_length() {
266            let content_length = content_length.to_string();
267            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
268        }
269        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
270    }
271}
272#[derive(Debug)]
273struct DescribeOrganizationResourceCollectionHealthEndpointParamsInterceptor;
274
275#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
276impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DescribeOrganizationResourceCollectionHealthEndpointParamsInterceptor {
277    fn name(&self) -> &'static str {
278        "DescribeOrganizationResourceCollectionHealthEndpointParamsInterceptor"
279    }
280
281    fn read_before_execution(
282        &self,
283        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
284            '_,
285            ::aws_smithy_runtime_api::client::interceptors::context::Input,
286            ::aws_smithy_runtime_api::client::interceptors::context::Output,
287            ::aws_smithy_runtime_api::client::interceptors::context::Error,
288        >,
289        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
290    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
291        let _input = context
292            .input()
293            .downcast_ref::<DescribeOrganizationResourceCollectionHealthInput>()
294            .ok_or("failed to downcast to DescribeOrganizationResourceCollectionHealthInput")?;
295
296        let params = crate::config::endpoint::Params::builder()
297            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
298            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
299            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
300            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
301            .build()
302            .map_err(|err| {
303                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
304            })?;
305        cfg.interceptor_state()
306            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
307        ::std::result::Result::Ok(())
308    }
309}
310
311// The get_* functions below are generated from JMESPath expressions in the
312// operationContextParams trait. They target the operation's input shape.
313
314/// Error type for the `DescribeOrganizationResourceCollectionHealthError` operation.
315#[non_exhaustive]
316#[derive(::std::fmt::Debug)]
317pub enum DescribeOrganizationResourceCollectionHealthError {
318    /// <p>You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html">Access Management</a> in the <i>IAM User Guide</i>.</p>
319    AccessDeniedException(crate::types::error::AccessDeniedException),
320    /// <p>An internal failure in an Amazon service occurred.</p>
321    InternalServerException(crate::types::error::InternalServerException),
322    /// <p>The request was denied due to a request throttling.</p>
323    ThrottlingException(crate::types::error::ThrottlingException),
324    /// <p>Contains information about data passed in to a field during a request that is not valid.</p>
325    ValidationException(crate::types::error::ValidationException),
326    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
327    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
328    variable wildcard pattern and check `.code()`:
329     \
330    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
331     \
332    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-DescribeOrganizationResourceCollectionHealthError) for what information is available for the error.")]
333    Unhandled(crate::error::sealed_unhandled::Unhandled),
334}
335impl DescribeOrganizationResourceCollectionHealthError {
336    /// Creates the `DescribeOrganizationResourceCollectionHealthError::Unhandled` variant from any error type.
337    pub fn unhandled(
338        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
339    ) -> Self {
340        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
341            source: err.into(),
342            meta: ::std::default::Default::default(),
343        })
344    }
345
346    /// Creates the `DescribeOrganizationResourceCollectionHealthError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
347    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
348        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
349            source: err.clone().into(),
350            meta: err,
351        })
352    }
353    ///
354    /// Returns error metadata, which includes the error code, message,
355    /// request ID, and potentially additional information.
356    ///
357    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
358        match self {
359            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
360            Self::InternalServerException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
361            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
362            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
363            Self::Unhandled(e) => &e.meta,
364        }
365    }
366    /// Returns `true` if the error kind is `DescribeOrganizationResourceCollectionHealthError::AccessDeniedException`.
367    pub fn is_access_denied_exception(&self) -> bool {
368        matches!(self, Self::AccessDeniedException(_))
369    }
370    /// Returns `true` if the error kind is `DescribeOrganizationResourceCollectionHealthError::InternalServerException`.
371    pub fn is_internal_server_exception(&self) -> bool {
372        matches!(self, Self::InternalServerException(_))
373    }
374    /// Returns `true` if the error kind is `DescribeOrganizationResourceCollectionHealthError::ThrottlingException`.
375    pub fn is_throttling_exception(&self) -> bool {
376        matches!(self, Self::ThrottlingException(_))
377    }
378    /// Returns `true` if the error kind is `DescribeOrganizationResourceCollectionHealthError::ValidationException`.
379    pub fn is_validation_exception(&self) -> bool {
380        matches!(self, Self::ValidationException(_))
381    }
382}
383impl ::std::error::Error for DescribeOrganizationResourceCollectionHealthError {
384    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
385        match self {
386            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
387            Self::InternalServerException(_inner) => ::std::option::Option::Some(_inner),
388            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
389            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
390            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
391        }
392    }
393}
394impl ::std::fmt::Display for DescribeOrganizationResourceCollectionHealthError {
395    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
396        match self {
397            Self::AccessDeniedException(_inner) => _inner.fmt(f),
398            Self::InternalServerException(_inner) => _inner.fmt(f),
399            Self::ThrottlingException(_inner) => _inner.fmt(f),
400            Self::ValidationException(_inner) => _inner.fmt(f),
401            Self::Unhandled(_inner) => {
402                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
403                    write!(f, "unhandled error ({code})")
404                } else {
405                    f.write_str("unhandled error")
406                }
407            }
408        }
409    }
410}
411impl ::aws_smithy_types::retry::ProvideErrorKind for DescribeOrganizationResourceCollectionHealthError {
412    fn code(&self) -> ::std::option::Option<&str> {
413        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
414    }
415    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
416        ::std::option::Option::None
417    }
418}
419impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for DescribeOrganizationResourceCollectionHealthError {
420    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
421        match self {
422            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
423            Self::InternalServerException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
424            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
425            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
426            Self::Unhandled(_inner) => &_inner.meta,
427        }
428    }
429}
430impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for DescribeOrganizationResourceCollectionHealthError {
431    fn create_unhandled_error(
432        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
433        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
434    ) -> Self {
435        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
436            source,
437            meta: meta.unwrap_or_default(),
438        })
439    }
440}
441impl ::aws_types::request_id::RequestId
442    for crate::operation::describe_organization_resource_collection_health::DescribeOrganizationResourceCollectionHealthError
443{
444    fn request_id(&self) -> Option<&str> {
445        self.meta().request_id()
446    }
447}
448
449pub use crate::operation::describe_organization_resource_collection_health::_describe_organization_resource_collection_health_input::DescribeOrganizationResourceCollectionHealthInput;
450
451pub use crate::operation::describe_organization_resource_collection_health::_describe_organization_resource_collection_health_output::DescribeOrganizationResourceCollectionHealthOutput;
452
453mod _describe_organization_resource_collection_health_input;
454
455mod _describe_organization_resource_collection_health_output;
456
457/// Builders
458pub mod builders;
459
460/// Paginator for this operation
461pub mod paginator;