Skip to main content

aws_sdk_observabilityadmin/operation/
get_centralization_rule_for_organization.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `GetCentralizationRuleForOrganization`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct GetCentralizationRuleForOrganization;
6impl GetCentralizationRuleForOrganization {
7    /// Creates a new `GetCentralizationRuleForOrganization`
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::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationInput,
14    ) -> ::std::result::Result<
15        crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationError,
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::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationError>()
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::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationOutput>()
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::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationInput,
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            "ObservabilityAdmin",
56            "GetCentralizationRuleForOrganization",
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            "ObservabilityAdmin.GetCentralizationRuleForOrganization",
65            "rpc.service" = "ObservabilityAdmin",
66            "rpc.method" = "GetCentralizationRuleForOrganization",
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 GetCentralizationRuleForOrganization {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("GetCentralizationRuleForOrganization");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            GetCentralizationRuleForOrganizationRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            GetCentralizationRuleForOrganizationResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("GetCentralizationRuleForOrganization")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "GetCentralizationRuleForOrganization",
113            "ObservabilityAdmin",
114        ));
115        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
116        signing_options.double_uri_encode = true;
117        signing_options.content_sha256_header = false;
118        signing_options.normalize_uri_path = true;
119        signing_options.payload_override = None;
120
121        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
122            signing_options,
123            ..::std::default::Default::default()
124        });
125
126        ::std::option::Option::Some(cfg.freeze())
127    }
128
129    fn runtime_components(
130        &self,
131        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
132    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
133        #[allow(unused_mut)]
134        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("GetCentralizationRuleForOrganization")
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                GetCentralizationRuleForOrganizationTelemetryInputCaptureInterceptor,
137            ))
138            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
139                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
140            ))
141            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
142                GetCentralizationRuleForOrganizationEndpointParamsInterceptor,
143            ))
144            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
145                crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationError,
146            >::new())
147            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
148                crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationError,
149            >::new())
150            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
151                crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationError,
152            >::new())
153            .with_retry_classifier(::aws_runtime::service_clock_skew::ServiceClockSkewClassifier::<
154                crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationError,
155            >::new());
156
157        ::std::borrow::Cow::Owned(rcb)
158    }
159}
160
161#[derive(Debug)]
162struct GetCentralizationRuleForOrganizationTelemetryInputCaptureInterceptor;
163
164#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
165impl ::aws_smithy_runtime_api::client::interceptors::Intercept for GetCentralizationRuleForOrganizationTelemetryInputCaptureInterceptor {
166    fn name(&self) -> &'static str {
167        "GetCentralizationRuleForOrganizationTelemetryInputCaptureInterceptor"
168    }
169
170    fn read_before_execution(
171        &self,
172        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
173            '_,
174            ::aws_smithy_runtime_api::client::interceptors::context::Input,
175            ::aws_smithy_runtime_api::client::interceptors::context::Output,
176            ::aws_smithy_runtime_api::client::interceptors::context::Error,
177        >,
178        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
179    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
180        // Nothing to do unless the customer opted in by naming members to record.
181        let ::std::option::Option::Some(requested) = cfg
182            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
183            .filter(|r| !r.is_empty())
184        else {
185            return ::std::result::Result::Ok(());
186        };
187
188        let ::std::option::Option::Some(input) = context.input().downcast_ref::<GetCentralizationRuleForOrganizationInput>() else {
189            // A mismatched input is not this interceptor's concern; skip quietly.
190            return ::std::result::Result::Ok(());
191        };
192
193        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
194        if requested.should_capture("RuleIdentifier") {
195            if let ::std::option::Option::Some(value) = input.rule_identifier.as_deref() {
196                captured.insert("RuleIdentifier", value);
197            }
198        }
199
200        cfg.interceptor_state().store_put(captured);
201        ::std::result::Result::Ok(())
202    }
203}
204#[derive(Debug)]
205struct GetCentralizationRuleForOrganizationResponseDeserializer;
206impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetCentralizationRuleForOrganizationResponseDeserializer {
207    fn deserialize_nonstreaming_with_config(
208        &self,
209        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
210        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
211    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
212        let (success, status) = (response.status().is_success(), response.status().as_u16());
213        let headers = response.headers();
214        let body = response.body().bytes().expect("body loaded");
215        #[allow(unused_mut)]
216        let mut force_error = false;
217        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
218        let parse_result = if !success && status != 200 || force_error {
219            crate::protocol_serde::shape_get_centralization_rule_for_organization::de_get_centralization_rule_for_organization_http_error(
220                status, headers, body,
221            )
222        } else {
223            crate::protocol_serde::shape_get_centralization_rule_for_organization::de_get_centralization_rule_for_organization_http_response(
224                status, headers, body,
225            )
226        };
227        crate::protocol_serde::type_erase_result(parse_result)
228    }
229}
230#[derive(Debug)]
231struct GetCentralizationRuleForOrganizationRequestSerializer;
232impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for GetCentralizationRuleForOrganizationRequestSerializer {
233    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
234    fn serialize_input(
235        &self,
236        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
237        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
238    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
239        let input = input
240            .downcast::<crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationInput>()
241            .expect("correct type");
242        let _header_serialization_settings = _cfg
243            .load::<crate::serialization_settings::HeaderSerializationSettings>()
244            .cloned()
245            .unwrap_or_default();
246        let mut request_builder = {
247            #[allow(clippy::uninlined_format_args)]
248            fn uri_base(
249                _input: &crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationInput,
250                output: &mut ::std::string::String,
251            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
252                use ::std::fmt::Write as _;
253                ::std::write!(output, "/GetCentralizationRuleForOrganization").expect("formatting should succeed");
254                ::std::result::Result::Ok(())
255            }
256            #[allow(clippy::unnecessary_wraps)]
257            fn update_http_builder(
258                input: &crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationInput,
259                builder: ::http_1x::request::Builder,
260            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
261                let mut uri = ::std::string::String::new();
262                uri_base(input, &mut uri)?;
263                ::std::result::Result::Ok(builder.method("POST").uri(uri))
264            }
265            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
266            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
267            builder
268        };
269        let body = ::aws_smithy_types::body::SdkBody::from(
270            crate::protocol_serde::shape_get_centralization_rule_for_organization::ser_get_centralization_rule_for_organization_input(&input)?,
271        );
272        if let Some(content_length) = body.content_length() {
273            let content_length = content_length.to_string();
274            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
275        }
276        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
277    }
278}
279#[derive(Debug)]
280struct GetCentralizationRuleForOrganizationEndpointParamsInterceptor;
281
282#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
283impl ::aws_smithy_runtime_api::client::interceptors::Intercept for GetCentralizationRuleForOrganizationEndpointParamsInterceptor {
284    fn name(&self) -> &'static str {
285        "GetCentralizationRuleForOrganizationEndpointParamsInterceptor"
286    }
287
288    fn read_before_execution(
289        &self,
290        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
291            '_,
292            ::aws_smithy_runtime_api::client::interceptors::context::Input,
293            ::aws_smithy_runtime_api::client::interceptors::context::Output,
294            ::aws_smithy_runtime_api::client::interceptors::context::Error,
295        >,
296        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
297    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
298        let _input = context
299            .input()
300            .downcast_ref::<GetCentralizationRuleForOrganizationInput>()
301            .ok_or("failed to downcast to GetCentralizationRuleForOrganizationInput")?;
302
303        let params = crate::config::endpoint::Params::builder()
304            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
305            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
306            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
307            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
308            .build()
309            .map_err(|err| {
310                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
311            })?;
312        cfg.interceptor_state()
313            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
314        ::std::result::Result::Ok(())
315    }
316}
317
318// The get_* functions below are generated from JMESPath expressions in the
319// operationContextParams trait. They target the operation's input shape.
320
321/// Error type for the `GetCentralizationRuleForOrganizationError` operation.
322#[non_exhaustive]
323#[derive(::std::fmt::Debug)]
324pub enum GetCentralizationRuleForOrganizationError {
325    /// <p>Indicates 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 for Amazon Web Services resources</a> in the IAM user guide.</p>
326    AccessDeniedException(crate::types::error::AccessDeniedException),
327    /// <p>Indicates the request has failed to process because of an unknown server error, exception, or failure.</p>
328    InternalServerException(crate::types::error::InternalServerException),
329    /// <p>The specified resource (such as a telemetry rule) could not be found.</p>
330    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
331    /// <p>The request throughput limit was exceeded.</p>
332    TooManyRequestsException(crate::types::error::TooManyRequestsException),
333    /// <p>Indicates input validation failed. Check your request parameters and retry the request.</p>
334    ValidationException(crate::types::error::ValidationException),
335    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
336    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
337    variable wildcard pattern and check `.code()`:
338     \
339    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
340     \
341    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-GetCentralizationRuleForOrganizationError) for what information is available for the error.")]
342    Unhandled(crate::error::sealed_unhandled::Unhandled),
343}
344impl GetCentralizationRuleForOrganizationError {
345    /// Creates the `GetCentralizationRuleForOrganizationError::Unhandled` variant from any error type.
346    pub fn unhandled(
347        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
348    ) -> Self {
349        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
350            source: err.into(),
351            meta: ::std::default::Default::default(),
352        })
353    }
354
355    /// Creates the `GetCentralizationRuleForOrganizationError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
356    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
357        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
358            source: err.clone().into(),
359            meta: err,
360        })
361    }
362    ///
363    /// Returns error metadata, which includes the error code, message,
364    /// request ID, and potentially additional information.
365    ///
366    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
367        match self {
368            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
369            Self::InternalServerException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
370            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
371            Self::TooManyRequestsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
372            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
373            Self::Unhandled(e) => &e.meta,
374        }
375    }
376    /// Returns `true` if the error kind is `GetCentralizationRuleForOrganizationError::AccessDeniedException`.
377    pub fn is_access_denied_exception(&self) -> bool {
378        matches!(self, Self::AccessDeniedException(_))
379    }
380    /// Returns `true` if the error kind is `GetCentralizationRuleForOrganizationError::InternalServerException`.
381    pub fn is_internal_server_exception(&self) -> bool {
382        matches!(self, Self::InternalServerException(_))
383    }
384    /// Returns `true` if the error kind is `GetCentralizationRuleForOrganizationError::ResourceNotFoundException`.
385    pub fn is_resource_not_found_exception(&self) -> bool {
386        matches!(self, Self::ResourceNotFoundException(_))
387    }
388    /// Returns `true` if the error kind is `GetCentralizationRuleForOrganizationError::TooManyRequestsException`.
389    pub fn is_too_many_requests_exception(&self) -> bool {
390        matches!(self, Self::TooManyRequestsException(_))
391    }
392    /// Returns `true` if the error kind is `GetCentralizationRuleForOrganizationError::ValidationException`.
393    pub fn is_validation_exception(&self) -> bool {
394        matches!(self, Self::ValidationException(_))
395    }
396}
397impl ::std::error::Error for GetCentralizationRuleForOrganizationError {
398    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
399        match self {
400            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
401            Self::InternalServerException(_inner) => ::std::option::Option::Some(_inner),
402            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
403            Self::TooManyRequestsException(_inner) => ::std::option::Option::Some(_inner),
404            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
405            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
406        }
407    }
408}
409impl ::std::fmt::Display for GetCentralizationRuleForOrganizationError {
410    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
411        match self {
412            Self::AccessDeniedException(_inner) => _inner.fmt(f),
413            Self::InternalServerException(_inner) => _inner.fmt(f),
414            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
415            Self::TooManyRequestsException(_inner) => _inner.fmt(f),
416            Self::ValidationException(_inner) => _inner.fmt(f),
417            Self::Unhandled(_inner) => {
418                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
419                    write!(f, "unhandled error ({code})")
420                } else {
421                    f.write_str("unhandled error")
422                }
423            }
424        }
425    }
426}
427impl ::aws_smithy_types::retry::ProvideErrorKind for GetCentralizationRuleForOrganizationError {
428    fn code(&self) -> ::std::option::Option<&str> {
429        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
430    }
431    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
432        ::std::option::Option::None
433    }
434}
435impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for GetCentralizationRuleForOrganizationError {
436    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
437        match self {
438            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
439            Self::InternalServerException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
440            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
441            Self::TooManyRequestsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
442            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
443            Self::Unhandled(_inner) => &_inner.meta,
444        }
445    }
446}
447impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for GetCentralizationRuleForOrganizationError {
448    fn create_unhandled_error(
449        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
450        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
451    ) -> Self {
452        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
453            source,
454            meta: meta.unwrap_or_default(),
455        })
456    }
457}
458impl ::aws_types::request_id::RequestId for crate::operation::get_centralization_rule_for_organization::GetCentralizationRuleForOrganizationError {
459    fn request_id(&self) -> Option<&str> {
460        self.meta().request_id()
461    }
462}
463
464pub use crate::operation::get_centralization_rule_for_organization::_get_centralization_rule_for_organization_input::GetCentralizationRuleForOrganizationInput;
465
466pub use crate::operation::get_centralization_rule_for_organization::_get_centralization_rule_for_organization_output::GetCentralizationRuleForOrganizationOutput;
467
468mod _get_centralization_rule_for_organization_input;
469
470mod _get_centralization_rule_for_organization_output;
471
472/// Builders
473pub mod builders;