Skip to main content

aws_sdk_lambda/operation/
update_event_source_mapping.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `UpdateEventSourceMapping`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct UpdateEventSourceMapping;
6impl UpdateEventSourceMapping {
7    /// Creates a new `UpdateEventSourceMapping`
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_source_mapping::UpdateEventSourceMappingInput,
14    ) -> ::std::result::Result<
15        crate::operation::update_event_source_mapping::UpdateEventSourceMappingOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::update_event_source_mapping::UpdateEventSourceMappingError,
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_source_mapping::UpdateEventSourceMappingError>()
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_source_mapping::UpdateEventSourceMappingOutput>()
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_source_mapping::UpdateEventSourceMappingInput,
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("Lambda", "UpdateEventSourceMapping", 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                "Lambda.UpdateEventSourceMapping",
59                "rpc.service" = "Lambda",
60                "rpc.method" = "UpdateEventSourceMapping",
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 UpdateEventSourceMapping {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("UpdateEventSourceMapping");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            UpdateEventSourceMappingRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            UpdateEventSourceMappingResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("UpdateEventSourceMapping")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
106            "UpdateEventSourceMapping",
107            "Lambda",
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("UpdateEventSourceMapping")
129            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
130                UpdateEventSourceMappingTelemetryInputCaptureInterceptor,
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                UpdateEventSourceMappingEndpointParamsInterceptor,
137            ))
138            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
139                crate::operation::update_event_source_mapping::UpdateEventSourceMappingError,
140            >::new())
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
142                crate::operation::update_event_source_mapping::UpdateEventSourceMappingError,
143            >::new())
144            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
145                crate::operation::update_event_source_mapping::UpdateEventSourceMappingError,
146            >::new());
147
148        ::std::borrow::Cow::Owned(rcb)
149    }
150}
151
152#[derive(Debug)]
153struct UpdateEventSourceMappingTelemetryInputCaptureInterceptor;
154
155#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
156impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateEventSourceMappingTelemetryInputCaptureInterceptor {
157    fn name(&self) -> &'static str {
158        "UpdateEventSourceMappingTelemetryInputCaptureInterceptor"
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::<UpdateEventSourceMappingInput>() 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("UUID") {
186            if let ::std::option::Option::Some(value) = input.uuid.as_deref() {
187                captured.insert("UUID", value);
188            }
189        }
190        if requested.should_capture("FunctionName") {
191            if let ::std::option::Option::Some(value) = input.function_name.as_deref() {
192                captured.insert("FunctionName", value);
193            }
194        }
195        if requested.should_capture("KMSKeyArn") {
196            if let ::std::option::Option::Some(value) = input.kms_key_arn.as_deref() {
197                captured.insert("KMSKeyArn", value);
198            }
199        }
200
201        cfg.interceptor_state().store_put(captured);
202        ::std::result::Result::Ok(())
203    }
204}
205#[derive(Debug)]
206struct UpdateEventSourceMappingResponseDeserializer;
207impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UpdateEventSourceMappingResponseDeserializer {
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 != 202 || force_error {
220            crate::protocol_serde::shape_update_event_source_mapping::de_update_event_source_mapping_http_error(status, headers, body)
221        } else {
222            crate::protocol_serde::shape_update_event_source_mapping::de_update_event_source_mapping_http_response(status, headers, body)
223        };
224        crate::protocol_serde::type_erase_result(parse_result)
225    }
226}
227#[derive(Debug)]
228struct UpdateEventSourceMappingRequestSerializer;
229impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for UpdateEventSourceMappingRequestSerializer {
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_source_mapping::UpdateEventSourceMappingInput>()
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_source_mapping::UpdateEventSourceMappingInput,
247                output: &mut ::std::string::String,
248            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
249                use ::std::fmt::Write as _;
250                let input_1 = &_input.uuid;
251                let input_1 = input_1
252                    .as_ref()
253                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("uuid", "cannot be empty or unset"))?;
254                let uuid = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
255                if uuid.is_empty() {
256                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
257                        "uuid",
258                        "cannot be empty or unset",
259                    ));
260                }
261                ::std::write!(output, "/2015-03-31/event-source-mappings/{UUID}", UUID = uuid).expect("formatting should succeed");
262                ::std::result::Result::Ok(())
263            }
264            #[allow(clippy::unnecessary_wraps)]
265            fn update_http_builder(
266                input: &crate::operation::update_event_source_mapping::UpdateEventSourceMappingInput,
267                builder: ::http_1x::request::Builder,
268            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
269                let mut uri = ::std::string::String::new();
270                uri_base(input, &mut uri)?;
271                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
272            }
273            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
274            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
275            builder
276        };
277        let body = ::aws_smithy_types::body::SdkBody::from(
278            crate::protocol_serde::shape_update_event_source_mapping::ser_update_event_source_mapping_input(&input)?,
279        );
280        if let Some(content_length) = body.content_length() {
281            let content_length = content_length.to_string();
282            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
283        }
284        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
285    }
286}
287#[derive(Debug)]
288struct UpdateEventSourceMappingEndpointParamsInterceptor;
289
290#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
291impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateEventSourceMappingEndpointParamsInterceptor {
292    fn name(&self) -> &'static str {
293        "UpdateEventSourceMappingEndpointParamsInterceptor"
294    }
295
296    fn read_before_execution(
297        &self,
298        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
299            '_,
300            ::aws_smithy_runtime_api::client::interceptors::context::Input,
301            ::aws_smithy_runtime_api::client::interceptors::context::Output,
302            ::aws_smithy_runtime_api::client::interceptors::context::Error,
303        >,
304        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
305    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
306        let _input = context
307            .input()
308            .downcast_ref::<UpdateEventSourceMappingInput>()
309            .ok_or("failed to downcast to UpdateEventSourceMappingInput")?;
310
311        let params = crate::config::endpoint::Params::builder()
312            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
313            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
314            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
315            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
316            .build()
317            .map_err(|err| {
318                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
319            })?;
320        cfg.interceptor_state()
321            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
322        ::std::result::Result::Ok(())
323    }
324}
325
326// The get_* functions below are generated from JMESPath expressions in the
327// operationContextParams trait. They target the operation's input shape.
328
329/// Error type for the `UpdateEventSourceMappingError` operation.
330#[non_exhaustive]
331#[derive(::std::fmt::Debug)]
332pub enum UpdateEventSourceMappingError {
333    /// <p>One of the parameters in the request is not valid.</p>
334    InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
335    /// <p>The resource already exists, or another operation is in progress.</p>
336    ResourceConflictException(crate::types::error::ResourceConflictException),
337    /// <p>The operation conflicts with the resource's availability. For example, you tried to update an event source mapping in the CREATING state, or you tried to delete an event source mapping currently UPDATING.</p>
338    ResourceInUseException(crate::types::error::ResourceInUseException),
339    /// <p>The resource specified in the request does not exist.</p>
340    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
341    /// <p>The Lambda service encountered an internal error.</p>
342    ServiceException(crate::types::error::ServiceException),
343    /// <p>The request throughput limit was exceeded. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests">Lambda quotas</a>.</p>
344    TooManyRequestsException(crate::types::error::TooManyRequestsException),
345    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
346    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
347    variable wildcard pattern and check `.code()`:
348     \
349    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
350     \
351    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-UpdateEventSourceMappingError) for what information is available for the error.")]
352    Unhandled(crate::error::sealed_unhandled::Unhandled),
353}
354impl UpdateEventSourceMappingError {
355    /// Creates the `UpdateEventSourceMappingError::Unhandled` variant from any error type.
356    pub fn unhandled(
357        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
358    ) -> Self {
359        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
360            source: err.into(),
361            meta: ::std::default::Default::default(),
362        })
363    }
364
365    /// Creates the `UpdateEventSourceMappingError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
366    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
367        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
368            source: err.clone().into(),
369            meta: err,
370        })
371    }
372    ///
373    /// Returns error metadata, which includes the error code, message,
374    /// request ID, and potentially additional information.
375    ///
376    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
377        match self {
378            Self::InvalidParameterValueException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
379            Self::ResourceConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
380            Self::ResourceInUseException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
381            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
382            Self::ServiceException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
383            Self::TooManyRequestsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
384            Self::Unhandled(e) => &e.meta,
385        }
386    }
387    /// Returns `true` if the error kind is `UpdateEventSourceMappingError::InvalidParameterValueException`.
388    pub fn is_invalid_parameter_value_exception(&self) -> bool {
389        matches!(self, Self::InvalidParameterValueException(_))
390    }
391    /// Returns `true` if the error kind is `UpdateEventSourceMappingError::ResourceConflictException`.
392    pub fn is_resource_conflict_exception(&self) -> bool {
393        matches!(self, Self::ResourceConflictException(_))
394    }
395    /// Returns `true` if the error kind is `UpdateEventSourceMappingError::ResourceInUseException`.
396    pub fn is_resource_in_use_exception(&self) -> bool {
397        matches!(self, Self::ResourceInUseException(_))
398    }
399    /// Returns `true` if the error kind is `UpdateEventSourceMappingError::ResourceNotFoundException`.
400    pub fn is_resource_not_found_exception(&self) -> bool {
401        matches!(self, Self::ResourceNotFoundException(_))
402    }
403    /// Returns `true` if the error kind is `UpdateEventSourceMappingError::ServiceException`.
404    pub fn is_service_exception(&self) -> bool {
405        matches!(self, Self::ServiceException(_))
406    }
407    /// Returns `true` if the error kind is `UpdateEventSourceMappingError::TooManyRequestsException`.
408    pub fn is_too_many_requests_exception(&self) -> bool {
409        matches!(self, Self::TooManyRequestsException(_))
410    }
411}
412impl ::std::error::Error for UpdateEventSourceMappingError {
413    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
414        match self {
415            Self::InvalidParameterValueException(_inner) => ::std::option::Option::Some(_inner),
416            Self::ResourceConflictException(_inner) => ::std::option::Option::Some(_inner),
417            Self::ResourceInUseException(_inner) => ::std::option::Option::Some(_inner),
418            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
419            Self::ServiceException(_inner) => ::std::option::Option::Some(_inner),
420            Self::TooManyRequestsException(_inner) => ::std::option::Option::Some(_inner),
421            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
422        }
423    }
424}
425impl ::std::fmt::Display for UpdateEventSourceMappingError {
426    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
427        match self {
428            Self::InvalidParameterValueException(_inner) => _inner.fmt(f),
429            Self::ResourceConflictException(_inner) => _inner.fmt(f),
430            Self::ResourceInUseException(_inner) => _inner.fmt(f),
431            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
432            Self::ServiceException(_inner) => _inner.fmt(f),
433            Self::TooManyRequestsException(_inner) => _inner.fmt(f),
434            Self::Unhandled(_inner) => {
435                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
436                    write!(f, "unhandled error ({code})")
437                } else {
438                    f.write_str("unhandled error")
439                }
440            }
441        }
442    }
443}
444impl ::aws_smithy_types::retry::ProvideErrorKind for UpdateEventSourceMappingError {
445    fn code(&self) -> ::std::option::Option<&str> {
446        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
447    }
448    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
449        ::std::option::Option::None
450    }
451}
452impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for UpdateEventSourceMappingError {
453    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
454        match self {
455            Self::InvalidParameterValueException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
456            Self::ResourceConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
457            Self::ResourceInUseException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
458            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
459            Self::ServiceException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
460            Self::TooManyRequestsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
461            Self::Unhandled(_inner) => &_inner.meta,
462        }
463    }
464}
465impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for UpdateEventSourceMappingError {
466    fn create_unhandled_error(
467        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
468        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
469    ) -> Self {
470        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
471            source,
472            meta: meta.unwrap_or_default(),
473        })
474    }
475}
476impl ::aws_types::request_id::RequestId for crate::operation::update_event_source_mapping::UpdateEventSourceMappingError {
477    fn request_id(&self) -> Option<&str> {
478        self.meta().request_id()
479    }
480}
481
482pub use crate::operation::update_event_source_mapping::_update_event_source_mapping_input::UpdateEventSourceMappingInput;
483
484pub use crate::operation::update_event_source_mapping::_update_event_source_mapping_output::UpdateEventSourceMappingOutput;
485
486mod _update_event_source_mapping_input;
487
488mod _update_event_source_mapping_output;
489
490/// Builders
491pub mod builders;