Skip to main content

aws_sdk_cloudtrail/operation/
start_event_data_store_ingestion.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `StartEventDataStoreIngestion`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct StartEventDataStoreIngestion;
6impl StartEventDataStoreIngestion {
7    /// Creates a new `StartEventDataStoreIngestion`
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::start_event_data_store_ingestion::StartEventDataStoreIngestionInput,
14    ) -> ::std::result::Result<
15        crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionError,
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::start_event_data_store_ingestion::StartEventDataStoreIngestionError>()
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::start_event_data_store_ingestion::StartEventDataStoreIngestionOutput>()
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::start_event_data_store_ingestion::StartEventDataStoreIngestionInput,
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            "CloudTrail",
56            "StartEventDataStoreIngestion",
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            "CloudTrail.StartEventDataStoreIngestion",
65            "rpc.service" = "CloudTrail",
66            "rpc.method" = "StartEventDataStoreIngestion",
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 StartEventDataStoreIngestion {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("StartEventDataStoreIngestion");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            StartEventDataStoreIngestionRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            StartEventDataStoreIngestionResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("StartEventDataStoreIngestion")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "StartEventDataStoreIngestion",
113            "CloudTrail",
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("StartEventDataStoreIngestion")
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
137            ))
138            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
139                StartEventDataStoreIngestionEndpointParamsInterceptor,
140            ))
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
142                crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionError,
143            >::new())
144            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
145                crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionError,
146            >::new())
147            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
148                crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionError,
149            >::new());
150
151        ::std::borrow::Cow::Owned(rcb)
152    }
153}
154
155#[derive(Debug)]
156struct StartEventDataStoreIngestionResponseDeserializer;
157impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for StartEventDataStoreIngestionResponseDeserializer {
158    fn deserialize_nonstreaming_with_config(
159        &self,
160        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
161        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
162    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
163        let (success, status) = (response.status().is_success(), response.status().as_u16());
164        let headers = response.headers();
165        let body = response.body().bytes().expect("body loaded");
166        #[allow(unused_mut)]
167        let mut force_error = false;
168        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
169        let parse_result = if !success && status != 200 || force_error {
170            crate::protocol_serde::shape_start_event_data_store_ingestion::de_start_event_data_store_ingestion_http_error(status, headers, body)
171        } else {
172            crate::protocol_serde::shape_start_event_data_store_ingestion::de_start_event_data_store_ingestion_http_response(status, headers, body)
173        };
174        crate::protocol_serde::type_erase_result(parse_result)
175    }
176}
177#[derive(Debug)]
178struct StartEventDataStoreIngestionRequestSerializer;
179impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for StartEventDataStoreIngestionRequestSerializer {
180    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
181    fn serialize_input(
182        &self,
183        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
184        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
185    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
186        let input = input
187            .downcast::<crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionInput>()
188            .expect("correct type");
189        let _header_serialization_settings = _cfg
190            .load::<crate::serialization_settings::HeaderSerializationSettings>()
191            .cloned()
192            .unwrap_or_default();
193        let mut request_builder = {
194            #[allow(clippy::uninlined_format_args)]
195            fn uri_base(
196                _input: &crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionInput,
197                output: &mut ::std::string::String,
198            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
199                use ::std::fmt::Write as _;
200                ::std::write!(output, "/").expect("formatting should succeed");
201                ::std::result::Result::Ok(())
202            }
203            #[allow(clippy::unnecessary_wraps)]
204            fn update_http_builder(
205                input: &crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionInput,
206                builder: ::http_1x::request::Builder,
207            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
208                let mut uri = ::std::string::String::new();
209                uri_base(input, &mut uri)?;
210                ::std::result::Result::Ok(builder.method("POST").uri(uri))
211            }
212            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
213            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
214            builder = _header_serialization_settings.set_default_header(
215                builder,
216                ::http_1x::header::HeaderName::from_static("x-amz-target"),
217                "CloudTrail_20131101.StartEventDataStoreIngestion",
218            );
219            builder
220        };
221        let body = ::aws_smithy_types::body::SdkBody::from(
222            crate::protocol_serde::shape_start_event_data_store_ingestion::ser_start_event_data_store_ingestion_input(&input)?,
223        );
224        if let Some(content_length) = body.content_length() {
225            let content_length = content_length.to_string();
226            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
227        }
228        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
229    }
230}
231#[derive(Debug)]
232struct StartEventDataStoreIngestionEndpointParamsInterceptor;
233
234#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
235impl ::aws_smithy_runtime_api::client::interceptors::Intercept for StartEventDataStoreIngestionEndpointParamsInterceptor {
236    fn name(&self) -> &'static str {
237        "StartEventDataStoreIngestionEndpointParamsInterceptor"
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::<StartEventDataStoreIngestionInput>()
253            .ok_or("failed to downcast to StartEventDataStoreIngestionInput")?;
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 `StartEventDataStoreIngestionError` operation.
274#[non_exhaustive]
275#[derive(::std::fmt::Debug)]
276pub enum StartEventDataStoreIngestionError {
277    /// <p>This exception is thrown when the specified resource is not ready for an operation. This can occur when you try to run an operation on a resource before CloudTrail has time to fully load the resource, or because another operation is modifying the resource. If this exception occurs, wait a few minutes, and then try the operation again.</p>
278    ConflictException(crate::types::error::ConflictException),
279    /// <p>The specified event data store ARN is not valid or does not map to an event data store in your account.</p>
280    EventDataStoreArnInvalidException(crate::types::error::EventDataStoreArnInvalidException),
281    /// <p>The specified event data store was not found.</p>
282    EventDataStoreNotFoundException(crate::types::error::EventDataStoreNotFoundException),
283    /// <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>
284    InsufficientDependencyServiceAccessPermissionException(crate::types::error::InsufficientDependencyServiceAccessPermissionException),
285    /// <p>This exception is thrown when event categories of specified event data stores are not valid.</p>
286    InvalidEventDataStoreCategoryException(crate::types::error::InvalidEventDataStoreCategoryException),
287    /// <p>The event data store is not in a status that supports the operation.</p>
288    InvalidEventDataStoreStatusException(crate::types::error::InvalidEventDataStoreStatusException),
289    /// <p>The request includes a parameter that is not valid.</p>
290    InvalidParameterException(crate::types::error::InvalidParameterException),
291    /// <p>This exception is thrown when the management account does not have a service-linked role.</p>
292    NoManagementAccountSlrExistsException(crate::types::error::NoManagementAccountSlrExistsException),
293    /// <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>
294    NotOrganizationMasterAccountException(crate::types::error::NotOrganizationMasterAccountException),
295    /// <p>This exception is thrown when the requested operation is not permitted.</p>
296    OperationNotPermittedException(crate::types::error::OperationNotPermittedException),
297    /// <p>This exception is thrown when the requested operation is not supported.</p>
298    UnsupportedOperationException(crate::types::error::UnsupportedOperationException),
299    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
300    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
301    variable wildcard pattern and check `.code()`:
302     \
303    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
304     \
305    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-StartEventDataStoreIngestionError) for what information is available for the error.")]
306    Unhandled(crate::error::sealed_unhandled::Unhandled),
307}
308impl StartEventDataStoreIngestionError {
309    /// Creates the `StartEventDataStoreIngestionError::Unhandled` variant from any error type.
310    pub fn unhandled(
311        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
312    ) -> Self {
313        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
314            source: err.into(),
315            meta: ::std::default::Default::default(),
316        })
317    }
318
319    /// Creates the `StartEventDataStoreIngestionError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
320    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
321        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
322            source: err.clone().into(),
323            meta: err,
324        })
325    }
326    ///
327    /// Returns error metadata, which includes the error code, message,
328    /// request ID, and potentially additional information.
329    ///
330    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
331        match self {
332            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
333            Self::EventDataStoreArnInvalidException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
334            Self::EventDataStoreNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
335            Self::InsufficientDependencyServiceAccessPermissionException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
336            Self::InvalidEventDataStoreCategoryException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
337            Self::InvalidEventDataStoreStatusException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
338            Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
339            Self::NoManagementAccountSlrExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
340            Self::NotOrganizationMasterAccountException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
341            Self::OperationNotPermittedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
342            Self::UnsupportedOperationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
343            Self::Unhandled(e) => &e.meta,
344        }
345    }
346    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::ConflictException`.
347    pub fn is_conflict_exception(&self) -> bool {
348        matches!(self, Self::ConflictException(_))
349    }
350    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::EventDataStoreArnInvalidException`.
351    pub fn is_event_data_store_arn_invalid_exception(&self) -> bool {
352        matches!(self, Self::EventDataStoreArnInvalidException(_))
353    }
354    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::EventDataStoreNotFoundException`.
355    pub fn is_event_data_store_not_found_exception(&self) -> bool {
356        matches!(self, Self::EventDataStoreNotFoundException(_))
357    }
358    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::InsufficientDependencyServiceAccessPermissionException`.
359    pub fn is_insufficient_dependency_service_access_permission_exception(&self) -> bool {
360        matches!(self, Self::InsufficientDependencyServiceAccessPermissionException(_))
361    }
362    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::InvalidEventDataStoreCategoryException`.
363    pub fn is_invalid_event_data_store_category_exception(&self) -> bool {
364        matches!(self, Self::InvalidEventDataStoreCategoryException(_))
365    }
366    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::InvalidEventDataStoreStatusException`.
367    pub fn is_invalid_event_data_store_status_exception(&self) -> bool {
368        matches!(self, Self::InvalidEventDataStoreStatusException(_))
369    }
370    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::InvalidParameterException`.
371    pub fn is_invalid_parameter_exception(&self) -> bool {
372        matches!(self, Self::InvalidParameterException(_))
373    }
374    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::NoManagementAccountSlrExistsException`.
375    pub fn is_no_management_account_slr_exists_exception(&self) -> bool {
376        matches!(self, Self::NoManagementAccountSlrExistsException(_))
377    }
378    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::NotOrganizationMasterAccountException`.
379    pub fn is_not_organization_master_account_exception(&self) -> bool {
380        matches!(self, Self::NotOrganizationMasterAccountException(_))
381    }
382    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::OperationNotPermittedException`.
383    pub fn is_operation_not_permitted_exception(&self) -> bool {
384        matches!(self, Self::OperationNotPermittedException(_))
385    }
386    /// Returns `true` if the error kind is `StartEventDataStoreIngestionError::UnsupportedOperationException`.
387    pub fn is_unsupported_operation_exception(&self) -> bool {
388        matches!(self, Self::UnsupportedOperationException(_))
389    }
390}
391impl ::std::error::Error for StartEventDataStoreIngestionError {
392    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
393        match self {
394            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
395            Self::EventDataStoreArnInvalidException(_inner) => ::std::option::Option::Some(_inner),
396            Self::EventDataStoreNotFoundException(_inner) => ::std::option::Option::Some(_inner),
397            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => ::std::option::Option::Some(_inner),
398            Self::InvalidEventDataStoreCategoryException(_inner) => ::std::option::Option::Some(_inner),
399            Self::InvalidEventDataStoreStatusException(_inner) => ::std::option::Option::Some(_inner),
400            Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner),
401            Self::NoManagementAccountSlrExistsException(_inner) => ::std::option::Option::Some(_inner),
402            Self::NotOrganizationMasterAccountException(_inner) => ::std::option::Option::Some(_inner),
403            Self::OperationNotPermittedException(_inner) => ::std::option::Option::Some(_inner),
404            Self::UnsupportedOperationException(_inner) => ::std::option::Option::Some(_inner),
405            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
406        }
407    }
408}
409impl ::std::fmt::Display for StartEventDataStoreIngestionError {
410    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
411        match self {
412            Self::ConflictException(_inner) => _inner.fmt(f),
413            Self::EventDataStoreArnInvalidException(_inner) => _inner.fmt(f),
414            Self::EventDataStoreNotFoundException(_inner) => _inner.fmt(f),
415            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => _inner.fmt(f),
416            Self::InvalidEventDataStoreCategoryException(_inner) => _inner.fmt(f),
417            Self::InvalidEventDataStoreStatusException(_inner) => _inner.fmt(f),
418            Self::InvalidParameterException(_inner) => _inner.fmt(f),
419            Self::NoManagementAccountSlrExistsException(_inner) => _inner.fmt(f),
420            Self::NotOrganizationMasterAccountException(_inner) => _inner.fmt(f),
421            Self::OperationNotPermittedException(_inner) => _inner.fmt(f),
422            Self::UnsupportedOperationException(_inner) => _inner.fmt(f),
423            Self::Unhandled(_inner) => {
424                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
425                    write!(f, "unhandled error ({code})")
426                } else {
427                    f.write_str("unhandled error")
428                }
429            }
430        }
431    }
432}
433impl ::aws_smithy_types::retry::ProvideErrorKind for StartEventDataStoreIngestionError {
434    fn code(&self) -> ::std::option::Option<&str> {
435        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
436    }
437    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
438        ::std::option::Option::None
439    }
440}
441impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for StartEventDataStoreIngestionError {
442    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
443        match self {
444            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
445            Self::EventDataStoreArnInvalidException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
446            Self::EventDataStoreNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
447            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => {
448                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
449            }
450            Self::InvalidEventDataStoreCategoryException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
451            Self::InvalidEventDataStoreStatusException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
452            Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
453            Self::NoManagementAccountSlrExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
454            Self::NotOrganizationMasterAccountException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
455            Self::OperationNotPermittedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
456            Self::UnsupportedOperationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
457            Self::Unhandled(_inner) => &_inner.meta,
458        }
459    }
460}
461impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for StartEventDataStoreIngestionError {
462    fn create_unhandled_error(
463        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
464        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
465    ) -> Self {
466        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
467            source,
468            meta: meta.unwrap_or_default(),
469        })
470    }
471}
472impl ::aws_types::request_id::RequestId for crate::operation::start_event_data_store_ingestion::StartEventDataStoreIngestionError {
473    fn request_id(&self) -> Option<&str> {
474        self.meta().request_id()
475    }
476}
477
478pub use crate::operation::start_event_data_store_ingestion::_start_event_data_store_ingestion_input::StartEventDataStoreIngestionInput;
479
480pub use crate::operation::start_event_data_store_ingestion::_start_event_data_store_ingestion_output::StartEventDataStoreIngestionOutput;
481
482mod _start_event_data_store_ingestion_input;
483
484mod _start_event_data_store_ingestion_output;
485
486/// Builders
487pub mod builders;