Skip to main content

aws_sdk_cloudtrail/operation/
restore_event_data_store.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `RestoreEventDataStore`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct RestoreEventDataStore;
6impl RestoreEventDataStore {
7    /// Creates a new `RestoreEventDataStore`
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::restore_event_data_store::RestoreEventDataStoreInput,
14    ) -> ::std::result::Result<
15        crate::operation::restore_event_data_store::RestoreEventDataStoreOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::restore_event_data_store::RestoreEventDataStoreError,
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::restore_event_data_store::RestoreEventDataStoreError>()
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::restore_event_data_store::RestoreEventDataStoreOutput>()
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::restore_event_data_store::RestoreEventDataStoreInput,
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("CloudTrail", "RestoreEventDataStore", input, runtime_plugins, stop_point)
55            // Create a parent span for the entire operation. Includes a random, internal-only,
56            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
57            .instrument(::tracing::debug_span!(
58                "CloudTrail.RestoreEventDataStore",
59                "rpc.service" = "CloudTrail",
60                "rpc.method" = "RestoreEventDataStore",
61                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
62                "rpc.system" = "aws-api",
63            ))
64            .await
65    }
66
67    pub(crate) fn operation_runtime_plugins(
68        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
69        client_config: &crate::config::Config,
70        config_override: ::std::option::Option<crate::config::Builder>,
71    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
72        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
73
74        if let ::std::option::Option::Some(config_override) = config_override {
75            for plugin in config_override.runtime_plugins.iter().cloned() {
76                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
77            }
78            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
79                config_override,
80                client_config.config.clone(),
81                &client_config.runtime_components,
82            ));
83        }
84        runtime_plugins
85    }
86}
87impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for RestoreEventDataStore {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("RestoreEventDataStore");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            RestoreEventDataStoreRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            RestoreEventDataStoreResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("RestoreEventDataStore")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
106            "RestoreEventDataStore",
107            "CloudTrail",
108        ));
109        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
110        signing_options.double_uri_encode = true;
111        signing_options.content_sha256_header = false;
112        signing_options.normalize_uri_path = true;
113        signing_options.payload_override = None;
114
115        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
116            signing_options,
117            ..::std::default::Default::default()
118        });
119
120        ::std::option::Option::Some(cfg.freeze())
121    }
122
123    fn runtime_components(
124        &self,
125        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
126    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
127        #[allow(unused_mut)]
128        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("RestoreEventDataStore")
129            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
130                RestoreEventDataStoreTelemetryInputCaptureInterceptor,
131            ))
132            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
133                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
134            ))
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                RestoreEventDataStoreEndpointParamsInterceptor,
137            ))
138            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
139                crate::operation::restore_event_data_store::RestoreEventDataStoreError,
140            >::new())
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
142                crate::operation::restore_event_data_store::RestoreEventDataStoreError,
143            >::new())
144            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
145                crate::operation::restore_event_data_store::RestoreEventDataStoreError,
146            >::new());
147
148        ::std::borrow::Cow::Owned(rcb)
149    }
150}
151
152#[derive(Debug)]
153struct RestoreEventDataStoreTelemetryInputCaptureInterceptor;
154
155#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
156impl ::aws_smithy_runtime_api::client::interceptors::Intercept for RestoreEventDataStoreTelemetryInputCaptureInterceptor {
157    fn name(&self) -> &'static str {
158        "RestoreEventDataStoreTelemetryInputCaptureInterceptor"
159    }
160
161    fn read_before_execution(
162        &self,
163        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
164            '_,
165            ::aws_smithy_runtime_api::client::interceptors::context::Input,
166            ::aws_smithy_runtime_api::client::interceptors::context::Output,
167            ::aws_smithy_runtime_api::client::interceptors::context::Error,
168        >,
169        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
170    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
171        // Nothing to do unless the customer opted in by naming members to record.
172        let ::std::option::Option::Some(requested) = cfg
173            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
174            .filter(|r| !r.is_empty())
175        else {
176            return ::std::result::Result::Ok(());
177        };
178
179        let ::std::option::Option::Some(input) = context.input().downcast_ref::<RestoreEventDataStoreInput>() else {
180            // A mismatched input is not this interceptor's concern; skip quietly.
181            return ::std::result::Result::Ok(());
182        };
183
184        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
185        if requested.should_capture("EventDataStore") {
186            if let ::std::option::Option::Some(value) = input.event_data_store.as_deref() {
187                captured.insert("EventDataStore", value);
188            }
189        }
190
191        cfg.interceptor_state().store_put(captured);
192        ::std::result::Result::Ok(())
193    }
194}
195#[derive(Debug)]
196struct RestoreEventDataStoreResponseDeserializer;
197impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for RestoreEventDataStoreResponseDeserializer {
198    fn deserialize_nonstreaming_with_config(
199        &self,
200        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
201        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
202    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
203        let (success, status) = (response.status().is_success(), response.status().as_u16());
204        let headers = response.headers();
205        let body = response.body().bytes().expect("body loaded");
206        #[allow(unused_mut)]
207        let mut force_error = false;
208        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
209        let parse_result = if !success && status != 200 || force_error {
210            crate::protocol_serde::shape_restore_event_data_store::de_restore_event_data_store_http_error(status, headers, body)
211        } else {
212            crate::protocol_serde::shape_restore_event_data_store::de_restore_event_data_store_http_response(status, headers, body)
213        };
214        crate::protocol_serde::type_erase_result(parse_result)
215    }
216}
217#[derive(Debug)]
218struct RestoreEventDataStoreRequestSerializer;
219impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for RestoreEventDataStoreRequestSerializer {
220    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
221    fn serialize_input(
222        &self,
223        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
224        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
225    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
226        let input = input
227            .downcast::<crate::operation::restore_event_data_store::RestoreEventDataStoreInput>()
228            .expect("correct type");
229        let _header_serialization_settings = _cfg
230            .load::<crate::serialization_settings::HeaderSerializationSettings>()
231            .cloned()
232            .unwrap_or_default();
233        let mut request_builder = {
234            #[allow(clippy::uninlined_format_args)]
235            fn uri_base(
236                _input: &crate::operation::restore_event_data_store::RestoreEventDataStoreInput,
237                output: &mut ::std::string::String,
238            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
239                use ::std::fmt::Write as _;
240                ::std::write!(output, "/").expect("formatting should succeed");
241                ::std::result::Result::Ok(())
242            }
243            #[allow(clippy::unnecessary_wraps)]
244            fn update_http_builder(
245                input: &crate::operation::restore_event_data_store::RestoreEventDataStoreInput,
246                builder: ::http_1x::request::Builder,
247            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
248                let mut uri = ::std::string::String::new();
249                uri_base(input, &mut uri)?;
250                ::std::result::Result::Ok(builder.method("POST").uri(uri))
251            }
252            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
253            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
254            builder = _header_serialization_settings.set_default_header(
255                builder,
256                ::http_1x::header::HeaderName::from_static("x-amz-target"),
257                "CloudTrail_20131101.RestoreEventDataStore",
258            );
259            builder
260        };
261        let body = ::aws_smithy_types::body::SdkBody::from(
262            crate::protocol_serde::shape_restore_event_data_store::ser_restore_event_data_store_input(&input)?,
263        );
264        if let Some(content_length) = body.content_length() {
265            let content_length = content_length.to_string();
266            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
267        }
268        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
269    }
270}
271#[derive(Debug)]
272struct RestoreEventDataStoreEndpointParamsInterceptor;
273
274#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
275impl ::aws_smithy_runtime_api::client::interceptors::Intercept for RestoreEventDataStoreEndpointParamsInterceptor {
276    fn name(&self) -> &'static str {
277        "RestoreEventDataStoreEndpointParamsInterceptor"
278    }
279
280    fn read_before_execution(
281        &self,
282        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
283            '_,
284            ::aws_smithy_runtime_api::client::interceptors::context::Input,
285            ::aws_smithy_runtime_api::client::interceptors::context::Output,
286            ::aws_smithy_runtime_api::client::interceptors::context::Error,
287        >,
288        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
289    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
290        let _input = context
291            .input()
292            .downcast_ref::<RestoreEventDataStoreInput>()
293            .ok_or("failed to downcast to RestoreEventDataStoreInput")?;
294
295        let params = crate::config::endpoint::Params::builder()
296            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
297            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
298            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
299            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
300            .build()
301            .map_err(|err| {
302                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
303            })?;
304        cfg.interceptor_state()
305            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
306        ::std::result::Result::Ok(())
307    }
308}
309
310// The get_* functions below are generated from JMESPath expressions in the
311// operationContextParams trait. They target the operation's input shape.
312
313/// Error type for the `RestoreEventDataStoreError` operation.
314#[non_exhaustive]
315#[derive(::std::fmt::Debug)]
316pub enum RestoreEventDataStoreError {
317    /// <p>This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. For more information, see <a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html#orgs_how-to-enable-disable-trusted-access">How to enable or disable trusted access</a> in the <i>Organizations User Guide</i> and <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html">Prepare For Creating a Trail For Your Organization</a> in the <i>CloudTrail User Guide</i>.</p>
318    CloudTrailAccessNotEnabledException(crate::types::error::CloudTrailAccessNotEnabledException),
319    /// <p>The specified event data store ARN is not valid or does not map to an event data store in your account.</p>
320    EventDataStoreArnInvalidException(crate::types::error::EventDataStoreArnInvalidException),
321    /// <p>Your account has used the maximum number of event data stores.</p>
322    EventDataStoreMaxLimitExceededException(crate::types::error::EventDataStoreMaxLimitExceededException),
323    /// <p>The specified event data store was not found.</p>
324    EventDataStoreNotFoundException(crate::types::error::EventDataStoreNotFoundException),
325    /// <p>This exception is thrown when the IAM identity that is used to create the organization resource lacks one or more required permissions for creating an organization resource in a required service.</p>
326    InsufficientDependencyServiceAccessPermissionException(crate::types::error::InsufficientDependencyServiceAccessPermissionException),
327    /// <p>The event data store is not in a status that supports the operation.</p>
328    InvalidEventDataStoreStatusException(crate::types::error::InvalidEventDataStoreStatusException),
329    /// <p>The request includes a parameter that is not valid.</p>
330    InvalidParameterException(crate::types::error::InvalidParameterException),
331    /// <p>This exception is thrown when the management account does not have a service-linked role.</p>
332    NoManagementAccountSlrExistsException(crate::types::error::NoManagementAccountSlrExistsException),
333    /// <p>This exception is thrown when the Amazon Web Services account making the request to create or update an organization trail or event data store is not the management account for an organization in Organizations. For more information, see <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html">Prepare For Creating a Trail For Your Organization</a> or <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-organizations.html">Organization event data stores</a>.</p>
334    NotOrganizationMasterAccountException(crate::types::error::NotOrganizationMasterAccountException),
335    /// <p>This exception is thrown when the requested operation is not permitted.</p>
336    OperationNotPermittedException(crate::types::error::OperationNotPermittedException),
337    /// <p>This exception is thrown when Organizations is not configured to support all features. All features must be enabled in Organizations to support creating an organization trail or event data store.</p>
338    OrganizationNotInAllFeaturesModeException(crate::types::error::OrganizationNotInAllFeaturesModeException),
339    /// <p>This exception is thrown when the request is made from an Amazon Web Services account that is not a member of an organization. To make this request, sign in using the credentials of an account that belongs to an organization.</p>
340    OrganizationsNotInUseException(crate::types::error::OrganizationsNotInUseException),
341    /// <p>This exception is thrown when the requested operation is not supported.</p>
342    UnsupportedOperationException(crate::types::error::UnsupportedOperationException),
343    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
344    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
345    variable wildcard pattern and check `.code()`:
346     \
347    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
348     \
349    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-RestoreEventDataStoreError) for what information is available for the error.")]
350    Unhandled(crate::error::sealed_unhandled::Unhandled),
351}
352impl RestoreEventDataStoreError {
353    /// Creates the `RestoreEventDataStoreError::Unhandled` variant from any error type.
354    pub fn unhandled(
355        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
356    ) -> Self {
357        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
358            source: err.into(),
359            meta: ::std::default::Default::default(),
360        })
361    }
362
363    /// Creates the `RestoreEventDataStoreError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
364    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
365        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
366            source: err.clone().into(),
367            meta: err,
368        })
369    }
370    ///
371    /// Returns error metadata, which includes the error code, message,
372    /// request ID, and potentially additional information.
373    ///
374    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
375        match self {
376            Self::CloudTrailAccessNotEnabledException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
377            Self::EventDataStoreArnInvalidException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
378            Self::EventDataStoreMaxLimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
379            Self::EventDataStoreNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
380            Self::InsufficientDependencyServiceAccessPermissionException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
381            Self::InvalidEventDataStoreStatusException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
382            Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
383            Self::NoManagementAccountSlrExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
384            Self::NotOrganizationMasterAccountException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
385            Self::OperationNotPermittedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
386            Self::OrganizationNotInAllFeaturesModeException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
387            Self::OrganizationsNotInUseException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
388            Self::UnsupportedOperationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
389            Self::Unhandled(e) => &e.meta,
390        }
391    }
392    /// Returns `true` if the error kind is `RestoreEventDataStoreError::CloudTrailAccessNotEnabledException`.
393    pub fn is_cloud_trail_access_not_enabled_exception(&self) -> bool {
394        matches!(self, Self::CloudTrailAccessNotEnabledException(_))
395    }
396    /// Returns `true` if the error kind is `RestoreEventDataStoreError::EventDataStoreArnInvalidException`.
397    pub fn is_event_data_store_arn_invalid_exception(&self) -> bool {
398        matches!(self, Self::EventDataStoreArnInvalidException(_))
399    }
400    /// Returns `true` if the error kind is `RestoreEventDataStoreError::EventDataStoreMaxLimitExceededException`.
401    pub fn is_event_data_store_max_limit_exceeded_exception(&self) -> bool {
402        matches!(self, Self::EventDataStoreMaxLimitExceededException(_))
403    }
404    /// Returns `true` if the error kind is `RestoreEventDataStoreError::EventDataStoreNotFoundException`.
405    pub fn is_event_data_store_not_found_exception(&self) -> bool {
406        matches!(self, Self::EventDataStoreNotFoundException(_))
407    }
408    /// Returns `true` if the error kind is `RestoreEventDataStoreError::InsufficientDependencyServiceAccessPermissionException`.
409    pub fn is_insufficient_dependency_service_access_permission_exception(&self) -> bool {
410        matches!(self, Self::InsufficientDependencyServiceAccessPermissionException(_))
411    }
412    /// Returns `true` if the error kind is `RestoreEventDataStoreError::InvalidEventDataStoreStatusException`.
413    pub fn is_invalid_event_data_store_status_exception(&self) -> bool {
414        matches!(self, Self::InvalidEventDataStoreStatusException(_))
415    }
416    /// Returns `true` if the error kind is `RestoreEventDataStoreError::InvalidParameterException`.
417    pub fn is_invalid_parameter_exception(&self) -> bool {
418        matches!(self, Self::InvalidParameterException(_))
419    }
420    /// Returns `true` if the error kind is `RestoreEventDataStoreError::NoManagementAccountSlrExistsException`.
421    pub fn is_no_management_account_slr_exists_exception(&self) -> bool {
422        matches!(self, Self::NoManagementAccountSlrExistsException(_))
423    }
424    /// Returns `true` if the error kind is `RestoreEventDataStoreError::NotOrganizationMasterAccountException`.
425    pub fn is_not_organization_master_account_exception(&self) -> bool {
426        matches!(self, Self::NotOrganizationMasterAccountException(_))
427    }
428    /// Returns `true` if the error kind is `RestoreEventDataStoreError::OperationNotPermittedException`.
429    pub fn is_operation_not_permitted_exception(&self) -> bool {
430        matches!(self, Self::OperationNotPermittedException(_))
431    }
432    /// Returns `true` if the error kind is `RestoreEventDataStoreError::OrganizationNotInAllFeaturesModeException`.
433    pub fn is_organization_not_in_all_features_mode_exception(&self) -> bool {
434        matches!(self, Self::OrganizationNotInAllFeaturesModeException(_))
435    }
436    /// Returns `true` if the error kind is `RestoreEventDataStoreError::OrganizationsNotInUseException`.
437    pub fn is_organizations_not_in_use_exception(&self) -> bool {
438        matches!(self, Self::OrganizationsNotInUseException(_))
439    }
440    /// Returns `true` if the error kind is `RestoreEventDataStoreError::UnsupportedOperationException`.
441    pub fn is_unsupported_operation_exception(&self) -> bool {
442        matches!(self, Self::UnsupportedOperationException(_))
443    }
444}
445impl ::std::error::Error for RestoreEventDataStoreError {
446    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
447        match self {
448            Self::CloudTrailAccessNotEnabledException(_inner) => ::std::option::Option::Some(_inner),
449            Self::EventDataStoreArnInvalidException(_inner) => ::std::option::Option::Some(_inner),
450            Self::EventDataStoreMaxLimitExceededException(_inner) => ::std::option::Option::Some(_inner),
451            Self::EventDataStoreNotFoundException(_inner) => ::std::option::Option::Some(_inner),
452            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => ::std::option::Option::Some(_inner),
453            Self::InvalidEventDataStoreStatusException(_inner) => ::std::option::Option::Some(_inner),
454            Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner),
455            Self::NoManagementAccountSlrExistsException(_inner) => ::std::option::Option::Some(_inner),
456            Self::NotOrganizationMasterAccountException(_inner) => ::std::option::Option::Some(_inner),
457            Self::OperationNotPermittedException(_inner) => ::std::option::Option::Some(_inner),
458            Self::OrganizationNotInAllFeaturesModeException(_inner) => ::std::option::Option::Some(_inner),
459            Self::OrganizationsNotInUseException(_inner) => ::std::option::Option::Some(_inner),
460            Self::UnsupportedOperationException(_inner) => ::std::option::Option::Some(_inner),
461            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
462        }
463    }
464}
465impl ::std::fmt::Display for RestoreEventDataStoreError {
466    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
467        match self {
468            Self::CloudTrailAccessNotEnabledException(_inner) => _inner.fmt(f),
469            Self::EventDataStoreArnInvalidException(_inner) => _inner.fmt(f),
470            Self::EventDataStoreMaxLimitExceededException(_inner) => _inner.fmt(f),
471            Self::EventDataStoreNotFoundException(_inner) => _inner.fmt(f),
472            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => _inner.fmt(f),
473            Self::InvalidEventDataStoreStatusException(_inner) => _inner.fmt(f),
474            Self::InvalidParameterException(_inner) => _inner.fmt(f),
475            Self::NoManagementAccountSlrExistsException(_inner) => _inner.fmt(f),
476            Self::NotOrganizationMasterAccountException(_inner) => _inner.fmt(f),
477            Self::OperationNotPermittedException(_inner) => _inner.fmt(f),
478            Self::OrganizationNotInAllFeaturesModeException(_inner) => _inner.fmt(f),
479            Self::OrganizationsNotInUseException(_inner) => _inner.fmt(f),
480            Self::UnsupportedOperationException(_inner) => _inner.fmt(f),
481            Self::Unhandled(_inner) => {
482                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
483                    write!(f, "unhandled error ({code})")
484                } else {
485                    f.write_str("unhandled error")
486                }
487            }
488        }
489    }
490}
491impl ::aws_smithy_types::retry::ProvideErrorKind for RestoreEventDataStoreError {
492    fn code(&self) -> ::std::option::Option<&str> {
493        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
494    }
495    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
496        ::std::option::Option::None
497    }
498}
499impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for RestoreEventDataStoreError {
500    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
501        match self {
502            Self::CloudTrailAccessNotEnabledException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
503            Self::EventDataStoreArnInvalidException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
504            Self::EventDataStoreMaxLimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
505            Self::EventDataStoreNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
506            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => {
507                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
508            }
509            Self::InvalidEventDataStoreStatusException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
510            Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
511            Self::NoManagementAccountSlrExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
512            Self::NotOrganizationMasterAccountException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
513            Self::OperationNotPermittedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
514            Self::OrganizationNotInAllFeaturesModeException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
515            Self::OrganizationsNotInUseException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
516            Self::UnsupportedOperationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
517            Self::Unhandled(_inner) => &_inner.meta,
518        }
519    }
520}
521impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for RestoreEventDataStoreError {
522    fn create_unhandled_error(
523        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
524        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
525    ) -> Self {
526        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
527            source,
528            meta: meta.unwrap_or_default(),
529        })
530    }
531}
532impl ::aws_types::request_id::RequestId for crate::operation::restore_event_data_store::RestoreEventDataStoreError {
533    fn request_id(&self) -> Option<&str> {
534        self.meta().request_id()
535    }
536}
537
538pub use crate::operation::restore_event_data_store::_restore_event_data_store_input::RestoreEventDataStoreInput;
539
540pub use crate::operation::restore_event_data_store::_restore_event_data_store_output::RestoreEventDataStoreOutput;
541
542mod _restore_event_data_store_input;
543
544mod _restore_event_data_store_output;
545
546/// Builders
547pub mod builders;