aws-cdk-lib 2.167.2__py3-none-any.whl → 2.169.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 (60) hide show
  1. aws_cdk/__init__.py +2083 -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.169.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +244 -13
  5. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  6. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  7. aws_cdk/aws_applicationsignals/__init__.py +124 -0
  8. aws_cdk/aws_autoscaling/__init__.py +743 -7
  9. aws_cdk/aws_batch/__init__.py +202 -5
  10. aws_cdk/aws_bedrock/__init__.py +12 -12
  11. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  12. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  13. aws_cdk/aws_cloudfront/__init__.py +281 -0
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  16. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  17. aws_cdk/aws_codebuild/__init__.py +670 -4
  18. aws_cdk/aws_connect/__init__.py +378 -0
  19. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  20. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  21. aws_cdk/aws_deadline/__init__.py +299 -6
  22. aws_cdk/aws_dynamodb/__init__.py +359 -16
  23. aws_cdk/aws_ec2/__init__.py +19 -6
  24. aws_cdk/aws_ecs/__init__.py +231 -12
  25. aws_cdk/aws_efs/__init__.py +61 -4
  26. aws_cdk/aws_eks/__init__.py +116 -0
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  28. aws_cdk/aws_fis/__init__.py +495 -0
  29. aws_cdk/aws_gamelift/__init__.py +3204 -1104
  30. aws_cdk/aws_iot/__init__.py +209 -0
  31. aws_cdk/aws_iotfleetwise/__init__.py +550 -0
  32. aws_cdk/aws_iotsitewise/__init__.py +6 -3
  33. aws_cdk/aws_ivs/__init__.py +458 -0
  34. aws_cdk/aws_kinesisfirehose/__init__.py +756 -8
  35. aws_cdk/aws_lambda/__init__.py +634 -259
  36. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  37. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  38. aws_cdk/aws_location/__init__.py +18 -18
  39. aws_cdk/aws_mediastore/__init__.py +22 -10
  40. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  41. aws_cdk/aws_quicksight/__init__.py +35 -19
  42. aws_cdk/aws_rbin/__init__.py +902 -0
  43. aws_cdk/aws_rds/__init__.py +166 -3
  44. aws_cdk/aws_route53resolver/__init__.py +76 -19
  45. aws_cdk/aws_sagemaker/__init__.py +32 -0
  46. aws_cdk/aws_securityhub/__init__.py +11 -14
  47. aws_cdk/aws_ses/__init__.py +58 -5
  48. aws_cdk/aws_sns/__init__.py +593 -8
  49. aws_cdk/aws_sns_subscriptions/__init__.py +68 -22
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  51. aws_cdk/aws_synthetics/__init__.py +46 -0
  52. aws_cdk/aws_transfer/__init__.py +0 -8
  53. aws_cdk/aws_vpclattice/__init__.py +157 -2
  54. aws_cdk/aws_wisdom/__init__.py +113 -69
  55. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/METADATA +1 -1
  56. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/RECORD +60 -58
  57. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/LICENSE +0 -0
  58. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/NOTICE +0 -0
  59. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/WHEEL +0 -0
  60. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/top_level.txt +0 -0
@@ -889,6 +889,34 @@ fn.add_event_source(eventsources.DynamoEventSource(table,
889
889
  }
890
890
  ```
891
891
 
892
+ ### Observability
893
+
894
+ Customers can now opt-in to get enhanced metrics for their event source mapping that capture each stage of processing using the `MetrcisConfig` property.
895
+
896
+ The following code shows how to opt in for the enhanced metrics.
897
+
898
+ ```python
899
+ import aws_cdk.aws_lambda_event_sources as eventsources
900
+ import aws_cdk.aws_dynamodb as dynamodb
901
+
902
+ # fn: lambda.Function
903
+
904
+ table = dynamodb.Table(self, "Table",
905
+ partition_key=dynamodb.Attribute(
906
+ name="id",
907
+ type=dynamodb.AttributeType.STRING
908
+ ),
909
+ stream=dynamodb.StreamViewType.NEW_IMAGE
910
+ )
911
+
912
+ fn.add_event_source(eventsources.DynamoEventSource(table,
913
+ starting_position=lambda_.StartingPosition.LATEST,
914
+ metrics_config=lambda.MetricsConfig(
915
+ metrics=[lambda_.MetricType.EVENT_COUNT]
916
+ )
917
+ ))
918
+ ```
919
+
892
920
  See the documentation for the **@aws-cdk/aws-lambda-event-sources** module for more details.
893
921
 
894
922
  ## Imported Lambdas
@@ -4630,7 +4658,14 @@ class CfnEventSourceMapping(
4630
4658
  maximum_batching_window_in_seconds=123,
4631
4659
  maximum_record_age_in_seconds=123,
4632
4660
  maximum_retry_attempts=123,
4661
+ metrics_config=lambda.CfnEventSourceMapping.MetricsConfigProperty(
4662
+ metrics=["metrics"]
4663
+ ),
4633
4664
  parallelization_factor=123,
4665
+ provisioned_poller_config=lambda.CfnEventSourceMapping.ProvisionedPollerConfigProperty(
4666
+ maximum_pollers=123,
4667
+ minimum_pollers=123
4668
+ ),
4634
4669
  queues=["queues"],
4635
4670
  scaling_config=lambda.CfnEventSourceMapping.ScalingConfigProperty(
4636
4671
  maximum_concurrency=123
@@ -4677,7 +4712,9 @@ class CfnEventSourceMapping(
4677
4712
  maximum_batching_window_in_seconds: typing.Optional[jsii.Number] = None,
4678
4713
  maximum_record_age_in_seconds: typing.Optional[jsii.Number] = None,
4679
4714
  maximum_retry_attempts: typing.Optional[jsii.Number] = None,
4715
+ metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.MetricsConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4680
4716
  parallelization_factor: typing.Optional[jsii.Number] = None,
4717
+ provisioned_poller_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.ProvisionedPollerConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4681
4718
  queues: typing.Optional[typing.Sequence[builtins.str]] = None,
4682
4719
  scaling_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.ScalingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4683
4720
  self_managed_event_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.SelfManagedEventSourceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -4692,31 +4729,33 @@ class CfnEventSourceMapping(
4692
4729
  '''
4693
4730
  :param scope: Scope in which this resource is defined.
4694
4731
  :param id: Construct identifier for this resource (unique in its scope).
4695
- :param function_name: The name or ARN of the Lambda function. **Name formats** - *Function name* – ``MyFunction`` . - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction`` . - *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`` . - *Partial ARN* – ``123456789012:function:MyFunction`` . The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.
4696
- :param amazon_managed_kafka_event_source_config: Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
4697
- :param batch_size: 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). - *Amazon Kinesis* – Default 100. Max 10,000. - *Amazon DynamoDB Streams* – Default 100. Max 10,000. - *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10. - *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000. - *Self-managed Apache Kafka* – Default 100. Max 10,000. - *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000. - *DocumentDB* – Default 100. Max 10,000.
4698
- :param bisect_batch_on_function_error: (Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.
4699
- :param destination_config: (Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.
4700
- :param document_db_event_source_config: Specific configuration settings for a DocumentDB event source.
4701
- :param enabled: When true, the event source mapping is active. When false, Lambda pauses polling and invocation. Default: True
4702
- :param event_source_arn: The Amazon Resource Name (ARN) of the event source. - *Amazon Kinesis* – The ARN of the data stream or a stream consumer. - *Amazon DynamoDB Streams* – The ARN of the stream. - *Amazon Simple Queue Service* – The ARN of the queue. - *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for `cross-account event source mappings <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc>`_ ). - *Amazon MQ* – The ARN of the broker. - *Amazon DocumentDB* – The ARN of the DocumentDB change stream.
4703
- :param filter_criteria: An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see `Lambda event filtering <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html>`_ .
4704
- :param function_response_types: (Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping. Valid Values: ``ReportBatchItemFailures``
4705
- :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that Lambda uses to encrypt your function's `filter criteria <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics>`_ .
4706
- :param maximum_batching_window_in_seconds: The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. *Default ( Kinesis , DynamoDB , Amazon SQS event sources)* : 0 *Default ( Amazon MSK , Kafka, Amazon MQ , Amazon DocumentDB event sources)* : 500 ms *Related setting:* For Amazon SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.
4707
- :param maximum_record_age_in_seconds: (Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. .. epigraph:: The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed
4708
- :param maximum_retry_attempts: (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
4709
- :param parallelization_factor: (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
4710
- :param queues: (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
4711
- :param scaling_config: (Amazon SQS only) The scaling configuration for the event source. For more information, see `Configuring maximum concurrency for Amazon SQS event sources <https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency>`_ .
4712
- :param self_managed_event_source: The self-managed Apache Kafka cluster for your event source.
4713
- :param self_managed_kafka_event_source_config: Specific configuration settings for a self-managed Apache Kafka event source.
4714
- :param source_access_configurations: An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
4715
- :param starting_position: The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB. - *LATEST* - Read only new records. - *TRIM_HORIZON* - Process all available records. - *AT_TIMESTAMP* - Specify a time from which to start reading records.
4716
- :param starting_position_timestamp: With ``StartingPosition`` set to ``AT_TIMESTAMP`` , the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.
4717
- :param tags: A list of tags to add to the event source mapping. .. epigraph:: You must have the ``lambda:TagResource`` , ``lambda:UntagResource`` , and ``lambda:ListTags`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
4718
- :param topics: The name of the Kafka topic.
4719
- :param tumbling_window_in_seconds: (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.
4732
+ :param function_name: The name of the Lambda function.
4733
+ :param amazon_managed_kafka_event_source_config: Specific configuration settings for an MSK event source.
4734
+ :param batch_size: The maximum number of items to retrieve in a single batch.
4735
+ :param bisect_batch_on_function_error: (Streams) If the function returns an error, split the batch in two and retry.
4736
+ :param destination_config: A configuration object that specifies the destination of an event after Lambda processes it.
4737
+ :param document_db_event_source_config: Document db event source config.
4738
+ :param enabled: Disables the event source mapping to pause polling and invocation.
4739
+ :param event_source_arn: The Amazon Resource Name (ARN) of the event source.
4740
+ :param filter_criteria: The filter criteria to control event filtering.
4741
+ :param function_response_types: (Streams) A list of response types supported by the function.
4742
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key.
4743
+ :param maximum_batching_window_in_seconds: (Streams) The maximum amount of time to gather records before invoking the function, in seconds.
4744
+ :param maximum_record_age_in_seconds: (Streams) The maximum age of a record that Lambda sends to a function for processing.
4745
+ :param maximum_retry_attempts: (Streams) The maximum number of times to retry when the function returns an error.
4746
+ :param metrics_config: Metrics config for Event Source Mapping Metrics.
4747
+ :param parallelization_factor: (Streams) The number of batches to process from each shard concurrently.
4748
+ :param provisioned_poller_config: ProvisionedPollerConfig.
4749
+ :param queues: (ActiveMQ) A list of ActiveMQ queues.
4750
+ :param scaling_config: The scaling configuration for the event source.
4751
+ :param self_managed_event_source: The configuration used by AWS Lambda to access a self-managed event source.
4752
+ :param self_managed_kafka_event_source_config: Specific configuration settings for a Self-Managed Apache Kafka event source.
4753
+ :param source_access_configurations: A list of SourceAccessConfiguration.
4754
+ :param starting_position: The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources.
4755
+ :param starting_position_timestamp: With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.
4756
+ :param tags: A list of tags to apply to event source mapping resource.
4757
+ :param topics: (Kafka) A list of Kafka topics.
4758
+ :param tumbling_window_in_seconds: (Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.
4720
4759
  '''
4721
4760
  if __debug__:
4722
4761
  type_hints = typing.get_type_hints(_typecheckingstub__2fc9432254acf5a7dbe3c68dcedbda61de1f0e804a81d20ae79e04857b83d419)
@@ -4737,7 +4776,9 @@ class CfnEventSourceMapping(
4737
4776
  maximum_batching_window_in_seconds=maximum_batching_window_in_seconds,
4738
4777
  maximum_record_age_in_seconds=maximum_record_age_in_seconds,
4739
4778
  maximum_retry_attempts=maximum_retry_attempts,
4779
+ metrics_config=metrics_config,
4740
4780
  parallelization_factor=parallelization_factor,
4781
+ provisioned_poller_config=provisioned_poller_config,
4741
4782
  queues=queues,
4742
4783
  scaling_config=scaling_config,
4743
4784
  self_managed_event_source=self_managed_event_source,
@@ -4785,7 +4826,7 @@ class CfnEventSourceMapping(
4785
4826
  @builtins.property
4786
4827
  @jsii.member(jsii_name="attrEventSourceMappingArn")
4787
4828
  def attr_event_source_mapping_arn(self) -> builtins.str:
4788
- '''The Amazon Resource Name (ARN) of the event source mapping.
4829
+ '''The Amazon Resource Name (ARN) of the event source mapping resource.
4789
4830
 
4790
4831
  :cloudformationAttribute: EventSourceMappingArn
4791
4832
  '''
@@ -4794,7 +4835,7 @@ class CfnEventSourceMapping(
4794
4835
  @builtins.property
4795
4836
  @jsii.member(jsii_name="attrId")
4796
4837
  def attr_id(self) -> builtins.str:
4797
- '''The event source mapping's ID.
4838
+ '''Event Source Mapping Identifier UUID.
4798
4839
 
4799
4840
  :cloudformationAttribute: Id
4800
4841
  '''
@@ -4814,7 +4855,7 @@ class CfnEventSourceMapping(
4814
4855
  @builtins.property
4815
4856
  @jsii.member(jsii_name="functionName")
4816
4857
  def function_name(self) -> builtins.str:
4817
- '''The name or ARN of the Lambda function.'''
4858
+ '''The name of the Lambda function.'''
4818
4859
  return typing.cast(builtins.str, jsii.get(self, "functionName"))
4819
4860
 
4820
4861
  @function_name.setter
@@ -4829,7 +4870,7 @@ class CfnEventSourceMapping(
4829
4870
  def amazon_managed_kafka_event_source_config(
4830
4871
  self,
4831
4872
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.AmazonManagedKafkaEventSourceConfigProperty"]]:
4832
- '''Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.'''
4873
+ '''Specific configuration settings for an MSK event source.'''
4833
4874
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.AmazonManagedKafkaEventSourceConfigProperty"]], jsii.get(self, "amazonManagedKafkaEventSourceConfig"))
4834
4875
 
4835
4876
  @amazon_managed_kafka_event_source_config.setter
@@ -4845,7 +4886,7 @@ class CfnEventSourceMapping(
4845
4886
  @builtins.property
4846
4887
  @jsii.member(jsii_name="batchSize")
4847
4888
  def batch_size(self) -> typing.Optional[jsii.Number]:
4848
- '''The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function.'''
4889
+ '''The maximum number of items to retrieve in a single batch.'''
4849
4890
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "batchSize"))
4850
4891
 
4851
4892
  @batch_size.setter
@@ -4860,7 +4901,7 @@ class CfnEventSourceMapping(
4860
4901
  def bisect_batch_on_function_error(
4861
4902
  self,
4862
4903
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4863
- '''(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry.'''
4904
+ '''(Streams) If the function returns an error, split the batch in two and retry.'''
4864
4905
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "bisectBatchOnFunctionError"))
4865
4906
 
4866
4907
  @bisect_batch_on_function_error.setter
@@ -4878,7 +4919,7 @@ class CfnEventSourceMapping(
4878
4919
  def destination_config(
4879
4920
  self,
4880
4921
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DestinationConfigProperty"]]:
4881
- '''(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.'''
4922
+ '''A configuration object that specifies the destination of an event after Lambda processes it.'''
4882
4923
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DestinationConfigProperty"]], jsii.get(self, "destinationConfig"))
4883
4924
 
4884
4925
  @destination_config.setter
@@ -4896,7 +4937,7 @@ class CfnEventSourceMapping(
4896
4937
  def document_db_event_source_config(
4897
4938
  self,
4898
4939
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DocumentDBEventSourceConfigProperty"]]:
4899
- '''Specific configuration settings for a DocumentDB event source.'''
4940
+ '''Document db event source config.'''
4900
4941
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DocumentDBEventSourceConfigProperty"]], jsii.get(self, "documentDbEventSourceConfig"))
4901
4942
 
4902
4943
  @document_db_event_source_config.setter
@@ -4914,10 +4955,7 @@ class CfnEventSourceMapping(
4914
4955
  def enabled(
4915
4956
  self,
4916
4957
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4917
- '''When true, the event source mapping is active.
4918
-
4919
- When false, Lambda pauses polling and invocation.
4920
- '''
4958
+ '''Disables the event source mapping to pause polling and invocation.'''
4921
4959
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "enabled"))
4922
4960
 
4923
4961
  @enabled.setter
@@ -4948,7 +4986,7 @@ class CfnEventSourceMapping(
4948
4986
  def filter_criteria(
4949
4987
  self,
4950
4988
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.FilterCriteriaProperty"]]:
4951
- '''An object that defines the filter criteria that determine whether Lambda should process an event.'''
4989
+ '''The filter criteria to control event filtering.'''
4952
4990
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.FilterCriteriaProperty"]], jsii.get(self, "filterCriteria"))
4953
4991
 
4954
4992
  @filter_criteria.setter
@@ -4964,7 +5002,7 @@ class CfnEventSourceMapping(
4964
5002
  @builtins.property
4965
5003
  @jsii.member(jsii_name="functionResponseTypes")
4966
5004
  def function_response_types(self) -> typing.Optional[typing.List[builtins.str]]:
4967
- '''(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.'''
5005
+ '''(Streams) A list of response types supported by the function.'''
4968
5006
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "functionResponseTypes"))
4969
5007
 
4970
5008
  @function_response_types.setter
@@ -4980,7 +5018,7 @@ class CfnEventSourceMapping(
4980
5018
  @builtins.property
4981
5019
  @jsii.member(jsii_name="kmsKeyArn")
4982
5020
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
4983
- '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that Lambda uses to encrypt your function's `filter criteria <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics>`_ .'''
5021
+ '''The Amazon Resource Name (ARN) of the KMS key.'''
4984
5022
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyArn"))
4985
5023
 
4986
5024
  @kms_key_arn.setter
@@ -4993,7 +5031,7 @@ class CfnEventSourceMapping(
4993
5031
  @builtins.property
4994
5032
  @jsii.member(jsii_name="maximumBatchingWindowInSeconds")
4995
5033
  def maximum_batching_window_in_seconds(self) -> typing.Optional[jsii.Number]:
4996
- '''The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.'''
5034
+ '''(Streams) The maximum amount of time to gather records before invoking the function, in seconds.'''
4997
5035
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maximumBatchingWindowInSeconds"))
4998
5036
 
4999
5037
  @maximum_batching_window_in_seconds.setter
@@ -5009,7 +5047,7 @@ class CfnEventSourceMapping(
5009
5047
  @builtins.property
5010
5048
  @jsii.member(jsii_name="maximumRecordAgeInSeconds")
5011
5049
  def maximum_record_age_in_seconds(self) -> typing.Optional[jsii.Number]:
5012
- '''(Kinesis and DynamoDB Streams only) Discard records older than the specified age.'''
5050
+ '''(Streams) The maximum age of a record that Lambda sends to a function for processing.'''
5013
5051
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maximumRecordAgeInSeconds"))
5014
5052
 
5015
5053
  @maximum_record_age_in_seconds.setter
@@ -5025,7 +5063,7 @@ class CfnEventSourceMapping(
5025
5063
  @builtins.property
5026
5064
  @jsii.member(jsii_name="maximumRetryAttempts")
5027
5065
  def maximum_retry_attempts(self) -> typing.Optional[jsii.Number]:
5028
- '''(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries.'''
5066
+ '''(Streams) The maximum number of times to retry when the function returns an error.'''
5029
5067
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maximumRetryAttempts"))
5030
5068
 
5031
5069
  @maximum_retry_attempts.setter
@@ -5035,10 +5073,28 @@ class CfnEventSourceMapping(
5035
5073
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5036
5074
  jsii.set(self, "maximumRetryAttempts", value) # pyright: ignore[reportArgumentType]
5037
5075
 
5076
+ @builtins.property
5077
+ @jsii.member(jsii_name="metricsConfig")
5078
+ def metrics_config(
5079
+ self,
5080
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.MetricsConfigProperty"]]:
5081
+ '''Metrics config for Event Source Mapping Metrics.'''
5082
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.MetricsConfigProperty"]], jsii.get(self, "metricsConfig"))
5083
+
5084
+ @metrics_config.setter
5085
+ def metrics_config(
5086
+ self,
5087
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.MetricsConfigProperty"]],
5088
+ ) -> None:
5089
+ if __debug__:
5090
+ type_hints = typing.get_type_hints(_typecheckingstub__f5cd631413afcb74b02a0787cd61ff6f1062e9e8d6f6d0f366555a10ce55240b)
5091
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5092
+ jsii.set(self, "metricsConfig", value) # pyright: ignore[reportArgumentType]
5093
+
5038
5094
  @builtins.property
5039
5095
  @jsii.member(jsii_name="parallelizationFactor")
5040
5096
  def parallelization_factor(self) -> typing.Optional[jsii.Number]:
5041
- '''(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard.'''
5097
+ '''(Streams) The number of batches to process from each shard concurrently.'''
5042
5098
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "parallelizationFactor"))
5043
5099
 
5044
5100
  @parallelization_factor.setter
@@ -5048,10 +5104,28 @@ class CfnEventSourceMapping(
5048
5104
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5049
5105
  jsii.set(self, "parallelizationFactor", value) # pyright: ignore[reportArgumentType]
5050
5106
 
5107
+ @builtins.property
5108
+ @jsii.member(jsii_name="provisionedPollerConfig")
5109
+ def provisioned_poller_config(
5110
+ self,
5111
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.ProvisionedPollerConfigProperty"]]:
5112
+ '''ProvisionedPollerConfig.'''
5113
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.ProvisionedPollerConfigProperty"]], jsii.get(self, "provisionedPollerConfig"))
5114
+
5115
+ @provisioned_poller_config.setter
5116
+ def provisioned_poller_config(
5117
+ self,
5118
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.ProvisionedPollerConfigProperty"]],
5119
+ ) -> None:
5120
+ if __debug__:
5121
+ type_hints = typing.get_type_hints(_typecheckingstub__0fc82a3bfe1479a23e85d77c5f26cb1797656cf4b8a7e4285b0054919d70b267)
5122
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5123
+ jsii.set(self, "provisionedPollerConfig", value) # pyright: ignore[reportArgumentType]
5124
+
5051
5125
  @builtins.property
5052
5126
  @jsii.member(jsii_name="queues")
5053
5127
  def queues(self) -> typing.Optional[typing.List[builtins.str]]:
5054
- '''(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.'''
5128
+ '''(ActiveMQ) A list of ActiveMQ queues.'''
5055
5129
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "queues"))
5056
5130
 
5057
5131
  @queues.setter
@@ -5066,7 +5140,7 @@ class CfnEventSourceMapping(
5066
5140
  def scaling_config(
5067
5141
  self,
5068
5142
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.ScalingConfigProperty"]]:
5069
- '''(Amazon SQS only) The scaling configuration for the event source.'''
5143
+ '''The scaling configuration for the event source.'''
5070
5144
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.ScalingConfigProperty"]], jsii.get(self, "scalingConfig"))
5071
5145
 
5072
5146
  @scaling_config.setter
@@ -5084,7 +5158,7 @@ class CfnEventSourceMapping(
5084
5158
  def self_managed_event_source(
5085
5159
  self,
5086
5160
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedEventSourceProperty"]]:
5087
- '''The self-managed Apache Kafka cluster for your event source.'''
5161
+ '''The configuration used by AWS Lambda to access a self-managed event source.'''
5088
5162
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedEventSourceProperty"]], jsii.get(self, "selfManagedEventSource"))
5089
5163
 
5090
5164
  @self_managed_event_source.setter
@@ -5102,7 +5176,7 @@ class CfnEventSourceMapping(
5102
5176
  def self_managed_kafka_event_source_config(
5103
5177
  self,
5104
5178
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedKafkaEventSourceConfigProperty"]]:
5105
- '''Specific configuration settings for a self-managed Apache Kafka event source.'''
5179
+ '''Specific configuration settings for a Self-Managed Apache Kafka event source.'''
5106
5180
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedKafkaEventSourceConfigProperty"]], jsii.get(self, "selfManagedKafkaEventSourceConfig"))
5107
5181
 
5108
5182
  @self_managed_kafka_event_source_config.setter
@@ -5120,7 +5194,7 @@ class CfnEventSourceMapping(
5120
5194
  def source_access_configurations(
5121
5195
  self,
5122
5196
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SourceAccessConfigurationProperty"]]]]:
5123
- '''An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.'''
5197
+ '''A list of SourceAccessConfiguration.'''
5124
5198
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SourceAccessConfigurationProperty"]]]], jsii.get(self, "sourceAccessConfigurations"))
5125
5199
 
5126
5200
  @source_access_configurations.setter
@@ -5136,10 +5210,7 @@ class CfnEventSourceMapping(
5136
5210
  @builtins.property
5137
5211
  @jsii.member(jsii_name="startingPosition")
5138
5212
  def starting_position(self) -> typing.Optional[builtins.str]:
5139
- '''The position in a stream from which to start reading.
5140
-
5141
- Required for Amazon Kinesis and Amazon DynamoDB.
5142
- '''
5213
+ '''The position in a stream from which to start reading.'''
5143
5214
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "startingPosition"))
5144
5215
 
5145
5216
  @starting_position.setter
@@ -5152,7 +5223,7 @@ class CfnEventSourceMapping(
5152
5223
  @builtins.property
5153
5224
  @jsii.member(jsii_name="startingPositionTimestamp")
5154
5225
  def starting_position_timestamp(self) -> typing.Optional[jsii.Number]:
5155
- '''With ``StartingPosition`` set to ``AT_TIMESTAMP`` , the time from which to start reading, in Unix time seconds.'''
5226
+ '''With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.'''
5156
5227
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "startingPositionTimestamp"))
5157
5228
 
5158
5229
  @starting_position_timestamp.setter
@@ -5165,7 +5236,7 @@ class CfnEventSourceMapping(
5165
5236
  @builtins.property
5166
5237
  @jsii.member(jsii_name="tags")
5167
5238
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5168
- '''A list of tags to add to the event source mapping.'''
5239
+ '''A list of tags to apply to event source mapping resource.'''
5169
5240
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
5170
5241
 
5171
5242
  @tags.setter
@@ -5178,7 +5249,7 @@ class CfnEventSourceMapping(
5178
5249
  @builtins.property
5179
5250
  @jsii.member(jsii_name="topics")
5180
5251
  def topics(self) -> typing.Optional[typing.List[builtins.str]]:
5181
- '''The name of the Kafka topic.'''
5252
+ '''(Kafka) A list of Kafka topics.'''
5182
5253
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "topics"))
5183
5254
 
5184
5255
  @topics.setter
@@ -5191,7 +5262,7 @@ class CfnEventSourceMapping(
5191
5262
  @builtins.property
5192
5263
  @jsii.member(jsii_name="tumblingWindowInSeconds")
5193
5264
  def tumbling_window_in_seconds(self) -> typing.Optional[jsii.Number]:
5194
- '''(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources.'''
5265
+ '''(Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.'''
5195
5266
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "tumblingWindowInSeconds"))
5196
5267
 
5197
5268
  @tumbling_window_in_seconds.setter
@@ -5212,9 +5283,9 @@ class CfnEventSourceMapping(
5212
5283
  *,
5213
5284
  consumer_group_id: typing.Optional[builtins.str] = None,
5214
5285
  ) -> None:
5215
- '''Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
5286
+ '''Specific configuration settings for an MSK event source.
5216
5287
 
5217
- :param consumer_group_id: The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see `Customizable consumer group ID <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id>`_ .
5288
+ :param consumer_group_id: The identifier for the Kafka Consumer Group to join.
5218
5289
 
5219
5290
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig.html
5220
5291
  :exampleMetadata: fixture=_generated
@@ -5238,9 +5309,7 @@ class CfnEventSourceMapping(
5238
5309
 
5239
5310
  @builtins.property
5240
5311
  def consumer_group_id(self) -> typing.Optional[builtins.str]:
5241
- '''The identifier for the Kafka consumer group to join.
5242
-
5243
- The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see `Customizable consumer group ID <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id>`_ .
5312
+ '''The identifier for the Kafka Consumer Group to join.
5244
5313
 
5245
5314
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig.html#cfn-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig-consumergroupid
5246
5315
  '''
@@ -5271,7 +5340,7 @@ class CfnEventSourceMapping(
5271
5340
  ) -> None:
5272
5341
  '''A configuration object that specifies the destination of an event after Lambda processes it.
5273
5342
 
5274
- :param on_failure: The destination configuration for failed invocations.
5343
+ :param on_failure: A destination for records of invocations that failed processing.
5275
5344
 
5276
5345
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html
5277
5346
  :exampleMetadata: fixture=_generated
@@ -5299,7 +5368,7 @@ class CfnEventSourceMapping(
5299
5368
  def on_failure(
5300
5369
  self,
5301
5370
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.OnFailureProperty"]]:
5302
- '''The destination configuration for failed invocations.
5371
+ '''A destination for records of invocations that failed processing.
5303
5372
 
5304
5373
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html#cfn-lambda-eventsourcemapping-destinationconfig-onfailure
5305
5374
  '''
@@ -5334,11 +5403,11 @@ class CfnEventSourceMapping(
5334
5403
  database_name: typing.Optional[builtins.str] = None,
5335
5404
  full_document: typing.Optional[builtins.str] = None,
5336
5405
  ) -> None:
5337
- '''Specific configuration settings for a DocumentDB event source.
5406
+ '''Document db event source config.
5338
5407
 
5339
- :param collection_name: The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.
5340
- :param database_name: The name of the database to consume within the DocumentDB cluster.
5341
- :param full_document: Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.
5408
+ :param collection_name: The collection name to connect to.
5409
+ :param database_name: The database name to connect to.
5410
+ :param full_document: Include full document in change stream response. The default option will only send the changes made to documents to Lambda. If you want the complete document sent to Lambda, set this to UpdateLookup.
5342
5411
 
5343
5412
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html
5344
5413
  :exampleMetadata: fixture=_generated
@@ -5370,9 +5439,7 @@ class CfnEventSourceMapping(
5370
5439
 
5371
5440
  @builtins.property
5372
5441
  def collection_name(self) -> typing.Optional[builtins.str]:
5373
- '''The name of the collection to consume within the database.
5374
-
5375
- If you do not specify a collection, Lambda consumes all collections.
5442
+ '''The collection name to connect to.
5376
5443
 
5377
5444
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-collectionname
5378
5445
  '''
@@ -5381,7 +5448,7 @@ class CfnEventSourceMapping(
5381
5448
 
5382
5449
  @builtins.property
5383
5450
  def database_name(self) -> typing.Optional[builtins.str]:
5384
- '''The name of the database to consume within the DocumentDB cluster.
5451
+ '''The database name to connect to.
5385
5452
 
5386
5453
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-databasename
5387
5454
  '''
@@ -5390,9 +5457,9 @@ class CfnEventSourceMapping(
5390
5457
 
5391
5458
  @builtins.property
5392
5459
  def full_document(self) -> typing.Optional[builtins.str]:
5393
- '''Determines what DocumentDB sends to your event stream during document update operations.
5460
+ '''Include full document in change stream response.
5394
5461
 
5395
- If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.
5462
+ The default option will only send the changes made to documents to Lambda. If you want the complete document sent to Lambda, set this to UpdateLookup.
5396
5463
 
5397
5464
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-fulldocument
5398
5465
  '''
@@ -5421,9 +5488,9 @@ class CfnEventSourceMapping(
5421
5488
  *,
5422
5489
  kafka_bootstrap_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
5423
5490
  ) -> None:
5424
- '''The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5491
+ '''The endpoints used by AWS Lambda to access a self-managed event source.
5425
5492
 
5426
- :param kafka_bootstrap_servers: The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5493
+ :param kafka_bootstrap_servers: A list of Kafka server endpoints.
5427
5494
 
5428
5495
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-endpoints.html
5429
5496
  :exampleMetadata: fixture=_generated
@@ -5447,7 +5514,7 @@ class CfnEventSourceMapping(
5447
5514
 
5448
5515
  @builtins.property
5449
5516
  def kafka_bootstrap_servers(self) -> typing.Optional[typing.List[builtins.str]]:
5450
- '''The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5517
+ '''A list of Kafka server endpoints.
5451
5518
 
5452
5519
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-endpoints.html#cfn-lambda-eventsourcemapping-endpoints-kafkabootstrapservers
5453
5520
  '''
@@ -5476,9 +5543,9 @@ class CfnEventSourceMapping(
5476
5543
  *,
5477
5544
  filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.FilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5478
5545
  ) -> None:
5479
- '''An object that contains the filters for an event source.
5546
+ '''The filter criteria to control event filtering.
5480
5547
 
5481
- :param filters: A list of filters.
5548
+ :param filters: List of filters of this FilterCriteria.
5482
5549
 
5483
5550
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html
5484
5551
  :exampleMetadata: fixture=_generated
@@ -5506,7 +5573,7 @@ class CfnEventSourceMapping(
5506
5573
  def filters(
5507
5574
  self,
5508
5575
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.FilterProperty"]]]]:
5509
- '''A list of filters.
5576
+ '''List of filters of this FilterCriteria.
5510
5577
 
5511
5578
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html#cfn-lambda-eventsourcemapping-filtercriteria-filters
5512
5579
  '''
@@ -5531,9 +5598,9 @@ class CfnEventSourceMapping(
5531
5598
  )
5532
5599
  class FilterProperty:
5533
5600
  def __init__(self, *, pattern: typing.Optional[builtins.str] = None) -> None:
5534
- '''A structure within a ``FilterCriteria`` object that defines an event filtering pattern.
5601
+ '''The filter object that defines parameters for ESM filtering.
5535
5602
 
5536
- :param pattern: A filter pattern. For more information on the syntax of a filter pattern, see `Filter rule syntax <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax>`_ .
5603
+ :param pattern: The filter pattern that defines which events should be passed for invocations.
5537
5604
 
5538
5605
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filter.html
5539
5606
  :exampleMetadata: fixture=_generated
@@ -5557,9 +5624,7 @@ class CfnEventSourceMapping(
5557
5624
 
5558
5625
  @builtins.property
5559
5626
  def pattern(self) -> typing.Optional[builtins.str]:
5560
- '''A filter pattern.
5561
-
5562
- For more information on the syntax of a filter pattern, see `Filter rule syntax <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax>`_ .
5627
+ '''The filter pattern that defines which events should be passed for invocations.
5563
5628
 
5564
5629
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filter.html#cfn-lambda-eventsourcemapping-filter-pattern
5565
5630
  '''
@@ -5577,6 +5642,61 @@ class CfnEventSourceMapping(
5577
5642
  k + "=" + repr(v) for k, v in self._values.items()
5578
5643
  )
5579
5644
 
5645
+ @jsii.data_type(
5646
+ jsii_type="aws-cdk-lib.aws_lambda.CfnEventSourceMapping.MetricsConfigProperty",
5647
+ jsii_struct_bases=[],
5648
+ name_mapping={"metrics": "metrics"},
5649
+ )
5650
+ class MetricsConfigProperty:
5651
+ def __init__(
5652
+ self,
5653
+ *,
5654
+ metrics: typing.Optional[typing.Sequence[builtins.str]] = None,
5655
+ ) -> None:
5656
+ '''Metrics config for Event Source Mapping Metrics.
5657
+
5658
+ :param metrics: Metric groups to enable.
5659
+
5660
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html
5661
+ :exampleMetadata: fixture=_generated
5662
+
5663
+ Example::
5664
+
5665
+ # The code below shows an example of how to instantiate this type.
5666
+ # The values are placeholders you should change.
5667
+ from aws_cdk import aws_lambda as lambda_
5668
+
5669
+ metrics_config_property = lambda.CfnEventSourceMapping.MetricsConfigProperty(
5670
+ metrics=["metrics"]
5671
+ )
5672
+ '''
5673
+ if __debug__:
5674
+ type_hints = typing.get_type_hints(_typecheckingstub__2794f7591f6e9d936a343631f5bf6dacc111c669ab59b5a405ceaa9be22e3bc3)
5675
+ check_type(argname="argument metrics", value=metrics, expected_type=type_hints["metrics"])
5676
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5677
+ if metrics is not None:
5678
+ self._values["metrics"] = metrics
5679
+
5680
+ @builtins.property
5681
+ def metrics(self) -> typing.Optional[typing.List[builtins.str]]:
5682
+ '''Metric groups to enable.
5683
+
5684
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html#cfn-lambda-eventsourcemapping-metricsconfig-metrics
5685
+ '''
5686
+ result = self._values.get("metrics")
5687
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5688
+
5689
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5690
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5691
+
5692
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5693
+ return not (rhs == self)
5694
+
5695
+ def __repr__(self) -> str:
5696
+ return "MetricsConfigProperty(%s)" % ", ".join(
5697
+ k + "=" + repr(v) for k, v in self._values.items()
5698
+ )
5699
+
5580
5700
  @jsii.data_type(
5581
5701
  jsii_type="aws-cdk-lib.aws_lambda.CfnEventSourceMapping.OnFailureProperty",
5582
5702
  jsii_struct_bases=[],
@@ -5588,9 +5708,9 @@ class CfnEventSourceMapping(
5588
5708
  *,
5589
5709
  destination: typing.Optional[builtins.str] = None,
5590
5710
  ) -> None:
5591
- '''A destination for events that failed processing.
5711
+ '''A destination for records of invocations that failed processing.
5592
5712
 
5593
- :param destination: The Amazon Resource Name (ARN) of the destination resource. To retain records of `asynchronous invocations <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations>`_ , you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination. To retain records of failed invocations from `Kinesis and DynamoDB event sources <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations>`_ , you can configure an Amazon SNS topic or Amazon SQS queue as the destination. To retain records of failed invocations from `self-managed Kafka <https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination>`_ or `Amazon MSK <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination>`_ , you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
5713
+ :param destination: The Amazon Resource Name (ARN) of the destination resource.
5594
5714
 
5595
5715
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html
5596
5716
  :exampleMetadata: fixture=_generated
@@ -5616,12 +5736,6 @@ class CfnEventSourceMapping(
5616
5736
  def destination(self) -> typing.Optional[builtins.str]:
5617
5737
  '''The Amazon Resource Name (ARN) of the destination resource.
5618
5738
 
5619
- To retain records of `asynchronous invocations <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations>`_ , you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
5620
-
5621
- To retain records of failed invocations from `Kinesis and DynamoDB event sources <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations>`_ , you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
5622
-
5623
- To retain records of failed invocations from `self-managed Kafka <https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination>`_ or `Amazon MSK <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination>`_ , you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
5624
-
5625
5739
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html#cfn-lambda-eventsourcemapping-onfailure-destination
5626
5740
  '''
5627
5741
  result = self._values.get("destination")
@@ -5638,6 +5752,79 @@ class CfnEventSourceMapping(
5638
5752
  k + "=" + repr(v) for k, v in self._values.items()
5639
5753
  )
5640
5754
 
5755
+ @jsii.data_type(
5756
+ jsii_type="aws-cdk-lib.aws_lambda.CfnEventSourceMapping.ProvisionedPollerConfigProperty",
5757
+ jsii_struct_bases=[],
5758
+ name_mapping={
5759
+ "maximum_pollers": "maximumPollers",
5760
+ "minimum_pollers": "minimumPollers",
5761
+ },
5762
+ )
5763
+ class ProvisionedPollerConfigProperty:
5764
+ def __init__(
5765
+ self,
5766
+ *,
5767
+ maximum_pollers: typing.Optional[jsii.Number] = None,
5768
+ minimum_pollers: typing.Optional[jsii.Number] = None,
5769
+ ) -> None:
5770
+ '''ProvisionedPollerConfig.
5771
+
5772
+ :param maximum_pollers: Maximum poller count.
5773
+ :param minimum_pollers: Minimum poller count.
5774
+
5775
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig.html
5776
+ :exampleMetadata: fixture=_generated
5777
+
5778
+ Example::
5779
+
5780
+ # The code below shows an example of how to instantiate this type.
5781
+ # The values are placeholders you should change.
5782
+ from aws_cdk import aws_lambda as lambda_
5783
+
5784
+ provisioned_poller_config_property = lambda.CfnEventSourceMapping.ProvisionedPollerConfigProperty(
5785
+ maximum_pollers=123,
5786
+ minimum_pollers=123
5787
+ )
5788
+ '''
5789
+ if __debug__:
5790
+ type_hints = typing.get_type_hints(_typecheckingstub__a9766af813d9de7c91becd9b74bcc63c9c769afaf9eb6a30dc155ee230decc1b)
5791
+ check_type(argname="argument maximum_pollers", value=maximum_pollers, expected_type=type_hints["maximum_pollers"])
5792
+ check_type(argname="argument minimum_pollers", value=minimum_pollers, expected_type=type_hints["minimum_pollers"])
5793
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5794
+ if maximum_pollers is not None:
5795
+ self._values["maximum_pollers"] = maximum_pollers
5796
+ if minimum_pollers is not None:
5797
+ self._values["minimum_pollers"] = minimum_pollers
5798
+
5799
+ @builtins.property
5800
+ def maximum_pollers(self) -> typing.Optional[jsii.Number]:
5801
+ '''Maximum poller count.
5802
+
5803
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig.html#cfn-lambda-eventsourcemapping-provisionedpollerconfig-maximumpollers
5804
+ '''
5805
+ result = self._values.get("maximum_pollers")
5806
+ return typing.cast(typing.Optional[jsii.Number], result)
5807
+
5808
+ @builtins.property
5809
+ def minimum_pollers(self) -> typing.Optional[jsii.Number]:
5810
+ '''Minimum poller count.
5811
+
5812
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig.html#cfn-lambda-eventsourcemapping-provisionedpollerconfig-minimumpollers
5813
+ '''
5814
+ result = self._values.get("minimum_pollers")
5815
+ return typing.cast(typing.Optional[jsii.Number], result)
5816
+
5817
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5818
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5819
+
5820
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5821
+ return not (rhs == self)
5822
+
5823
+ def __repr__(self) -> str:
5824
+ return "ProvisionedPollerConfigProperty(%s)" % ", ".join(
5825
+ k + "=" + repr(v) for k, v in self._values.items()
5826
+ )
5827
+
5641
5828
  @jsii.data_type(
5642
5829
  jsii_type="aws-cdk-lib.aws_lambda.CfnEventSourceMapping.ScalingConfigProperty",
5643
5830
  jsii_struct_bases=[],
@@ -5649,11 +5836,9 @@ class CfnEventSourceMapping(
5649
5836
  *,
5650
5837
  maximum_concurrency: typing.Optional[jsii.Number] = None,
5651
5838
  ) -> None:
5652
- '''(Amazon SQS only) The scaling configuration for the event source.
5653
-
5654
- To remove the configuration, pass an empty value.
5839
+ '''The scaling configuration for the event source.
5655
5840
 
5656
- :param maximum_concurrency: Limits the number of concurrent instances that the Amazon SQS event source can invoke.
5841
+ :param maximum_concurrency: The maximum number of concurrent functions that an event source can invoke.
5657
5842
 
5658
5843
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html
5659
5844
  :exampleMetadata: fixture=_generated
@@ -5677,7 +5862,7 @@ class CfnEventSourceMapping(
5677
5862
 
5678
5863
  @builtins.property
5679
5864
  def maximum_concurrency(self) -> typing.Optional[jsii.Number]:
5680
- '''Limits the number of concurrent instances that the Amazon SQS event source can invoke.
5865
+ '''The maximum number of concurrent functions that an event source can invoke.
5681
5866
 
5682
5867
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html#cfn-lambda-eventsourcemapping-scalingconfig-maximumconcurrency
5683
5868
  '''
@@ -5706,9 +5891,9 @@ class CfnEventSourceMapping(
5706
5891
  *,
5707
5892
  endpoints: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.EndpointsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5708
5893
  ) -> None:
5709
- '''The self-managed Apache Kafka cluster for your event source.
5894
+ '''The configuration used by AWS Lambda to access a self-managed event source.
5710
5895
 
5711
- :param endpoints: The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5896
+ :param endpoints: The endpoints used by AWS Lambda to access a self-managed event source.
5712
5897
 
5713
5898
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedeventsource.html
5714
5899
  :exampleMetadata: fixture=_generated
@@ -5736,7 +5921,7 @@ class CfnEventSourceMapping(
5736
5921
  def endpoints(
5737
5922
  self,
5738
5923
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.EndpointsProperty"]]:
5739
- '''The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5924
+ '''The endpoints used by AWS Lambda to access a self-managed event source.
5740
5925
 
5741
5926
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedeventsource.html#cfn-lambda-eventsourcemapping-selfmanagedeventsource-endpoints
5742
5927
  '''
@@ -5765,9 +5950,9 @@ class CfnEventSourceMapping(
5765
5950
  *,
5766
5951
  consumer_group_id: typing.Optional[builtins.str] = None,
5767
5952
  ) -> None:
5768
- '''Specific configuration settings for a self-managed Apache Kafka event source.
5953
+ '''Specific configuration settings for a Self-Managed Apache Kafka event source.
5769
5954
 
5770
- :param consumer_group_id: The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see `Customizable consumer group ID <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id>`_ .
5955
+ :param consumer_group_id: The identifier for the Kafka Consumer Group to join.
5771
5956
 
5772
5957
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig.html
5773
5958
  :exampleMetadata: fixture=_generated
@@ -5791,9 +5976,7 @@ class CfnEventSourceMapping(
5791
5976
 
5792
5977
  @builtins.property
5793
5978
  def consumer_group_id(self) -> typing.Optional[builtins.str]:
5794
- '''The identifier for the Kafka consumer group to join.
5795
-
5796
- The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see `Customizable consumer group ID <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id>`_ .
5979
+ '''The identifier for the Kafka Consumer Group to join.
5797
5980
 
5798
5981
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig.html#cfn-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig-consumergroupid
5799
5982
  '''
@@ -5823,10 +6006,10 @@ class CfnEventSourceMapping(
5823
6006
  type: typing.Optional[builtins.str] = None,
5824
6007
  uri: typing.Optional[builtins.str] = None,
5825
6008
  ) -> None:
5826
- '''An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
6009
+ '''The configuration used by AWS Lambda to access event source.
5827
6010
 
5828
- :param type: The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``"Type":"SASL_SCRAM_512_AUTH"`` . - ``BASIC_AUTH`` – (Amazon MQ) The AWS Secrets Manager secret that stores your broker credentials. - ``BASIC_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers. - ``VPC_SUBNET`` – (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster. - ``VPC_SECURITY_GROUP`` – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers. - ``SASL_SCRAM_256_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers. - ``SASL_SCRAM_512_AUTH`` – (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers. - ``VIRTUAL_HOST`` –- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call. - ``CLIENT_CERTIFICATE_TLS_AUTH`` – (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers. - ``SERVER_ROOT_CA_CERTIFICATE`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.
5829
- :param uri: The value for your chosen configuration in ``Type`` . For example: ``"URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName"`` .
6011
+ :param type: The type of source access configuration.
6012
+ :param uri: The URI for the source access configuration resource.
5830
6013
 
5831
6014
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html
5832
6015
  :exampleMetadata: fixture=_generated
@@ -5854,17 +6037,7 @@ class CfnEventSourceMapping(
5854
6037
 
5855
6038
  @builtins.property
5856
6039
  def type(self) -> typing.Optional[builtins.str]:
5857
- '''The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``"Type":"SASL_SCRAM_512_AUTH"`` .
5858
-
5859
- - ``BASIC_AUTH`` – (Amazon MQ) The AWS Secrets Manager secret that stores your broker credentials.
5860
- - ``BASIC_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.
5861
- - ``VPC_SUBNET`` – (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.
5862
- - ``VPC_SECURITY_GROUP`` – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.
5863
- - ``SASL_SCRAM_256_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.
5864
- - ``SASL_SCRAM_512_AUTH`` – (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.
5865
- - ``VIRTUAL_HOST`` –- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.
5866
- - ``CLIENT_CERTIFICATE_TLS_AUTH`` – (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.
5867
- - ``SERVER_ROOT_CA_CERTIFICATE`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.
6040
+ '''The type of source access configuration.
5868
6041
 
5869
6042
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-type
5870
6043
  '''
@@ -5873,9 +6046,7 @@ class CfnEventSourceMapping(
5873
6046
 
5874
6047
  @builtins.property
5875
6048
  def uri(self) -> typing.Optional[builtins.str]:
5876
- '''The value for your chosen configuration in ``Type`` .
5877
-
5878
- For example: ``"URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName"`` .
6049
+ '''The URI for the source access configuration resource.
5879
6050
 
5880
6051
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-uri
5881
6052
  '''
@@ -5912,7 +6083,9 @@ class CfnEventSourceMapping(
5912
6083
  "maximum_batching_window_in_seconds": "maximumBatchingWindowInSeconds",
5913
6084
  "maximum_record_age_in_seconds": "maximumRecordAgeInSeconds",
5914
6085
  "maximum_retry_attempts": "maximumRetryAttempts",
6086
+ "metrics_config": "metricsConfig",
5915
6087
  "parallelization_factor": "parallelizationFactor",
6088
+ "provisioned_poller_config": "provisionedPollerConfig",
5916
6089
  "queues": "queues",
5917
6090
  "scaling_config": "scalingConfig",
5918
6091
  "self_managed_event_source": "selfManagedEventSource",
@@ -5943,7 +6116,9 @@ class CfnEventSourceMappingProps:
5943
6116
  maximum_batching_window_in_seconds: typing.Optional[jsii.Number] = None,
5944
6117
  maximum_record_age_in_seconds: typing.Optional[jsii.Number] = None,
5945
6118
  maximum_retry_attempts: typing.Optional[jsii.Number] = None,
6119
+ metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.MetricsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5946
6120
  parallelization_factor: typing.Optional[jsii.Number] = None,
6121
+ provisioned_poller_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.ProvisionedPollerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5947
6122
  queues: typing.Optional[typing.Sequence[builtins.str]] = None,
5948
6123
  scaling_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.ScalingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5949
6124
  self_managed_event_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.SelfManagedEventSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -5957,31 +6132,33 @@ class CfnEventSourceMappingProps:
5957
6132
  ) -> None:
5958
6133
  '''Properties for defining a ``CfnEventSourceMapping``.
5959
6134
 
5960
- :param function_name: The name or ARN of the Lambda function. **Name formats** - *Function name* – ``MyFunction`` . - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction`` . - *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`` . - *Partial ARN* – ``123456789012:function:MyFunction`` . The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.
5961
- :param amazon_managed_kafka_event_source_config: Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
5962
- :param batch_size: 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). - *Amazon Kinesis* – Default 100. Max 10,000. - *Amazon DynamoDB Streams* – Default 100. Max 10,000. - *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10. - *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000. - *Self-managed Apache Kafka* – Default 100. Max 10,000. - *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000. - *DocumentDB* – Default 100. Max 10,000.
5963
- :param bisect_batch_on_function_error: (Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.
5964
- :param destination_config: (Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.
5965
- :param document_db_event_source_config: Specific configuration settings for a DocumentDB event source.
5966
- :param enabled: When true, the event source mapping is active. When false, Lambda pauses polling and invocation. Default: True
5967
- :param event_source_arn: The Amazon Resource Name (ARN) of the event source. - *Amazon Kinesis* – The ARN of the data stream or a stream consumer. - *Amazon DynamoDB Streams* – The ARN of the stream. - *Amazon Simple Queue Service* – The ARN of the queue. - *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for `cross-account event source mappings <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc>`_ ). - *Amazon MQ* – The ARN of the broker. - *Amazon DocumentDB* – The ARN of the DocumentDB change stream.
5968
- :param filter_criteria: An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see `Lambda event filtering <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html>`_ .
5969
- :param function_response_types: (Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping. Valid Values: ``ReportBatchItemFailures``
5970
- :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that Lambda uses to encrypt your function's `filter criteria <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics>`_ .
5971
- :param maximum_batching_window_in_seconds: The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. *Default ( Kinesis , DynamoDB , Amazon SQS event sources)* : 0 *Default ( Amazon MSK , Kafka, Amazon MQ , Amazon DocumentDB event sources)* : 500 ms *Related setting:* For Amazon SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.
5972
- :param maximum_record_age_in_seconds: (Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. .. epigraph:: The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed
5973
- :param maximum_retry_attempts: (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
5974
- :param parallelization_factor: (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
5975
- :param queues: (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
5976
- :param scaling_config: (Amazon SQS only) The scaling configuration for the event source. For more information, see `Configuring maximum concurrency for Amazon SQS event sources <https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency>`_ .
5977
- :param self_managed_event_source: The self-managed Apache Kafka cluster for your event source.
5978
- :param self_managed_kafka_event_source_config: Specific configuration settings for a self-managed Apache Kafka event source.
5979
- :param source_access_configurations: An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
5980
- :param starting_position: The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB. - *LATEST* - Read only new records. - *TRIM_HORIZON* - Process all available records. - *AT_TIMESTAMP* - Specify a time from which to start reading records.
5981
- :param starting_position_timestamp: With ``StartingPosition`` set to ``AT_TIMESTAMP`` , the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.
5982
- :param tags: A list of tags to add to the event source mapping. .. epigraph:: You must have the ``lambda:TagResource`` , ``lambda:UntagResource`` , and ``lambda:ListTags`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
5983
- :param topics: The name of the Kafka topic.
5984
- :param tumbling_window_in_seconds: (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.
6135
+ :param function_name: The name of the Lambda function.
6136
+ :param amazon_managed_kafka_event_source_config: Specific configuration settings for an MSK event source.
6137
+ :param batch_size: The maximum number of items to retrieve in a single batch.
6138
+ :param bisect_batch_on_function_error: (Streams) If the function returns an error, split the batch in two and retry.
6139
+ :param destination_config: A configuration object that specifies the destination of an event after Lambda processes it.
6140
+ :param document_db_event_source_config: Document db event source config.
6141
+ :param enabled: Disables the event source mapping to pause polling and invocation.
6142
+ :param event_source_arn: The Amazon Resource Name (ARN) of the event source.
6143
+ :param filter_criteria: The filter criteria to control event filtering.
6144
+ :param function_response_types: (Streams) A list of response types supported by the function.
6145
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key.
6146
+ :param maximum_batching_window_in_seconds: (Streams) The maximum amount of time to gather records before invoking the function, in seconds.
6147
+ :param maximum_record_age_in_seconds: (Streams) The maximum age of a record that Lambda sends to a function for processing.
6148
+ :param maximum_retry_attempts: (Streams) The maximum number of times to retry when the function returns an error.
6149
+ :param metrics_config: Metrics config for Event Source Mapping Metrics.
6150
+ :param parallelization_factor: (Streams) The number of batches to process from each shard concurrently.
6151
+ :param provisioned_poller_config: ProvisionedPollerConfig.
6152
+ :param queues: (ActiveMQ) A list of ActiveMQ queues.
6153
+ :param scaling_config: The scaling configuration for the event source.
6154
+ :param self_managed_event_source: The configuration used by AWS Lambda to access a self-managed event source.
6155
+ :param self_managed_kafka_event_source_config: Specific configuration settings for a Self-Managed Apache Kafka event source.
6156
+ :param source_access_configurations: A list of SourceAccessConfiguration.
6157
+ :param starting_position: The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources.
6158
+ :param starting_position_timestamp: With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.
6159
+ :param tags: A list of tags to apply to event source mapping resource.
6160
+ :param topics: (Kafka) A list of Kafka topics.
6161
+ :param tumbling_window_in_seconds: (Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.
5985
6162
 
5986
6163
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html
5987
6164
  :exampleMetadata: fixture=_generated
@@ -6023,7 +6200,14 @@ class CfnEventSourceMappingProps:
6023
6200
  maximum_batching_window_in_seconds=123,
6024
6201
  maximum_record_age_in_seconds=123,
6025
6202
  maximum_retry_attempts=123,
6203
+ metrics_config=lambda.CfnEventSourceMapping.MetricsConfigProperty(
6204
+ metrics=["metrics"]
6205
+ ),
6026
6206
  parallelization_factor=123,
6207
+ provisioned_poller_config=lambda.CfnEventSourceMapping.ProvisionedPollerConfigProperty(
6208
+ maximum_pollers=123,
6209
+ minimum_pollers=123
6210
+ ),
6027
6211
  queues=["queues"],
6028
6212
  scaling_config=lambda.CfnEventSourceMapping.ScalingConfigProperty(
6029
6213
  maximum_concurrency=123
@@ -6066,7 +6250,9 @@ class CfnEventSourceMappingProps:
6066
6250
  check_type(argname="argument maximum_batching_window_in_seconds", value=maximum_batching_window_in_seconds, expected_type=type_hints["maximum_batching_window_in_seconds"])
6067
6251
  check_type(argname="argument maximum_record_age_in_seconds", value=maximum_record_age_in_seconds, expected_type=type_hints["maximum_record_age_in_seconds"])
6068
6252
  check_type(argname="argument maximum_retry_attempts", value=maximum_retry_attempts, expected_type=type_hints["maximum_retry_attempts"])
6253
+ check_type(argname="argument metrics_config", value=metrics_config, expected_type=type_hints["metrics_config"])
6069
6254
  check_type(argname="argument parallelization_factor", value=parallelization_factor, expected_type=type_hints["parallelization_factor"])
6255
+ check_type(argname="argument provisioned_poller_config", value=provisioned_poller_config, expected_type=type_hints["provisioned_poller_config"])
6070
6256
  check_type(argname="argument queues", value=queues, expected_type=type_hints["queues"])
6071
6257
  check_type(argname="argument scaling_config", value=scaling_config, expected_type=type_hints["scaling_config"])
6072
6258
  check_type(argname="argument self_managed_event_source", value=self_managed_event_source, expected_type=type_hints["self_managed_event_source"])
@@ -6106,8 +6292,12 @@ class CfnEventSourceMappingProps:
6106
6292
  self._values["maximum_record_age_in_seconds"] = maximum_record_age_in_seconds
6107
6293
  if maximum_retry_attempts is not None:
6108
6294
  self._values["maximum_retry_attempts"] = maximum_retry_attempts
6295
+ if metrics_config is not None:
6296
+ self._values["metrics_config"] = metrics_config
6109
6297
  if parallelization_factor is not None:
6110
6298
  self._values["parallelization_factor"] = parallelization_factor
6299
+ if provisioned_poller_config is not None:
6300
+ self._values["provisioned_poller_config"] = provisioned_poller_config
6111
6301
  if queues is not None:
6112
6302
  self._values["queues"] = queues
6113
6303
  if scaling_config is not None:
@@ -6131,15 +6321,7 @@ class CfnEventSourceMappingProps:
6131
6321
 
6132
6322
  @builtins.property
6133
6323
  def function_name(self) -> builtins.str:
6134
- '''The name or ARN of the Lambda function.
6135
-
6136
- **Name formats** - *Function name* – ``MyFunction`` .
6137
-
6138
- - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction`` .
6139
- - *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`` .
6140
- - *Partial ARN* – ``123456789012:function:MyFunction`` .
6141
-
6142
- The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.
6324
+ '''The name of the Lambda function.
6143
6325
 
6144
6326
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionname
6145
6327
  '''
@@ -6151,7 +6333,7 @@ class CfnEventSourceMappingProps:
6151
6333
  def amazon_managed_kafka_event_source_config(
6152
6334
  self,
6153
6335
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.AmazonManagedKafkaEventSourceConfigProperty]]:
6154
- '''Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
6336
+ '''Specific configuration settings for an MSK event source.
6155
6337
 
6156
6338
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig
6157
6339
  '''
@@ -6160,17 +6342,7 @@ class CfnEventSourceMappingProps:
6160
6342
 
6161
6343
  @builtins.property
6162
6344
  def batch_size(self) -> typing.Optional[jsii.Number]:
6163
- '''The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function.
6164
-
6165
- 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).
6166
-
6167
- - *Amazon Kinesis* – Default 100. Max 10,000.
6168
- - *Amazon DynamoDB Streams* – Default 100. Max 10,000.
6169
- - *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.
6170
- - *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.
6171
- - *Self-managed Apache Kafka* – Default 100. Max 10,000.
6172
- - *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.
6173
- - *DocumentDB* – Default 100. Max 10,000.
6345
+ '''The maximum number of items to retrieve in a single batch.
6174
6346
 
6175
6347
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize
6176
6348
  '''
@@ -6181,9 +6353,7 @@ class CfnEventSourceMappingProps:
6181
6353
  def bisect_batch_on_function_error(
6182
6354
  self,
6183
6355
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6184
- '''(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry.
6185
-
6186
- The default value is false.
6356
+ '''(Streams) If the function returns an error, split the batch in two and retry.
6187
6357
 
6188
6358
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror
6189
6359
  '''
@@ -6194,7 +6364,7 @@ class CfnEventSourceMappingProps:
6194
6364
  def destination_config(
6195
6365
  self,
6196
6366
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.DestinationConfigProperty]]:
6197
- '''(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.
6367
+ '''A configuration object that specifies the destination of an event after Lambda processes it.
6198
6368
 
6199
6369
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig
6200
6370
  '''
@@ -6205,7 +6375,7 @@ class CfnEventSourceMappingProps:
6205
6375
  def document_db_event_source_config(
6206
6376
  self,
6207
6377
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.DocumentDBEventSourceConfigProperty]]:
6208
- '''Specific configuration settings for a DocumentDB event source.
6378
+ '''Document db event source config.
6209
6379
 
6210
6380
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig
6211
6381
  '''
@@ -6216,9 +6386,7 @@ class CfnEventSourceMappingProps:
6216
6386
  def enabled(
6217
6387
  self,
6218
6388
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6219
- '''When true, the event source mapping is active. When false, Lambda pauses polling and invocation.
6220
-
6221
- Default: True
6389
+ '''Disables the event source mapping to pause polling and invocation.
6222
6390
 
6223
6391
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled
6224
6392
  '''
@@ -6229,13 +6397,6 @@ class CfnEventSourceMappingProps:
6229
6397
  def event_source_arn(self) -> typing.Optional[builtins.str]:
6230
6398
  '''The Amazon Resource Name (ARN) of the event source.
6231
6399
 
6232
- - *Amazon Kinesis* – The ARN of the data stream or a stream consumer.
6233
- - *Amazon DynamoDB Streams* – The ARN of the stream.
6234
- - *Amazon Simple Queue Service* – The ARN of the queue.
6235
- - *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for `cross-account event source mappings <https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc>`_ ).
6236
- - *Amazon MQ* – The ARN of the broker.
6237
- - *Amazon DocumentDB* – The ARN of the DocumentDB change stream.
6238
-
6239
6400
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn
6240
6401
  '''
6241
6402
  result = self._values.get("event_source_arn")
@@ -6245,9 +6406,7 @@ class CfnEventSourceMappingProps:
6245
6406
  def filter_criteria(
6246
6407
  self,
6247
6408
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.FilterCriteriaProperty]]:
6248
- '''An object that defines the filter criteria that determine whether Lambda should process an event.
6249
-
6250
- For more information, see `Lambda event filtering <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html>`_ .
6409
+ '''The filter criteria to control event filtering.
6251
6410
 
6252
6411
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-filtercriteria
6253
6412
  '''
@@ -6256,9 +6415,7 @@ class CfnEventSourceMappingProps:
6256
6415
 
6257
6416
  @builtins.property
6258
6417
  def function_response_types(self) -> typing.Optional[typing.List[builtins.str]]:
6259
- '''(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.
6260
-
6261
- Valid Values: ``ReportBatchItemFailures``
6418
+ '''(Streams) A list of response types supported by the function.
6262
6419
 
6263
6420
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes
6264
6421
  '''
@@ -6267,7 +6424,7 @@ class CfnEventSourceMappingProps:
6267
6424
 
6268
6425
  @builtins.property
6269
6426
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
6270
- '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that Lambda uses to encrypt your function's `filter criteria <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics>`_ .
6427
+ '''The Amazon Resource Name (ARN) of the KMS key.
6271
6428
 
6272
6429
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn
6273
6430
  '''
@@ -6276,13 +6433,7 @@ class CfnEventSourceMappingProps:
6276
6433
 
6277
6434
  @builtins.property
6278
6435
  def maximum_batching_window_in_seconds(self) -> typing.Optional[jsii.Number]:
6279
- '''The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.
6280
-
6281
- *Default ( Kinesis , DynamoDB , Amazon SQS event sources)* : 0
6282
-
6283
- *Default ( Amazon MSK , Kafka, Amazon MQ , Amazon DocumentDB event sources)* : 500 ms
6284
-
6285
- *Related setting:* For Amazon SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.
6436
+ '''(Streams) The maximum amount of time to gather records before invoking the function, in seconds.
6286
6437
 
6287
6438
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds
6288
6439
  '''
@@ -6291,13 +6442,7 @@ class CfnEventSourceMappingProps:
6291
6442
 
6292
6443
  @builtins.property
6293
6444
  def maximum_record_age_in_seconds(self) -> typing.Optional[jsii.Number]:
6294
- '''(Kinesis and DynamoDB Streams only) Discard records older than the specified age.
6295
-
6296
- The default value is -1,
6297
- which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.
6298
- .. epigraph::
6299
-
6300
- The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed
6445
+ '''(Streams) The maximum age of a record that Lambda sends to a function for processing.
6301
6446
 
6302
6447
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds
6303
6448
  '''
@@ -6306,10 +6451,7 @@ class CfnEventSourceMappingProps:
6306
6451
 
6307
6452
  @builtins.property
6308
6453
  def maximum_retry_attempts(self) -> typing.Optional[jsii.Number]:
6309
- '''(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries.
6310
-
6311
- The default value is -1,
6312
- which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
6454
+ '''(Streams) The maximum number of times to retry when the function returns an error.
6313
6455
 
6314
6456
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts
6315
6457
  '''
@@ -6317,19 +6459,39 @@ class CfnEventSourceMappingProps:
6317
6459
  return typing.cast(typing.Optional[jsii.Number], result)
6318
6460
 
6319
6461
  @builtins.property
6320
- def parallelization_factor(self) -> typing.Optional[jsii.Number]:
6321
- '''(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard.
6462
+ def metrics_config(
6463
+ self,
6464
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.MetricsConfigProperty]]:
6465
+ '''Metrics config for Event Source Mapping Metrics.
6466
+
6467
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-metricsconfig
6468
+ '''
6469
+ result = self._values.get("metrics_config")
6470
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.MetricsConfigProperty]], result)
6322
6471
 
6323
- The default value is 1.
6472
+ @builtins.property
6473
+ def parallelization_factor(self) -> typing.Optional[jsii.Number]:
6474
+ '''(Streams) The number of batches to process from each shard concurrently.
6324
6475
 
6325
6476
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor
6326
6477
  '''
6327
6478
  result = self._values.get("parallelization_factor")
6328
6479
  return typing.cast(typing.Optional[jsii.Number], result)
6329
6480
 
6481
+ @builtins.property
6482
+ def provisioned_poller_config(
6483
+ self,
6484
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.ProvisionedPollerConfigProperty]]:
6485
+ '''ProvisionedPollerConfig.
6486
+
6487
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-provisionedpollerconfig
6488
+ '''
6489
+ result = self._values.get("provisioned_poller_config")
6490
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.ProvisionedPollerConfigProperty]], result)
6491
+
6330
6492
  @builtins.property
6331
6493
  def queues(self) -> typing.Optional[typing.List[builtins.str]]:
6332
- '''(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
6494
+ '''(ActiveMQ) A list of ActiveMQ queues.
6333
6495
 
6334
6496
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues
6335
6497
  '''
@@ -6340,9 +6502,7 @@ class CfnEventSourceMappingProps:
6340
6502
  def scaling_config(
6341
6503
  self,
6342
6504
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.ScalingConfigProperty]]:
6343
- '''(Amazon SQS only) The scaling configuration for the event source.
6344
-
6345
- For more information, see `Configuring maximum concurrency for Amazon SQS event sources <https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency>`_ .
6505
+ '''The scaling configuration for the event source.
6346
6506
 
6347
6507
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-scalingconfig
6348
6508
  '''
@@ -6353,7 +6513,7 @@ class CfnEventSourceMappingProps:
6353
6513
  def self_managed_event_source(
6354
6514
  self,
6355
6515
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.SelfManagedEventSourceProperty]]:
6356
- '''The self-managed Apache Kafka cluster for your event source.
6516
+ '''The configuration used by AWS Lambda to access a self-managed event source.
6357
6517
 
6358
6518
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-selfmanagedeventsource
6359
6519
  '''
@@ -6364,7 +6524,7 @@ class CfnEventSourceMappingProps:
6364
6524
  def self_managed_kafka_event_source_config(
6365
6525
  self,
6366
6526
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.SelfManagedKafkaEventSourceConfigProperty]]:
6367
- '''Specific configuration settings for a self-managed Apache Kafka event source.
6527
+ '''Specific configuration settings for a Self-Managed Apache Kafka event source.
6368
6528
 
6369
6529
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig
6370
6530
  '''
@@ -6375,7 +6535,7 @@ class CfnEventSourceMappingProps:
6375
6535
  def source_access_configurations(
6376
6536
  self,
6377
6537
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.SourceAccessConfigurationProperty]]]]:
6378
- '''An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
6538
+ '''A list of SourceAccessConfiguration.
6379
6539
 
6380
6540
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations
6381
6541
  '''
@@ -6384,11 +6544,9 @@ class CfnEventSourceMappingProps:
6384
6544
 
6385
6545
  @builtins.property
6386
6546
  def starting_position(self) -> typing.Optional[builtins.str]:
6387
- '''The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.
6547
+ '''The position in a stream from which to start reading.
6388
6548
 
6389
- - *LATEST* - Read only new records.
6390
- - *TRIM_HORIZON* - Process all available records.
6391
- - *AT_TIMESTAMP* - Specify a time from which to start reading records.
6549
+ Required for Amazon Kinesis and Amazon DynamoDB Streams sources.
6392
6550
 
6393
6551
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition
6394
6552
  '''
@@ -6397,9 +6555,7 @@ class CfnEventSourceMappingProps:
6397
6555
 
6398
6556
  @builtins.property
6399
6557
  def starting_position_timestamp(self) -> typing.Optional[jsii.Number]:
6400
- '''With ``StartingPosition`` set to ``AT_TIMESTAMP`` , the time from which to start reading, in Unix time seconds.
6401
-
6402
- ``StartingPositionTimestamp`` cannot be in the future.
6558
+ '''With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.
6403
6559
 
6404
6560
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp
6405
6561
  '''
@@ -6408,11 +6564,7 @@ class CfnEventSourceMappingProps:
6408
6564
 
6409
6565
  @builtins.property
6410
6566
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6411
- '''A list of tags to add to the event source mapping.
6412
-
6413
- .. epigraph::
6414
-
6415
- You must have the ``lambda:TagResource`` , ``lambda:UntagResource`` , and ``lambda:ListTags`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
6567
+ '''A list of tags to apply to event source mapping resource.
6416
6568
 
6417
6569
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tags
6418
6570
  '''
@@ -6421,7 +6573,7 @@ class CfnEventSourceMappingProps:
6421
6573
 
6422
6574
  @builtins.property
6423
6575
  def topics(self) -> typing.Optional[typing.List[builtins.str]]:
6424
- '''The name of the Kafka topic.
6576
+ '''(Kafka) A list of Kafka topics.
6425
6577
 
6426
6578
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics
6427
6579
  '''
@@ -6430,9 +6582,7 @@ class CfnEventSourceMappingProps:
6430
6582
 
6431
6583
  @builtins.property
6432
6584
  def tumbling_window_in_seconds(self) -> typing.Optional[jsii.Number]:
6433
- '''(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources.
6434
-
6435
- A value of 0 seconds indicates no tumbling window.
6585
+ '''(Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.
6436
6586
 
6437
6587
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds
6438
6588
  '''
@@ -6605,7 +6755,7 @@ class CfnFunction(
6605
6755
  :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, AWS CloudFormation generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
6606
6756
  :param handler: The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_ .
6607
6757
  :param image_config: Configuration values that override the container image Dockerfile settings. For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
6608
- :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry ( Amazon ECR ). If you don't provide a customer managed key, Lambda uses a default service key.
6758
+ :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt the following resources:. - The function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . - The function's `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ snapshots. - When used with ``SourceKMSKeyArn`` , the unzipped version of the .zip deployment package that's used for function invocations. For more information, see `Specifying a customer managed key for Lambda <https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html#enable-zip-custom-encryption>`_ . - The optimized version of the container image that's used for function invocations. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). For more information, see `Function lifecycle <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-lifecycle>`_ . If you don't provide a customer managed key, Lambda uses an `AWS owned key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk>`_ or an `AWS managed key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk>`_ .
6609
6759
  :param layers: A list of `function layers <https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html>`_ to add to the function's execution environment. Specify each layer by its ARN, including the version.
6610
6760
  :param logging_config: The function's Amazon CloudWatch Logs configuration settings.
6611
6761
  :param memory_size: The amount of `memory available to the function <https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console>`_ at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. Note that new AWS accounts have reduced concurrency and memory quotas. AWS raises these quotas automatically based on your usage. You can also request a quota increase.
@@ -6922,7 +7072,7 @@ class CfnFunction(
6922
7072
  @builtins.property
6923
7073
  @jsii.member(jsii_name="kmsKeyArn")
6924
7074
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
6925
- '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry ( Amazon ECR ). If you don't provide a customer managed key, Lambda uses a default service key.'''
7075
+ '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt the following resources:.'''
6926
7076
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyArn"))
6927
7077
 
6928
7078
  @kms_key_arn.setter
@@ -7164,7 +7314,7 @@ class CfnFunction(
7164
7314
  :param s3_bucket: An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account .
7165
7315
  :param s3_key: The Amazon S3 key of the deployment package.
7166
7316
  :param s3_object_version: For versioned objects, the version of the deployment package object to use.
7167
- :param source_kms_key_arn:
7317
+ :param source_kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's .zip deployment package. If you don't provide a customer managed key, Lambda uses an `AWS owned key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk>`_ .
7168
7318
  :param zip_file: (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, AWS CloudFormation places it in a file named ``index`` and zips it to create a `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ . This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index`` . For example, ``index.handler`` . .. epigraph:: When you specify source code inline for a Node.js function, the ``index`` file that AWS CloudFormation creates uses the extension ``.js`` . This means that Lambda treats the file as a CommonJS module. ES modules aren't supported for inline functions. For JSON, you must escape quotes and special characters such as newline ( ``\\n`` ) with a backslash. If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module ( `cfn-response <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html>`_ ) that simplifies sending responses. See `Using AWS Lambda with AWS CloudFormation <https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html>`_ for details.
7169
7319
 
7170
7320
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html
@@ -7247,7 +7397,8 @@ class CfnFunction(
7247
7397
 
7248
7398
  @builtins.property
7249
7399
  def source_kms_key_arn(self) -> typing.Optional[builtins.str]:
7250
- '''
7400
+ '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's .zip deployment package. If you don't provide a customer managed key, Lambda uses an `AWS owned key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk>`_ .
7401
+
7251
7402
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-sourcekmskeyarn
7252
7403
  '''
7253
7404
  result = self._values.get("source_kms_key_arn")
@@ -8170,7 +8321,7 @@ class CfnFunctionProps:
8170
8321
  :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, AWS CloudFormation generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
8171
8322
  :param handler: The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_ .
8172
8323
  :param image_config: Configuration values that override the container image Dockerfile settings. For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
8173
- :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry ( Amazon ECR ). If you don't provide a customer managed key, Lambda uses a default service key.
8324
+ :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt the following resources:. - The function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . - The function's `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ snapshots. - When used with ``SourceKMSKeyArn`` , the unzipped version of the .zip deployment package that's used for function invocations. For more information, see `Specifying a customer managed key for Lambda <https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html#enable-zip-custom-encryption>`_ . - The optimized version of the container image that's used for function invocations. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). For more information, see `Function lifecycle <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-lifecycle>`_ . If you don't provide a customer managed key, Lambda uses an `AWS owned key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk>`_ or an `AWS managed key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk>`_ .
8174
8325
  :param layers: A list of `function layers <https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html>`_ to add to the function's execution environment. Specify each layer by its ARN, including the version.
8175
8326
  :param logging_config: The function's Amazon CloudWatch Logs configuration settings.
8176
8327
  :param memory_size: The amount of `memory available to the function <https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console>`_ at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. Note that new AWS accounts have reduced concurrency and memory quotas. AWS raises these quotas automatically based on your usage. You can also request a quota increase.
@@ -8496,7 +8647,14 @@ class CfnFunctionProps:
8496
8647
 
8497
8648
  @builtins.property
8498
8649
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
8499
- '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry ( Amazon ECR ). If you don't provide a customer managed key, Lambda uses a default service key.
8650
+ '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt the following resources:.
8651
+
8652
+ - The function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ .
8653
+ - The function's `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ snapshots.
8654
+ - When used with ``SourceKMSKeyArn`` , the unzipped version of the .zip deployment package that's used for function invocations. For more information, see `Specifying a customer managed key for Lambda <https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html#enable-zip-custom-encryption>`_ .
8655
+ - The optimized version of the container image that's used for function invocations. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). For more information, see `Function lifecycle <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-lifecycle>`_ .
8656
+
8657
+ If you don't provide a customer managed key, Lambda uses an `AWS owned key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk>`_ or an `AWS managed key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk>`_ .
8500
8658
 
8501
8659
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn
8502
8660
  '''
@@ -13099,6 +13257,7 @@ class EventInvokeConfigProps(EventInvokeConfigOptions):
13099
13257
  "max_batching_window": "maxBatchingWindow",
13100
13258
  "max_concurrency": "maxConcurrency",
13101
13259
  "max_record_age": "maxRecordAge",
13260
+ "metrics_config": "metricsConfig",
13102
13261
  "on_failure": "onFailure",
13103
13262
  "parallelization_factor": "parallelizationFactor",
13104
13263
  "report_batch_item_failures": "reportBatchItemFailures",
@@ -13126,6 +13285,7 @@ class EventSourceMappingOptions:
13126
13285
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
13127
13286
  max_concurrency: typing.Optional[jsii.Number] = None,
13128
13287
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
13288
+ metrics_config: typing.Optional[typing.Union["MetricsConfig", typing.Dict[builtins.str, typing.Any]]] = None,
13129
13289
  on_failure: typing.Optional["IEventSourceDlq"] = None,
13130
13290
  parallelization_factor: typing.Optional[jsii.Number] = None,
13131
13291
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -13149,6 +13309,7 @@ class EventSourceMappingOptions:
13149
13309
  :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)
13150
13310
  :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.
13151
13311
  :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.
13312
+ :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
13152
13313
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: discarded records are ignored
13153
13314
  :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
13154
13315
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -13189,6 +13350,9 @@ class EventSourceMappingOptions:
13189
13350
  max_batching_window=cdk.Duration.minutes(30),
13190
13351
  max_concurrency=123,
13191
13352
  max_record_age=cdk.Duration.minutes(30),
13353
+ metrics_config=lambda.MetricsConfig(
13354
+ metrics=[lambda_.MetricType.EVENT_COUNT]
13355
+ ),
13192
13356
  on_failure=event_source_dlq,
13193
13357
  parallelization_factor=123,
13194
13358
  report_batch_item_failures=False,
@@ -13203,6 +13367,8 @@ class EventSourceMappingOptions:
13203
13367
  tumbling_window=cdk.Duration.minutes(30)
13204
13368
  )
13205
13369
  '''
13370
+ if isinstance(metrics_config, dict):
13371
+ metrics_config = MetricsConfig(**metrics_config)
13206
13372
  if __debug__:
13207
13373
  type_hints = typing.get_type_hints(_typecheckingstub__7442d2bd60e56a826eab54e95fa6a6ebc8961285a26558c7189840a124a0a2e0)
13208
13374
  check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
@@ -13217,6 +13383,7 @@ class EventSourceMappingOptions:
13217
13383
  check_type(argname="argument max_batching_window", value=max_batching_window, expected_type=type_hints["max_batching_window"])
13218
13384
  check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
13219
13385
  check_type(argname="argument max_record_age", value=max_record_age, expected_type=type_hints["max_record_age"])
13386
+ check_type(argname="argument metrics_config", value=metrics_config, expected_type=type_hints["metrics_config"])
13220
13387
  check_type(argname="argument on_failure", value=on_failure, expected_type=type_hints["on_failure"])
13221
13388
  check_type(argname="argument parallelization_factor", value=parallelization_factor, expected_type=type_hints["parallelization_factor"])
13222
13389
  check_type(argname="argument report_batch_item_failures", value=report_batch_item_failures, expected_type=type_hints["report_batch_item_failures"])
@@ -13251,6 +13418,8 @@ class EventSourceMappingOptions:
13251
13418
  self._values["max_concurrency"] = max_concurrency
13252
13419
  if max_record_age is not None:
13253
13420
  self._values["max_record_age"] = max_record_age
13421
+ if metrics_config is not None:
13422
+ self._values["metrics_config"] = metrics_config
13254
13423
  if on_failure is not None:
13255
13424
  self._values["on_failure"] = on_failure
13256
13425
  if parallelization_factor is not None:
@@ -13414,6 +13583,15 @@ class EventSourceMappingOptions:
13414
13583
  result = self._values.get("max_record_age")
13415
13584
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
13416
13585
 
13586
+ @builtins.property
13587
+ def metrics_config(self) -> typing.Optional["MetricsConfig"]:
13588
+ '''Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
13589
+
13590
+ :default: - Enhanced monitoring is disabled
13591
+ '''
13592
+ result = self._values.get("metrics_config")
13593
+ return typing.cast(typing.Optional["MetricsConfig"], result)
13594
+
13417
13595
  @builtins.property
13418
13596
  def on_failure(self) -> typing.Optional["IEventSourceDlq"]:
13419
13597
  '''An Amazon SQS queue or Amazon SNS topic destination for discarded records.
@@ -13552,6 +13730,7 @@ class EventSourceMappingOptions:
13552
13730
  "max_batching_window": "maxBatchingWindow",
13553
13731
  "max_concurrency": "maxConcurrency",
13554
13732
  "max_record_age": "maxRecordAge",
13733
+ "metrics_config": "metricsConfig",
13555
13734
  "on_failure": "onFailure",
13556
13735
  "parallelization_factor": "parallelizationFactor",
13557
13736
  "report_batch_item_failures": "reportBatchItemFailures",
@@ -13580,6 +13759,7 @@ class EventSourceMappingProps(EventSourceMappingOptions):
13580
13759
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
13581
13760
  max_concurrency: typing.Optional[jsii.Number] = None,
13582
13761
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
13762
+ metrics_config: typing.Optional[typing.Union["MetricsConfig", typing.Dict[builtins.str, typing.Any]]] = None,
13583
13763
  on_failure: typing.Optional["IEventSourceDlq"] = None,
13584
13764
  parallelization_factor: typing.Optional[jsii.Number] = None,
13585
13765
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -13605,6 +13785,7 @@ class EventSourceMappingProps(EventSourceMappingOptions):
13605
13785
  :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)
13606
13786
  :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.
13607
13787
  :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.
13788
+ :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
13608
13789
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: discarded records are ignored
13609
13790
  :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
13610
13791
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -13650,6 +13831,9 @@ class EventSourceMappingProps(EventSourceMappingOptions):
13650
13831
  max_batching_window=cdk.Duration.minutes(30),
13651
13832
  max_concurrency=123,
13652
13833
  max_record_age=cdk.Duration.minutes(30),
13834
+ metrics_config=lambda.MetricsConfig(
13835
+ metrics=[lambda_.MetricType.EVENT_COUNT]
13836
+ ),
13653
13837
  on_failure=event_source_dlq,
13654
13838
  parallelization_factor=123,
13655
13839
  report_batch_item_failures=False,
@@ -13664,6 +13848,8 @@ class EventSourceMappingProps(EventSourceMappingOptions):
13664
13848
  tumbling_window=cdk.Duration.minutes(30)
13665
13849
  )
13666
13850
  '''
13851
+ if isinstance(metrics_config, dict):
13852
+ metrics_config = MetricsConfig(**metrics_config)
13667
13853
  if __debug__:
13668
13854
  type_hints = typing.get_type_hints(_typecheckingstub__e74d0bc5516fc715f7302bdf199df23dddf769e98771f0bac2ff026a4e386fec)
13669
13855
  check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
@@ -13678,6 +13864,7 @@ class EventSourceMappingProps(EventSourceMappingOptions):
13678
13864
  check_type(argname="argument max_batching_window", value=max_batching_window, expected_type=type_hints["max_batching_window"])
13679
13865
  check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
13680
13866
  check_type(argname="argument max_record_age", value=max_record_age, expected_type=type_hints["max_record_age"])
13867
+ check_type(argname="argument metrics_config", value=metrics_config, expected_type=type_hints["metrics_config"])
13681
13868
  check_type(argname="argument on_failure", value=on_failure, expected_type=type_hints["on_failure"])
13682
13869
  check_type(argname="argument parallelization_factor", value=parallelization_factor, expected_type=type_hints["parallelization_factor"])
13683
13870
  check_type(argname="argument report_batch_item_failures", value=report_batch_item_failures, expected_type=type_hints["report_batch_item_failures"])
@@ -13715,6 +13902,8 @@ class EventSourceMappingProps(EventSourceMappingOptions):
13715
13902
  self._values["max_concurrency"] = max_concurrency
13716
13903
  if max_record_age is not None:
13717
13904
  self._values["max_record_age"] = max_record_age
13905
+ if metrics_config is not None:
13906
+ self._values["metrics_config"] = metrics_config
13718
13907
  if on_failure is not None:
13719
13908
  self._values["on_failure"] = on_failure
13720
13909
  if parallelization_factor is not None:
@@ -13878,6 +14067,15 @@ class EventSourceMappingProps(EventSourceMappingOptions):
13878
14067
  result = self._values.get("max_record_age")
13879
14068
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
13880
14069
 
14070
+ @builtins.property
14071
+ def metrics_config(self) -> typing.Optional["MetricsConfig"]:
14072
+ '''Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
14073
+
14074
+ :default: - Enhanced monitoring is disabled
14075
+ '''
14076
+ result = self._values.get("metrics_config")
14077
+ return typing.cast(typing.Optional["MetricsConfig"], result)
14078
+
13881
14079
  @builtins.property
13882
14080
  def on_failure(self) -> typing.Optional["IEventSourceDlq"]:
13883
14081
  '''An Amazon SQS queue or Amazon SNS topic destination for discarded records.
@@ -16628,16 +16826,14 @@ class FunctionUrlAuthType(enum.Enum):
16628
16826
 
16629
16827
  Example::
16630
16828
 
16631
- # Can be a Function or an Alias
16632
- # fn: lambda.Function
16829
+ import aws_cdk.aws_lambda as lambda_
16633
16830
 
16831
+ # fn: lambda.Function
16634
16832
 
16635
- fn_url = fn.add_function_url(
16636
- auth_type=lambda_.FunctionUrlAuthType.NONE
16637
- )
16833
+ fn_url = fn.add_function_url(auth_type=lambda_.FunctionUrlAuthType.NONE)
16638
16834
 
16639
- CfnOutput(self, "TheUrl",
16640
- value=fn_url.url
16835
+ cloudfront.Distribution(self, "Distribution",
16836
+ default_behavior=cloudfront.BehaviorOptions(origin=origins.FunctionUrlOrigin(fn_url))
16641
16837
  )
16642
16838
  '''
16643
16839
 
@@ -16810,16 +17006,14 @@ class FunctionUrlOptions:
16810
17006
 
16811
17007
  Example::
16812
17008
 
16813
- # Can be a Function or an Alias
16814
- # fn: lambda.Function
17009
+ import aws_cdk.aws_lambda as lambda_
16815
17010
 
17011
+ # fn: lambda.Function
16816
17012
 
16817
- fn_url = fn.add_function_url(
16818
- auth_type=lambda_.FunctionUrlAuthType.NONE
16819
- )
17013
+ fn_url = fn.add_function_url(auth_type=lambda_.FunctionUrlAuthType.NONE)
16820
17014
 
16821
- CfnOutput(self, "TheUrl",
16822
- value=fn_url.url
17015
+ cloudfront.Distribution(self, "Distribution",
17016
+ default_behavior=cloudfront.BehaviorOptions(origin=origins.FunctionUrlOrigin(fn_url))
16823
17017
  )
16824
17018
  '''
16825
17019
  if isinstance(cors, dict):
@@ -17416,6 +17610,7 @@ class IFunction(
17416
17610
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
17417
17611
  max_concurrency: typing.Optional[jsii.Number] = None,
17418
17612
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
17613
+ metrics_config: typing.Optional[typing.Union["MetricsConfig", typing.Dict[builtins.str, typing.Any]]] = None,
17419
17614
  on_failure: typing.Optional[IEventSourceDlq] = None,
17420
17615
  parallelization_factor: typing.Optional[jsii.Number] = None,
17421
17616
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -17441,6 +17636,7 @@ class IFunction(
17441
17636
  :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)
17442
17637
  :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.
17443
17638
  :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.
17639
+ :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
17444
17640
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: discarded records are ignored
17445
17641
  :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
17446
17642
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -17834,6 +18030,7 @@ class _IFunctionProxy(
17834
18030
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
17835
18031
  max_concurrency: typing.Optional[jsii.Number] = None,
17836
18032
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
18033
+ metrics_config: typing.Optional[typing.Union["MetricsConfig", typing.Dict[builtins.str, typing.Any]]] = None,
17837
18034
  on_failure: typing.Optional[IEventSourceDlq] = None,
17838
18035
  parallelization_factor: typing.Optional[jsii.Number] = None,
17839
18036
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -17859,6 +18056,7 @@ class _IFunctionProxy(
17859
18056
  :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)
17860
18057
  :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.
17861
18058
  :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.
18059
+ :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
17862
18060
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: discarded records are ignored
17863
18061
  :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
17864
18062
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -17885,6 +18083,7 @@ class _IFunctionProxy(
17885
18083
  max_batching_window=max_batching_window,
17886
18084
  max_concurrency=max_concurrency,
17887
18085
  max_record_age=max_record_age,
18086
+ metrics_config=metrics_config,
17888
18087
  on_failure=on_failure,
17889
18088
  parallelization_factor=parallelization_factor,
17890
18089
  report_batch_item_failures=report_batch_item_failures,
@@ -18277,6 +18476,15 @@ typing.cast(typing.Any, IFunction).__jsii_proxy_class__ = lambda : _IFunctionPro
18277
18476
  class IFunctionUrl(_IResource_c80c4260, typing_extensions.Protocol):
18278
18477
  '''A Lambda function Url.'''
18279
18478
 
18479
+ @builtins.property
18480
+ @jsii.member(jsii_name="authType")
18481
+ def auth_type(self) -> FunctionUrlAuthType:
18482
+ '''The authType of the function URL, used for access control.
18483
+
18484
+ :attribute: AuthType
18485
+ '''
18486
+ ...
18487
+
18280
18488
  @builtins.property
18281
18489
  @jsii.member(jsii_name="functionArn")
18282
18490
  def function_arn(self) -> builtins.str:
@@ -18311,6 +18519,15 @@ class _IFunctionUrlProxy(
18311
18519
 
18312
18520
  __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_lambda.IFunctionUrl"
18313
18521
 
18522
+ @builtins.property
18523
+ @jsii.member(jsii_name="authType")
18524
+ def auth_type(self) -> FunctionUrlAuthType:
18525
+ '''The authType of the function URL, used for access control.
18526
+
18527
+ :attribute: AuthType
18528
+ '''
18529
+ return typing.cast(FunctionUrlAuthType, jsii.get(self, "authType"))
18530
+
18314
18531
  @builtins.property
18315
18532
  @jsii.member(jsii_name="functionArn")
18316
18533
  def function_arn(self) -> builtins.str:
@@ -19742,6 +19959,102 @@ class LoggingFormat(enum.Enum):
19742
19959
  '''Lambda structured logging in Json format.'''
19743
19960
 
19744
19961
 
19962
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_lambda.MetricType")
19963
+ class MetricType(enum.Enum):
19964
+ '''
19965
+ :exampleMetadata: infused
19966
+
19967
+ Example::
19968
+
19969
+ import aws_cdk.aws_lambda_event_sources as eventsources
19970
+ import aws_cdk.aws_dynamodb as dynamodb
19971
+
19972
+ # fn: lambda.Function
19973
+
19974
+ table = dynamodb.Table(self, "Table",
19975
+ partition_key=dynamodb.Attribute(
19976
+ name="id",
19977
+ type=dynamodb.AttributeType.STRING
19978
+ ),
19979
+ stream=dynamodb.StreamViewType.NEW_IMAGE
19980
+ )
19981
+
19982
+ fn.add_event_source(eventsources.DynamoEventSource(table,
19983
+ starting_position=lambda_.StartingPosition.LATEST,
19984
+ metrics_config=lambda.MetricsConfig(
19985
+ metrics=[lambda_.MetricType.EVENT_COUNT]
19986
+ )
19987
+ ))
19988
+ '''
19989
+
19990
+ EVENT_COUNT = "EVENT_COUNT"
19991
+ '''Event Count metrics provide insights into the processing behavior of your event source mapping, including the number of events successfully processed, filtered out, or dropped.
19992
+
19993
+ These metrics help you monitor the flow and status of events through your event source mapping.
19994
+ '''
19995
+
19996
+
19997
+ @jsii.data_type(
19998
+ jsii_type="aws-cdk-lib.aws_lambda.MetricsConfig",
19999
+ jsii_struct_bases=[],
20000
+ name_mapping={"metrics": "metrics"},
20001
+ )
20002
+ class MetricsConfig:
20003
+ def __init__(self, *, metrics: typing.Sequence[MetricType]) -> None:
20004
+ '''Configuration for collecting metrics from the event source.
20005
+
20006
+ :param metrics: List of metric types to enable for this event source.
20007
+
20008
+ :exampleMetadata: infused
20009
+
20010
+ Example::
20011
+
20012
+ import aws_cdk.aws_lambda_event_sources as eventsources
20013
+ import aws_cdk.aws_dynamodb as dynamodb
20014
+
20015
+ # fn: lambda.Function
20016
+
20017
+ table = dynamodb.Table(self, "Table",
20018
+ partition_key=dynamodb.Attribute(
20019
+ name="id",
20020
+ type=dynamodb.AttributeType.STRING
20021
+ ),
20022
+ stream=dynamodb.StreamViewType.NEW_IMAGE
20023
+ )
20024
+
20025
+ fn.add_event_source(eventsources.DynamoEventSource(table,
20026
+ starting_position=lambda_.StartingPosition.LATEST,
20027
+ metrics_config=lambda.MetricsConfig(
20028
+ metrics=[lambda_.MetricType.EVENT_COUNT]
20029
+ )
20030
+ ))
20031
+ '''
20032
+ if __debug__:
20033
+ type_hints = typing.get_type_hints(_typecheckingstub__4218efa5c54e4e516b67c0effbba7d0c5c38520f9aaff7c4d76078a6e0fbd4ca)
20034
+ check_type(argname="argument metrics", value=metrics, expected_type=type_hints["metrics"])
20035
+ self._values: typing.Dict[builtins.str, typing.Any] = {
20036
+ "metrics": metrics,
20037
+ }
20038
+
20039
+ @builtins.property
20040
+ def metrics(self) -> typing.List[MetricType]:
20041
+ '''List of metric types to enable for this event source.'''
20042
+ result = self._values.get("metrics")
20043
+ assert result is not None, "Required property 'metrics' is missing"
20044
+ return typing.cast(typing.List[MetricType], result)
20045
+
20046
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
20047
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
20048
+
20049
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
20050
+ return not (rhs == self)
20051
+
20052
+ def __repr__(self) -> str:
20053
+ return "MetricsConfig(%s)" % ", ".join(
20054
+ k + "=" + repr(v) for k, v in self._values.items()
20055
+ )
20056
+
20057
+
19745
20058
  class ParamsAndSecretsLayerVersion(
19746
20059
  metaclass=jsii.JSIIAbstractClass,
19747
20060
  jsii_type="aws-cdk-lib.aws_lambda.ParamsAndSecretsLayerVersion",
@@ -20738,6 +21051,12 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_lambda.Runtime
20738
21051
  '''The NodeJS 20.x runtime (nodejs20.x).'''
20739
21052
  return typing.cast("Runtime", jsii.sget(cls, "NODEJS_20_X"))
20740
21053
 
21054
+ @jsii.python.classproperty
21055
+ @jsii.member(jsii_name="NODEJS_22_X")
21056
+ def NODEJS_22_X(cls) -> "Runtime":
21057
+ '''The NodeJS 22.x runtime (nodejs22.x).'''
21058
+ return typing.cast("Runtime", jsii.sget(cls, "NODEJS_22_X"))
21059
+
20741
21060
  @jsii.python.classproperty
20742
21061
  @jsii.member(jsii_name="NODEJS_4_3")
20743
21062
  def NODEJS_4_3(cls) -> "Runtime":
@@ -25141,6 +25460,9 @@ class EventSourceMapping(
25141
25460
  max_batching_window=cdk.Duration.minutes(30),
25142
25461
  max_concurrency=123,
25143
25462
  max_record_age=cdk.Duration.minutes(30),
25463
+ metrics_config=lambda.MetricsConfig(
25464
+ metrics=[lambda_.MetricType.EVENT_COUNT]
25465
+ ),
25144
25466
  on_failure=event_source_dlq,
25145
25467
  parallelization_factor=123,
25146
25468
  report_batch_item_failures=False,
@@ -25174,6 +25496,7 @@ class EventSourceMapping(
25174
25496
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
25175
25497
  max_concurrency: typing.Optional[jsii.Number] = None,
25176
25498
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
25499
+ metrics_config: typing.Optional[typing.Union[MetricsConfig, typing.Dict[builtins.str, typing.Any]]] = None,
25177
25500
  on_failure: typing.Optional[IEventSourceDlq] = None,
25178
25501
  parallelization_factor: typing.Optional[jsii.Number] = None,
25179
25502
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -25200,6 +25523,7 @@ class EventSourceMapping(
25200
25523
  :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)
25201
25524
  :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.
25202
25525
  :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.
25526
+ :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
25203
25527
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: discarded records are ignored
25204
25528
  :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
25205
25529
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -25228,6 +25552,7 @@ class EventSourceMapping(
25228
25552
  max_batching_window=max_batching_window,
25229
25553
  max_concurrency=max_concurrency,
25230
25554
  max_record_age=max_record_age,
25555
+ metrics_config=metrics_config,
25231
25556
  on_failure=on_failure,
25232
25557
  parallelization_factor=parallelization_factor,
25233
25558
  report_batch_item_failures=report_batch_item_failures,
@@ -25347,6 +25672,7 @@ class FunctionBase(
25347
25672
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
25348
25673
  max_concurrency: typing.Optional[jsii.Number] = None,
25349
25674
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
25675
+ metrics_config: typing.Optional[typing.Union[MetricsConfig, typing.Dict[builtins.str, typing.Any]]] = None,
25350
25676
  on_failure: typing.Optional[IEventSourceDlq] = None,
25351
25677
  parallelization_factor: typing.Optional[jsii.Number] = None,
25352
25678
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -25372,6 +25698,7 @@ class FunctionBase(
25372
25698
  :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)
25373
25699
  :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.
25374
25700
  :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.
25701
+ :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
25375
25702
  :param on_failure: An Amazon SQS queue or Amazon SNS topic destination for discarded records. Default: discarded records are ignored
25376
25703
  :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
25377
25704
  :param report_batch_item_failures: Allow functions to return partially successful responses for a batch of records. Default: false
@@ -25398,6 +25725,7 @@ class FunctionBase(
25398
25725
  max_batching_window=max_batching_window,
25399
25726
  max_concurrency=max_concurrency,
25400
25727
  max_record_age=max_record_age,
25728
+ metrics_config=metrics_config,
25401
25729
  on_failure=on_failure,
25402
25730
  parallelization_factor=parallelization_factor,
25403
25731
  report_batch_item_failures=report_batch_item_failures,
@@ -25983,16 +26311,18 @@ class FunctionUrl(
25983
26311
 
25984
26312
  Example::
25985
26313
 
25986
- # Can be a Function or an Alias
26314
+ import aws_cdk.aws_lambda as lambda_
25987
26315
  # fn: lambda.Function
25988
26316
 
25989
26317
 
25990
26318
  fn_url = fn.add_function_url(
25991
- auth_type=lambda_.FunctionUrlAuthType.NONE
26319
+ auth_type=lambda_.FunctionUrlAuthType.AWS_IAM
25992
26320
  )
25993
26321
 
25994
- CfnOutput(self, "TheUrl",
25995
- value=fn_url.url
26322
+ cloudfront.Distribution(self, "MyDistribution",
26323
+ default_behavior=cloudfront.BehaviorOptions(
26324
+ origin=origins.FunctionUrlOrigin.with_origin_access_control(fn_url)
26325
+ )
25996
26326
  )
25997
26327
  '''
25998
26328
 
@@ -28343,6 +28673,8 @@ __all__ = [
28343
28673
  "LogFormat",
28344
28674
  "LogRetentionRetryOptions",
28345
28675
  "LoggingFormat",
28676
+ "MetricType",
28677
+ "MetricsConfig",
28346
28678
  "ParamsAndSecretsLayerVersion",
28347
28679
  "ParamsAndSecretsLogLevel",
28348
28680
  "ParamsAndSecretsOptions",
@@ -28779,7 +29111,9 @@ def _typecheckingstub__2fc9432254acf5a7dbe3c68dcedbda61de1f0e804a81d20ae79e04857
28779
29111
  maximum_batching_window_in_seconds: typing.Optional[jsii.Number] = None,
28780
29112
  maximum_record_age_in_seconds: typing.Optional[jsii.Number] = None,
28781
29113
  maximum_retry_attempts: typing.Optional[jsii.Number] = None,
29114
+ metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.MetricsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
28782
29115
  parallelization_factor: typing.Optional[jsii.Number] = None,
29116
+ provisioned_poller_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.ProvisionedPollerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
28783
29117
  queues: typing.Optional[typing.Sequence[builtins.str]] = None,
28784
29118
  scaling_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.ScalingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
28785
29119
  self_managed_event_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.SelfManagedEventSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -28890,12 +29224,24 @@ def _typecheckingstub__a60193f9ed8d7dcd9bc683d028f84f3d0c6fb607f1478419535906237
28890
29224
  """Type checking stubs"""
28891
29225
  pass
28892
29226
 
29227
+ def _typecheckingstub__f5cd631413afcb74b02a0787cd61ff6f1062e9e8d6f6d0f366555a10ce55240b(
29228
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.MetricsConfigProperty]],
29229
+ ) -> None:
29230
+ """Type checking stubs"""
29231
+ pass
29232
+
28893
29233
  def _typecheckingstub__17acebc79ed7e47bc94cbde42ca0c3c5cd8e8a67cc8a4a4de03ec16a17dc2809(
28894
29234
  value: typing.Optional[jsii.Number],
28895
29235
  ) -> None:
28896
29236
  """Type checking stubs"""
28897
29237
  pass
28898
29238
 
29239
+ def _typecheckingstub__0fc82a3bfe1479a23e85d77c5f26cb1797656cf4b8a7e4285b0054919d70b267(
29240
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.ProvisionedPollerConfigProperty]],
29241
+ ) -> None:
29242
+ """Type checking stubs"""
29243
+ pass
29244
+
28899
29245
  def _typecheckingstub__bbc5553ea55233b7a90d42308957e6684e5ee0076ede814be650457e0b146701(
28900
29246
  value: typing.Optional[typing.List[builtins.str]],
28901
29247
  ) -> None:
@@ -29000,6 +29346,13 @@ def _typecheckingstub__acb927ec413c738ab6535754146b1867f086be8268300a02f7729708b
29000
29346
  """Type checking stubs"""
29001
29347
  pass
29002
29348
 
29349
+ def _typecheckingstub__2794f7591f6e9d936a343631f5bf6dacc111c669ab59b5a405ceaa9be22e3bc3(
29350
+ *,
29351
+ metrics: typing.Optional[typing.Sequence[builtins.str]] = None,
29352
+ ) -> None:
29353
+ """Type checking stubs"""
29354
+ pass
29355
+
29003
29356
  def _typecheckingstub__b572101597157b23843e2ec6d0f49304df840ad72df4d555bbdad0c19583fe8b(
29004
29357
  *,
29005
29358
  destination: typing.Optional[builtins.str] = None,
@@ -29007,6 +29360,14 @@ def _typecheckingstub__b572101597157b23843e2ec6d0f49304df840ad72df4d555bbdad0c19
29007
29360
  """Type checking stubs"""
29008
29361
  pass
29009
29362
 
29363
+ def _typecheckingstub__a9766af813d9de7c91becd9b74bcc63c9c769afaf9eb6a30dc155ee230decc1b(
29364
+ *,
29365
+ maximum_pollers: typing.Optional[jsii.Number] = None,
29366
+ minimum_pollers: typing.Optional[jsii.Number] = None,
29367
+ ) -> None:
29368
+ """Type checking stubs"""
29369
+ pass
29370
+
29010
29371
  def _typecheckingstub__cb04d1a40c8f33d48d5c4188609d038cd334985a6f5970b3c6b8dd1938b59cc8(
29011
29372
  *,
29012
29373
  maximum_concurrency: typing.Optional[jsii.Number] = None,
@@ -29052,7 +29413,9 @@ def _typecheckingstub__28f15573fb2525439f034f01287568e3c4a4d28fda953b3059f294655
29052
29413
  maximum_batching_window_in_seconds: typing.Optional[jsii.Number] = None,
29053
29414
  maximum_record_age_in_seconds: typing.Optional[jsii.Number] = None,
29054
29415
  maximum_retry_attempts: typing.Optional[jsii.Number] = None,
29416
+ metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.MetricsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
29055
29417
  parallelization_factor: typing.Optional[jsii.Number] = None,
29418
+ provisioned_poller_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.ProvisionedPollerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
29056
29419
  queues: typing.Optional[typing.Sequence[builtins.str]] = None,
29057
29420
  scaling_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.ScalingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
29058
29421
  self_managed_event_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventSourceMapping.SelfManagedEventSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -30140,6 +30503,7 @@ def _typecheckingstub__7442d2bd60e56a826eab54e95fa6a6ebc8961285a26558c7189840a12
30140
30503
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
30141
30504
  max_concurrency: typing.Optional[jsii.Number] = None,
30142
30505
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
30506
+ metrics_config: typing.Optional[typing.Union[MetricsConfig, typing.Dict[builtins.str, typing.Any]]] = None,
30143
30507
  on_failure: typing.Optional[IEventSourceDlq] = None,
30144
30508
  parallelization_factor: typing.Optional[jsii.Number] = None,
30145
30509
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -30167,6 +30531,7 @@ def _typecheckingstub__e74d0bc5516fc715f7302bdf199df23dddf769e98771f0bac2ff026a4
30167
30531
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
30168
30532
  max_concurrency: typing.Optional[jsii.Number] = None,
30169
30533
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
30534
+ metrics_config: typing.Optional[typing.Union[MetricsConfig, typing.Dict[builtins.str, typing.Any]]] = None,
30170
30535
  on_failure: typing.Optional[IEventSourceDlq] = None,
30171
30536
  parallelization_factor: typing.Optional[jsii.Number] = None,
30172
30537
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -30448,6 +30813,7 @@ def _typecheckingstub__726375d512fd3c0da30be8d20d1c4016974ba77359e6bac8eb3569126
30448
30813
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
30449
30814
  max_concurrency: typing.Optional[jsii.Number] = None,
30450
30815
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
30816
+ metrics_config: typing.Optional[typing.Union[MetricsConfig, typing.Dict[builtins.str, typing.Any]]] = None,
30451
30817
  on_failure: typing.Optional[IEventSourceDlq] = None,
30452
30818
  parallelization_factor: typing.Optional[jsii.Number] = None,
30453
30819
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -30688,6 +31054,13 @@ def _typecheckingstub__c953ce0626c1ce7629d3aeac34bf029d558527f662cc4956b1c209359
30688
31054
  """Type checking stubs"""
30689
31055
  pass
30690
31056
 
31057
+ def _typecheckingstub__4218efa5c54e4e516b67c0effbba7d0c5c38520f9aaff7c4d76078a6e0fbd4ca(
31058
+ *,
31059
+ metrics: typing.Sequence[MetricType],
31060
+ ) -> None:
31061
+ """Type checking stubs"""
31062
+ pass
31063
+
30691
31064
  def _typecheckingstub__d9e0c5dff561e21cd7b00a7bcd76efe519ceb87a91bb29d9f3dd2f82d258176a(
30692
31065
  version: ParamsAndSecretsVersions,
30693
31066
  *,
@@ -31145,6 +31518,7 @@ def _typecheckingstub__b0460bc5250777612d2b42ec799737ce019fcdc03fe86c6540ab2ecec
31145
31518
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
31146
31519
  max_concurrency: typing.Optional[jsii.Number] = None,
31147
31520
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
31521
+ metrics_config: typing.Optional[typing.Union[MetricsConfig, typing.Dict[builtins.str, typing.Any]]] = None,
31148
31522
  on_failure: typing.Optional[IEventSourceDlq] = None,
31149
31523
  parallelization_factor: typing.Optional[jsii.Number] = None,
31150
31524
  report_batch_item_failures: typing.Optional[builtins.bool] = None,
@@ -31199,6 +31573,7 @@ def _typecheckingstub__bfc312bd9bc4e64c5ae8419715155a56676bb9fe40870f57ffa4f3030
31199
31573
  max_batching_window: typing.Optional[_Duration_4839e8c3] = None,
31200
31574
  max_concurrency: typing.Optional[jsii.Number] = None,
31201
31575
  max_record_age: typing.Optional[_Duration_4839e8c3] = None,
31576
+ metrics_config: typing.Optional[typing.Union[MetricsConfig, typing.Dict[builtins.str, typing.Any]]] = None,
31202
31577
  on_failure: typing.Optional[IEventSourceDlq] = None,
31203
31578
  parallelization_factor: typing.Optional[jsii.Number] = None,
31204
31579
  report_batch_item_failures: typing.Optional[builtins.bool] = None,