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_output::CreateEventSourceMappingOutputBuilder;
3
4pub use crate::operation::create_event_source_mapping::_create_event_source_mapping_input::CreateEventSourceMappingInputBuilder;
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 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 only for DynamoDB and Kinesis event sources:</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>ParallelizationFactor</code> – Process multiple batches from each shard concurrently.</p></li>
53/// </ul>
54/// <p>For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:</p>
55/// <ul>
56/// <li>
57/// <p><code>OnFailure</code> – Send discarded records to an Amazon SQS queue, Amazon SNS 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>
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 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>
361 /// <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>
362 /// <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>
363 pub fn maximum_batching_window_in_seconds(mut self, input: i32) -> Self {
364 self.inner = self.inner.maximum_batching_window_in_seconds(input);
365 self
366 }
367 /// <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>
368 /// <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>
369 /// <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>
370 pub fn set_maximum_batching_window_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
371 self.inner = self.inner.set_maximum_batching_window_in_seconds(input);
372 self
373 }
374 /// <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>
375 /// <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>
376 /// <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>
377 pub fn get_maximum_batching_window_in_seconds(&self) -> &::std::option::Option<i32> {
378 self.inner.get_maximum_batching_window_in_seconds()
379 }
380 /// <p>(Kinesis and DynamoDB Streams only) The number of batches to process from each shard concurrently.</p>
381 pub fn parallelization_factor(mut self, input: i32) -> Self {
382 self.inner = self.inner.parallelization_factor(input);
383 self
384 }
385 /// <p>(Kinesis and DynamoDB Streams only) The number of batches to process from each shard concurrently.</p>
386 pub fn set_parallelization_factor(mut self, input: ::std::option::Option<i32>) -> Self {
387 self.inner = self.inner.set_parallelization_factor(input);
388 self
389 }
390 /// <p>(Kinesis and DynamoDB Streams only) The number of batches to process from each shard concurrently.</p>
391 pub fn get_parallelization_factor(&self) -> &::std::option::Option<i32> {
392 self.inner.get_parallelization_factor()
393 }
394 /// <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>
395 pub fn starting_position(mut self, input: crate::types::EventSourcePosition) -> Self {
396 self.inner = self.inner.starting_position(input);
397 self
398 }
399 /// <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>
400 pub fn set_starting_position(mut self, input: ::std::option::Option<crate::types::EventSourcePosition>) -> Self {
401 self.inner = self.inner.set_starting_position(input);
402 self
403 }
404 /// <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>
405 pub fn get_starting_position(&self) -> &::std::option::Option<crate::types::EventSourcePosition> {
406 self.inner.get_starting_position()
407 }
408 /// <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>
409 pub fn starting_position_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
410 self.inner = self.inner.starting_position_timestamp(input);
411 self
412 }
413 /// <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>
414 pub fn set_starting_position_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
415 self.inner = self.inner.set_starting_position_timestamp(input);
416 self
417 }
418 /// <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>
419 pub fn get_starting_position_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
420 self.inner.get_starting_position_timestamp()
421 }
422 /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Kafka only) A configuration object that specifies the destination of an event after Lambda processes it.</p>
423 pub fn destination_config(mut self, input: crate::types::DestinationConfig) -> Self {
424 self.inner = self.inner.destination_config(input);
425 self
426 }
427 /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Kafka only) A configuration object that specifies the destination of an event after Lambda processes it.</p>
428 pub fn set_destination_config(mut self, input: ::std::option::Option<crate::types::DestinationConfig>) -> Self {
429 self.inner = self.inner.set_destination_config(input);
430 self
431 }
432 /// <p>(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Kafka only) A configuration object that specifies the destination of an event after Lambda processes it.</p>
433 pub fn get_destination_config(&self) -> &::std::option::Option<crate::types::DestinationConfig> {
434 self.inner.get_destination_config()
435 }
436 /// <p>(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite (-1).</p>
437 pub fn maximum_record_age_in_seconds(mut self, input: i32) -> Self {
438 self.inner = self.inner.maximum_record_age_in_seconds(input);
439 self
440 }
441 /// <p>(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite (-1).</p>
442 pub fn set_maximum_record_age_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
443 self.inner = self.inner.set_maximum_record_age_in_seconds(input);
444 self
445 }
446 /// <p>(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite (-1).</p>
447 pub fn get_maximum_record_age_in_seconds(&self) -> &::std::option::Option<i32> {
448 self.inner.get_maximum_record_age_in_seconds()
449 }
450 /// <p>(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry.</p>
451 pub fn bisect_batch_on_function_error(mut self, input: bool) -> Self {
452 self.inner = self.inner.bisect_batch_on_function_error(input);
453 self
454 }
455 /// <p>(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry.</p>
456 pub fn set_bisect_batch_on_function_error(mut self, input: ::std::option::Option<bool>) -> Self {
457 self.inner = self.inner.set_bisect_batch_on_function_error(input);
458 self
459 }
460 /// <p>(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry.</p>
461 pub fn get_bisect_batch_on_function_error(&self) -> &::std::option::Option<bool> {
462 self.inner.get_bisect_batch_on_function_error()
463 }
464 /// <p>(Kinesis and DynamoDB Streams only) 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>
465 pub fn maximum_retry_attempts(mut self, input: i32) -> Self {
466 self.inner = self.inner.maximum_retry_attempts(input);
467 self
468 }
469 /// <p>(Kinesis and DynamoDB Streams only) 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>
470 pub fn set_maximum_retry_attempts(mut self, input: ::std::option::Option<i32>) -> Self {
471 self.inner = self.inner.set_maximum_retry_attempts(input);
472 self
473 }
474 /// <p>(Kinesis and DynamoDB Streams only) 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>
475 pub fn get_maximum_retry_attempts(&self) -> &::std::option::Option<i32> {
476 self.inner.get_maximum_retry_attempts()
477 }
478 ///
479 /// Adds a key-value pair to `Tags`.
480 ///
481 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
482 ///
483 /// <p>A list of tags to apply to the event source mapping.</p>
484 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
485 self.inner = self.inner.tags(k.into(), v.into());
486 self
487 }
488 /// <p>A list of tags to apply to the event source mapping.</p>
489 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
490 self.inner = self.inner.set_tags(input);
491 self
492 }
493 /// <p>A list of tags to apply to the event source mapping.</p>
494 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
495 self.inner.get_tags()
496 }
497 /// <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>
498 pub fn tumbling_window_in_seconds(mut self, input: i32) -> Self {
499 self.inner = self.inner.tumbling_window_in_seconds(input);
500 self
501 }
502 /// <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>
503 pub fn set_tumbling_window_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
504 self.inner = self.inner.set_tumbling_window_in_seconds(input);
505 self
506 }
507 /// <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>
508 pub fn get_tumbling_window_in_seconds(&self) -> &::std::option::Option<i32> {
509 self.inner.get_tumbling_window_in_seconds()
510 }
511 ///
512 /// Appends an item to `Topics`.
513 ///
514 /// To override the contents of this collection use [`set_topics`](Self::set_topics).
515 ///
516 /// <p>The name of the Kafka topic.</p>
517 pub fn topics(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
518 self.inner = self.inner.topics(input.into());
519 self
520 }
521 /// <p>The name of the Kafka topic.</p>
522 pub fn set_topics(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
523 self.inner = self.inner.set_topics(input);
524 self
525 }
526 /// <p>The name of the Kafka topic.</p>
527 pub fn get_topics(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
528 self.inner.get_topics()
529 }
530 ///
531 /// Appends an item to `Queues`.
532 ///
533 /// To override the contents of this collection use [`set_queues`](Self::set_queues).
534 ///
535 /// <p>(MQ) The name of the Amazon MQ broker destination queue to consume.</p>
536 pub fn queues(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
537 self.inner = self.inner.queues(input.into());
538 self
539 }
540 /// <p>(MQ) The name of the Amazon MQ broker destination queue to consume.</p>
541 pub fn set_queues(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
542 self.inner = self.inner.set_queues(input);
543 self
544 }
545 /// <p>(MQ) The name of the Amazon MQ broker destination queue to consume.</p>
546 pub fn get_queues(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
547 self.inner.get_queues()
548 }
549 ///
550 /// Appends an item to `SourceAccessConfigurations`.
551 ///
552 /// To override the contents of this collection use [`set_source_access_configurations`](Self::set_source_access_configurations).
553 ///
554 /// <p>An array of authentication protocols or VPC components required to secure your event source.</p>
555 pub fn source_access_configurations(mut self, input: crate::types::SourceAccessConfiguration) -> Self {
556 self.inner = self.inner.source_access_configurations(input);
557 self
558 }
559 /// <p>An array of authentication protocols or VPC components required to secure your event source.</p>
560 pub fn set_source_access_configurations(
561 mut self,
562 input: ::std::option::Option<::std::vec::Vec<crate::types::SourceAccessConfiguration>>,
563 ) -> Self {
564 self.inner = self.inner.set_source_access_configurations(input);
565 self
566 }
567 /// <p>An array of authentication protocols or VPC components required to secure your event source.</p>
568 pub fn get_source_access_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SourceAccessConfiguration>> {
569 self.inner.get_source_access_configurations()
570 }
571 /// <p>The self-managed Apache Kafka cluster to receive records from.</p>
572 pub fn self_managed_event_source(mut self, input: crate::types::SelfManagedEventSource) -> Self {
573 self.inner = self.inner.self_managed_event_source(input);
574 self
575 }
576 /// <p>The self-managed Apache Kafka cluster to receive records from.</p>
577 pub fn set_self_managed_event_source(mut self, input: ::std::option::Option<crate::types::SelfManagedEventSource>) -> Self {
578 self.inner = self.inner.set_self_managed_event_source(input);
579 self
580 }
581 /// <p>The self-managed Apache Kafka cluster to receive records from.</p>
582 pub fn get_self_managed_event_source(&self) -> &::std::option::Option<crate::types::SelfManagedEventSource> {
583 self.inner.get_self_managed_event_source()
584 }
585 ///
586 /// Appends an item to `FunctionResponseTypes`.
587 ///
588 /// To override the contents of this collection use [`set_function_response_types`](Self::set_function_response_types).
589 ///
590 /// <p>(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type enums applied to the event source mapping.</p>
591 pub fn function_response_types(mut self, input: crate::types::FunctionResponseType) -> Self {
592 self.inner = self.inner.function_response_types(input);
593 self
594 }
595 /// <p>(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type enums applied to the event source mapping.</p>
596 pub fn set_function_response_types(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FunctionResponseType>>) -> Self {
597 self.inner = self.inner.set_function_response_types(input);
598 self
599 }
600 /// <p>(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type enums applied to the event source mapping.</p>
601 pub fn get_function_response_types(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FunctionResponseType>> {
602 self.inner.get_function_response_types()
603 }
604 /// <p>Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.</p>
605 pub fn amazon_managed_kafka_event_source_config(mut self, input: crate::types::AmazonManagedKafkaEventSourceConfig) -> Self {
606 self.inner = self.inner.amazon_managed_kafka_event_source_config(input);
607 self
608 }
609 /// <p>Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.</p>
610 pub fn set_amazon_managed_kafka_event_source_config(
611 mut self,
612 input: ::std::option::Option<crate::types::AmazonManagedKafkaEventSourceConfig>,
613 ) -> Self {
614 self.inner = self.inner.set_amazon_managed_kafka_event_source_config(input);
615 self
616 }
617 /// <p>Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.</p>
618 pub fn get_amazon_managed_kafka_event_source_config(&self) -> &::std::option::Option<crate::types::AmazonManagedKafkaEventSourceConfig> {
619 self.inner.get_amazon_managed_kafka_event_source_config()
620 }
621 /// <p>Specific configuration settings for a self-managed Apache Kafka event source.</p>
622 pub fn self_managed_kafka_event_source_config(mut self, input: crate::types::SelfManagedKafkaEventSourceConfig) -> Self {
623 self.inner = self.inner.self_managed_kafka_event_source_config(input);
624 self
625 }
626 /// <p>Specific configuration settings for a self-managed Apache Kafka event source.</p>
627 pub fn set_self_managed_kafka_event_source_config(
628 mut self,
629 input: ::std::option::Option<crate::types::SelfManagedKafkaEventSourceConfig>,
630 ) -> Self {
631 self.inner = self.inner.set_self_managed_kafka_event_source_config(input);
632 self
633 }
634 /// <p>Specific configuration settings for a self-managed Apache Kafka event source.</p>
635 pub fn get_self_managed_kafka_event_source_config(&self) -> &::std::option::Option<crate::types::SelfManagedKafkaEventSourceConfig> {
636 self.inner.get_self_managed_kafka_event_source_config()
637 }
638 /// <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>
639 pub fn scaling_config(mut self, input: crate::types::ScalingConfig) -> Self {
640 self.inner = self.inner.scaling_config(input);
641 self
642 }
643 /// <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>
644 pub fn set_scaling_config(mut self, input: ::std::option::Option<crate::types::ScalingConfig>) -> Self {
645 self.inner = self.inner.set_scaling_config(input);
646 self
647 }
648 /// <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>
649 pub fn get_scaling_config(&self) -> &::std::option::Option<crate::types::ScalingConfig> {
650 self.inner.get_scaling_config()
651 }
652 /// <p>Specific configuration settings for a DocumentDB event source.</p>
653 pub fn document_db_event_source_config(mut self, input: crate::types::DocumentDbEventSourceConfig) -> Self {
654 self.inner = self.inner.document_db_event_source_config(input);
655 self
656 }
657 /// <p>Specific configuration settings for a DocumentDB event source.</p>
658 pub fn set_document_db_event_source_config(mut self, input: ::std::option::Option<crate::types::DocumentDbEventSourceConfig>) -> Self {
659 self.inner = self.inner.set_document_db_event_source_config(input);
660 self
661 }
662 /// <p>Specific configuration settings for a DocumentDB event source.</p>
663 pub fn get_document_db_event_source_config(&self) -> &::std::option::Option<crate::types::DocumentDbEventSourceConfig> {
664 self.inner.get_document_db_event_source_config()
665 }
666 /// <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>
667 pub fn kms_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
668 self.inner = self.inner.kms_key_arn(input.into());
669 self
670 }
671 /// <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>
672 pub fn set_kms_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
673 self.inner = self.inner.set_kms_key_arn(input);
674 self
675 }
676 /// <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>
677 pub fn get_kms_key_arn(&self) -> &::std::option::Option<::std::string::String> {
678 self.inner.get_kms_key_arn()
679 }
680 /// <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>
681 pub fn metrics_config(mut self, input: crate::types::EventSourceMappingMetricsConfig) -> Self {
682 self.inner = self.inner.metrics_config(input);
683 self
684 }
685 /// <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>
686 pub fn set_metrics_config(mut self, input: ::std::option::Option<crate::types::EventSourceMappingMetricsConfig>) -> Self {
687 self.inner = self.inner.set_metrics_config(input);
688 self
689 }
690 /// <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>
691 pub fn get_metrics_config(&self) -> &::std::option::Option<crate::types::EventSourceMappingMetricsConfig> {
692 self.inner.get_metrics_config()
693 }
694 /// <p>(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>
695 pub fn provisioned_poller_config(mut self, input: crate::types::ProvisionedPollerConfig) -> Self {
696 self.inner = self.inner.provisioned_poller_config(input);
697 self
698 }
699 /// <p>(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>
700 pub fn set_provisioned_poller_config(mut self, input: ::std::option::Option<crate::types::ProvisionedPollerConfig>) -> Self {
701 self.inner = self.inner.set_provisioned_poller_config(input);
702 self
703 }
704 /// <p>(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>
705 pub fn get_provisioned_poller_config(&self) -> &::std::option::Option<crate::types::ProvisionedPollerConfig> {
706 self.inner.get_provisioned_poller_config()
707 }
708}