Skip to main content

aws_sdk_cloudtrail/operation/
update_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 `UpdateEventDataStore`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct UpdateEventDataStore;
6impl UpdateEventDataStore {
7    /// Creates a new `UpdateEventDataStore`
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::update_event_data_store::UpdateEventDataStoreInput,
14    ) -> ::std::result::Result<
15        crate::operation::update_event_data_store::UpdateEventDataStoreOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::update_event_data_store::UpdateEventDataStoreError,
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::update_event_data_store::UpdateEventDataStoreError>()
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::update_event_data_store::UpdateEventDataStoreOutput>()
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::update_event_data_store::UpdateEventDataStoreInput,
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", "UpdateEventDataStore", 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.UpdateEventDataStore",
59                "rpc.service" = "CloudTrail",
60                "rpc.method" = "UpdateEventDataStore",
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 UpdateEventDataStore {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("UpdateEventDataStore");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            UpdateEventDataStoreRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            UpdateEventDataStoreResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("UpdateEventDataStore")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
106            "UpdateEventDataStore",
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("UpdateEventDataStore")
129            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
130                UpdateEventDataStoreTelemetryInputCaptureInterceptor,
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                UpdateEventDataStoreEndpointParamsInterceptor,
137            ))
138            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
139                crate::operation::update_event_data_store::UpdateEventDataStoreError,
140            >::new())
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
142                crate::operation::update_event_data_store::UpdateEventDataStoreError,
143            >::new())
144            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
145                crate::operation::update_event_data_store::UpdateEventDataStoreError,
146            >::new());
147
148        ::std::borrow::Cow::Owned(rcb)
149    }
150}
151
152#[derive(Debug)]
153struct UpdateEventDataStoreTelemetryInputCaptureInterceptor;
154
155#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
156impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateEventDataStoreTelemetryInputCaptureInterceptor {
157    fn name(&self) -> &'static str {
158        "UpdateEventDataStoreTelemetryInputCaptureInterceptor"
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::<UpdateEventDataStoreInput>() 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        if requested.should_capture("Name") {
191            if let ::std::option::Option::Some(value) = input.name.as_deref() {
192                captured.insert("Name", value);
193            }
194        }
195        if requested.should_capture("KmsKeyId") {
196            if let ::std::option::Option::Some(value) = input.kms_key_id.as_deref() {
197                captured.insert("KmsKeyId", value);
198            }
199        }
200
201        cfg.interceptor_state().store_put(captured);
202        ::std::result::Result::Ok(())
203    }
204}
205#[derive(Debug)]
206struct UpdateEventDataStoreResponseDeserializer;
207impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UpdateEventDataStoreResponseDeserializer {
208    fn deserialize_nonstreaming_with_config(
209        &self,
210        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
211        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
212    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
213        let (success, status) = (response.status().is_success(), response.status().as_u16());
214        let headers = response.headers();
215        let body = response.body().bytes().expect("body loaded");
216        #[allow(unused_mut)]
217        let mut force_error = false;
218        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
219        let parse_result = if !success && status != 200 || force_error {
220            crate::protocol_serde::shape_update_event_data_store::de_update_event_data_store_http_error(status, headers, body)
221        } else {
222            crate::protocol_serde::shape_update_event_data_store::de_update_event_data_store_http_response(status, headers, body)
223        };
224        crate::protocol_serde::type_erase_result(parse_result)
225    }
226}
227#[derive(Debug)]
228struct UpdateEventDataStoreRequestSerializer;
229impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for UpdateEventDataStoreRequestSerializer {
230    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
231    fn serialize_input(
232        &self,
233        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
234        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
235    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
236        let input = input
237            .downcast::<crate::operation::update_event_data_store::UpdateEventDataStoreInput>()
238            .expect("correct type");
239        let _header_serialization_settings = _cfg
240            .load::<crate::serialization_settings::HeaderSerializationSettings>()
241            .cloned()
242            .unwrap_or_default();
243        let mut request_builder = {
244            #[allow(clippy::uninlined_format_args)]
245            fn uri_base(
246                _input: &crate::operation::update_event_data_store::UpdateEventDataStoreInput,
247                output: &mut ::std::string::String,
248            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
249                use ::std::fmt::Write as _;
250                ::std::write!(output, "/").expect("formatting should succeed");
251                ::std::result::Result::Ok(())
252            }
253            #[allow(clippy::unnecessary_wraps)]
254            fn update_http_builder(
255                input: &crate::operation::update_event_data_store::UpdateEventDataStoreInput,
256                builder: ::http_1x::request::Builder,
257            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
258                let mut uri = ::std::string::String::new();
259                uri_base(input, &mut uri)?;
260                ::std::result::Result::Ok(builder.method("POST").uri(uri))
261            }
262            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
263            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
264            builder = _header_serialization_settings.set_default_header(
265                builder,
266                ::http_1x::header::HeaderName::from_static("x-amz-target"),
267                "CloudTrail_20131101.UpdateEventDataStore",
268            );
269            builder
270        };
271        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_update_event_data_store::ser_update_event_data_store_input(
272            &input,
273        )?);
274        if let Some(content_length) = body.content_length() {
275            let content_length = content_length.to_string();
276            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
277        }
278        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
279    }
280}
281#[derive(Debug)]
282struct UpdateEventDataStoreEndpointParamsInterceptor;
283
284#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
285impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateEventDataStoreEndpointParamsInterceptor {
286    fn name(&self) -> &'static str {
287        "UpdateEventDataStoreEndpointParamsInterceptor"
288    }
289
290    fn read_before_execution(
291        &self,
292        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
293            '_,
294            ::aws_smithy_runtime_api::client::interceptors::context::Input,
295            ::aws_smithy_runtime_api::client::interceptors::context::Output,
296            ::aws_smithy_runtime_api::client::interceptors::context::Error,
297        >,
298        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
299    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
300        let _input = context
301            .input()
302            .downcast_ref::<UpdateEventDataStoreInput>()
303            .ok_or("failed to downcast to UpdateEventDataStoreInput")?;
304
305        let params = crate::config::endpoint::Params::builder()
306            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
307            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
308            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
309            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
310            .build()
311            .map_err(|err| {
312                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
313            })?;
314        cfg.interceptor_state()
315            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
316        ::std::result::Result::Ok(())
317    }
318}
319
320// The get_* functions below are generated from JMESPath expressions in the
321// operationContextParams trait. They target the operation's input shape.
322
323/// Error type for the `UpdateEventDataStoreError` operation.
324#[non_exhaustive]
325#[derive(::std::fmt::Debug)]
326pub enum UpdateEventDataStoreError {
327    /// <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>
328    CloudTrailAccessNotEnabledException(crate::types::error::CloudTrailAccessNotEnabledException),
329    /// <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>
330    ConflictException(crate::types::error::ConflictException),
331    /// <p>An event data store with that name already exists.</p>
332    EventDataStoreAlreadyExistsException(crate::types::error::EventDataStoreAlreadyExistsException),
333    /// <p>The specified event data store ARN is not valid or does not map to an event data store in your account.</p>
334    EventDataStoreArnInvalidException(crate::types::error::EventDataStoreArnInvalidException),
335    /// <p>This exception is thrown when you try to update or delete an event data store that currently has an import in progress.</p>
336    EventDataStoreHasOngoingImportException(crate::types::error::EventDataStoreHasOngoingImportException),
337    /// <p>The specified event data store was not found.</p>
338    EventDataStoreNotFoundException(crate::types::error::EventDataStoreNotFoundException),
339    /// <p>The event data store is inactive.</p>
340    InactiveEventDataStoreException(crate::types::error::InactiveEventDataStoreException),
341    /// <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>
342    InsufficientDependencyServiceAccessPermissionException(crate::types::error::InsufficientDependencyServiceAccessPermissionException),
343    /// <p>For the <code>CreateTrail</code> <code>PutInsightSelectors</code>, <code>UpdateTrail</code>, <code>StartQuery</code>, and <code>StartImport</code> operations, this exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions for the operation.</p>
344    /// <p>For all other operations, this exception is thrown when the policy for the KMS key does not have sufficient permissions for the operation.</p>
345    InsufficientEncryptionPolicyException(crate::types::error::InsufficientEncryptionPolicyException),
346    /// <p>This exception is thrown when the <code>PutEventSelectors</code> operation is called with a number of event selectors, advanced event selectors, or data resources that is not valid. The combination of event selectors or advanced event selectors and data resources is not valid. A trail can have up to 5 event selectors. If a trail uses advanced event selectors, a maximum of 500 total values for all conditions in all advanced event selectors is allowed. A trail is limited to 250 data resources. These data resources can be distributed across event selectors, but the overall total cannot exceed 250.</p>
347    /// <p>You can:</p>
348    /// <ul>
349    /// <li>
350    /// <p>Specify a valid number of event selectors (1 to 5) for a trail.</p></li>
351    /// <li>
352    /// <p>Specify a valid number of data resources (1 to 250) for an event selector. The limit of number of resources on an individual event selector is configurable up to 250. However, this upper limit is allowed only if the total number of data resources does not exceed 250 across all event selectors for a trail.</p></li>
353    /// <li>
354    /// <p>Specify up to 500 values for all conditions in all advanced event selectors for a trail.</p></li>
355    /// <li>
356    /// <p>Specify a valid value for a parameter. For example, specifying the <code>ReadWriteType</code> parameter with a value of <code>read-only</code> is not valid.</p></li>
357    /// </ul>
358    InvalidEventSelectorsException(crate::types::error::InvalidEventSelectorsException),
359    /// <p>For <code>PutInsightSelectors</code>, this exception is thrown when the formatting or syntax of the <code>InsightSelectors</code> JSON statement is not valid, or the specified <code>InsightType</code> in the <code>InsightSelectors</code> statement is not valid. Valid values for <code>InsightType</code> are <code>ApiCallRateInsight</code> and <code>ApiErrorRateInsight</code>. To enable Insights on an event data store, the destination event data store specified by the <code>InsightsDestination</code> parameter must log Insights events and the source event data store specified by the <code>EventDataStore</code> parameter must log management events.</p>
360    /// <p>For <code>UpdateEventDataStore</code>, this exception is thrown if Insights are enabled on the event data store and the updated advanced event selectors are not compatible with the configured <code>InsightSelectors</code>. If the <code>InsightSelectors</code> includes an <code>InsightType</code> of <code>ApiCallRateInsight</code>, the source event data store must log <code>write</code> management events. If the <code>InsightSelectors</code> includes an <code>InsightType</code> of <code>ApiErrorRateInsight</code>, the source event data store must log management events.</p>
361    InvalidInsightSelectorsException(crate::types::error::InvalidInsightSelectorsException),
362    /// <p>This exception is thrown when the KMS key ARN is not valid.</p>
363    InvalidKmsKeyIdException(crate::types::error::InvalidKmsKeyIdException),
364    /// <p>The request includes a parameter that is not valid.</p>
365    InvalidParameterException(crate::types::error::InvalidParameterException),
366    /// <p>This exception is thrown when there is an issue with the specified KMS key and the trail or event data store can't be updated.</p>
367    KmsException(crate::types::error::KmsException),
368    /// <p>This exception is thrown when the KMS key does not exist, when the S3 bucket and the KMS key are not in the same Region, or when the KMS key associated with the Amazon SNS topic either does not exist or is not in the same Region.</p>
369    KmsKeyNotFoundException(crate::types::error::KmsKeyNotFoundException),
370    /// <p>This exception is thrown when the management account does not have a service-linked role.</p>
371    NoManagementAccountSlrExistsException(crate::types::error::NoManagementAccountSlrExistsException),
372    /// <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>
373    NotOrganizationMasterAccountException(crate::types::error::NotOrganizationMasterAccountException),
374    /// <p>This exception is thrown when the requested operation is not permitted.</p>
375    OperationNotPermittedException(crate::types::error::OperationNotPermittedException),
376    /// <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>
377    OrganizationNotInAllFeaturesModeException(crate::types::error::OrganizationNotInAllFeaturesModeException),
378    /// <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>
379    OrganizationsNotInUseException(crate::types::error::OrganizationsNotInUseException),
380    /// <p>This exception is thrown when the request rate exceeds the limit.</p>
381    ThrottlingException(crate::types::error::ThrottlingException),
382    /// <p>This exception is thrown when the requested operation is not supported.</p>
383    UnsupportedOperationException(crate::types::error::UnsupportedOperationException),
384    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
385    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
386    variable wildcard pattern and check `.code()`:
387     \
388    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
389     \
390    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-UpdateEventDataStoreError) for what information is available for the error.")]
391    Unhandled(crate::error::sealed_unhandled::Unhandled),
392}
393impl UpdateEventDataStoreError {
394    /// Creates the `UpdateEventDataStoreError::Unhandled` variant from any error type.
395    pub fn unhandled(
396        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
397    ) -> Self {
398        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
399            source: err.into(),
400            meta: ::std::default::Default::default(),
401        })
402    }
403
404    /// Creates the `UpdateEventDataStoreError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
405    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
406        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
407            source: err.clone().into(),
408            meta: err,
409        })
410    }
411    ///
412    /// Returns error metadata, which includes the error code, message,
413    /// request ID, and potentially additional information.
414    ///
415    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
416        match self {
417            Self::CloudTrailAccessNotEnabledException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
418            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
419            Self::EventDataStoreAlreadyExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
420            Self::EventDataStoreArnInvalidException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
421            Self::EventDataStoreHasOngoingImportException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
422            Self::EventDataStoreNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
423            Self::InactiveEventDataStoreException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
424            Self::InsufficientDependencyServiceAccessPermissionException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
425            Self::InsufficientEncryptionPolicyException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
426            Self::InvalidEventSelectorsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
427            Self::InvalidInsightSelectorsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
428            Self::InvalidKmsKeyIdException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
429            Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
430            Self::KmsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
431            Self::KmsKeyNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
432            Self::NoManagementAccountSlrExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
433            Self::NotOrganizationMasterAccountException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
434            Self::OperationNotPermittedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
435            Self::OrganizationNotInAllFeaturesModeException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
436            Self::OrganizationsNotInUseException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
437            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
438            Self::UnsupportedOperationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
439            Self::Unhandled(e) => &e.meta,
440        }
441    }
442    /// Returns `true` if the error kind is `UpdateEventDataStoreError::CloudTrailAccessNotEnabledException`.
443    pub fn is_cloud_trail_access_not_enabled_exception(&self) -> bool {
444        matches!(self, Self::CloudTrailAccessNotEnabledException(_))
445    }
446    /// Returns `true` if the error kind is `UpdateEventDataStoreError::ConflictException`.
447    pub fn is_conflict_exception(&self) -> bool {
448        matches!(self, Self::ConflictException(_))
449    }
450    /// Returns `true` if the error kind is `UpdateEventDataStoreError::EventDataStoreAlreadyExistsException`.
451    pub fn is_event_data_store_already_exists_exception(&self) -> bool {
452        matches!(self, Self::EventDataStoreAlreadyExistsException(_))
453    }
454    /// Returns `true` if the error kind is `UpdateEventDataStoreError::EventDataStoreArnInvalidException`.
455    pub fn is_event_data_store_arn_invalid_exception(&self) -> bool {
456        matches!(self, Self::EventDataStoreArnInvalidException(_))
457    }
458    /// Returns `true` if the error kind is `UpdateEventDataStoreError::EventDataStoreHasOngoingImportException`.
459    pub fn is_event_data_store_has_ongoing_import_exception(&self) -> bool {
460        matches!(self, Self::EventDataStoreHasOngoingImportException(_))
461    }
462    /// Returns `true` if the error kind is `UpdateEventDataStoreError::EventDataStoreNotFoundException`.
463    pub fn is_event_data_store_not_found_exception(&self) -> bool {
464        matches!(self, Self::EventDataStoreNotFoundException(_))
465    }
466    /// Returns `true` if the error kind is `UpdateEventDataStoreError::InactiveEventDataStoreException`.
467    pub fn is_inactive_event_data_store_exception(&self) -> bool {
468        matches!(self, Self::InactiveEventDataStoreException(_))
469    }
470    /// Returns `true` if the error kind is `UpdateEventDataStoreError::InsufficientDependencyServiceAccessPermissionException`.
471    pub fn is_insufficient_dependency_service_access_permission_exception(&self) -> bool {
472        matches!(self, Self::InsufficientDependencyServiceAccessPermissionException(_))
473    }
474    /// Returns `true` if the error kind is `UpdateEventDataStoreError::InsufficientEncryptionPolicyException`.
475    pub fn is_insufficient_encryption_policy_exception(&self) -> bool {
476        matches!(self, Self::InsufficientEncryptionPolicyException(_))
477    }
478    /// Returns `true` if the error kind is `UpdateEventDataStoreError::InvalidEventSelectorsException`.
479    pub fn is_invalid_event_selectors_exception(&self) -> bool {
480        matches!(self, Self::InvalidEventSelectorsException(_))
481    }
482    /// Returns `true` if the error kind is `UpdateEventDataStoreError::InvalidInsightSelectorsException`.
483    pub fn is_invalid_insight_selectors_exception(&self) -> bool {
484        matches!(self, Self::InvalidInsightSelectorsException(_))
485    }
486    /// Returns `true` if the error kind is `UpdateEventDataStoreError::InvalidKmsKeyIdException`.
487    pub fn is_invalid_kms_key_id_exception(&self) -> bool {
488        matches!(self, Self::InvalidKmsKeyIdException(_))
489    }
490    /// Returns `true` if the error kind is `UpdateEventDataStoreError::InvalidParameterException`.
491    pub fn is_invalid_parameter_exception(&self) -> bool {
492        matches!(self, Self::InvalidParameterException(_))
493    }
494    /// Returns `true` if the error kind is `UpdateEventDataStoreError::KmsException`.
495    pub fn is_kms_exception(&self) -> bool {
496        matches!(self, Self::KmsException(_))
497    }
498    /// Returns `true` if the error kind is `UpdateEventDataStoreError::KmsKeyNotFoundException`.
499    pub fn is_kms_key_not_found_exception(&self) -> bool {
500        matches!(self, Self::KmsKeyNotFoundException(_))
501    }
502    /// Returns `true` if the error kind is `UpdateEventDataStoreError::NoManagementAccountSlrExistsException`.
503    pub fn is_no_management_account_slr_exists_exception(&self) -> bool {
504        matches!(self, Self::NoManagementAccountSlrExistsException(_))
505    }
506    /// Returns `true` if the error kind is `UpdateEventDataStoreError::NotOrganizationMasterAccountException`.
507    pub fn is_not_organization_master_account_exception(&self) -> bool {
508        matches!(self, Self::NotOrganizationMasterAccountException(_))
509    }
510    /// Returns `true` if the error kind is `UpdateEventDataStoreError::OperationNotPermittedException`.
511    pub fn is_operation_not_permitted_exception(&self) -> bool {
512        matches!(self, Self::OperationNotPermittedException(_))
513    }
514    /// Returns `true` if the error kind is `UpdateEventDataStoreError::OrganizationNotInAllFeaturesModeException`.
515    pub fn is_organization_not_in_all_features_mode_exception(&self) -> bool {
516        matches!(self, Self::OrganizationNotInAllFeaturesModeException(_))
517    }
518    /// Returns `true` if the error kind is `UpdateEventDataStoreError::OrganizationsNotInUseException`.
519    pub fn is_organizations_not_in_use_exception(&self) -> bool {
520        matches!(self, Self::OrganizationsNotInUseException(_))
521    }
522    /// Returns `true` if the error kind is `UpdateEventDataStoreError::ThrottlingException`.
523    pub fn is_throttling_exception(&self) -> bool {
524        matches!(self, Self::ThrottlingException(_))
525    }
526    /// Returns `true` if the error kind is `UpdateEventDataStoreError::UnsupportedOperationException`.
527    pub fn is_unsupported_operation_exception(&self) -> bool {
528        matches!(self, Self::UnsupportedOperationException(_))
529    }
530}
531impl ::std::error::Error for UpdateEventDataStoreError {
532    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
533        match self {
534            Self::CloudTrailAccessNotEnabledException(_inner) => ::std::option::Option::Some(_inner),
535            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
536            Self::EventDataStoreAlreadyExistsException(_inner) => ::std::option::Option::Some(_inner),
537            Self::EventDataStoreArnInvalidException(_inner) => ::std::option::Option::Some(_inner),
538            Self::EventDataStoreHasOngoingImportException(_inner) => ::std::option::Option::Some(_inner),
539            Self::EventDataStoreNotFoundException(_inner) => ::std::option::Option::Some(_inner),
540            Self::InactiveEventDataStoreException(_inner) => ::std::option::Option::Some(_inner),
541            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => ::std::option::Option::Some(_inner),
542            Self::InsufficientEncryptionPolicyException(_inner) => ::std::option::Option::Some(_inner),
543            Self::InvalidEventSelectorsException(_inner) => ::std::option::Option::Some(_inner),
544            Self::InvalidInsightSelectorsException(_inner) => ::std::option::Option::Some(_inner),
545            Self::InvalidKmsKeyIdException(_inner) => ::std::option::Option::Some(_inner),
546            Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner),
547            Self::KmsException(_inner) => ::std::option::Option::Some(_inner),
548            Self::KmsKeyNotFoundException(_inner) => ::std::option::Option::Some(_inner),
549            Self::NoManagementAccountSlrExistsException(_inner) => ::std::option::Option::Some(_inner),
550            Self::NotOrganizationMasterAccountException(_inner) => ::std::option::Option::Some(_inner),
551            Self::OperationNotPermittedException(_inner) => ::std::option::Option::Some(_inner),
552            Self::OrganizationNotInAllFeaturesModeException(_inner) => ::std::option::Option::Some(_inner),
553            Self::OrganizationsNotInUseException(_inner) => ::std::option::Option::Some(_inner),
554            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
555            Self::UnsupportedOperationException(_inner) => ::std::option::Option::Some(_inner),
556            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
557        }
558    }
559}
560impl ::std::fmt::Display for UpdateEventDataStoreError {
561    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
562        match self {
563            Self::CloudTrailAccessNotEnabledException(_inner) => _inner.fmt(f),
564            Self::ConflictException(_inner) => _inner.fmt(f),
565            Self::EventDataStoreAlreadyExistsException(_inner) => _inner.fmt(f),
566            Self::EventDataStoreArnInvalidException(_inner) => _inner.fmt(f),
567            Self::EventDataStoreHasOngoingImportException(_inner) => _inner.fmt(f),
568            Self::EventDataStoreNotFoundException(_inner) => _inner.fmt(f),
569            Self::InactiveEventDataStoreException(_inner) => _inner.fmt(f),
570            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => _inner.fmt(f),
571            Self::InsufficientEncryptionPolicyException(_inner) => _inner.fmt(f),
572            Self::InvalidEventSelectorsException(_inner) => _inner.fmt(f),
573            Self::InvalidInsightSelectorsException(_inner) => _inner.fmt(f),
574            Self::InvalidKmsKeyIdException(_inner) => _inner.fmt(f),
575            Self::InvalidParameterException(_inner) => _inner.fmt(f),
576            Self::KmsException(_inner) => _inner.fmt(f),
577            Self::KmsKeyNotFoundException(_inner) => _inner.fmt(f),
578            Self::NoManagementAccountSlrExistsException(_inner) => _inner.fmt(f),
579            Self::NotOrganizationMasterAccountException(_inner) => _inner.fmt(f),
580            Self::OperationNotPermittedException(_inner) => _inner.fmt(f),
581            Self::OrganizationNotInAllFeaturesModeException(_inner) => _inner.fmt(f),
582            Self::OrganizationsNotInUseException(_inner) => _inner.fmt(f),
583            Self::ThrottlingException(_inner) => _inner.fmt(f),
584            Self::UnsupportedOperationException(_inner) => _inner.fmt(f),
585            Self::Unhandled(_inner) => {
586                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
587                    write!(f, "unhandled error ({code})")
588                } else {
589                    f.write_str("unhandled error")
590                }
591            }
592        }
593    }
594}
595impl ::aws_smithy_types::retry::ProvideErrorKind for UpdateEventDataStoreError {
596    fn code(&self) -> ::std::option::Option<&str> {
597        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
598    }
599    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
600        ::std::option::Option::None
601    }
602}
603impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for UpdateEventDataStoreError {
604    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
605        match self {
606            Self::CloudTrailAccessNotEnabledException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
607            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
608            Self::EventDataStoreAlreadyExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
609            Self::EventDataStoreArnInvalidException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
610            Self::EventDataStoreHasOngoingImportException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
611            Self::EventDataStoreNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
612            Self::InactiveEventDataStoreException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
613            Self::InsufficientDependencyServiceAccessPermissionException(_inner) => {
614                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
615            }
616            Self::InsufficientEncryptionPolicyException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
617            Self::InvalidEventSelectorsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
618            Self::InvalidInsightSelectorsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
619            Self::InvalidKmsKeyIdException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
620            Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
621            Self::KmsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
622            Self::KmsKeyNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
623            Self::NoManagementAccountSlrExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
624            Self::NotOrganizationMasterAccountException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
625            Self::OperationNotPermittedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
626            Self::OrganizationNotInAllFeaturesModeException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
627            Self::OrganizationsNotInUseException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
628            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
629            Self::UnsupportedOperationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
630            Self::Unhandled(_inner) => &_inner.meta,
631        }
632    }
633}
634impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for UpdateEventDataStoreError {
635    fn create_unhandled_error(
636        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
637        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
638    ) -> Self {
639        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
640            source,
641            meta: meta.unwrap_or_default(),
642        })
643    }
644}
645impl ::aws_types::request_id::RequestId for crate::operation::update_event_data_store::UpdateEventDataStoreError {
646    fn request_id(&self) -> Option<&str> {
647        self.meta().request_id()
648    }
649}
650
651pub use crate::operation::update_event_data_store::_update_event_data_store_input::UpdateEventDataStoreInput;
652
653pub use crate::operation::update_event_data_store::_update_event_data_store_output::UpdateEventDataStoreOutput;
654
655mod _update_event_data_store_input;
656
657mod _update_event_data_store_output;
658
659/// Builders
660pub mod builders;