Skip to main content

aws_sdk_lambda/operation/create_event_source_mapping/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_event_source_mapping::_create_event_source_mapping_input::CreateEventSourceMappingInputBuilder;
3
4pub use crate::operation::create_event_source_mapping::_create_event_source_mapping_output::CreateEventSourceMappingOutputBuilder;
5
6impl crate::operation::create_event_source_mapping::builders::CreateEventSourceMappingInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::create_event_source_mapping::CreateEventSourceMappingOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_event_source_mapping::CreateEventSourceMappingError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_event_source_mapping();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateEventSourceMapping`.
24///
25/// <p>Creates a mapping between an event source and an Lambda Event Function. Lambda reads items from the event source and invokes the function.</p>
26/// <p>For details about how to configure different event sources, see the following topics.</p>
27/// <ul>
28/// <li>
29/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping"> Amazon DynamoDB Streams</a></p></li>
30/// <li>
31/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping"> Amazon Kinesis</a></p></li>
32/// <li>
33/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource"> Amazon SQS</a></p></li>
34/// <li>
35/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping"> Amazon MQ and RabbitMQ</a></p></li>
36/// <li>
37/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html"> Amazon MSK</a></p></li>
38/// <li>
39/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html"> Apache Kafka</a></p></li>
40/// <li>
41/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html"> Amazon DocumentDB</a></p></li>
42/// </ul>
43/// <p>The following error handling options are available for stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka):</p>
44/// <ul>
45/// <li>
46/// <p><code>BisectBatchOnFunctionError</code> – If the function returns an error, split the batch in two and retry.</p></li>
47/// <li>
48/// <p><code>MaximumRecordAgeInSeconds</code> – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires</p></li>
49/// <li>
50/// <p><code>MaximumRetryAttempts</code> – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.</p></li>
51/// <li>
52/// <p><code>OnFailure</code> – Send discarded records to an Amazon SQS queue, Amazon SNS topic, Kafka topic, or Amazon S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-async-destinations">Adding a destination</a>.</p></li>
53/// </ul>
54/// <p>The following option is available only for DynamoDB and Kinesis event sources:</p>
55/// <ul>
56/// <li>
57/// <p><code>ParallelizationFactor</code> – Process multiple batches from each shard concurrently.</p></li>
58/// </ul>
59/// <p>For information about which configuration parameters apply to each event source, see the following topics.</p>
60/// <ul>
61/// <li>
62/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-params"> Amazon DynamoDB Streams</a></p></li>
63/// <li>
64/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-params"> Amazon Kinesis</a></p></li>
65/// <li>
66/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-params"> Amazon SQS</a></p></li>
67/// <li>
68/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-params"> Amazon MQ and RabbitMQ</a></p></li>
69/// <li>
70/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-parms"> Amazon MSK</a></p></li>
71/// <li>
72/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-kafka-parms"> Apache Kafka</a></p></li>
73/// <li>
74/// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html#docdb-configuration"> Amazon DocumentDB</a></p></li>
75/// </ul>
76#[derive(::std::clone::Clone, ::std::fmt::Debug)]
77pub struct CreateEventSourceMappingFluentBuilder {
78    handle: ::std::sync::Arc<crate::client::Handle>,
79    inner: crate::operation::create_event_source_mapping::builders::CreateEventSourceMappingInputBuilder,
80    config_override: ::std::option::Option<crate::config::Builder>,
81}
82impl
83    crate::client::customize::internal::CustomizableSend<
84        crate::operation::create_event_source_mapping::CreateEventSourceMappingOutput,
85        crate::operation::create_event_source_mapping::CreateEventSourceMappingError,
86    > for CreateEventSourceMappingFluentBuilder
87{
88    fn send(
89        self,
90        config_override: crate::config::Builder,
91    ) -> crate::client::customize::internal::BoxFuture<
92        crate::client::customize::internal::SendResult<
93            crate::operation::create_event_source_mapping::CreateEventSourceMappingOutput,
94            crate::operation::create_event_source_mapping::CreateEventSourceMappingError,
95        >,
96    > {
97        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
98    }
99}
100impl CreateEventSourceMappingFluentBuilder {
101    /// Creates a new `CreateEventSourceMappingFluentBuilder`.
102    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
103        Self {
104            handle,
105            inner: ::std::default::Default::default(),
106            config_override: ::std::option::Option::None,
107        }
108    }
109    /// Access the CreateEventSourceMapping as a reference.
110    pub fn as_input(&self) -> &crate::operation::create_event_source_mapping::builders::CreateEventSourceMappingInputBuilder {
111        &self.inner
112    }
113    /// Sends the request and returns the response.
114    ///
115    /// If an error occurs, an `SdkError` will be returned with additional details that
116    /// can be matched against.
117    ///
118    /// By default, any retryable failures will be retried twice. Retry behavior
119    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
120    /// set when configuring the client.
121    pub async fn send(
122        self,
123    ) -> ::std::result::Result<
124        crate::operation::create_event_source_mapping::CreateEventSourceMappingOutput,
125        ::aws_smithy_runtime_api::client::result::SdkError<
126            crate::operation::create_event_source_mapping::CreateEventSourceMappingError,
127            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
128        >,
129    > {
130        let input = self
131            .inner
132            .build()
133            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
134        let runtime_plugins = crate::operation::create_event_source_mapping::CreateEventSourceMapping::operation_runtime_plugins(
135            self.handle.runtime_plugins.clone(),
136            &self.handle.conf,
137            self.config_override,
138        );
139        crate::operation::create_event_source_mapping::CreateEventSourceMapping::orchestrate(&runtime_plugins, input).await
140    }
141
142    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
143    pub fn customize(
144        self,
145    ) -> crate::client::customize::CustomizableOperation<
146        crate::operation::create_event_source_mapping::CreateEventSourceMappingOutput,
147        crate::operation::create_event_source_mapping::CreateEventSourceMappingError,
148        Self,
149    > {
150        crate::client::customize::CustomizableOperation::new(self)
151    }
152    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
153        self.set_config_override(::std::option::Option::Some(config_override.into()));
154        self
155    }
156
157    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
158        self.config_override = config_override;
159        self
160    }
161    /// <p>The Amazon Resource Name (ARN) of the event source.</p>
162    /// <ul>
163    /// <li>
164    /// <p><b>Amazon Kinesis</b> – The ARN of the data stream or a stream consumer.</p></li>
165    /// <li>
166    /// <p><b>Amazon DynamoDB Streams</b> – The ARN of the stream.</p></li>
167    /// <li>
168    /// <p><b>Amazon Simple Queue Service</b> – The ARN of the queue.</p></li>
169    /// <li>
170    /// <p><b>Amazon Managed Streaming for Apache Kafka</b> – The ARN of the cluster or the ARN of the VPC connection (for <a href="https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc">cross-account event source mappings</a>).</p></li>
171    /// <li>
172    /// <p><b>Amazon MQ</b> – The ARN of the broker.</p></li>
173    /// <li>
174    /// <p><b>Amazon DocumentDB</b> – The ARN of the DocumentDB change stream.</p></li>
175    /// </ul>
176    pub fn event_source_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
177        self.inner = self.inner.event_source_arn(input.into());
178        self
179    }
180    /// <p>The Amazon Resource Name (ARN) of the event source.</p>
181    /// <ul>
182    /// <li>
183    /// <p><b>Amazon Kinesis</b> – The ARN of the data stream or a stream consumer.</p></li>
184    /// <li>
185    /// <p><b>Amazon DynamoDB Streams</b> – The ARN of the stream.</p></li>
186    /// <li>
187    /// <p><b>Amazon Simple Queue Service</b> – The ARN of the queue.</p></li>
188    /// <li>
189    /// <p><b>Amazon Managed Streaming for Apache Kafka</b> – The ARN of the cluster or the ARN of the VPC connection (for <a href="https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc">cross-account event source mappings</a>).</p></li>
190    /// <li>
191    /// <p><b>Amazon MQ</b> – The ARN of the broker.</p></li>
192    /// <li>
193    /// <p><b>Amazon DocumentDB</b> – The ARN of the DocumentDB change stream.</p></li>
194    /// </ul>
195    pub fn set_event_source_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
196        self.inner = self.inner.set_event_source_arn(input);
197        self
198    }
199    /// <p>The Amazon Resource Name (ARN) of the event source.</p>
200    /// <ul>
201    /// <li>
202    /// <p><b>Amazon Kinesis</b> – The ARN of the data stream or a stream consumer.</p></li>
203    /// <li>
204    /// <p><b>Amazon DynamoDB Streams</b> – The ARN of the stream.</p></li>
205    /// <li>
206    /// <p><b>Amazon Simple Queue Service</b> – The ARN of the queue.</p></li>
207    /// <li>
208    /// <p><b>Amazon Managed Streaming for Apache Kafka</b> – The ARN of the cluster or the ARN of the VPC connection (for <a href="https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc">cross-account event source mappings</a>).</p></li>
209    /// <li>
210    /// <p><b>Amazon MQ</b> – The ARN of the broker.</p></li>
211    /// <li>
212    /// <p><b>Amazon DocumentDB</b> – The ARN of the DocumentDB change stream.</p></li>
213    /// </ul>
214    pub fn get_event_source_arn(&self) -> &::std::option::Option<::std::string::String> {
215        self.inner.get_event_source_arn()
216    }
217    /// <p>The name or ARN of the Lambda function.</p>
218    /// <p class="title"><b>Name formats</b></p>
219    /// <ul>
220    /// <li>
221    /// <p><b>Function name</b> – <code>MyFunction</code>.</p></li>
222    /// <li>
223    /// <p><b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:MyFunction</code>.</p></li>
224    /// <li>
225    /// <p><b>Version or Alias ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD</code>.</p></li>
226    /// <li>
227    /// <p><b>Partial ARN</b> – <code>123456789012:function:MyFunction</code>.</p></li>
228    /// </ul>
229    /// <p>The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.</p>
230    pub fn function_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
231        self.inner = self.inner.function_name(input.into());
232        self
233    }
234    /// <p>The name or ARN of the Lambda function.</p>
235    /// <p class="title"><b>Name formats</b></p>
236    /// <ul>
237    /// <li>
238    /// <p><b>Function name</b> – <code>MyFunction</code>.</p></li>
239    /// <li>
240    /// <p><b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:MyFunction</code>.</p></li>
241    /// <li>
242    /// <p><b>Version or Alias ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD</code>.</p></li>
243    /// <li>
244    /// <p><b>Partial ARN</b> – <code>123456789012:function:MyFunction</code>.</p></li>
245    /// </ul>
246    /// <p>The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.</p>
247    pub fn set_function_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
248        self.inner = self.inner.set_function_name(input);
249        self
250    }
251    /// <p>The name or ARN of the Lambda function.</p>
252    /// <p class="title"><b>Name formats</b></p>
253    /// <ul>
254    /// <li>
255    /// <p><b>Function name</b> – <code>MyFunction</code>.</p></li>
256    /// <li>
257    /// <p><b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:MyFunction</code>.</p></li>
258    /// <li>
259    /// <p><b>Version or Alias ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD</code>.</p></li>
260    /// <li>
261    /// <p><b>Partial ARN</b> – <code>123456789012:function:MyFunction</code>.</p></li>
262    /// </ul>
263    /// <p>The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.</p>
264    pub fn get_function_name(&self) -> &::std::option::Option<::std::string::String> {
265        self.inner.get_function_name()
266    }
267    /// <p>When true, the event source mapping is active. When false, Lambda pauses polling and invocation.</p>
268    /// <p>Default: True</p>
269    pub fn enabled(mut self, input: bool) -> Self {
270        self.inner = self.inner.enabled(input);
271        self
272    }
273    /// <p>When true, the event source mapping is active. When false, Lambda pauses polling and invocation.</p>
274    /// <p>Default: True</p>
275    pub fn set_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
276        self.inner = self.inner.set_enabled(input);
277        self
278    }
279    /// <p>When true, the event source mapping is active. When false, Lambda pauses polling and invocation.</p>
280    /// <p>Default: True</p>
281    pub fn get_enabled(&self) -> &::std::option::Option<bool> {
282        self.inner.get_enabled()
283    }
284    /// <p>The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).</p>
285    /// <ul>
286    /// <li>
287    /// <p><b>Amazon Kinesis</b> – Default 100. Max 10,000.</p></li>
288    /// <li>
289    /// <p><b>Amazon DynamoDB Streams</b> – Default 100. Max 10,000.</p></li>
290    /// <li>
291    /// <p><b>Amazon Simple Queue Service</b> – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.</p></li>
292    /// <li>
293    /// <p><b>Amazon Managed Streaming for Apache Kafka</b> – Default 100. Max 10,000.</p></li>
294    /// <li>
295    /// <p><b>Self-managed Apache Kafka</b> – Default 100. Max 10,000.</p></li>
296    /// <li>
297    /// <p><b>Amazon MQ (ActiveMQ and RabbitMQ)</b> – Default 100. Max 10,000.</p></li>
298    /// <li>
299    /// <p><b>DocumentDB</b> – Default 100. Max 10,000.</p></li>
300    /// </ul>
301    pub fn batch_size(mut self, input: i32) -> Self {
302        self.inner = self.inner.batch_size(input);
303        self
304    }
305    /// <p>The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).</p>
306    /// <ul>
307    /// <li>
308    /// <p><b>Amazon Kinesis</b> – Default 100. Max 10,000.</p></li>
309    /// <li>
310    /// <p><b>Amazon DynamoDB Streams</b> – Default 100. Max 10,000.</p></li>
311    /// <li>
312    /// <p><b>Amazon Simple Queue Service</b> – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.</p></li>
313    /// <li>
314    /// <p><b>Amazon Managed Streaming for Apache Kafka</b> – Default 100. Max 10,000.</p></li>
315    /// <li>
316    /// <p><b>Self-managed Apache Kafka</b> – Default 100. Max 10,000.</p></li>
317    /// <li>
318    /// <p><b>Amazon MQ (ActiveMQ and RabbitMQ)</b> – Default 100. Max 10,000.</p></li>
319    /// <li>
320    /// <p><b>DocumentDB</b> – Default 100. Max 10,000.</p></li>
321    /// </ul>
322    pub fn set_batch_size(mut self, input: ::std::option::Option<i32>) -> Self {
323        self.inner = self.inner.set_batch_size(input);
324        self
325    }
326    /// <p>The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).</p>
327    /// <ul>
328    /// <li>
329    /// <p><b>Amazon Kinesis</b> – Default 100. Max 10,000.</p></li>
330    /// <li>
331    /// <p><b>Amazon DynamoDB Streams</b> – Default 100. Max 10,000.</p></li>
332    /// <li>
333    /// <p><b>Amazon Simple Queue Service</b> – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.</p></li>
334    /// <li>
335    /// <p><b>Amazon Managed Streaming for Apache Kafka</b> – Default 100. Max 10,000.</p></li>
336    /// <li>
337    /// <p><b>Self-managed Apache Kafka</b> – Default 100. Max 10,000.</p></li>
338    /// <li>
339    /// <p><b>Amazon MQ (ActiveMQ and RabbitMQ)</b> – Default 100. Max 10,000.</p></li>
340    /// <li>
341    /// <p><b>DocumentDB</b> – Default 100. Max 10,000.</p></li>
342    /// </ul>
343    pub fn get_batch_size(&self) -> &::std::option::Option<i32> {
344        self.inner.get_batch_size()
345    }
346    /// <p>An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html">Lambda event filtering</a>.</p>
347    pub fn filter_criteria(mut self, input: crate::types::FilterCriteria) -> Self {
348        self.inner = self.inner.filter_criteria(input);
349        self
350    }
351    /// <p>An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html">Lambda event filtering</a>.</p>
352    pub fn set_filter_criteria(mut self, input: ::std::option::Option<crate::types::FilterCriteria>) -> Self {
353        self.inner = self.inner.set_filter_criteria(input);
354        self
355    }
356    /// <p>An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html">Lambda event filtering</a>.</p>
357    pub fn get_filter_criteria(&self) -> &::std::option::Option<crate::types::FilterCriteria> {
358        self.inner.get_filter_criteria()
359    }
360    /// <p>The ARN of the Key Management Service (KMS) customer managed key that Lambda uses to encrypt your function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics">filter criteria</a>. By default, Lambda does not encrypt your filter criteria object. Specify this property to encrypt data using your own customer managed key.</p>
361    pub fn kms_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
362        self.inner = self.inner.kms_key_arn(input.into());
363        self
364    }
365    /// <p>The ARN of the Key Management Service (KMS) customer managed key that Lambda uses to encrypt your function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics">filter criteria</a>. By default, Lambda does not encrypt your filter criteria object. Specify this property to encrypt data using your own customer managed key.</p>
366    pub fn set_kms_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
367        self.inner = self.inner.set_kms_key_arn(input);
368        self
369    }
370    /// <p>The ARN of the Key Management Service (KMS) customer managed key that Lambda uses to encrypt your function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics">filter criteria</a>. By default, Lambda does not encrypt your filter criteria object. Specify this property to encrypt data using your own customer managed key.</p>
371    pub fn get_kms_key_arn(&self) -> &::std::option::Option<::std::string::String> {
372        self.inner.get_kms_key_arn()
373    }
374    /// <p>The metrics configuration for your event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics">Event source mapping metrics</a>.</p>
375    pub fn metrics_config(mut self, input: crate::types::EventSourceMappingMetricsConfig) -> Self {
376        self.inner = self.inner.metrics_config(input);
377        self
378    }
379    /// <p>The metrics configuration for your event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics">Event source mapping metrics</a>.</p>
380    pub fn set_metrics_config(mut self, input: ::std::option::Option<crate::types::EventSourceMappingMetricsConfig>) -> Self {
381        self.inner = self.inner.set_metrics_config(input);
382        self
383    }
384    /// <p>The metrics configuration for your event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics">Event source mapping metrics</a>.</p>
385    pub fn get_metrics_config(&self) -> &::std::option::Option<crate::types::EventSourceMappingMetricsConfig> {
386        self.inner.get_metrics_config()
387    }
388    /// <p>(Amazon MSK, and self-managed Apache Kafka only) The logging configuration for your event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/esm-logging.html">Event source mapping logging</a>.</p>
389    pub fn logging_config(mut self, input: crate::types::EventSourceMappingLoggingConfig) -> Self {
390        self.inner = self.inner.logging_config(input);
391        self
392    }
393    /// <p>(Amazon MSK, and self-managed Apache Kafka only) The logging configuration for your event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/esm-logging.html">Event source mapping logging</a>.</p>
394    pub fn set_logging_config(mut self, input: ::std::option::Option<crate::types::EventSourceMappingLoggingConfig>) -> Self {
395        self.inner = self.inner.set_logging_config(input);
396        self
397    }
398    /// <p>(Amazon MSK, and self-managed Apache Kafka only) The logging configuration for your event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/esm-logging.html">Event source mapping logging</a>.</p>
399    pub fn get_logging_config(&self) -> &::std::option::Option<crate::types::EventSourceMappingLoggingConfig> {
400        self.inner.get_logging_config()
401    }
402    /// <p>(Amazon SQS only) The scaling configuration for the event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency">Configuring maximum concurrency for Amazon SQS event sources</a>.</p>
403    pub fn scaling_config(mut self, input: crate::types::ScalingConfig) -> Self {
404        self.inner = self.inner.scaling_config(input);
405        self
406    }
407    /// <p>(Amazon SQS only) The scaling configuration for the event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency">Configuring maximum concurrency for Amazon SQS event sources</a>.</p>
408    pub fn set_scaling_config(mut self, input: ::std::option::Option<crate::types::ScalingConfig>) -> Self {
409        self.inner = self.inner.set_scaling_config(input);
410        self
411    }
412    /// <p>(Amazon SQS only) The scaling configuration for the event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency">Configuring maximum concurrency for Amazon SQS event sources</a>.</p>
413    pub fn get_scaling_config(&self) -> &::std::option::Option<crate::types::ScalingConfig> {
414        self.inner.get_scaling_config()
415    }
416    /// <p>The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure <code>MaximumBatchingWindowInSeconds</code> to any value from 0 seconds to 300 seconds in increments of seconds.</p>
417    /// <p>For Kinesis, DynamoDB, and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because you can only change <code>MaximumBatchingWindowInSeconds</code> in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping.</p>
418    /// <p>Related setting: For Kinesis, DynamoDB, and Amazon SQS event sources, when you set <code>BatchSize</code> to a value greater than 10, you must set <code>MaximumBatchingWindowInSeconds</code> to at least 1.</p>
419    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
420    pub fn maximum_batching_window_in_seconds(mut self, input: i32) -> Self {
421        self.inner = self.inner.maximum_batching_window_in_seconds(input);
422        self
423    }
424    /// <p>The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure <code>MaximumBatchingWindowInSeconds</code> to any value from 0 seconds to 300 seconds in increments of seconds.</p>
425    /// <p>For Kinesis, DynamoDB, and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because you can only change <code>MaximumBatchingWindowInSeconds</code> in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping.</p>
426    /// <p>Related setting: For Kinesis, DynamoDB, and Amazon SQS event sources, when you set <code>BatchSize</code> to a value greater than 10, you must set <code>MaximumBatchingWindowInSeconds</code> to at least 1.</p>
427    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
428    pub fn set_maximum_batching_window_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
429        self.inner = self.inner.set_maximum_batching_window_in_seconds(input);
430        self
431    }
432    /// <p>The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure <code>MaximumBatchingWindowInSeconds</code> to any value from 0 seconds to 300 seconds in increments of seconds.</p>
433    /// <p>For Kinesis, DynamoDB, and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because you can only change <code>MaximumBatchingWindowInSeconds</code> in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping.</p>
434    /// <p>Related setting: For Kinesis, DynamoDB, and Amazon SQS event sources, when you set <code>BatchSize</code> to a value greater than 10, you must set <code>MaximumBatchingWindowInSeconds</code> to at least 1.</p>
435    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
436    pub fn get_maximum_batching_window_in_seconds(&self) -> &::std::option::Option<i32> {
437        self.inner.get_maximum_batching_window_in_seconds()
438    }
439    /// <p>(Kinesis and DynamoDB Streams only) The number of batches to process from each shard concurrently.</p>
440    pub fn parallelization_factor(mut self, input: i32) -> Self {
441        self.inner = self.inner.parallelization_factor(input);
442        self
443    }
444    /// <p>(Kinesis and DynamoDB Streams only) The number of batches to process from each shard concurrently.</p>
445    pub fn set_parallelization_factor(mut self, input: ::std::option::Option<i32>) -> Self {
446        self.inner = self.inner.set_parallelization_factor(input);
447        self
448    }
449    /// <p>(Kinesis and DynamoDB Streams only) The number of batches to process from each shard concurrently.</p>
450    pub fn get_parallelization_factor(&self) -> &::std::option::Option<i32> {
451        self.inner.get_parallelization_factor()
452    }
453    /// <p>The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Stream event sources. <code>AT_TIMESTAMP</code> is supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and self-managed Apache Kafka.</p>
454    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
455    pub fn starting_position(mut self, input: crate::types::EventSourcePosition) -> Self {
456        self.inner = self.inner.starting_position(input);
457        self
458    }
459    /// <p>The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Stream event sources. <code>AT_TIMESTAMP</code> is supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and self-managed Apache Kafka.</p>
460    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
461    pub fn set_starting_position(mut self, input: ::std::option::Option<crate::types::EventSourcePosition>) -> Self {
462        self.inner = self.inner.set_starting_position(input);
463        self
464    }
465    /// <p>The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Stream event sources. <code>AT_TIMESTAMP</code> is supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and self-managed Apache Kafka.</p>
466    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
467    pub fn get_starting_position(&self) -> &::std::option::Option<crate::types::EventSourcePosition> {
468        self.inner.get_starting_position()
469    }
470    /// <p>With <code>StartingPosition</code> set to <code>AT_TIMESTAMP</code>, the time from which to start reading. <code>StartingPositionTimestamp</code> cannot be in the future.</p>
471    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
472    pub fn starting_position_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
473        self.inner = self.inner.starting_position_timestamp(input);
474        self
475    }
476    /// <p>With <code>StartingPosition</code> set to <code>AT_TIMESTAMP</code>, the time from which to start reading. <code>StartingPositionTimestamp</code> cannot be in the future.</p>
477    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
478    pub fn set_starting_position_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
479        self.inner = self.inner.set_starting_position_timestamp(input);
480        self
481    }
482    /// <p>With <code>StartingPosition</code> set to <code>AT_TIMESTAMP</code>, the time from which to start reading. <code>StartingPositionTimestamp</code> cannot be in the future.</p>
483    /// <p>Not supported for Kafka event source mappings when <code>ConsumptionMode</code> is <code>Queue</code>.</p>
484    pub fn get_starting_position_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
485        self.inner.get_starting_position_timestamp()
486    }
487    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) A configuration object that specifies the destination of an event after Lambda processes it.</p>
488    pub fn destination_config(mut self, input: crate::types::DestinationConfig) -> Self {
489        self.inner = self.inner.destination_config(input);
490        self
491    }
492    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) A configuration object that specifies the destination of an event after Lambda processes it.</p>
493    pub fn set_destination_config(mut self, input: ::std::option::Option<crate::types::DestinationConfig>) -> Self {
494        self.inner = self.inner.set_destination_config(input);
495        self
496    }
497    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) A configuration object that specifies the destination of an event after Lambda processes it.</p>
498    pub fn get_destination_config(&self) -> &::std::option::Option<crate::types::DestinationConfig> {
499        self.inner.get_destination_config()
500    }
501    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) Discard records older than the specified age. The default value is infinite (-1).</p>
502    pub fn maximum_record_age_in_seconds(mut self, input: i32) -> Self {
503        self.inner = self.inner.maximum_record_age_in_seconds(input);
504        self
505    }
506    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) Discard records older than the specified age. The default value is infinite (-1).</p>
507    pub fn set_maximum_record_age_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
508        self.inner = self.inner.set_maximum_record_age_in_seconds(input);
509        self
510    }
511    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) Discard records older than the specified age. The default value is infinite (-1).</p>
512    pub fn get_maximum_record_age_in_seconds(&self) -> &::std::option::Option<i32> {
513        self.inner.get_maximum_record_age_in_seconds()
514    }
515    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) If the function returns an error, split the batch in two and retry.</p>
516    pub fn bisect_batch_on_function_error(mut self, input: bool) -> Self {
517        self.inner = self.inner.bisect_batch_on_function_error(input);
518        self
519    }
520    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) If the function returns an error, split the batch in two and retry.</p>
521    pub fn set_bisect_batch_on_function_error(mut self, input: ::std::option::Option<bool>) -> Self {
522        self.inner = self.inner.set_bisect_batch_on_function_error(input);
523        self
524    }
525    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) If the function returns an error, split the batch in two and retry.</p>
526    pub fn get_bisect_batch_on_function_error(&self) -> &::std::option::Option<bool> {
527        self.inner.get_bisect_batch_on_function_error()
528    }
529    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.</p>
530    /// <p>For Kafka <code>Stream</code> consumption mode, the default is <code>-1</code> (infinite retries; capped at 10 when an on-failure destination is configured). For Kafka <code>Queue</code> consumption mode, the default is <code>0</code>, and if no on-failure destination is configured the Kafka broker performs retries.</p>
531    pub fn maximum_retry_attempts(mut self, input: i32) -> Self {
532        self.inner = self.inner.maximum_retry_attempts(input);
533        self
534    }
535    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.</p>
536    /// <p>For Kafka <code>Stream</code> consumption mode, the default is <code>-1</code> (infinite retries; capped at 10 when an on-failure destination is configured). For Kafka <code>Queue</code> consumption mode, the default is <code>0</code>, and if no on-failure destination is configured the Kafka broker performs retries.</p>
537    pub fn set_maximum_retry_attempts(mut self, input: ::std::option::Option<i32>) -> Self {
538        self.inner = self.inner.set_maximum_retry_attempts(input);
539        self
540    }
541    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.</p>
542    /// <p>For Kafka <code>Stream</code> consumption mode, the default is <code>-1</code> (infinite retries; capped at 10 when an on-failure destination is configured). For Kafka <code>Queue</code> consumption mode, the default is <code>0</code>, and if no on-failure destination is configured the Kafka broker performs retries.</p>
543    pub fn get_maximum_retry_attempts(&self) -> &::std::option::Option<i32> {
544        self.inner.get_maximum_retry_attempts()
545    }
546    ///
547    /// Adds a key-value pair to `Tags`.
548    ///
549    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
550    ///
551    /// <p>A list of tags to apply to the event source mapping.</p>
552    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
553        self.inner = self.inner.tags(k.into(), v.into());
554        self
555    }
556    /// <p>A list of tags to apply to the event source mapping.</p>
557    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
558        self.inner = self.inner.set_tags(input);
559        self
560    }
561    /// <p>A list of tags to apply to the event source mapping.</p>
562    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
563        self.inner.get_tags()
564    }
565    /// <p>(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.</p>
566    pub fn tumbling_window_in_seconds(mut self, input: i32) -> Self {
567        self.inner = self.inner.tumbling_window_in_seconds(input);
568        self
569    }
570    /// <p>(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.</p>
571    pub fn set_tumbling_window_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
572        self.inner = self.inner.set_tumbling_window_in_seconds(input);
573        self
574    }
575    /// <p>(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.</p>
576    pub fn get_tumbling_window_in_seconds(&self) -> &::std::option::Option<i32> {
577        self.inner.get_tumbling_window_in_seconds()
578    }
579    ///
580    /// Appends an item to `Topics`.
581    ///
582    /// To override the contents of this collection use [`set_topics`](Self::set_topics).
583    ///
584    /// <p>The name of the Kafka topic.</p>
585    pub fn topics(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
586        self.inner = self.inner.topics(input.into());
587        self
588    }
589    /// <p>The name of the Kafka topic.</p>
590    pub fn set_topics(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
591        self.inner = self.inner.set_topics(input);
592        self
593    }
594    /// <p>The name of the Kafka topic.</p>
595    pub fn get_topics(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
596        self.inner.get_topics()
597    }
598    ///
599    /// Appends an item to `Queues`.
600    ///
601    /// To override the contents of this collection use [`set_queues`](Self::set_queues).
602    ///
603    /// <p>(MQ) The name of the Amazon MQ broker destination queue to consume.</p>
604    pub fn queues(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
605        self.inner = self.inner.queues(input.into());
606        self
607    }
608    /// <p>(MQ) The name of the Amazon MQ broker destination queue to consume.</p>
609    pub fn set_queues(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
610        self.inner = self.inner.set_queues(input);
611        self
612    }
613    /// <p>(MQ) The name of the Amazon MQ broker destination queue to consume.</p>
614    pub fn get_queues(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
615        self.inner.get_queues()
616    }
617    ///
618    /// Appends an item to `SourceAccessConfigurations`.
619    ///
620    /// To override the contents of this collection use [`set_source_access_configurations`](Self::set_source_access_configurations).
621    ///
622    /// <p>An array of authentication protocols or VPC components required to secure your event source.</p>
623    pub fn source_access_configurations(mut self, input: crate::types::SourceAccessConfiguration) -> Self {
624        self.inner = self.inner.source_access_configurations(input);
625        self
626    }
627    /// <p>An array of authentication protocols or VPC components required to secure your event source.</p>
628    pub fn set_source_access_configurations(
629        mut self,
630        input: ::std::option::Option<::std::vec::Vec<crate::types::SourceAccessConfiguration>>,
631    ) -> Self {
632        self.inner = self.inner.set_source_access_configurations(input);
633        self
634    }
635    /// <p>An array of authentication protocols or VPC components required to secure your event source.</p>
636    pub fn get_source_access_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SourceAccessConfiguration>> {
637        self.inner.get_source_access_configurations()
638    }
639    /// <p>The self-managed Apache Kafka cluster to receive records from.</p>
640    pub fn self_managed_event_source(mut self, input: crate::types::SelfManagedEventSource) -> Self {
641        self.inner = self.inner.self_managed_event_source(input);
642        self
643    }
644    /// <p>The self-managed Apache Kafka cluster to receive records from.</p>
645    pub fn set_self_managed_event_source(mut self, input: ::std::option::Option<crate::types::SelfManagedEventSource>) -> Self {
646        self.inner = self.inner.set_self_managed_event_source(input);
647        self
648    }
649    /// <p>The self-managed Apache Kafka cluster to receive records from.</p>
650    pub fn get_self_managed_event_source(&self) -> &::std::option::Option<crate::types::SelfManagedEventSource> {
651        self.inner.get_self_managed_event_source()
652    }
653    ///
654    /// Appends an item to `FunctionResponseTypes`.
655    ///
656    /// To override the contents of this collection use [`set_function_response_types`](Self::set_function_response_types).
657    ///
658    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, self-managed Apache Kafka, and Amazon SQS) A list of current response type enums applied to the event source mapping.</p>
659    pub fn function_response_types(mut self, input: crate::types::FunctionResponseType) -> Self {
660        self.inner = self.inner.function_response_types(input);
661        self
662    }
663    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, self-managed Apache Kafka, and Amazon SQS) A list of current response type enums applied to the event source mapping.</p>
664    pub fn set_function_response_types(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FunctionResponseType>>) -> Self {
665        self.inner = self.inner.set_function_response_types(input);
666        self
667    }
668    /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, self-managed Apache Kafka, and Amazon SQS) A list of current response type enums applied to the event source mapping.</p>
669    pub fn get_function_response_types(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FunctionResponseType>> {
670        self.inner.get_function_response_types()
671    }
672    /// <p>Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.</p>
673    pub fn amazon_managed_kafka_event_source_config(mut self, input: crate::types::AmazonManagedKafkaEventSourceConfig) -> Self {
674        self.inner = self.inner.amazon_managed_kafka_event_source_config(input);
675        self
676    }
677    /// <p>Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.</p>
678    pub fn set_amazon_managed_kafka_event_source_config(
679        mut self,
680        input: ::std::option::Option<crate::types::AmazonManagedKafkaEventSourceConfig>,
681    ) -> Self {
682        self.inner = self.inner.set_amazon_managed_kafka_event_source_config(input);
683        self
684    }
685    /// <p>Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.</p>
686    pub fn get_amazon_managed_kafka_event_source_config(&self) -> &::std::option::Option<crate::types::AmazonManagedKafkaEventSourceConfig> {
687        self.inner.get_amazon_managed_kafka_event_source_config()
688    }
689    /// <p>Specific configuration settings for a self-managed Apache Kafka event source.</p>
690    pub fn self_managed_kafka_event_source_config(mut self, input: crate::types::SelfManagedKafkaEventSourceConfig) -> Self {
691        self.inner = self.inner.self_managed_kafka_event_source_config(input);
692        self
693    }
694    /// <p>Specific configuration settings for a self-managed Apache Kafka event source.</p>
695    pub fn set_self_managed_kafka_event_source_config(
696        mut self,
697        input: ::std::option::Option<crate::types::SelfManagedKafkaEventSourceConfig>,
698    ) -> Self {
699        self.inner = self.inner.set_self_managed_kafka_event_source_config(input);
700        self
701    }
702    /// <p>Specific configuration settings for a self-managed Apache Kafka event source.</p>
703    pub fn get_self_managed_kafka_event_source_config(&self) -> &::std::option::Option<crate::types::SelfManagedKafkaEventSourceConfig> {
704        self.inner.get_self_managed_kafka_event_source_config()
705    }
706    /// <p>Specific configuration settings for a DocumentDB event source.</p>
707    pub fn document_db_event_source_config(mut self, input: crate::types::DocumentDbEventSourceConfig) -> Self {
708        self.inner = self.inner.document_db_event_source_config(input);
709        self
710    }
711    /// <p>Specific configuration settings for a DocumentDB event source.</p>
712    pub fn set_document_db_event_source_config(mut self, input: ::std::option::Option<crate::types::DocumentDbEventSourceConfig>) -> Self {
713        self.inner = self.inner.set_document_db_event_source_config(input);
714        self
715    }
716    /// <p>Specific configuration settings for a DocumentDB event source.</p>
717    pub fn get_document_db_event_source_config(&self) -> &::std::option::Option<crate::types::DocumentDbEventSourceConfig> {
718        self.inner.get_document_db_event_source_config()
719    }
720    /// <p>(Amazon SQS, Amazon MSK, and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode">provisioned mode</a>.</p>
721    pub fn provisioned_poller_config(mut self, input: crate::types::ProvisionedPollerConfig) -> Self {
722        self.inner = self.inner.provisioned_poller_config(input);
723        self
724    }
725    /// <p>(Amazon SQS, Amazon MSK, and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode">provisioned mode</a>.</p>
726    pub fn set_provisioned_poller_config(mut self, input: ::std::option::Option<crate::types::ProvisionedPollerConfig>) -> Self {
727        self.inner = self.inner.set_provisioned_poller_config(input);
728        self
729    }
730    /// <p>(Amazon SQS, Amazon MSK, and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode">provisioned mode</a>.</p>
731    pub fn get_provisioned_poller_config(&self) -> &::std::option::Option<crate::types::ProvisionedPollerConfig> {
732        self.inner.get_provisioned_poller_config()
733    }
734}