aws-cdk-lib 2.167.2__py3-none-any.whl → 2.168.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (44) hide show
  1. aws_cdk/__init__.py +2081 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.167.2.jsii.tgz → aws-cdk-lib@2.168.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  5. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  6. aws_cdk/aws_applicationsignals/__init__.py +117 -0
  7. aws_cdk/aws_autoscaling/__init__.py +441 -6
  8. aws_cdk/aws_batch/__init__.py +202 -5
  9. aws_cdk/aws_bedrock/__init__.py +12 -12
  10. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  11. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  12. aws_cdk/aws_cloudfront/__init__.py +231 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  14. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  15. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  16. aws_cdk/aws_codebuild/__init__.py +668 -2
  17. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  18. aws_cdk/aws_dynamodb/__init__.py +332 -11
  19. aws_cdk/aws_ec2/__init__.py +13 -4
  20. aws_cdk/aws_ecs/__init__.py +213 -0
  21. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  22. aws_cdk/aws_fis/__init__.py +495 -0
  23. aws_cdk/aws_gamelift/__init__.py +3101 -1135
  24. aws_cdk/aws_kinesisfirehose/__init__.py +696 -5
  25. aws_cdk/aws_lambda/__init__.py +634 -259
  26. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  27. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  28. aws_cdk/aws_location/__init__.py +18 -18
  29. aws_cdk/aws_mediastore/__init__.py +22 -10
  30. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  31. aws_cdk/aws_quicksight/__init__.py +35 -19
  32. aws_cdk/aws_rds/__init__.py +51 -3
  33. aws_cdk/aws_securityhub/__init__.py +11 -14
  34. aws_cdk/aws_ses/__init__.py +58 -5
  35. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  36. aws_cdk/aws_transfer/__init__.py +0 -8
  37. aws_cdk/aws_vpclattice/__init__.py +39 -0
  38. aws_cdk/aws_wisdom/__init__.py +134 -85
  39. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/METADATA +1 -1
  40. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/RECORD +44 -43
  41. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/LICENSE +0 -0
  42. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/NOTICE +0 -0
  43. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/WHEEL +0 -0
  44. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/top_level.txt +0 -0
@@ -12,6 +12,7 @@ The following destinations are supported
12
12
  * SQS queue - Only standard SQS queues are supported for failure destinations, FIFO queues are not supported.
13
13
  * SNS topic
14
14
  * EventBridge event bus
15
+ * S3 bucket
15
16
 
16
17
  Example with a SNS topic for successful invocations:
17
18
 
@@ -118,6 +119,8 @@ In case of failure, the record contains the reason and error object:
118
119
  depending on whether the lambda function invocation succeeded or failed. The event field `resource`
119
120
  contains the function and destination ARNs. See [AWS Events](https://docs.aws.amazon.com/eventbridge/latest/userguide/aws-events.html)
120
121
  for the different event fields.
122
+ * For S3 (`S3Destination`), the invocation record json is stored as a `File` in the destination bucket. The path of a destination
123
+ payload file in the configured bucket is `aws/lambda/async/<function-name>/YYYY/MM/DD/YYYY-MM-DDTHH.MM.SS-<Random UUID>`.
121
124
 
122
125
  ### Auto-extract response payload with lambda destination
123
126
 
@@ -190,6 +193,7 @@ from ..aws_lambda import (
190
193
  IDestination as _IDestination_40f19de4,
191
194
  IFunction as _IFunction_6adb0ab8,
192
195
  )
196
+ from ..aws_s3 import IBucket as _IBucket_42e086fd
193
197
  from ..aws_sns import ITopic as _ITopic_9eca4852
194
198
  from ..aws_sqs import IQueue as _IQueue_7ed6f679
195
199
 
@@ -382,6 +386,59 @@ class LambdaDestinationOptions:
382
386
  )
383
387
 
384
388
 
389
+ @jsii.implements(_IDestination_40f19de4)
390
+ class S3Destination(
391
+ metaclass=jsii.JSIIMeta,
392
+ jsii_type="aws-cdk-lib.aws_lambda_destinations.S3Destination",
393
+ ):
394
+ '''Use a S3 bucket as a Lambda destination.
395
+
396
+ :exampleMetadata: fixture=_generated
397
+
398
+ Example::
399
+
400
+ # The code below shows an example of how to instantiate this type.
401
+ # The values are placeholders you should change.
402
+ from aws_cdk import aws_lambda_destinations as lambda_destinations
403
+ from aws_cdk import aws_s3 as s3
404
+
405
+ # bucket: s3.Bucket
406
+
407
+ s3_destination = lambda_destinations.S3Destination(bucket)
408
+ '''
409
+
410
+ def __init__(self, bucket: _IBucket_42e086fd) -> None:
411
+ '''
412
+ :param bucket: -
413
+ '''
414
+ if __debug__:
415
+ type_hints = typing.get_type_hints(_typecheckingstub__19ce994678bf430d4bf8c27699213b91b48000db20e031ef641903ad7cba32bb)
416
+ check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
417
+ jsii.create(self.__class__, self, [bucket])
418
+
419
+ @jsii.member(jsii_name="bind")
420
+ def bind(
421
+ self,
422
+ _scope: _constructs_77d1e7e8.Construct,
423
+ fn: _IFunction_6adb0ab8,
424
+ *,
425
+ type: _DestinationType_2872235c,
426
+ ) -> _DestinationConfig_6f7459c3:
427
+ '''Returns a destination configuration.
428
+
429
+ :param _scope: -
430
+ :param fn: -
431
+ :param type: The destination type.
432
+ '''
433
+ if __debug__:
434
+ type_hints = typing.get_type_hints(_typecheckingstub__8041d5190555a336db2fde21ca0f75545969f47e7841f3664219b3ace0fbf4bd)
435
+ check_type(argname="argument _scope", value=_scope, expected_type=type_hints["_scope"])
436
+ check_type(argname="argument fn", value=fn, expected_type=type_hints["fn"])
437
+ _options = _DestinationOptions_3f2abf0e(type=type)
438
+
439
+ return typing.cast(_DestinationConfig_6f7459c3, jsii.invoke(self, "bind", [_scope, fn, _options]))
440
+
441
+
385
442
  @jsii.implements(_IDestination_40f19de4)
386
443
  class SnsDestination(
387
444
  metaclass=jsii.JSIIMeta,
@@ -502,6 +559,7 @@ __all__ = [
502
559
  "EventBridgeDestination",
503
560
  "LambdaDestination",
504
561
  "LambdaDestinationOptions",
562
+ "S3Destination",
505
563
  "SnsDestination",
506
564
  "SqsDestination",
507
565
  ]
@@ -547,6 +605,21 @@ def _typecheckingstub__a7c99f6a6bf8bcf694e2e5c9f5c69825b83541adab1d1d27cd08f36f7
547
605
  """Type checking stubs"""
548
606
  pass
549
607
 
608
+ def _typecheckingstub__19ce994678bf430d4bf8c27699213b91b48000db20e031ef641903ad7cba32bb(
609
+ bucket: _IBucket_42e086fd,
610
+ ) -> None:
611
+ """Type checking stubs"""
612
+ pass
613
+
614
+ def _typecheckingstub__8041d5190555a336db2fde21ca0f75545969f47e7841f3664219b3ace0fbf4bd(
615
+ _scope: _constructs_77d1e7e8.Construct,
616
+ fn: _IFunction_6adb0ab8,
617
+ *,
618
+ type: _DestinationType_2872235c,
619
+ ) -> None:
620
+ """Type checking stubs"""
621
+ pass
622
+
550
623
  def _typecheckingstub__0474b18a4b0c020ae5b8822345f59885f437a1137749c013b61839b711396931(
551
624
  topic: _ITopic_9eca4852,
552
625
  ) -> None:
@@ -471,6 +471,7 @@ from ..aws_lambda import (
471
471
  IEventSourceDlq as _IEventSourceDlq_5e2c6ad9,
472
472
  IEventSourceMapping as _IEventSourceMapping_e216064e,
473
473
  IFunction as _IFunction_6adb0ab8,
474
+ MetricsConfig as _MetricsConfig_48ab59c4,
474
475
  SourceAccessConfiguration as _SourceAccessConfiguration_1926ff89,
475
476
  StartingPosition as _StartingPosition_c0a4852c,
476
477
  )
@@ -2091,6 +2092,7 @@ class SqsEventSource(
2091
2092
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
2092
2093
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
2093
2094
  max_concurrency: typing.Optional[jsii.Number] = None,
2095
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
2094
2096
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
2095
2097
  ) -> None:
2096
2098
  '''
@@ -2101,6 +2103,7 @@ class SqsEventSource(
2101
2103
  :param filters: Add filter criteria option. Default: - None
2102
2104
  :param max_batching_window: The maximum amount of time to gather records before invoking the function. Valid Range: Minimum value of 0 minutes. Maximum value of 5 minutes. Default: - no batching window. The lambda function will be invoked immediately with the records that are available.
2103
2105
  :param max_concurrency: The maximum concurrency setting limits the number of concurrent instances of the function that an Amazon SQS event source can invoke. Default: - No specific limit.
2106
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
2104
2107
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
2105
2108
  '''
2106
2109
  if __debug__:
@@ -2113,6 +2116,7 @@ class SqsEventSource(
2113
2116
  filters=filters,
2114
2117
  max_batching_window=max_batching_window,
2115
2118
  max_concurrency=max_concurrency,
2119
+ metrics_config=metrics_config,
2116
2120
  report_batch_item_failures=report_batch_item_failures,
2117
2121
  )
2118
2122
 
@@ -2157,6 +2161,7 @@ class SqsEventSource(
2157
2161
  "filters": "filters",
2158
2162
  "max_batching_window": "maxBatchingWindow",
2159
2163
  "max_concurrency": "maxConcurrency",
2164
+ "metrics_config": "metricsConfig",
2160
2165
  "report_batch_item_failures": "reportBatchItemFailures",
2161
2166
  },
2162
2167
  )
@@ -2170,6 +2175,7 @@ class SqsEventSourceProps:
2170
2175
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
2171
2176
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
2172
2177
  max_concurrency: typing.Optional[jsii.Number] = None,
2178
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
2173
2179
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
2174
2180
  ) -> None:
2175
2181
  '''
@@ -2179,6 +2185,7 @@ class SqsEventSourceProps:
2179
2185
  :param filters: Add filter criteria option. Default: - None
2180
2186
  :param max_batching_window: The maximum amount of time to gather records before invoking the function. Valid Range: Minimum value of 0 minutes. Maximum value of 5 minutes. Default: - no batching window. The lambda function will be invoked immediately with the records that are available.
2181
2187
  :param max_concurrency: The maximum concurrency setting limits the number of concurrent instances of the function that an Amazon SQS event source can invoke. Default: - No specific limit.
2188
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
2182
2189
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
2183
2190
 
2184
2191
  :exampleMetadata: infused
@@ -2199,6 +2206,8 @@ class SqsEventSourceProps:
2199
2206
  report_batch_item_failures=True
2200
2207
  ))
2201
2208
  '''
2209
+ if isinstance(metrics_config, dict):
2210
+ metrics_config = _MetricsConfig_48ab59c4(**metrics_config)
2202
2211
  if __debug__:
2203
2212
  type_hints = typing.get_type_hints(_typecheckingstub__15f8ac7c8dd3ede272e50988fdcd091f07e9c5d7ef95ab596dc66b4c940652b4)
2204
2213
  check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
@@ -2207,6 +2216,7 @@ class SqsEventSourceProps:
2207
2216
  check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
2208
2217
  check_type(argname="argument max_batching_window", value=max_batching_window, expected_type=type_hints["max_batching_window"])
2209
2218
  check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
2219
+ check_type(argname="argument metrics_config", value=metrics_config, expected_type=type_hints["metrics_config"])
2210
2220
  check_type(argname="argument report_batch_item_failures", value=report_batch_item_failures, expected_type=type_hints["report_batch_item_failures"])
2211
2221
  self._values: typing.Dict[builtins.str, typing.Any] = {}
2212
2222
  if batch_size is not None:
@@ -2221,6 +2231,8 @@ class SqsEventSourceProps:
2221
2231
  self._values["max_batching_window"] = max_batching_window
2222
2232
  if max_concurrency is not None:
2223
2233
  self._values["max_concurrency"] = max_concurrency
2234
+ if metrics_config is not None:
2235
+ self._values["metrics_config"] = metrics_config
2224
2236
  if report_batch_item_failures is not None:
2225
2237
  self._values["report_batch_item_failures"] = report_batch_item_failures
2226
2238
 
@@ -2296,6 +2308,15 @@ class SqsEventSourceProps:
2296
2308
  result = self._values.get("max_concurrency")
2297
2309
  return typing.cast(typing.Optional[jsii.Number], result)
2298
2310
 
2311
+ @builtins.property
2312
+ def metrics_config(self) -> typing.Optional[_MetricsConfig_48ab59c4]:
2313
+ '''Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
2314
+
2315
+ :default: - Enhanced monitoring is disabled
2316
+ '''
2317
+ result = self._values.get("metrics_config")
2318
+ return typing.cast(typing.Optional[_MetricsConfig_48ab59c4], result)
2319
+
2299
2320
  @builtins.property
2300
2321
  def report_batch_item_failures(self) -> typing.Optional[builtins.bool]:
2301
2322
  '''Allow functions to return partially successful responses for a batch of records.
@@ -2333,6 +2354,7 @@ class StreamEventSource(
2333
2354
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
2334
2355
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
2335
2356
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
2357
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
2336
2358
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
2337
2359
  parallelization_factor: typing.Optional[jsii.Number] = None,
2338
2360
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -2348,6 +2370,7 @@ class StreamEventSource(
2348
2370
  :param filter_encryption: Add Customer managed KMS key to encrypt Filter Criteria. Default: - none
2349
2371
  :param filters: Add filter criteria option. Default: - None
2350
2372
  :param max_record_age: The maximum age of a record that Lambda sends to a function for processing. Valid Range: - Minimum value of 60 seconds - Maximum value of 7 days The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. Record are valid until it expires in the event source. Default: -1
2373
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
2351
2374
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: - discarded records are ignored
2352
2375
  :param parallelization_factor: The number of batches to process from each shard concurrently. Valid Range: - Minimum value of 1 - Maximum value of 10 Default: 1
2353
2376
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -2363,6 +2386,7 @@ class StreamEventSource(
2363
2386
  filter_encryption=filter_encryption,
2364
2387
  filters=filters,
2365
2388
  max_record_age=max_record_age,
2389
+ metrics_config=metrics_config,
2366
2390
  on_failure=on_failure,
2367
2391
  parallelization_factor=parallelization_factor,
2368
2392
  report_batch_item_failures=report_batch_item_failures,
@@ -2401,6 +2425,7 @@ class StreamEventSource(
2401
2425
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
2402
2426
  max_concurrency: typing.Optional[jsii.Number] = None,
2403
2427
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
2428
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
2404
2429
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
2405
2430
  parallelization_factor: typing.Optional[jsii.Number] = None,
2406
2431
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -2424,6 +2449,7 @@ class StreamEventSource(
2424
2449
  :param max_batching_window: The maximum amount of time to gather records before invoking the function. Maximum of Duration.minutes(5) Default: Duration.seconds(0)
2425
2450
  :param max_concurrency: The maximum concurrency setting limits the number of concurrent instances of the function that an Amazon SQS event source can invoke. Default: - No specific limit.
2426
2451
  :param max_record_age: The maximum age of a record that Lambda sends to a function for processing. Valid Range: - Minimum value of 60 seconds - Maximum value of 7 days Default: - infinite or until the record expires.
2452
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
2427
2453
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: discarded records are ignored
2428
2454
  :param parallelization_factor: The number of batches to process from each shard concurrently. Valid Range: - Minimum value of 1 - Maximum value of 10 Default: 1
2429
2455
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -2447,6 +2473,7 @@ class StreamEventSource(
2447
2473
  max_batching_window=max_batching_window,
2448
2474
  max_concurrency=max_concurrency,
2449
2475
  max_record_age=max_record_age,
2476
+ metrics_config=metrics_config,
2450
2477
  on_failure=on_failure,
2451
2478
  parallelization_factor=parallelization_factor,
2452
2479
  report_batch_item_failures=report_batch_item_failures,
@@ -2494,6 +2521,7 @@ typing.cast(typing.Any, StreamEventSource).__jsii_proxy_class__ = lambda : _Stre
2494
2521
  "filter_encryption": "filterEncryption",
2495
2522
  "filters": "filters",
2496
2523
  "max_record_age": "maxRecordAge",
2524
+ "metrics_config": "metricsConfig",
2497
2525
  "on_failure": "onFailure",
2498
2526
  "parallelization_factor": "parallelizationFactor",
2499
2527
  "report_batch_item_failures": "reportBatchItemFailures",
@@ -2513,6 +2541,7 @@ class StreamEventSourceProps(BaseStreamEventSourceProps):
2513
2541
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
2514
2542
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
2515
2543
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
2544
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
2516
2545
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
2517
2546
  parallelization_factor: typing.Optional[jsii.Number] = None,
2518
2547
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -2529,6 +2558,7 @@ class StreamEventSourceProps(BaseStreamEventSourceProps):
2529
2558
  :param filter_encryption: Add Customer managed KMS key to encrypt Filter Criteria. Default: - none
2530
2559
  :param filters: Add filter criteria option. Default: - None
2531
2560
  :param max_record_age: The maximum age of a record that Lambda sends to a function for processing. Valid Range: - Minimum value of 60 seconds - Maximum value of 7 days The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. Record are valid until it expires in the event source. Default: -1
2561
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
2532
2562
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: - discarded records are ignored
2533
2563
  :param parallelization_factor: The number of batches to process from each shard concurrently. Valid Range: - Minimum value of 1 - Maximum value of 10 Default: 1
2534
2564
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -2563,6 +2593,9 @@ class StreamEventSourceProps(BaseStreamEventSourceProps):
2563
2593
  }],
2564
2594
  max_batching_window=cdk.Duration.minutes(30),
2565
2595
  max_record_age=cdk.Duration.minutes(30),
2596
+ metrics_config=lambda.MetricsConfig(
2597
+ metrics=[lambda_.MetricType.EVENT_COUNT]
2598
+ ),
2566
2599
  on_failure=event_source_dlq,
2567
2600
  parallelization_factor=123,
2568
2601
  report_batch_item_failures=False,
@@ -2570,6 +2603,8 @@ class StreamEventSourceProps(BaseStreamEventSourceProps):
2570
2603
  tumbling_window=cdk.Duration.minutes(30)
2571
2604
  )
2572
2605
  '''
2606
+ if isinstance(metrics_config, dict):
2607
+ metrics_config = _MetricsConfig_48ab59c4(**metrics_config)
2573
2608
  if __debug__:
2574
2609
  type_hints = typing.get_type_hints(_typecheckingstub__f846cf48a1cd8d8120ed4973fabeee827928eff2de72d372506124b7d1eedd59)
2575
2610
  check_type(argname="argument starting_position", value=starting_position, expected_type=type_hints["starting_position"])
@@ -2580,6 +2615,7 @@ class StreamEventSourceProps(BaseStreamEventSourceProps):
2580
2615
  check_type(argname="argument filter_encryption", value=filter_encryption, expected_type=type_hints["filter_encryption"])
2581
2616
  check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
2582
2617
  check_type(argname="argument max_record_age", value=max_record_age, expected_type=type_hints["max_record_age"])
2618
+ check_type(argname="argument metrics_config", value=metrics_config, expected_type=type_hints["metrics_config"])
2583
2619
  check_type(argname="argument on_failure", value=on_failure, expected_type=type_hints["on_failure"])
2584
2620
  check_type(argname="argument parallelization_factor", value=parallelization_factor, expected_type=type_hints["parallelization_factor"])
2585
2621
  check_type(argname="argument report_batch_item_failures", value=report_batch_item_failures, expected_type=type_hints["report_batch_item_failures"])
@@ -2602,6 +2638,8 @@ class StreamEventSourceProps(BaseStreamEventSourceProps):
2602
2638
  self._values["filters"] = filters
2603
2639
  if max_record_age is not None:
2604
2640
  self._values["max_record_age"] = max_record_age
2641
+ if metrics_config is not None:
2642
+ self._values["metrics_config"] = metrics_config
2605
2643
  if on_failure is not None:
2606
2644
  self._values["on_failure"] = on_failure
2607
2645
  if parallelization_factor is not None:
@@ -2711,6 +2749,15 @@ class StreamEventSourceProps(BaseStreamEventSourceProps):
2711
2749
  result = self._values.get("max_record_age")
2712
2750
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
2713
2751
 
2752
+ @builtins.property
2753
+ def metrics_config(self) -> typing.Optional[_MetricsConfig_48ab59c4]:
2754
+ '''Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
2755
+
2756
+ :default: - Enhanced monitoring is disabled
2757
+ '''
2758
+ result = self._values.get("metrics_config")
2759
+ return typing.cast(typing.Optional[_MetricsConfig_48ab59c4], result)
2760
+
2714
2761
  @builtins.property
2715
2762
  def on_failure(self) -> typing.Optional[_IEventSourceDlq_5e2c6ad9]:
2716
2763
  '''An Amazon SQS queue or Amazon SNS topic destination for discarded records.
@@ -2802,9 +2849,12 @@ class DynamoEventSource(
2802
2849
  ),
2803
2850
  stream=dynamodb.StreamViewType.NEW_IMAGE
2804
2851
  )
2852
+
2805
2853
  fn.add_event_source(eventsources.DynamoEventSource(table,
2806
2854
  starting_position=lambda_.StartingPosition.LATEST,
2807
- filters=[lambda_.FilterCriteria.filter({"event_name": lambda_.FilterRule.is_equal("INSERT")})]
2855
+ metrics_config=lambda.MetricsConfig(
2856
+ metrics=[lambda_.MetricType.EVENT_COUNT]
2857
+ )
2808
2858
  ))
2809
2859
  '''
2810
2860
 
@@ -2816,6 +2866,7 @@ class DynamoEventSource(
2816
2866
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
2817
2867
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
2818
2868
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
2869
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
2819
2870
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
2820
2871
  parallelization_factor: typing.Optional[jsii.Number] = None,
2821
2872
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -2832,6 +2883,7 @@ class DynamoEventSource(
2832
2883
  :param filter_encryption: Add Customer managed KMS key to encrypt Filter Criteria. Default: - none
2833
2884
  :param filters: Add filter criteria option. Default: - None
2834
2885
  :param max_record_age: The maximum age of a record that Lambda sends to a function for processing. Valid Range: - Minimum value of 60 seconds - Maximum value of 7 days The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. Record are valid until it expires in the event source. Default: -1
2886
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
2835
2887
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: - discarded records are ignored
2836
2888
  :param parallelization_factor: The number of batches to process from each shard concurrently. Valid Range: - Minimum value of 1 - Maximum value of 10 Default: 1
2837
2889
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -2850,6 +2902,7 @@ class DynamoEventSource(
2850
2902
  filter_encryption=filter_encryption,
2851
2903
  filters=filters,
2852
2904
  max_record_age=max_record_age,
2905
+ metrics_config=metrics_config,
2853
2906
  on_failure=on_failure,
2854
2907
  parallelization_factor=parallelization_factor,
2855
2908
  report_batch_item_failures=report_batch_item_failures,
@@ -2899,6 +2952,7 @@ class DynamoEventSource(
2899
2952
  "filter_encryption": "filterEncryption",
2900
2953
  "filters": "filters",
2901
2954
  "max_record_age": "maxRecordAge",
2955
+ "metrics_config": "metricsConfig",
2902
2956
  "on_failure": "onFailure",
2903
2957
  "parallelization_factor": "parallelizationFactor",
2904
2958
  "report_batch_item_failures": "reportBatchItemFailures",
@@ -2918,6 +2972,7 @@ class DynamoEventSourceProps(StreamEventSourceProps):
2918
2972
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
2919
2973
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
2920
2974
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
2975
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
2921
2976
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
2922
2977
  parallelization_factor: typing.Optional[jsii.Number] = None,
2923
2978
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -2933,6 +2988,7 @@ class DynamoEventSourceProps(StreamEventSourceProps):
2933
2988
  :param filter_encryption: Add Customer managed KMS key to encrypt Filter Criteria. Default: - none
2934
2989
  :param filters: Add filter criteria option. Default: - None
2935
2990
  :param max_record_age: The maximum age of a record that Lambda sends to a function for processing. Valid Range: - Minimum value of 60 seconds - Maximum value of 7 days The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. Record are valid until it expires in the event source. Default: -1
2991
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
2936
2992
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: - discarded records are ignored
2937
2993
  :param parallelization_factor: The number of batches to process from each shard concurrently. Valid Range: - Minimum value of 1 - Maximum value of 10 Default: 1
2938
2994
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -2955,11 +3011,16 @@ class DynamoEventSourceProps(StreamEventSourceProps):
2955
3011
  ),
2956
3012
  stream=dynamodb.StreamViewType.NEW_IMAGE
2957
3013
  )
3014
+
2958
3015
  fn.add_event_source(eventsources.DynamoEventSource(table,
2959
3016
  starting_position=lambda_.StartingPosition.LATEST,
2960
- filters=[lambda_.FilterCriteria.filter({"event_name": lambda_.FilterRule.is_equal("INSERT")})]
3017
+ metrics_config=lambda.MetricsConfig(
3018
+ metrics=[lambda_.MetricType.EVENT_COUNT]
3019
+ )
2961
3020
  ))
2962
3021
  '''
3022
+ if isinstance(metrics_config, dict):
3023
+ metrics_config = _MetricsConfig_48ab59c4(**metrics_config)
2963
3024
  if __debug__:
2964
3025
  type_hints = typing.get_type_hints(_typecheckingstub__ec371d5e4612e8923bbdcc024d90e26915d64be2dc40151f22fc41139c2d48b3)
2965
3026
  check_type(argname="argument starting_position", value=starting_position, expected_type=type_hints["starting_position"])
@@ -2970,6 +3031,7 @@ class DynamoEventSourceProps(StreamEventSourceProps):
2970
3031
  check_type(argname="argument filter_encryption", value=filter_encryption, expected_type=type_hints["filter_encryption"])
2971
3032
  check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
2972
3033
  check_type(argname="argument max_record_age", value=max_record_age, expected_type=type_hints["max_record_age"])
3034
+ check_type(argname="argument metrics_config", value=metrics_config, expected_type=type_hints["metrics_config"])
2973
3035
  check_type(argname="argument on_failure", value=on_failure, expected_type=type_hints["on_failure"])
2974
3036
  check_type(argname="argument parallelization_factor", value=parallelization_factor, expected_type=type_hints["parallelization_factor"])
2975
3037
  check_type(argname="argument report_batch_item_failures", value=report_batch_item_failures, expected_type=type_hints["report_batch_item_failures"])
@@ -2992,6 +3054,8 @@ class DynamoEventSourceProps(StreamEventSourceProps):
2992
3054
  self._values["filters"] = filters
2993
3055
  if max_record_age is not None:
2994
3056
  self._values["max_record_age"] = max_record_age
3057
+ if metrics_config is not None:
3058
+ self._values["metrics_config"] = metrics_config
2995
3059
  if on_failure is not None:
2996
3060
  self._values["on_failure"] = on_failure
2997
3061
  if parallelization_factor is not None:
@@ -3101,6 +3165,15 @@ class DynamoEventSourceProps(StreamEventSourceProps):
3101
3165
  result = self._values.get("max_record_age")
3102
3166
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
3103
3167
 
3168
+ @builtins.property
3169
+ def metrics_config(self) -> typing.Optional[_MetricsConfig_48ab59c4]:
3170
+ '''Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
3171
+
3172
+ :default: - Enhanced monitoring is disabled
3173
+ '''
3174
+ result = self._values.get("metrics_config")
3175
+ return typing.cast(typing.Optional[_MetricsConfig_48ab59c4], result)
3176
+
3104
3177
  @builtins.property
3105
3178
  def on_failure(self) -> typing.Optional[_IEventSourceDlq_5e2c6ad9]:
3106
3179
  '''An Amazon SQS queue or Amazon SNS topic destination for discarded records.
@@ -3202,6 +3275,7 @@ class KinesisEventSource(
3202
3275
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
3203
3276
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
3204
3277
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
3278
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
3205
3279
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
3206
3280
  parallelization_factor: typing.Optional[jsii.Number] = None,
3207
3281
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -3219,6 +3293,7 @@ class KinesisEventSource(
3219
3293
  :param filter_encryption: Add Customer managed KMS key to encrypt Filter Criteria. Default: - none
3220
3294
  :param filters: Add filter criteria option. Default: - None
3221
3295
  :param max_record_age: The maximum age of a record that Lambda sends to a function for processing. Valid Range: - Minimum value of 60 seconds - Maximum value of 7 days The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. Record are valid until it expires in the event source. Default: -1
3296
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
3222
3297
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: - discarded records are ignored
3223
3298
  :param parallelization_factor: The number of batches to process from each shard concurrently. Valid Range: - Minimum value of 1 - Maximum value of 10 Default: 1
3224
3299
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -3238,6 +3313,7 @@ class KinesisEventSource(
3238
3313
  filter_encryption=filter_encryption,
3239
3314
  filters=filters,
3240
3315
  max_record_age=max_record_age,
3316
+ metrics_config=metrics_config,
3241
3317
  on_failure=on_failure,
3242
3318
  parallelization_factor=parallelization_factor,
3243
3319
  report_batch_item_failures=report_batch_item_failures,
@@ -3292,6 +3368,7 @@ class KinesisEventSource(
3292
3368
  "filter_encryption": "filterEncryption",
3293
3369
  "filters": "filters",
3294
3370
  "max_record_age": "maxRecordAge",
3371
+ "metrics_config": "metricsConfig",
3295
3372
  "on_failure": "onFailure",
3296
3373
  "parallelization_factor": "parallelizationFactor",
3297
3374
  "report_batch_item_failures": "reportBatchItemFailures",
@@ -3312,6 +3389,7 @@ class KinesisEventSourceProps(StreamEventSourceProps):
3312
3389
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
3313
3390
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
3314
3391
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
3392
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
3315
3393
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
3316
3394
  parallelization_factor: typing.Optional[jsii.Number] = None,
3317
3395
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -3328,6 +3406,7 @@ class KinesisEventSourceProps(StreamEventSourceProps):
3328
3406
  :param filter_encryption: Add Customer managed KMS key to encrypt Filter Criteria. Default: - none
3329
3407
  :param filters: Add filter criteria option. Default: - None
3330
3408
  :param max_record_age: The maximum age of a record that Lambda sends to a function for processing. Valid Range: - Minimum value of 60 seconds - Maximum value of 7 days The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. Record are valid until it expires in the event source. Default: -1
3409
+ :param metrics_config: Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source. Default: - Enhanced monitoring is disabled
3331
3410
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: - discarded records are ignored
3332
3411
  :param parallelization_factor: The number of batches to process from each shard concurrently. Valid Range: - Minimum value of 1 - Maximum value of 10 Default: 1
3333
3412
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -3351,6 +3430,8 @@ class KinesisEventSourceProps(StreamEventSourceProps):
3351
3430
  starting_position=lambda_.StartingPosition.TRIM_HORIZON
3352
3431
  ))
3353
3432
  '''
3433
+ if isinstance(metrics_config, dict):
3434
+ metrics_config = _MetricsConfig_48ab59c4(**metrics_config)
3354
3435
  if __debug__:
3355
3436
  type_hints = typing.get_type_hints(_typecheckingstub__a0e5c31953f1ef382a7863484f36982000428c40cc94325c4f41de1e3d040903)
3356
3437
  check_type(argname="argument starting_position", value=starting_position, expected_type=type_hints["starting_position"])
@@ -3361,6 +3442,7 @@ class KinesisEventSourceProps(StreamEventSourceProps):
3361
3442
  check_type(argname="argument filter_encryption", value=filter_encryption, expected_type=type_hints["filter_encryption"])
3362
3443
  check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
3363
3444
  check_type(argname="argument max_record_age", value=max_record_age, expected_type=type_hints["max_record_age"])
3445
+ check_type(argname="argument metrics_config", value=metrics_config, expected_type=type_hints["metrics_config"])
3364
3446
  check_type(argname="argument on_failure", value=on_failure, expected_type=type_hints["on_failure"])
3365
3447
  check_type(argname="argument parallelization_factor", value=parallelization_factor, expected_type=type_hints["parallelization_factor"])
3366
3448
  check_type(argname="argument report_batch_item_failures", value=report_batch_item_failures, expected_type=type_hints["report_batch_item_failures"])
@@ -3384,6 +3466,8 @@ class KinesisEventSourceProps(StreamEventSourceProps):
3384
3466
  self._values["filters"] = filters
3385
3467
  if max_record_age is not None:
3386
3468
  self._values["max_record_age"] = max_record_age
3469
+ if metrics_config is not None:
3470
+ self._values["metrics_config"] = metrics_config
3387
3471
  if on_failure is not None:
3388
3472
  self._values["on_failure"] = on_failure
3389
3473
  if parallelization_factor is not None:
@@ -3495,6 +3579,15 @@ class KinesisEventSourceProps(StreamEventSourceProps):
3495
3579
  result = self._values.get("max_record_age")
3496
3580
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
3497
3581
 
3582
+ @builtins.property
3583
+ def metrics_config(self) -> typing.Optional[_MetricsConfig_48ab59c4]:
3584
+ '''Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
3585
+
3586
+ :default: - Enhanced monitoring is disabled
3587
+ '''
3588
+ result = self._values.get("metrics_config")
3589
+ return typing.cast(typing.Optional[_MetricsConfig_48ab59c4], result)
3590
+
3498
3591
  @builtins.property
3499
3592
  def on_failure(self) -> typing.Optional[_IEventSourceDlq_5e2c6ad9]:
3500
3593
  '''An Amazon SQS queue or Amazon SNS topic destination for discarded records.
@@ -4013,6 +4106,7 @@ def _typecheckingstub__bf54c2a4adfa05b385a456a89f23dd0699f8e61461cae79f7a40b0a82
4013
4106
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
4014
4107
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
4015
4108
  max_concurrency: typing.Optional[jsii.Number] = None,
4109
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
4016
4110
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
4017
4111
  ) -> None:
4018
4112
  """Type checking stubs"""
@@ -4032,6 +4126,7 @@ def _typecheckingstub__15f8ac7c8dd3ede272e50988fdcd091f07e9c5d7ef95ab596dc66b4c9
4032
4126
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
4033
4127
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
4034
4128
  max_concurrency: typing.Optional[jsii.Number] = None,
4129
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
4035
4130
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
4036
4131
  ) -> None:
4037
4132
  """Type checking stubs"""
@@ -4053,6 +4148,7 @@ def _typecheckingstub__f846cf48a1cd8d8120ed4973fabeee827928eff2de72d372506124b7d
4053
4148
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
4054
4149
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
4055
4150
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
4151
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
4056
4152
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
4057
4153
  parallelization_factor: typing.Optional[jsii.Number] = None,
4058
4154
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -4069,6 +4165,7 @@ def _typecheckingstub__826ee32f5239c7c242a7200ffc24778bee01c1101c3cc939fed4a8615
4069
4165
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
4070
4166
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
4071
4167
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
4168
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
4072
4169
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
4073
4170
  parallelization_factor: typing.Optional[jsii.Number] = None,
4074
4171
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -4098,6 +4195,7 @@ def _typecheckingstub__ec371d5e4612e8923bbdcc024d90e26915d64be2dc40151f22fc41139
4098
4195
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
4099
4196
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
4100
4197
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
4198
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
4101
4199
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
4102
4200
  parallelization_factor: typing.Optional[jsii.Number] = None,
4103
4201
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -4115,6 +4213,7 @@ def _typecheckingstub__9f81acc98c12b4967363bdd43130a7e674a566679a7b200f5ccd6a0ae
4115
4213
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
4116
4214
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
4117
4215
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
4216
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
4118
4217
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
4119
4218
  parallelization_factor: typing.Optional[jsii.Number] = None,
4120
4219
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -4144,6 +4243,7 @@ def _typecheckingstub__a0e5c31953f1ef382a7863484f36982000428c40cc94325c4f41de1e3
4144
4243
  filter_encryption: typing.Optional[_IKey_5f11635f] = None,
4145
4244
  filters: typing.Optional[typing.Sequence[typing.Mapping[builtins.str, typing.Any]]] = None,
4146
4245
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
4246
+ metrics_config: typing.Optional[typing.Union[_MetricsConfig_48ab59c4, typing.Dict[builtins.str, typing.Any]]] = None,
4147
4247
  on_failure: typing.Optional[_IEventSourceDlq_5e2c6ad9] = None,
4148
4248
  parallelization_factor: typing.Optional[jsii.Number] = None,
4149
4249
  report_batch_item_failures: typing.Optional[builtins.bool] = None,