aws-cdk-lib 2.159.1__py3-none-any.whl → 2.161.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 (58) hide show
  1. aws_cdk/__init__.py +281 -33
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.159.1.jsii.tgz → aws-cdk-lib@2.161.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +13 -14
  5. aws_cdk/aws_autoscaling/__init__.py +2 -2
  6. aws_cdk/aws_b2bi/__init__.py +2283 -672
  7. aws_cdk/aws_batch/__init__.py +9 -5
  8. aws_cdk/aws_bedrock/__init__.py +52 -20
  9. aws_cdk/aws_cloudformation/__init__.py +9 -9
  10. aws_cdk/aws_cloudtrail/__init__.py +97 -183
  11. aws_cdk/aws_cloudwatch/__init__.py +38 -42
  12. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  13. aws_cdk/aws_cognito/__init__.py +18 -0
  14. aws_cdk/aws_datasync/__init__.py +1 -1
  15. aws_cdk/aws_dynamodb/__init__.py +4 -4
  16. aws_cdk/aws_ec2/__init__.py +138 -12
  17. aws_cdk/aws_ecs/__init__.py +517 -6
  18. aws_cdk/aws_eks/__init__.py +118 -2
  19. aws_cdk/aws_elasticloadbalancingv2/__init__.py +5 -3
  20. aws_cdk/aws_glue/__init__.py +386 -0
  21. aws_cdk/aws_iotfleetwise/__init__.py +49 -49
  22. aws_cdk/aws_iottwinmaker/__init__.py +4 -4
  23. aws_cdk/aws_iotwireless/__init__.py +2 -1
  24. aws_cdk/aws_kinesisfirehose/__init__.py +52 -76
  25. aws_cdk/aws_kms/__init__.py +4 -4
  26. aws_cdk/aws_lambda/__init__.py +385 -244
  27. aws_cdk/aws_logs/__init__.py +455 -24
  28. aws_cdk/aws_mediaconnect/__init__.py +6 -4
  29. aws_cdk/aws_medialive/__init__.py +36 -0
  30. aws_cdk/aws_organizations/__init__.py +4 -3
  31. aws_cdk/aws_pipes/__init__.py +2 -2
  32. aws_cdk/aws_quicksight/__init__.py +1086 -6
  33. aws_cdk/aws_rds/__init__.py +182 -3
  34. aws_cdk/aws_route53resolver/__init__.py +3 -17
  35. aws_cdk/aws_s3/__init__.py +24 -15
  36. aws_cdk/aws_s3_deployment/__init__.py +45 -0
  37. aws_cdk/aws_s3express/__init__.py +314 -4
  38. aws_cdk/aws_sagemaker/__init__.py +44 -4
  39. aws_cdk/aws_secretsmanager/__init__.py +14 -7
  40. aws_cdk/aws_securityhub/__init__.py +16 -14
  41. aws_cdk/aws_ses/__init__.py +52 -18
  42. aws_cdk/aws_sqs/__init__.py +16 -14
  43. aws_cdk/aws_ssm/__init__.py +6 -2
  44. aws_cdk/aws_stepfunctions/__init__.py +412 -32
  45. aws_cdk/aws_synthetics/__init__.py +46 -0
  46. aws_cdk/aws_waf/__init__.py +33 -22
  47. aws_cdk/aws_wafregional/__init__.py +36 -24
  48. aws_cdk/aws_workspacesweb/__init__.py +54 -3
  49. aws_cdk/cloud_assembly_schema/__init__.py +1304 -417
  50. aws_cdk/cloudformation_include/__init__.py +28 -0
  51. aws_cdk/cx_api/__init__.py +129 -0
  52. aws_cdk/pipelines/__init__.py +4 -4
  53. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/METADATA +4 -4
  54. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/RECORD +58 -58
  55. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/LICENSE +0 -0
  56. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/NOTICE +0 -0
  57. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/WHEEL +0 -0
  58. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/top_level.txt +0 -0
@@ -1419,6 +1419,8 @@ When enabled, AWS Lambda checks every code deployment and verifies that the code
1419
1419
  For more information, see [Configuring code signing for AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html).
1420
1420
  The following code configures a function with code signing.
1421
1421
 
1422
+ Please note the code will not be automatically signed before deployment. To ensure your code is properly signed, you'll need to conduct the code signing process either through the AWS CLI (Command Line Interface) [start-signing-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/signer/start-signing-job.html) or by accessing the AWS Signer console.
1423
+
1422
1424
  ```python
1423
1425
  import aws_cdk.aws_signer as signer
1424
1426
 
@@ -3577,7 +3579,7 @@ class CfnCodeSigningConfig(
3577
3579
  :param allowed_publishers: List of allowed publishers.
3578
3580
  :param code_signing_policies: The code signing policy controls the validation failure action for signature mismatch or expiry.
3579
3581
  :param description: Code signing configuration description.
3580
- :param tags: A list of tags to apply to CodeSigningConfig resource.
3582
+ :param tags: A list of tags to add to the code signing configuration. .. 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.
3581
3583
  '''
3582
3584
  if __debug__:
3583
3585
  type_hints = typing.get_type_hints(_typecheckingstub__df94ded3fb87e8ca56187dcab5a6bf12d335e2671120df0386f527f736b58b76)
@@ -3703,7 +3705,7 @@ class CfnCodeSigningConfig(
3703
3705
  @builtins.property
3704
3706
  @jsii.member(jsii_name="tags")
3705
3707
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3706
- '''A list of tags to apply to CodeSigningConfig resource.'''
3708
+ '''A list of tags to add to the code signing configuration.'''
3707
3709
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
3708
3710
 
3709
3711
  @tags.setter
@@ -3856,7 +3858,7 @@ class CfnCodeSigningConfigProps:
3856
3858
  :param allowed_publishers: List of allowed publishers.
3857
3859
  :param code_signing_policies: The code signing policy controls the validation failure action for signature mismatch or expiry.
3858
3860
  :param description: Code signing configuration description.
3859
- :param tags: A list of tags to apply to CodeSigningConfig resource.
3861
+ :param tags: A list of tags to add to the code signing configuration. .. 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.
3860
3862
 
3861
3863
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html
3862
3864
  :exampleMetadata: fixture=_generated
@@ -3933,7 +3935,11 @@ class CfnCodeSigningConfigProps:
3933
3935
 
3934
3936
  @builtins.property
3935
3937
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3936
- '''A list of tags to apply to CodeSigningConfig resource.
3938
+ '''A list of tags to add to the code signing configuration.
3939
+
3940
+ .. epigraph::
3941
+
3942
+ 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.
3937
3943
 
3938
3944
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html#cfn-lambda-codesigningconfig-tags
3939
3945
  '''
@@ -4591,31 +4597,31 @@ class CfnEventSourceMapping(
4591
4597
  '''
4592
4598
  :param scope: Scope in which this resource is defined.
4593
4599
  :param id: Construct identifier for this resource (unique in its scope).
4594
- :param function_name: The name of the Lambda function.
4595
- :param amazon_managed_kafka_event_source_config: Specific configuration settings for an MSK event source.
4596
- :param batch_size: The maximum number of items to retrieve in a single batch.
4597
- :param bisect_batch_on_function_error: (Streams) If the function returns an error, split the batch in two and retry.
4598
- :param destination_config: A configuration object that specifies the destination of an event after Lambda processes it.
4599
- :param document_db_event_source_config: Document db event source config.
4600
- :param enabled: Disables the event source mapping to pause polling and invocation.
4601
- :param event_source_arn: The Amazon Resource Name (ARN) of the event source.
4602
- :param filter_criteria: The filter criteria to control event filtering.
4603
- :param function_response_types: (Streams) A list of response types supported by the function.
4604
- :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key.
4605
- :param maximum_batching_window_in_seconds: (Streams) The maximum amount of time to gather records before invoking the function, in seconds.
4606
- :param maximum_record_age_in_seconds: (Streams) The maximum age of a record that Lambda sends to a function for processing.
4607
- :param maximum_retry_attempts: (Streams) The maximum number of times to retry when the function returns an error.
4608
- :param parallelization_factor: (Streams) The number of batches to process from each shard concurrently.
4609
- :param queues: (ActiveMQ) A list of ActiveMQ queues.
4610
- :param scaling_config: The scaling configuration for the event source.
4611
- :param self_managed_event_source: The configuration used by AWS Lambda to access a self-managed event source.
4612
- :param self_managed_kafka_event_source_config: Specific configuration settings for a Self-Managed Apache Kafka event source.
4613
- :param source_access_configurations: A list of SourceAccessConfiguration.
4614
- :param starting_position: The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources.
4615
- :param starting_position_timestamp: With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.
4616
- :param tags:
4617
- :param topics: (Kafka) A list of Kafka topics.
4618
- :param tumbling_window_in_seconds: (Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.
4600
+ :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.
4601
+ :param amazon_managed_kafka_event_source_config: Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
4602
+ :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.
4603
+ :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.
4604
+ :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.
4605
+ :param document_db_event_source_config: Specific configuration settings for a DocumentDB event source.
4606
+ :param enabled: When true, the event source mapping is active. When false, Lambda pauses polling and invocation. Default: True
4607
+ :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.
4608
+ :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>`_ .
4609
+ :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``
4610
+ :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>`_ .
4611
+ :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.
4612
+ :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
4613
+ :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.
4614
+ :param parallelization_factor: (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
4615
+ :param queues: (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
4616
+ :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>`_ .
4617
+ :param self_managed_event_source: The self-managed Apache Kafka cluster for your event source.
4618
+ :param self_managed_kafka_event_source_config: Specific configuration settings for a self-managed Apache Kafka event source.
4619
+ :param source_access_configurations: An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
4620
+ :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.
4621
+ :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.
4622
+ :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.
4623
+ :param topics: The name of the Kafka topic.
4624
+ :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.
4619
4625
  '''
4620
4626
  if __debug__:
4621
4627
  type_hints = typing.get_type_hints(_typecheckingstub__2fc9432254acf5a7dbe3c68dcedbda61de1f0e804a81d20ae79e04857b83d419)
@@ -4684,7 +4690,8 @@ class CfnEventSourceMapping(
4684
4690
  @builtins.property
4685
4691
  @jsii.member(jsii_name="attrEventSourceMappingArn")
4686
4692
  def attr_event_source_mapping_arn(self) -> builtins.str:
4687
- '''
4693
+ '''The Amazon Resource Name (ARN) of the event source mapping.
4694
+
4688
4695
  :cloudformationAttribute: EventSourceMappingArn
4689
4696
  '''
4690
4697
  return typing.cast(builtins.str, jsii.get(self, "attrEventSourceMappingArn"))
@@ -4692,7 +4699,7 @@ class CfnEventSourceMapping(
4692
4699
  @builtins.property
4693
4700
  @jsii.member(jsii_name="attrId")
4694
4701
  def attr_id(self) -> builtins.str:
4695
- '''Event Source Mapping Identifier UUID.
4702
+ '''The event source mapping's ID.
4696
4703
 
4697
4704
  :cloudformationAttribute: Id
4698
4705
  '''
@@ -4712,7 +4719,7 @@ class CfnEventSourceMapping(
4712
4719
  @builtins.property
4713
4720
  @jsii.member(jsii_name="functionName")
4714
4721
  def function_name(self) -> builtins.str:
4715
- '''The name of the Lambda function.'''
4722
+ '''The name or ARN of the Lambda function.'''
4716
4723
  return typing.cast(builtins.str, jsii.get(self, "functionName"))
4717
4724
 
4718
4725
  @function_name.setter
@@ -4727,7 +4734,7 @@ class CfnEventSourceMapping(
4727
4734
  def amazon_managed_kafka_event_source_config(
4728
4735
  self,
4729
4736
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.AmazonManagedKafkaEventSourceConfigProperty"]]:
4730
- '''Specific configuration settings for an MSK event source.'''
4737
+ '''Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.'''
4731
4738
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.AmazonManagedKafkaEventSourceConfigProperty"]], jsii.get(self, "amazonManagedKafkaEventSourceConfig"))
4732
4739
 
4733
4740
  @amazon_managed_kafka_event_source_config.setter
@@ -4743,7 +4750,7 @@ class CfnEventSourceMapping(
4743
4750
  @builtins.property
4744
4751
  @jsii.member(jsii_name="batchSize")
4745
4752
  def batch_size(self) -> typing.Optional[jsii.Number]:
4746
- '''The maximum number of items to retrieve in a single batch.'''
4753
+ '''The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function.'''
4747
4754
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "batchSize"))
4748
4755
 
4749
4756
  @batch_size.setter
@@ -4758,7 +4765,7 @@ class CfnEventSourceMapping(
4758
4765
  def bisect_batch_on_function_error(
4759
4766
  self,
4760
4767
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4761
- '''(Streams) If the function returns an error, split the batch in two and retry.'''
4768
+ '''(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry.'''
4762
4769
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "bisectBatchOnFunctionError"))
4763
4770
 
4764
4771
  @bisect_batch_on_function_error.setter
@@ -4776,7 +4783,7 @@ class CfnEventSourceMapping(
4776
4783
  def destination_config(
4777
4784
  self,
4778
4785
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DestinationConfigProperty"]]:
4779
- '''A configuration object that specifies the destination of an event after Lambda processes it.'''
4786
+ '''(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.'''
4780
4787
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DestinationConfigProperty"]], jsii.get(self, "destinationConfig"))
4781
4788
 
4782
4789
  @destination_config.setter
@@ -4794,7 +4801,7 @@ class CfnEventSourceMapping(
4794
4801
  def document_db_event_source_config(
4795
4802
  self,
4796
4803
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DocumentDBEventSourceConfigProperty"]]:
4797
- '''Document db event source config.'''
4804
+ '''Specific configuration settings for a DocumentDB event source.'''
4798
4805
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.DocumentDBEventSourceConfigProperty"]], jsii.get(self, "documentDbEventSourceConfig"))
4799
4806
 
4800
4807
  @document_db_event_source_config.setter
@@ -4812,7 +4819,10 @@ class CfnEventSourceMapping(
4812
4819
  def enabled(
4813
4820
  self,
4814
4821
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4815
- '''Disables the event source mapping to pause polling and invocation.'''
4822
+ '''When true, the event source mapping is active.
4823
+
4824
+ When false, Lambda pauses polling and invocation.
4825
+ '''
4816
4826
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "enabled"))
4817
4827
 
4818
4828
  @enabled.setter
@@ -4843,7 +4853,7 @@ class CfnEventSourceMapping(
4843
4853
  def filter_criteria(
4844
4854
  self,
4845
4855
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.FilterCriteriaProperty"]]:
4846
- '''The filter criteria to control event filtering.'''
4856
+ '''An object that defines the filter criteria that determine whether Lambda should process an event.'''
4847
4857
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.FilterCriteriaProperty"]], jsii.get(self, "filterCriteria"))
4848
4858
 
4849
4859
  @filter_criteria.setter
@@ -4859,7 +4869,7 @@ class CfnEventSourceMapping(
4859
4869
  @builtins.property
4860
4870
  @jsii.member(jsii_name="functionResponseTypes")
4861
4871
  def function_response_types(self) -> typing.Optional[typing.List[builtins.str]]:
4862
- '''(Streams) A list of response types supported by the function.'''
4872
+ '''(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.'''
4863
4873
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "functionResponseTypes"))
4864
4874
 
4865
4875
  @function_response_types.setter
@@ -4875,7 +4885,7 @@ class CfnEventSourceMapping(
4875
4885
  @builtins.property
4876
4886
  @jsii.member(jsii_name="kmsKeyArn")
4877
4887
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
4878
- '''The Amazon Resource Name (ARN) of the KMS key.'''
4888
+ '''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>`_ .'''
4879
4889
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyArn"))
4880
4890
 
4881
4891
  @kms_key_arn.setter
@@ -4888,7 +4898,7 @@ class CfnEventSourceMapping(
4888
4898
  @builtins.property
4889
4899
  @jsii.member(jsii_name="maximumBatchingWindowInSeconds")
4890
4900
  def maximum_batching_window_in_seconds(self) -> typing.Optional[jsii.Number]:
4891
- '''(Streams) The maximum amount of time to gather records before invoking the function, in seconds.'''
4901
+ '''The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.'''
4892
4902
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maximumBatchingWindowInSeconds"))
4893
4903
 
4894
4904
  @maximum_batching_window_in_seconds.setter
@@ -4904,7 +4914,7 @@ class CfnEventSourceMapping(
4904
4914
  @builtins.property
4905
4915
  @jsii.member(jsii_name="maximumRecordAgeInSeconds")
4906
4916
  def maximum_record_age_in_seconds(self) -> typing.Optional[jsii.Number]:
4907
- '''(Streams) The maximum age of a record that Lambda sends to a function for processing.'''
4917
+ '''(Kinesis and DynamoDB Streams only) Discard records older than the specified age.'''
4908
4918
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maximumRecordAgeInSeconds"))
4909
4919
 
4910
4920
  @maximum_record_age_in_seconds.setter
@@ -4920,7 +4930,7 @@ class CfnEventSourceMapping(
4920
4930
  @builtins.property
4921
4931
  @jsii.member(jsii_name="maximumRetryAttempts")
4922
4932
  def maximum_retry_attempts(self) -> typing.Optional[jsii.Number]:
4923
- '''(Streams) The maximum number of times to retry when the function returns an error.'''
4933
+ '''(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries.'''
4924
4934
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maximumRetryAttempts"))
4925
4935
 
4926
4936
  @maximum_retry_attempts.setter
@@ -4933,7 +4943,7 @@ class CfnEventSourceMapping(
4933
4943
  @builtins.property
4934
4944
  @jsii.member(jsii_name="parallelizationFactor")
4935
4945
  def parallelization_factor(self) -> typing.Optional[jsii.Number]:
4936
- '''(Streams) The number of batches to process from each shard concurrently.'''
4946
+ '''(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard.'''
4937
4947
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "parallelizationFactor"))
4938
4948
 
4939
4949
  @parallelization_factor.setter
@@ -4946,7 +4956,7 @@ class CfnEventSourceMapping(
4946
4956
  @builtins.property
4947
4957
  @jsii.member(jsii_name="queues")
4948
4958
  def queues(self) -> typing.Optional[typing.List[builtins.str]]:
4949
- '''(ActiveMQ) A list of ActiveMQ queues.'''
4959
+ '''(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.'''
4950
4960
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "queues"))
4951
4961
 
4952
4962
  @queues.setter
@@ -4961,7 +4971,7 @@ class CfnEventSourceMapping(
4961
4971
  def scaling_config(
4962
4972
  self,
4963
4973
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.ScalingConfigProperty"]]:
4964
- '''The scaling configuration for the event source.'''
4974
+ '''(Amazon SQS only) The scaling configuration for the event source.'''
4965
4975
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.ScalingConfigProperty"]], jsii.get(self, "scalingConfig"))
4966
4976
 
4967
4977
  @scaling_config.setter
@@ -4979,7 +4989,7 @@ class CfnEventSourceMapping(
4979
4989
  def self_managed_event_source(
4980
4990
  self,
4981
4991
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedEventSourceProperty"]]:
4982
- '''The configuration used by AWS Lambda to access a self-managed event source.'''
4992
+ '''The self-managed Apache Kafka cluster for your event source.'''
4983
4993
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedEventSourceProperty"]], jsii.get(self, "selfManagedEventSource"))
4984
4994
 
4985
4995
  @self_managed_event_source.setter
@@ -4997,7 +5007,7 @@ class CfnEventSourceMapping(
4997
5007
  def self_managed_kafka_event_source_config(
4998
5008
  self,
4999
5009
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedKafkaEventSourceConfigProperty"]]:
5000
- '''Specific configuration settings for a Self-Managed Apache Kafka event source.'''
5010
+ '''Specific configuration settings for a self-managed Apache Kafka event source.'''
5001
5011
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SelfManagedKafkaEventSourceConfigProperty"]], jsii.get(self, "selfManagedKafkaEventSourceConfig"))
5002
5012
 
5003
5013
  @self_managed_kafka_event_source_config.setter
@@ -5015,7 +5025,7 @@ class CfnEventSourceMapping(
5015
5025
  def source_access_configurations(
5016
5026
  self,
5017
5027
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SourceAccessConfigurationProperty"]]]]:
5018
- '''A list of SourceAccessConfiguration.'''
5028
+ '''An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.'''
5019
5029
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.SourceAccessConfigurationProperty"]]]], jsii.get(self, "sourceAccessConfigurations"))
5020
5030
 
5021
5031
  @source_access_configurations.setter
@@ -5031,7 +5041,10 @@ class CfnEventSourceMapping(
5031
5041
  @builtins.property
5032
5042
  @jsii.member(jsii_name="startingPosition")
5033
5043
  def starting_position(self) -> typing.Optional[builtins.str]:
5034
- '''The position in a stream from which to start reading.'''
5044
+ '''The position in a stream from which to start reading.
5045
+
5046
+ Required for Amazon Kinesis and Amazon DynamoDB.
5047
+ '''
5035
5048
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "startingPosition"))
5036
5049
 
5037
5050
  @starting_position.setter
@@ -5044,7 +5057,7 @@ class CfnEventSourceMapping(
5044
5057
  @builtins.property
5045
5058
  @jsii.member(jsii_name="startingPositionTimestamp")
5046
5059
  def starting_position_timestamp(self) -> typing.Optional[jsii.Number]:
5047
- '''With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.'''
5060
+ '''With ``StartingPosition`` set to ``AT_TIMESTAMP`` , the time from which to start reading, in Unix time seconds.'''
5048
5061
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "startingPositionTimestamp"))
5049
5062
 
5050
5063
  @starting_position_timestamp.setter
@@ -5057,6 +5070,7 @@ class CfnEventSourceMapping(
5057
5070
  @builtins.property
5058
5071
  @jsii.member(jsii_name="tags")
5059
5072
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5073
+ '''A list of tags to add to the event source mapping.'''
5060
5074
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
5061
5075
 
5062
5076
  @tags.setter
@@ -5069,7 +5083,7 @@ class CfnEventSourceMapping(
5069
5083
  @builtins.property
5070
5084
  @jsii.member(jsii_name="topics")
5071
5085
  def topics(self) -> typing.Optional[typing.List[builtins.str]]:
5072
- '''(Kafka) A list of Kafka topics.'''
5086
+ '''The name of the Kafka topic.'''
5073
5087
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "topics"))
5074
5088
 
5075
5089
  @topics.setter
@@ -5082,7 +5096,7 @@ class CfnEventSourceMapping(
5082
5096
  @builtins.property
5083
5097
  @jsii.member(jsii_name="tumblingWindowInSeconds")
5084
5098
  def tumbling_window_in_seconds(self) -> typing.Optional[jsii.Number]:
5085
- '''(Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.'''
5099
+ '''(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources.'''
5086
5100
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "tumblingWindowInSeconds"))
5087
5101
 
5088
5102
  @tumbling_window_in_seconds.setter
@@ -5103,9 +5117,9 @@ class CfnEventSourceMapping(
5103
5117
  *,
5104
5118
  consumer_group_id: typing.Optional[builtins.str] = None,
5105
5119
  ) -> None:
5106
- '''Specific configuration settings for an MSK event source.
5120
+ '''Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
5107
5121
 
5108
- :param consumer_group_id: The identifier for the Kafka Consumer Group to join.
5122
+ :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>`_ .
5109
5123
 
5110
5124
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig.html
5111
5125
  :exampleMetadata: fixture=_generated
@@ -5129,7 +5143,9 @@ class CfnEventSourceMapping(
5129
5143
 
5130
5144
  @builtins.property
5131
5145
  def consumer_group_id(self) -> typing.Optional[builtins.str]:
5132
- '''The identifier for the Kafka Consumer Group to join.
5146
+ '''The identifier for the Kafka consumer group to join.
5147
+
5148
+ 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>`_ .
5133
5149
 
5134
5150
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig.html#cfn-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig-consumergroupid
5135
5151
  '''
@@ -5160,7 +5176,7 @@ class CfnEventSourceMapping(
5160
5176
  ) -> None:
5161
5177
  '''A configuration object that specifies the destination of an event after Lambda processes it.
5162
5178
 
5163
- :param on_failure: A destination for records of invocations that failed processing.
5179
+ :param on_failure: The destination configuration for failed invocations.
5164
5180
 
5165
5181
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html
5166
5182
  :exampleMetadata: fixture=_generated
@@ -5188,7 +5204,7 @@ class CfnEventSourceMapping(
5188
5204
  def on_failure(
5189
5205
  self,
5190
5206
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.OnFailureProperty"]]:
5191
- '''A destination for records of invocations that failed processing.
5207
+ '''The destination configuration for failed invocations.
5192
5208
 
5193
5209
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html#cfn-lambda-eventsourcemapping-destinationconfig-onfailure
5194
5210
  '''
@@ -5223,11 +5239,11 @@ class CfnEventSourceMapping(
5223
5239
  database_name: typing.Optional[builtins.str] = None,
5224
5240
  full_document: typing.Optional[builtins.str] = None,
5225
5241
  ) -> None:
5226
- '''Document db event source config.
5242
+ '''Specific configuration settings for a DocumentDB event source.
5227
5243
 
5228
- :param collection_name: The collection name to connect to.
5229
- :param database_name: The database name to connect to.
5230
- :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.
5244
+ :param collection_name: The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.
5245
+ :param database_name: The name of the database to consume within the DocumentDB cluster.
5246
+ :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.
5231
5247
 
5232
5248
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html
5233
5249
  :exampleMetadata: fixture=_generated
@@ -5259,7 +5275,9 @@ class CfnEventSourceMapping(
5259
5275
 
5260
5276
  @builtins.property
5261
5277
  def collection_name(self) -> typing.Optional[builtins.str]:
5262
- '''The collection name to connect to.
5278
+ '''The name of the collection to consume within the database.
5279
+
5280
+ If you do not specify a collection, Lambda consumes all collections.
5263
5281
 
5264
5282
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-collectionname
5265
5283
  '''
@@ -5268,7 +5286,7 @@ class CfnEventSourceMapping(
5268
5286
 
5269
5287
  @builtins.property
5270
5288
  def database_name(self) -> typing.Optional[builtins.str]:
5271
- '''The database name to connect to.
5289
+ '''The name of the database to consume within the DocumentDB cluster.
5272
5290
 
5273
5291
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-databasename
5274
5292
  '''
@@ -5277,9 +5295,9 @@ class CfnEventSourceMapping(
5277
5295
 
5278
5296
  @builtins.property
5279
5297
  def full_document(self) -> typing.Optional[builtins.str]:
5280
- '''Include full document in change stream response.
5298
+ '''Determines what DocumentDB sends to your event stream during document update operations.
5281
5299
 
5282
- 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.
5300
+ 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.
5283
5301
 
5284
5302
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-fulldocument
5285
5303
  '''
@@ -5308,9 +5326,9 @@ class CfnEventSourceMapping(
5308
5326
  *,
5309
5327
  kafka_bootstrap_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
5310
5328
  ) -> None:
5311
- '''The endpoints used by AWS Lambda to access a self-managed event source.
5329
+ '''The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5312
5330
 
5313
- :param kafka_bootstrap_servers: A list of Kafka server endpoints.
5331
+ :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"]`` .
5314
5332
 
5315
5333
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-endpoints.html
5316
5334
  :exampleMetadata: fixture=_generated
@@ -5334,7 +5352,7 @@ class CfnEventSourceMapping(
5334
5352
 
5335
5353
  @builtins.property
5336
5354
  def kafka_bootstrap_servers(self) -> typing.Optional[typing.List[builtins.str]]:
5337
- '''A list of Kafka server endpoints.
5355
+ '''The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5338
5356
 
5339
5357
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-endpoints.html#cfn-lambda-eventsourcemapping-endpoints-kafkabootstrapservers
5340
5358
  '''
@@ -5363,9 +5381,9 @@ class CfnEventSourceMapping(
5363
5381
  *,
5364
5382
  filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.FilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5365
5383
  ) -> None:
5366
- '''The filter criteria to control event filtering.
5384
+ '''An object that contains the filters for an event source.
5367
5385
 
5368
- :param filters: List of filters of this FilterCriteria.
5386
+ :param filters: A list of filters.
5369
5387
 
5370
5388
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html
5371
5389
  :exampleMetadata: fixture=_generated
@@ -5393,7 +5411,7 @@ class CfnEventSourceMapping(
5393
5411
  def filters(
5394
5412
  self,
5395
5413
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.FilterProperty"]]]]:
5396
- '''List of filters of this FilterCriteria.
5414
+ '''A list of filters.
5397
5415
 
5398
5416
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html#cfn-lambda-eventsourcemapping-filtercriteria-filters
5399
5417
  '''
@@ -5418,9 +5436,9 @@ class CfnEventSourceMapping(
5418
5436
  )
5419
5437
  class FilterProperty:
5420
5438
  def __init__(self, *, pattern: typing.Optional[builtins.str] = None) -> None:
5421
- '''The filter object that defines parameters for ESM filtering.
5439
+ '''A structure within a ``FilterCriteria`` object that defines an event filtering pattern.
5422
5440
 
5423
- :param pattern: The filter pattern that defines which events should be passed for invocations.
5441
+ :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>`_ .
5424
5442
 
5425
5443
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filter.html
5426
5444
  :exampleMetadata: fixture=_generated
@@ -5444,7 +5462,9 @@ class CfnEventSourceMapping(
5444
5462
 
5445
5463
  @builtins.property
5446
5464
  def pattern(self) -> typing.Optional[builtins.str]:
5447
- '''The filter pattern that defines which events should be passed for invocations.
5465
+ '''A filter pattern.
5466
+
5467
+ 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>`_ .
5448
5468
 
5449
5469
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filter.html#cfn-lambda-eventsourcemapping-filter-pattern
5450
5470
  '''
@@ -5473,9 +5493,9 @@ class CfnEventSourceMapping(
5473
5493
  *,
5474
5494
  destination: typing.Optional[builtins.str] = None,
5475
5495
  ) -> None:
5476
- '''A destination for records of invocations that failed processing.
5496
+ '''A destination for events that failed processing.
5477
5497
 
5478
- :param destination: The Amazon Resource Name (ARN) of the destination resource.
5498
+ :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.
5479
5499
 
5480
5500
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html
5481
5501
  :exampleMetadata: fixture=_generated
@@ -5501,6 +5521,12 @@ class CfnEventSourceMapping(
5501
5521
  def destination(self) -> typing.Optional[builtins.str]:
5502
5522
  '''The Amazon Resource Name (ARN) of the destination resource.
5503
5523
 
5524
+ 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.
5525
+
5526
+ 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.
5527
+
5528
+ 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.
5529
+
5504
5530
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html#cfn-lambda-eventsourcemapping-onfailure-destination
5505
5531
  '''
5506
5532
  result = self._values.get("destination")
@@ -5528,9 +5554,11 @@ class CfnEventSourceMapping(
5528
5554
  *,
5529
5555
  maximum_concurrency: typing.Optional[jsii.Number] = None,
5530
5556
  ) -> None:
5531
- '''The scaling configuration for the event source.
5557
+ '''(Amazon SQS only) The scaling configuration for the event source.
5558
+
5559
+ To remove the configuration, pass an empty value.
5532
5560
 
5533
- :param maximum_concurrency: The maximum number of concurrent functions that an event source can invoke.
5561
+ :param maximum_concurrency: Limits the number of concurrent instances that the Amazon SQS event source can invoke.
5534
5562
 
5535
5563
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html
5536
5564
  :exampleMetadata: fixture=_generated
@@ -5554,7 +5582,7 @@ class CfnEventSourceMapping(
5554
5582
 
5555
5583
  @builtins.property
5556
5584
  def maximum_concurrency(self) -> typing.Optional[jsii.Number]:
5557
- '''The maximum number of concurrent functions that an event source can invoke.
5585
+ '''Limits the number of concurrent instances that the Amazon SQS event source can invoke.
5558
5586
 
5559
5587
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html#cfn-lambda-eventsourcemapping-scalingconfig-maximumconcurrency
5560
5588
  '''
@@ -5583,9 +5611,9 @@ class CfnEventSourceMapping(
5583
5611
  *,
5584
5612
  endpoints: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventSourceMapping.EndpointsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5585
5613
  ) -> None:
5586
- '''The configuration used by AWS Lambda to access a self-managed event source.
5614
+ '''The self-managed Apache Kafka cluster for your event source.
5587
5615
 
5588
- :param endpoints: The endpoints used by AWS Lambda to access a self-managed event source.
5616
+ :param endpoints: The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5589
5617
 
5590
5618
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedeventsource.html
5591
5619
  :exampleMetadata: fixture=_generated
@@ -5613,7 +5641,7 @@ class CfnEventSourceMapping(
5613
5641
  def endpoints(
5614
5642
  self,
5615
5643
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventSourceMapping.EndpointsProperty"]]:
5616
- '''The endpoints used by AWS Lambda to access a self-managed event source.
5644
+ '''The list of bootstrap servers for your Kafka brokers in the following format: ``"KafkaBootstrapServers": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]`` .
5617
5645
 
5618
5646
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedeventsource.html#cfn-lambda-eventsourcemapping-selfmanagedeventsource-endpoints
5619
5647
  '''
@@ -5642,9 +5670,9 @@ class CfnEventSourceMapping(
5642
5670
  *,
5643
5671
  consumer_group_id: typing.Optional[builtins.str] = None,
5644
5672
  ) -> None:
5645
- '''Specific configuration settings for a Self-Managed Apache Kafka event source.
5673
+ '''Specific configuration settings for a self-managed Apache Kafka event source.
5646
5674
 
5647
- :param consumer_group_id: The identifier for the Kafka Consumer Group to join.
5675
+ :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>`_ .
5648
5676
 
5649
5677
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig.html
5650
5678
  :exampleMetadata: fixture=_generated
@@ -5668,7 +5696,9 @@ class CfnEventSourceMapping(
5668
5696
 
5669
5697
  @builtins.property
5670
5698
  def consumer_group_id(self) -> typing.Optional[builtins.str]:
5671
- '''The identifier for the Kafka Consumer Group to join.
5699
+ '''The identifier for the Kafka consumer group to join.
5700
+
5701
+ 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>`_ .
5672
5702
 
5673
5703
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig.html#cfn-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig-consumergroupid
5674
5704
  '''
@@ -5698,10 +5728,10 @@ class CfnEventSourceMapping(
5698
5728
  type: typing.Optional[builtins.str] = None,
5699
5729
  uri: typing.Optional[builtins.str] = None,
5700
5730
  ) -> None:
5701
- '''The configuration used by AWS Lambda to access event source.
5731
+ '''An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
5702
5732
 
5703
- :param type: The type of source access configuration.
5704
- :param uri: The URI for the source access configuration resource.
5733
+ :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.
5734
+ :param uri: The value for your chosen configuration in ``Type`` . For example: ``"URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName"`` .
5705
5735
 
5706
5736
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html
5707
5737
  :exampleMetadata: fixture=_generated
@@ -5729,7 +5759,17 @@ class CfnEventSourceMapping(
5729
5759
 
5730
5760
  @builtins.property
5731
5761
  def type(self) -> typing.Optional[builtins.str]:
5732
- '''The type of source access configuration.
5762
+ '''The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``"Type":"SASL_SCRAM_512_AUTH"`` .
5763
+
5764
+ - ``BASIC_AUTH`` – (Amazon MQ) The AWS Secrets Manager secret that stores your broker credentials.
5765
+ - ``BASIC_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.
5766
+ - ``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.
5767
+ - ``VPC_SECURITY_GROUP`` – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.
5768
+ - ``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.
5769
+ - ``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.
5770
+ - ``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.
5771
+ - ``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.
5772
+ - ``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.
5733
5773
 
5734
5774
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-type
5735
5775
  '''
@@ -5738,7 +5778,9 @@ class CfnEventSourceMapping(
5738
5778
 
5739
5779
  @builtins.property
5740
5780
  def uri(self) -> typing.Optional[builtins.str]:
5741
- '''The URI for the source access configuration resource.
5781
+ '''The value for your chosen configuration in ``Type`` .
5782
+
5783
+ For example: ``"URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName"`` .
5742
5784
 
5743
5785
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html#cfn-lambda-eventsourcemapping-sourceaccessconfiguration-uri
5744
5786
  '''
@@ -5820,31 +5862,31 @@ class CfnEventSourceMappingProps:
5820
5862
  ) -> None:
5821
5863
  '''Properties for defining a ``CfnEventSourceMapping``.
5822
5864
 
5823
- :param function_name: The name of the Lambda function.
5824
- :param amazon_managed_kafka_event_source_config: Specific configuration settings for an MSK event source.
5825
- :param batch_size: The maximum number of items to retrieve in a single batch.
5826
- :param bisect_batch_on_function_error: (Streams) If the function returns an error, split the batch in two and retry.
5827
- :param destination_config: A configuration object that specifies the destination of an event after Lambda processes it.
5828
- :param document_db_event_source_config: Document db event source config.
5829
- :param enabled: Disables the event source mapping to pause polling and invocation.
5830
- :param event_source_arn: The Amazon Resource Name (ARN) of the event source.
5831
- :param filter_criteria: The filter criteria to control event filtering.
5832
- :param function_response_types: (Streams) A list of response types supported by the function.
5833
- :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key.
5834
- :param maximum_batching_window_in_seconds: (Streams) The maximum amount of time to gather records before invoking the function, in seconds.
5835
- :param maximum_record_age_in_seconds: (Streams) The maximum age of a record that Lambda sends to a function for processing.
5836
- :param maximum_retry_attempts: (Streams) The maximum number of times to retry when the function returns an error.
5837
- :param parallelization_factor: (Streams) The number of batches to process from each shard concurrently.
5838
- :param queues: (ActiveMQ) A list of ActiveMQ queues.
5839
- :param scaling_config: The scaling configuration for the event source.
5840
- :param self_managed_event_source: The configuration used by AWS Lambda to access a self-managed event source.
5841
- :param self_managed_kafka_event_source_config: Specific configuration settings for a Self-Managed Apache Kafka event source.
5842
- :param source_access_configurations: A list of SourceAccessConfiguration.
5843
- :param starting_position: The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources.
5844
- :param starting_position_timestamp: With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.
5845
- :param tags:
5846
- :param topics: (Kafka) A list of Kafka topics.
5847
- :param tumbling_window_in_seconds: (Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.
5865
+ :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.
5866
+ :param amazon_managed_kafka_event_source_config: Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
5867
+ :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.
5868
+ :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.
5869
+ :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.
5870
+ :param document_db_event_source_config: Specific configuration settings for a DocumentDB event source.
5871
+ :param enabled: When true, the event source mapping is active. When false, Lambda pauses polling and invocation. Default: True
5872
+ :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.
5873
+ :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>`_ .
5874
+ :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``
5875
+ :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>`_ .
5876
+ :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.
5877
+ :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
5878
+ :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.
5879
+ :param parallelization_factor: (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
5880
+ :param queues: (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
5881
+ :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>`_ .
5882
+ :param self_managed_event_source: The self-managed Apache Kafka cluster for your event source.
5883
+ :param self_managed_kafka_event_source_config: Specific configuration settings for a self-managed Apache Kafka event source.
5884
+ :param source_access_configurations: An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
5885
+ :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.
5886
+ :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.
5887
+ :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.
5888
+ :param topics: The name of the Kafka topic.
5889
+ :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.
5848
5890
 
5849
5891
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html
5850
5892
  :exampleMetadata: fixture=_generated
@@ -5994,7 +6036,15 @@ class CfnEventSourceMappingProps:
5994
6036
 
5995
6037
  @builtins.property
5996
6038
  def function_name(self) -> builtins.str:
5997
- '''The name of the Lambda function.
6039
+ '''The name or ARN of the Lambda function.
6040
+
6041
+ **Name formats** - *Function name* – ``MyFunction`` .
6042
+
6043
+ - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction`` .
6044
+ - *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`` .
6045
+ - *Partial ARN* – ``123456789012:function:MyFunction`` .
6046
+
6047
+ The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.
5998
6048
 
5999
6049
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionname
6000
6050
  '''
@@ -6006,7 +6056,7 @@ class CfnEventSourceMappingProps:
6006
6056
  def amazon_managed_kafka_event_source_config(
6007
6057
  self,
6008
6058
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.AmazonManagedKafkaEventSourceConfigProperty]]:
6009
- '''Specific configuration settings for an MSK event source.
6059
+ '''Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.
6010
6060
 
6011
6061
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig
6012
6062
  '''
@@ -6015,7 +6065,17 @@ class CfnEventSourceMappingProps:
6015
6065
 
6016
6066
  @builtins.property
6017
6067
  def batch_size(self) -> typing.Optional[jsii.Number]:
6018
- '''The maximum number of items to retrieve in a single batch.
6068
+ '''The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function.
6069
+
6070
+ 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).
6071
+
6072
+ - *Amazon Kinesis* – Default 100. Max 10,000.
6073
+ - *Amazon DynamoDB Streams* – Default 100. Max 10,000.
6074
+ - *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.
6075
+ - *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.
6076
+ - *Self-managed Apache Kafka* – Default 100. Max 10,000.
6077
+ - *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.
6078
+ - *DocumentDB* – Default 100. Max 10,000.
6019
6079
 
6020
6080
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize
6021
6081
  '''
@@ -6026,7 +6086,9 @@ class CfnEventSourceMappingProps:
6026
6086
  def bisect_batch_on_function_error(
6027
6087
  self,
6028
6088
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6029
- '''(Streams) If the function returns an error, split the batch in two and retry.
6089
+ '''(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry.
6090
+
6091
+ The default value is false.
6030
6092
 
6031
6093
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror
6032
6094
  '''
@@ -6037,7 +6099,7 @@ class CfnEventSourceMappingProps:
6037
6099
  def destination_config(
6038
6100
  self,
6039
6101
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.DestinationConfigProperty]]:
6040
- '''A configuration object that specifies the destination of an event after Lambda processes it.
6102
+ '''(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.
6041
6103
 
6042
6104
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig
6043
6105
  '''
@@ -6048,7 +6110,7 @@ class CfnEventSourceMappingProps:
6048
6110
  def document_db_event_source_config(
6049
6111
  self,
6050
6112
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.DocumentDBEventSourceConfigProperty]]:
6051
- '''Document db event source config.
6113
+ '''Specific configuration settings for a DocumentDB event source.
6052
6114
 
6053
6115
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig
6054
6116
  '''
@@ -6059,7 +6121,9 @@ class CfnEventSourceMappingProps:
6059
6121
  def enabled(
6060
6122
  self,
6061
6123
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6062
- '''Disables the event source mapping to pause polling and invocation.
6124
+ '''When true, the event source mapping is active. When false, Lambda pauses polling and invocation.
6125
+
6126
+ Default: True
6063
6127
 
6064
6128
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled
6065
6129
  '''
@@ -6070,6 +6134,13 @@ class CfnEventSourceMappingProps:
6070
6134
  def event_source_arn(self) -> typing.Optional[builtins.str]:
6071
6135
  '''The Amazon Resource Name (ARN) of the event source.
6072
6136
 
6137
+ - *Amazon Kinesis* – The ARN of the data stream or a stream consumer.
6138
+ - *Amazon DynamoDB Streams* – The ARN of the stream.
6139
+ - *Amazon Simple Queue Service* – The ARN of the queue.
6140
+ - *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>`_ ).
6141
+ - *Amazon MQ* – The ARN of the broker.
6142
+ - *Amazon DocumentDB* – The ARN of the DocumentDB change stream.
6143
+
6073
6144
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn
6074
6145
  '''
6075
6146
  result = self._values.get("event_source_arn")
@@ -6079,7 +6150,9 @@ class CfnEventSourceMappingProps:
6079
6150
  def filter_criteria(
6080
6151
  self,
6081
6152
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.FilterCriteriaProperty]]:
6082
- '''The filter criteria to control event filtering.
6153
+ '''An object that defines the filter criteria that determine whether Lambda should process an event.
6154
+
6155
+ For more information, see `Lambda event filtering <https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html>`_ .
6083
6156
 
6084
6157
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-filtercriteria
6085
6158
  '''
@@ -6088,7 +6161,9 @@ class CfnEventSourceMappingProps:
6088
6161
 
6089
6162
  @builtins.property
6090
6163
  def function_response_types(self) -> typing.Optional[typing.List[builtins.str]]:
6091
- '''(Streams) A list of response types supported by the function.
6164
+ '''(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.
6165
+
6166
+ Valid Values: ``ReportBatchItemFailures``
6092
6167
 
6093
6168
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes
6094
6169
  '''
@@ -6097,7 +6172,7 @@ class CfnEventSourceMappingProps:
6097
6172
 
6098
6173
  @builtins.property
6099
6174
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
6100
- '''The Amazon Resource Name (ARN) of the KMS key.
6175
+ '''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>`_ .
6101
6176
 
6102
6177
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn
6103
6178
  '''
@@ -6106,7 +6181,13 @@ class CfnEventSourceMappingProps:
6106
6181
 
6107
6182
  @builtins.property
6108
6183
  def maximum_batching_window_in_seconds(self) -> typing.Optional[jsii.Number]:
6109
- '''(Streams) The maximum amount of time to gather records before invoking the function, in seconds.
6184
+ '''The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.
6185
+
6186
+ *Default ( Kinesis , DynamoDB , Amazon SQS event sources)* : 0
6187
+
6188
+ *Default ( Amazon MSK , Kafka, Amazon MQ , Amazon DocumentDB event sources)* : 500 ms
6189
+
6190
+ *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.
6110
6191
 
6111
6192
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds
6112
6193
  '''
@@ -6115,7 +6196,13 @@ class CfnEventSourceMappingProps:
6115
6196
 
6116
6197
  @builtins.property
6117
6198
  def maximum_record_age_in_seconds(self) -> typing.Optional[jsii.Number]:
6118
- '''(Streams) The maximum age of a record that Lambda sends to a function for processing.
6199
+ '''(Kinesis and DynamoDB Streams only) Discard records older than the specified age.
6200
+
6201
+ The default value is -1,
6202
+ which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.
6203
+ .. epigraph::
6204
+
6205
+ 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
6119
6206
 
6120
6207
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds
6121
6208
  '''
@@ -6124,7 +6211,10 @@ class CfnEventSourceMappingProps:
6124
6211
 
6125
6212
  @builtins.property
6126
6213
  def maximum_retry_attempts(self) -> typing.Optional[jsii.Number]:
6127
- '''(Streams) The maximum number of times to retry when the function returns an error.
6214
+ '''(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries.
6215
+
6216
+ The default value is -1,
6217
+ 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.
6128
6218
 
6129
6219
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts
6130
6220
  '''
@@ -6133,7 +6223,9 @@ class CfnEventSourceMappingProps:
6133
6223
 
6134
6224
  @builtins.property
6135
6225
  def parallelization_factor(self) -> typing.Optional[jsii.Number]:
6136
- '''(Streams) The number of batches to process from each shard concurrently.
6226
+ '''(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard.
6227
+
6228
+ The default value is 1.
6137
6229
 
6138
6230
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor
6139
6231
  '''
@@ -6142,7 +6234,7 @@ class CfnEventSourceMappingProps:
6142
6234
 
6143
6235
  @builtins.property
6144
6236
  def queues(self) -> typing.Optional[typing.List[builtins.str]]:
6145
- '''(ActiveMQ) A list of ActiveMQ queues.
6237
+ '''(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
6146
6238
 
6147
6239
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues
6148
6240
  '''
@@ -6153,7 +6245,9 @@ class CfnEventSourceMappingProps:
6153
6245
  def scaling_config(
6154
6246
  self,
6155
6247
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.ScalingConfigProperty]]:
6156
- '''The scaling configuration for the event source.
6248
+ '''(Amazon SQS only) The scaling configuration for the event source.
6249
+
6250
+ 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>`_ .
6157
6251
 
6158
6252
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-scalingconfig
6159
6253
  '''
@@ -6164,7 +6258,7 @@ class CfnEventSourceMappingProps:
6164
6258
  def self_managed_event_source(
6165
6259
  self,
6166
6260
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.SelfManagedEventSourceProperty]]:
6167
- '''The configuration used by AWS Lambda to access a self-managed event source.
6261
+ '''The self-managed Apache Kafka cluster for your event source.
6168
6262
 
6169
6263
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-selfmanagedeventsource
6170
6264
  '''
@@ -6175,7 +6269,7 @@ class CfnEventSourceMappingProps:
6175
6269
  def self_managed_kafka_event_source_config(
6176
6270
  self,
6177
6271
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.SelfManagedKafkaEventSourceConfigProperty]]:
6178
- '''Specific configuration settings for a Self-Managed Apache Kafka event source.
6272
+ '''Specific configuration settings for a self-managed Apache Kafka event source.
6179
6273
 
6180
6274
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig
6181
6275
  '''
@@ -6186,7 +6280,7 @@ class CfnEventSourceMappingProps:
6186
6280
  def source_access_configurations(
6187
6281
  self,
6188
6282
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEventSourceMapping.SourceAccessConfigurationProperty]]]]:
6189
- '''A list of SourceAccessConfiguration.
6283
+ '''An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.
6190
6284
 
6191
6285
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations
6192
6286
  '''
@@ -6195,9 +6289,11 @@ class CfnEventSourceMappingProps:
6195
6289
 
6196
6290
  @builtins.property
6197
6291
  def starting_position(self) -> typing.Optional[builtins.str]:
6198
- '''The position in a stream from which to start reading.
6292
+ '''The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.
6199
6293
 
6200
- Required for Amazon Kinesis and Amazon DynamoDB Streams sources.
6294
+ - *LATEST* - Read only new records.
6295
+ - *TRIM_HORIZON* - Process all available records.
6296
+ - *AT_TIMESTAMP* - Specify a time from which to start reading records.
6201
6297
 
6202
6298
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition
6203
6299
  '''
@@ -6206,7 +6302,9 @@ class CfnEventSourceMappingProps:
6206
6302
 
6207
6303
  @builtins.property
6208
6304
  def starting_position_timestamp(self) -> typing.Optional[jsii.Number]:
6209
- '''With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds.
6305
+ '''With ``StartingPosition`` set to ``AT_TIMESTAMP`` , the time from which to start reading, in Unix time seconds.
6306
+
6307
+ ``StartingPositionTimestamp`` cannot be in the future.
6210
6308
 
6211
6309
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp
6212
6310
  '''
@@ -6215,7 +6313,12 @@ class CfnEventSourceMappingProps:
6215
6313
 
6216
6314
  @builtins.property
6217
6315
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6218
- '''
6316
+ '''A list of tags to add to the event source mapping.
6317
+
6318
+ .. epigraph::
6319
+
6320
+ 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.
6321
+
6219
6322
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tags
6220
6323
  '''
6221
6324
  result = self._values.get("tags")
@@ -6223,7 +6326,7 @@ class CfnEventSourceMappingProps:
6223
6326
 
6224
6327
  @builtins.property
6225
6328
  def topics(self) -> typing.Optional[typing.List[builtins.str]]:
6226
- '''(Kafka) A list of Kafka topics.
6329
+ '''The name of the Kafka topic.
6227
6330
 
6228
6331
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics
6229
6332
  '''
@@ -6232,7 +6335,9 @@ class CfnEventSourceMappingProps:
6232
6335
 
6233
6336
  @builtins.property
6234
6337
  def tumbling_window_in_seconds(self) -> typing.Optional[jsii.Number]:
6235
- '''(Streams) Tumbling window (non-overlapping time window) duration to perform aggregations.
6338
+ '''(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources.
6339
+
6340
+ A value of 0 seconds indicates no tumbling window.
6236
6341
 
6237
6342
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds
6238
6343
  '''
@@ -6393,32 +6498,32 @@ class CfnFunction(
6393
6498
  '''
6394
6499
  :param scope: Scope in which this resource is defined.
6395
6500
  :param id: Construct identifier for this resource (unique in its scope).
6396
- :param code: The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
6501
+ :param code: The code for the function. You can define your function code in multiple ways:. - For .zip deployment packages, you can specify the Amazon S3 location of the .zip file in the ``S3Bucket`` , ``S3Key`` , and ``S3ObjectVersion`` properties. - For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions. - For container images, specify the URI of your container image in the Amazon ECR registry in the ``ImageUri`` property.
6397
6502
  :param role: The Amazon Resource Name (ARN) of the function's execution role.
6398
- :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
6503
+ :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64`` .
6399
6504
  :param code_signing_config_arn: To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
6400
- :param dead_letter_config: The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.
6505
+ :param dead_letter_config: A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see `Dead-letter queues <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq>`_ .
6401
6506
  :param description: A description of the function.
6402
- :param environment: A function's environment variable settings. You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
6507
+ :param environment: Environment variables that are accessible from function code during execution.
6403
6508
  :param ephemeral_storage: The size of the function's ``/tmp`` directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.
6404
- :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_.
6405
- :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN 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.
6406
- :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>`_.
6407
- :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>`_.
6408
- :param kms_key_arn: The ARN of the KMSlong (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.
6509
+ :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ .
6510
+ :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.
6511
+ :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>`_ .
6512
+ :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>`_ .
6513
+ :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.
6409
6514
  :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.
6410
6515
  :param logging_config: The function's Amazon CloudWatch Logs configuration settings.
6411
6516
  :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.
6412
6517
  :param package_type: The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.
6413
- :param recursive_loop: This property is set to terminate unintended recursions. If set to ``Terminate``, Lambda detects and terminates unitended recursive loops. If set to ``Allow`` Lambda lets recursions be and does not terminate it.
6518
+ :param recursive_loop: The status of your function's recursive loop detection configuration. When this value is set to ``Allow`` and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action. When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.
6414
6519
  :param reserved_concurrent_executions: The number of simultaneous executions to reserve for the function.
6415
- :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.
6416
- :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
6417
- :param snap_start: The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
6418
- :param tags: A list of `tags <https://docs.aws.amazon.com/lambda/latest/dg/tagging.html>`_ to apply to the function.
6419
- :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_.
6420
- :param tracing_config: The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
6421
- :param vpc_config: The VPC security groups and subnets that are attached to a Lambda function. When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_. When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources. To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
6520
+ :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_ . For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_ .
6521
+ :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
6522
+ :param snap_start: The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
6523
+ :param tags: A list of `tags <https://docs.aws.amazon.com/lambda/latest/dg/tagging.html>`_ to apply to the function. .. 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.
6524
+ :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_ .
6525
+ :param tracing_config: Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .
6526
+ :param vpc_config: For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see `Configuring a Lambda function to access resources in a VPC <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
6422
6527
  '''
6423
6528
  if __debug__:
6424
6529
  type_hints = typing.get_type_hints(_typecheckingstub__d971f3872acf20816e6da364ff9e6bec83fe2e68bbb9a7debc845b40036ee553)
@@ -6488,7 +6593,8 @@ class CfnFunction(
6488
6593
  @builtins.property
6489
6594
  @jsii.member(jsii_name="attrArn")
6490
6595
  def attr_arn(self) -> builtins.str:
6491
- '''
6596
+ '''The Amazon Resource Name (ARN) of the function.
6597
+
6492
6598
  :cloudformationAttribute: Arn
6493
6599
  '''
6494
6600
  return typing.cast(builtins.str, jsii.get(self, "attrArn"))
@@ -6534,7 +6640,10 @@ class CfnFunction(
6534
6640
  @builtins.property
6535
6641
  @jsii.member(jsii_name="code")
6536
6642
  def code(self) -> typing.Union[_IResolvable_da3f097b, "CfnFunction.CodeProperty"]:
6537
- '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.'''
6643
+ '''The code for the function.
6644
+
6645
+ You can define your function code in multiple ways:.
6646
+ '''
6538
6647
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnFunction.CodeProperty"], jsii.get(self, "code"))
6539
6648
 
6540
6649
  @code.setter
@@ -6591,7 +6700,7 @@ class CfnFunction(
6591
6700
  def dead_letter_config(
6592
6701
  self,
6593
6702
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.DeadLetterConfigProperty"]]:
6594
- '''The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.'''
6703
+ '''A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.'''
6595
6704
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.DeadLetterConfigProperty"]], jsii.get(self, "deadLetterConfig"))
6596
6705
 
6597
6706
  @dead_letter_config.setter
@@ -6622,7 +6731,7 @@ class CfnFunction(
6622
6731
  def environment(
6623
6732
  self,
6624
6733
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.EnvironmentProperty"]]:
6625
- '''A function's environment variable settings.'''
6734
+ '''Environment variables that are accessible from function code during execution.'''
6626
6735
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.EnvironmentProperty"]], jsii.get(self, "environment"))
6627
6736
 
6628
6737
  @environment.setter
@@ -6718,7 +6827,7 @@ class CfnFunction(
6718
6827
  @builtins.property
6719
6828
  @jsii.member(jsii_name="kmsKeyArn")
6720
6829
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
6721
- '''The ARN of the KMSlong (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.'''
6830
+ '''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.'''
6722
6831
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyArn"))
6723
6832
 
6724
6833
  @kms_key_arn.setter
@@ -6788,7 +6897,7 @@ class CfnFunction(
6788
6897
  @builtins.property
6789
6898
  @jsii.member(jsii_name="recursiveLoop")
6790
6899
  def recursive_loop(self) -> typing.Optional[builtins.str]:
6791
- '''This property is set to terminate unintended recursions.'''
6900
+ '''The status of your function's recursive loop detection configuration.'''
6792
6901
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "recursiveLoop"))
6793
6902
 
6794
6903
  @recursive_loop.setter
@@ -6817,7 +6926,7 @@ class CfnFunction(
6817
6926
  @builtins.property
6818
6927
  @jsii.member(jsii_name="runtime")
6819
6928
  def runtime(self) -> typing.Optional[builtins.str]:
6820
- '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.'''
6929
+ '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.'''
6821
6930
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "runtime"))
6822
6931
 
6823
6932
  @runtime.setter
@@ -6850,7 +6959,7 @@ class CfnFunction(
6850
6959
  def snap_start(
6851
6960
  self,
6852
6961
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.SnapStartProperty"]]:
6853
- '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.'''
6962
+ '''The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.'''
6854
6963
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.SnapStartProperty"]], jsii.get(self, "snapStart"))
6855
6964
 
6856
6965
  @snap_start.setter
@@ -6894,7 +7003,7 @@ class CfnFunction(
6894
7003
  def tracing_config(
6895
7004
  self,
6896
7005
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.TracingConfigProperty"]]:
6897
- '''The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.'''
7006
+ '''Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .'''
6898
7007
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.TracingConfigProperty"]], jsii.get(self, "tracingConfig"))
6899
7008
 
6900
7009
  @tracing_config.setter
@@ -6912,7 +7021,7 @@ class CfnFunction(
6912
7021
  def vpc_config(
6913
7022
  self,
6914
7023
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.VpcConfigProperty"]]:
6915
- '''The VPC security groups and subnets that are attached to a Lambda function.'''
7024
+ '''For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.'''
6916
7025
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.VpcConfigProperty"]], jsii.get(self, "vpcConfig"))
6917
7026
 
6918
7027
  @vpc_config.setter
@@ -6948,14 +7057,16 @@ class CfnFunction(
6948
7057
  source_kms_key_arn: typing.Optional[builtins.str] = None,
6949
7058
  zip_file: typing.Optional[builtins.str] = None,
6950
7059
  ) -> None:
6951
- '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
7060
+ '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template.
7061
+
7062
+ Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
6952
7063
 
6953
7064
  :param image_uri: URI of a `container image <https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html>`_ in the Amazon ECR registry.
6954
- :param s3_bucket: An Amazon S3 bucket in the same AWS-Region as your function. The bucket can be in a different AWS-account.
7065
+ :param s3_bucket: An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account .
6955
7066
  :param s3_key: The Amazon S3 key of the deployment package.
6956
7067
  :param s3_object_version: For versioned objects, the version of the deployment package object to use.
6957
7068
  :param source_kms_key_arn:
6958
- :param zip_file: (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN 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``. 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 Lambda with CloudFormation <https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html>`_ for details.
7069
+ :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`` . 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.
6959
7070
 
6960
7071
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html
6961
7072
  :exampleMetadata: fixture=_generated
@@ -7008,9 +7119,9 @@ class CfnFunction(
7008
7119
 
7009
7120
  @builtins.property
7010
7121
  def s3_bucket(self) -> typing.Optional[builtins.str]:
7011
- '''An Amazon S3 bucket in the same AWS-Region as your function.
7122
+ '''An Amazon S3 bucket in the same AWS Region as your function.
7012
7123
 
7013
- The bucket can be in a different AWS-account.
7124
+ The bucket can be in a different AWS account .
7014
7125
 
7015
7126
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket
7016
7127
  '''
@@ -7045,7 +7156,11 @@ class CfnFunction(
7045
7156
 
7046
7157
  @builtins.property
7047
7158
  def zip_file(self) -> typing.Optional[builtins.str]:
7048
- '''(Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN 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``. 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 Lambda with CloudFormation <https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html>`_ for details.
7159
+ '''(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`` .
7160
+
7161
+ For JSON, you must escape quotes and special characters such as newline ( ``\\n`` ) with a backslash.
7162
+
7163
+ 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.
7049
7164
 
7050
7165
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile
7051
7166
  '''
@@ -7129,7 +7244,7 @@ class CfnFunction(
7129
7244
 
7130
7245
  You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
7131
7246
 
7132
- :param variables: Environment variable key-value pairs. For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_.
7247
+ :param variables: Environment variable key-value pairs. For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_ .
7133
7248
 
7134
7249
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html
7135
7250
  :exampleMetadata: fixture=_generated
@@ -7159,7 +7274,7 @@ class CfnFunction(
7159
7274
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
7160
7275
  '''Environment variable key-value pairs.
7161
7276
 
7162
- For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_.
7277
+ For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_ .
7163
7278
 
7164
7279
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html#cfn-lambda-function-environment-variables
7165
7280
  '''
@@ -7243,10 +7358,10 @@ class CfnFunction(
7243
7358
  arn: builtins.str,
7244
7359
  local_mount_path: builtins.str,
7245
7360
  ) -> None:
7246
- '''Details about the connection between a Lambda function and an `Amazon EFS file system <https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html>`_.
7361
+ '''Details about the connection between a Lambda function and an `Amazon EFS file system <https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html>`_ .
7247
7362
 
7248
7363
  :param arn: The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.
7249
- :param local_mount_path: The path where the function can access the file system, starting with ``/mnt/``.
7364
+ :param local_mount_path: The path where the function can access the file system, starting with ``/mnt/`` .
7250
7365
 
7251
7366
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html
7252
7367
  :exampleMetadata: fixture=_generated
@@ -7283,7 +7398,7 @@ class CfnFunction(
7283
7398
 
7284
7399
  @builtins.property
7285
7400
  def local_mount_path(self) -> builtins.str:
7286
- '''The path where the function can access the file system, starting with ``/mnt/``.
7401
+ '''The path where the function can access the file system, starting with ``/mnt/`` .
7287
7402
 
7288
7403
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath
7289
7404
  '''
@@ -7321,7 +7436,7 @@ class CfnFunction(
7321
7436
  ) -> None:
7322
7437
  '''Configuration values that override the container image Dockerfile settings.
7323
7438
 
7324
- For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_.
7439
+ For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
7325
7440
 
7326
7441
  :param command: Specifies parameters that you want to pass in with ENTRYPOINT. You can specify a maximum of 1,500 parameters in the list.
7327
7442
  :param entry_point: Specifies the entry point to their application, which is typically the location of the runtime executable. You can specify a maximum of 1,500 string entries in the list.
@@ -7422,7 +7537,7 @@ class CfnFunction(
7422
7537
 
7423
7538
  :param application_log_level: Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where ``TRACE`` is the highest level and ``FATAL`` is the lowest.
7424
7539
  :param log_format: The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.
7425
- :param log_group: The name of the Amazon CloudWatch log group the function sends logs to. By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>``. To use a different log group, enter an existing log group or enter a new log group name.
7540
+ :param log_group: The name of the Amazon CloudWatch log group the function sends logs to. By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>`` . To use a different log group, enter an existing log group or enter a new log group name.
7426
7541
  :param system_log_level: Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where ``DEBUG`` is the highest level and ``WARN`` is the lowest.
7427
7542
 
7428
7543
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html
@@ -7483,7 +7598,7 @@ class CfnFunction(
7483
7598
  def log_group(self) -> typing.Optional[builtins.str]:
7484
7599
  '''The name of the Amazon CloudWatch log group the function sends logs to.
7485
7600
 
7486
- By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>``. To use a different log group, enter an existing log group or enter a new log group name.
7601
+ By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>`` . To use a different log group, enter an existing log group or enter a new log group name.
7487
7602
 
7488
7603
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html#cfn-lambda-function-loggingconfig-loggroup
7489
7604
  '''
@@ -7529,10 +7644,10 @@ class CfnFunction(
7529
7644
  ) -> None:
7530
7645
  '''Sets the runtime management configuration for a function's version.
7531
7646
 
7532
- For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
7647
+ For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
7533
7648
 
7534
- :param update_runtime_on: Specify the runtime update mode. - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_. This is the best choice for most customers to ensure they always benefit from runtime updates. - *FunctionUpdate* - LAM updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date. - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_. *Valid Values*: ``Auto`` | ``FunctionUpdate`` | ``Manual``
7535
- :param runtime_version_arn: The ARN of the runtime version you want the function to use. This is only required if you're using the *Manual* runtime update mode.
7649
+ :param update_runtime_on: Specify the runtime update mode. - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_ . This is the best choice for most customers to ensure they always benefit from runtime updates. - *FunctionUpdate* - Lambda updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date. - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_ . *Valid Values* : ``Auto`` | ``FunctionUpdate`` | ``Manual``
7650
+ :param runtime_version_arn: The ARN of the runtime version you want the function to use. .. epigraph:: This is only required if you're using the *Manual* runtime update mode.
7536
7651
 
7537
7652
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html
7538
7653
  :exampleMetadata: fixture=_generated
@@ -7564,11 +7679,11 @@ class CfnFunction(
7564
7679
  def update_runtime_on(self) -> builtins.str:
7565
7680
  '''Specify the runtime update mode.
7566
7681
 
7567
- - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_. This is the best choice for most customers to ensure they always benefit from runtime updates.
7568
- - *FunctionUpdate* - LAM updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date.
7569
- - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_.
7682
+ - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_ . This is the best choice for most customers to ensure they always benefit from runtime updates.
7683
+ - *FunctionUpdate* - Lambda updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date.
7684
+ - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_ .
7570
7685
 
7571
- *Valid Values*: ``Auto`` | ``FunctionUpdate`` | ``Manual``
7686
+ *Valid Values* : ``Auto`` | ``FunctionUpdate`` | ``Manual``
7572
7687
 
7573
7688
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html#cfn-lambda-function-runtimemanagementconfig-updateruntimeon
7574
7689
  '''
@@ -7580,7 +7695,9 @@ class CfnFunction(
7580
7695
  def runtime_version_arn(self) -> typing.Optional[builtins.str]:
7581
7696
  '''The ARN of the runtime version you want the function to use.
7582
7697
 
7583
- This is only required if you're using the *Manual* runtime update mode.
7698
+ .. epigraph::
7699
+
7700
+ This is only required if you're using the *Manual* runtime update mode.
7584
7701
 
7585
7702
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html#cfn-lambda-function-runtimemanagementconfig-runtimeversionarn
7586
7703
  '''
@@ -7605,7 +7722,7 @@ class CfnFunction(
7605
7722
  )
7606
7723
  class SnapStartProperty:
7607
7724
  def __init__(self, *, apply_on: builtins.str) -> None:
7608
- '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7725
+ '''The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7609
7726
 
7610
7727
  :param apply_on: Set ``ApplyOn`` to ``PublishedVersions`` to create a snapshot of the initialized execution environment when you publish a function version.
7611
7728
 
@@ -7667,8 +7784,8 @@ class CfnFunction(
7667
7784
  ) -> None:
7668
7785
  '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7669
7786
 
7670
- :param apply_on: When set to ``PublishedVersions``, Lambda creates a snapshot of the execution environment when you publish a function version.
7671
- :param optimization_status: When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_, this response element indicates whether SnapStart is activated for the specified function version.
7787
+ :param apply_on: When set to ``PublishedVersions`` , Lambda creates a snapshot of the execution environment when you publish a function version.
7788
+ :param optimization_status: When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_ , this response element indicates whether SnapStart is activated for the specified function version.
7672
7789
 
7673
7790
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstartresponse.html
7674
7791
  :exampleMetadata: fixture=_generated
@@ -7696,7 +7813,7 @@ class CfnFunction(
7696
7813
 
7697
7814
  @builtins.property
7698
7815
  def apply_on(self) -> typing.Optional[builtins.str]:
7699
- '''When set to ``PublishedVersions``, Lambda creates a snapshot of the execution environment when you publish a function version.
7816
+ '''When set to ``PublishedVersions`` , Lambda creates a snapshot of the execution environment when you publish a function version.
7700
7817
 
7701
7818
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstartresponse.html#cfn-lambda-function-snapstartresponse-applyon
7702
7819
  '''
@@ -7705,7 +7822,7 @@ class CfnFunction(
7705
7822
 
7706
7823
  @builtins.property
7707
7824
  def optimization_status(self) -> typing.Optional[builtins.str]:
7708
- '''When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_, this response element indicates whether SnapStart is activated for the specified function version.
7825
+ '''When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_ , this response element indicates whether SnapStart is activated for the specified function version.
7709
7826
 
7710
7827
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstartresponse.html#cfn-lambda-function-snapstartresponse-optimizationstatus
7711
7828
  '''
@@ -7730,7 +7847,7 @@ class CfnFunction(
7730
7847
  )
7731
7848
  class TracingConfigProperty:
7732
7849
  def __init__(self, *, mode: typing.Optional[builtins.str] = None) -> None:
7733
- '''The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
7850
+ '''The function's `AWS X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active`` .
7734
7851
 
7735
7852
  :param mode: The tracing mode.
7736
7853
 
@@ -7793,9 +7910,12 @@ class CfnFunction(
7793
7910
  ) -> None:
7794
7911
  '''The VPC security groups and subnets that are attached to a Lambda function.
7795
7912
 
7796
- When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_.
7797
- When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources.
7798
- To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
7913
+ When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
7914
+ .. epigraph::
7915
+
7916
+ When you delete a function, AWS CloudFormation monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before AWS CloudFormation can delete the VPC's resources.
7917
+
7918
+ To monitor network interfaces, AWS CloudFormation needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, AWS CloudFormation does not wait for network interfaces to be deleted.
7799
7919
 
7800
7920
  :param ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
7801
7921
  :param security_group_ids: A list of VPC security group IDs.
@@ -7935,32 +8055,32 @@ class CfnFunctionProps:
7935
8055
  ) -> None:
7936
8056
  '''Properties for defining a ``CfnFunction``.
7937
8057
 
7938
- :param code: The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
8058
+ :param code: The code for the function. You can define your function code in multiple ways:. - For .zip deployment packages, you can specify the Amazon S3 location of the .zip file in the ``S3Bucket`` , ``S3Key`` , and ``S3ObjectVersion`` properties. - For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions. - For container images, specify the URI of your container image in the Amazon ECR registry in the ``ImageUri`` property.
7939
8059
  :param role: The Amazon Resource Name (ARN) of the function's execution role.
7940
- :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
8060
+ :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64`` .
7941
8061
  :param code_signing_config_arn: To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
7942
- :param dead_letter_config: The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.
8062
+ :param dead_letter_config: A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see `Dead-letter queues <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq>`_ .
7943
8063
  :param description: A description of the function.
7944
- :param environment: A function's environment variable settings. You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
8064
+ :param environment: Environment variables that are accessible from function code during execution.
7945
8065
  :param ephemeral_storage: The size of the function's ``/tmp`` directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.
7946
- :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_.
7947
- :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN 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.
7948
- :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>`_.
7949
- :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>`_.
7950
- :param kms_key_arn: The ARN of the KMSlong (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.
8066
+ :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ .
8067
+ :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.
8068
+ :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>`_ .
8069
+ :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>`_ .
8070
+ :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.
7951
8071
  :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.
7952
8072
  :param logging_config: The function's Amazon CloudWatch Logs configuration settings.
7953
8073
  :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.
7954
8074
  :param package_type: The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.
7955
- :param recursive_loop: This property is set to terminate unintended recursions. If set to ``Terminate``, Lambda detects and terminates unitended recursive loops. If set to ``Allow`` Lambda lets recursions be and does not terminate it.
8075
+ :param recursive_loop: The status of your function's recursive loop detection configuration. When this value is set to ``Allow`` and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action. When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.
7956
8076
  :param reserved_concurrent_executions: The number of simultaneous executions to reserve for the function.
7957
- :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.
7958
- :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
7959
- :param snap_start: The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7960
- :param tags: A list of `tags <https://docs.aws.amazon.com/lambda/latest/dg/tagging.html>`_ to apply to the function.
7961
- :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_.
7962
- :param tracing_config: The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
7963
- :param vpc_config: The VPC security groups and subnets that are attached to a Lambda function. When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_. When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources. To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
8077
+ :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_ . For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_ .
8078
+ :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
8079
+ :param snap_start: The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
8080
+ :param tags: A list of `tags <https://docs.aws.amazon.com/lambda/latest/dg/tagging.html>`_ to apply to the function. .. 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.
8081
+ :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_ .
8082
+ :param tracing_config: Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .
8083
+ :param vpc_config: For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see `Configuring a Lambda function to access resources in a VPC <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
7964
8084
 
7965
8085
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html
7966
8086
  :exampleMetadata: fixture=_generated
@@ -8128,7 +8248,11 @@ class CfnFunctionProps:
8128
8248
 
8129
8249
  @builtins.property
8130
8250
  def code(self) -> typing.Union[_IResolvable_da3f097b, CfnFunction.CodeProperty]:
8131
- '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
8251
+ '''The code for the function. You can define your function code in multiple ways:.
8252
+
8253
+ - For .zip deployment packages, you can specify the Amazon S3 location of the .zip file in the ``S3Bucket`` , ``S3Key`` , and ``S3ObjectVersion`` properties.
8254
+ - For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions.
8255
+ - For container images, specify the URI of your container image in the Amazon ECR registry in the ``ImageUri`` property.
8132
8256
 
8133
8257
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code
8134
8258
  '''
@@ -8150,7 +8274,7 @@ class CfnFunctionProps:
8150
8274
  def architectures(self) -> typing.Optional[typing.List[builtins.str]]:
8151
8275
  '''The instruction set architecture that the function supports.
8152
8276
 
8153
- Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
8277
+ Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64`` .
8154
8278
 
8155
8279
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-architectures
8156
8280
  '''
@@ -8161,7 +8285,8 @@ class CfnFunctionProps:
8161
8285
  def code_signing_config_arn(self) -> typing.Optional[builtins.str]:
8162
8286
  '''To enable code signing for this function, specify the ARN of a code-signing configuration.
8163
8287
 
8164
- A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
8288
+ A code-signing configuration
8289
+ includes a set of signing profiles, which define the trusted publishers for this function.
8165
8290
 
8166
8291
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-codesigningconfigarn
8167
8292
  '''
@@ -8172,7 +8297,9 @@ class CfnFunctionProps:
8172
8297
  def dead_letter_config(
8173
8298
  self,
8174
8299
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.DeadLetterConfigProperty]]:
8175
- '''The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.
8300
+ '''A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.
8301
+
8302
+ For more information, see `Dead-letter queues <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq>`_ .
8176
8303
 
8177
8304
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-deadletterconfig
8178
8305
  '''
@@ -8192,9 +8319,7 @@ class CfnFunctionProps:
8192
8319
  def environment(
8193
8320
  self,
8194
8321
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.EnvironmentProperty]]:
8195
- '''A function's environment variable settings.
8196
-
8197
- You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
8322
+ '''Environment variables that are accessible from function code during execution.
8198
8323
 
8199
8324
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-environment
8200
8325
  '''
@@ -8221,7 +8346,8 @@ class CfnFunctionProps:
8221
8346
  '''Connection settings for an Amazon EFS file system.
8222
8347
 
8223
8348
  To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function.
8224
- For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_.
8349
+
8350
+ For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ .
8225
8351
 
8226
8352
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs
8227
8353
  '''
@@ -8232,7 +8358,8 @@ class CfnFunctionProps:
8232
8358
  def function_name(self) -> typing.Optional[builtins.str]:
8233
8359
  '''The name of the Lambda function, up to 64 characters in length.
8234
8360
 
8235
- If you don't specify a name, CFN generates one.
8361
+ If you don't specify a name, AWS CloudFormation generates one.
8362
+
8236
8363
  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.
8237
8364
 
8238
8365
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname
@@ -8244,7 +8371,7 @@ class CfnFunctionProps:
8244
8371
  def handler(self) -> typing.Optional[builtins.str]:
8245
8372
  '''The name of the method within your code that Lambda calls to run your function.
8246
8373
 
8247
- 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>`_.
8374
+ 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>`_ .
8248
8375
 
8249
8376
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler
8250
8377
  '''
@@ -8257,7 +8384,7 @@ class CfnFunctionProps:
8257
8384
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.ImageConfigProperty]]:
8258
8385
  '''Configuration values that override the container image Dockerfile settings.
8259
8386
 
8260
- For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_.
8387
+ For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
8261
8388
 
8262
8389
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig
8263
8390
  '''
@@ -8266,7 +8393,7 @@ class CfnFunctionProps:
8266
8393
 
8267
8394
  @builtins.property
8268
8395
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
8269
- '''The ARN of the KMSlong (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.
8396
+ '''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.
8270
8397
 
8271
8398
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn
8272
8399
  '''
@@ -8315,9 +8442,11 @@ class CfnFunctionProps:
8315
8442
 
8316
8443
  @builtins.property
8317
8444
  def recursive_loop(self) -> typing.Optional[builtins.str]:
8318
- '''This property is set to terminate unintended recursions.
8445
+ '''The status of your function's recursive loop detection configuration.
8446
+
8447
+ When this value is set to ``Allow`` and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action.
8319
8448
 
8320
- If set to ``Terminate``, Lambda detects and terminates unitended recursive loops. If set to ``Allow`` Lambda lets recursions be and does not terminate it.
8449
+ When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.
8321
8450
 
8322
8451
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-recursiveloop
8323
8452
  '''
@@ -8335,7 +8464,11 @@ class CfnFunctionProps:
8335
8464
 
8336
8465
  @builtins.property
8337
8466
  def runtime(self) -> typing.Optional[builtins.str]:
8338
- '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.
8467
+ '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.
8468
+
8469
+ The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_ .
8470
+
8471
+ For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_ .
8339
8472
 
8340
8473
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime
8341
8474
  '''
@@ -8348,7 +8481,7 @@ class CfnFunctionProps:
8348
8481
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.RuntimeManagementConfigProperty]]:
8349
8482
  '''Sets the runtime management configuration for a function's version.
8350
8483
 
8351
- For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
8484
+ For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
8352
8485
 
8353
8486
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtimemanagementconfig
8354
8487
  '''
@@ -8359,7 +8492,7 @@ class CfnFunctionProps:
8359
8492
  def snap_start(
8360
8493
  self,
8361
8494
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.SnapStartProperty]]:
8362
- '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
8495
+ '''The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
8363
8496
 
8364
8497
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-snapstart
8365
8498
  '''
@@ -8370,6 +8503,10 @@ class CfnFunctionProps:
8370
8503
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8371
8504
  '''A list of `tags <https://docs.aws.amazon.com/lambda/latest/dg/tagging.html>`_ to apply to the function.
8372
8505
 
8506
+ .. epigraph::
8507
+
8508
+ 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.
8509
+
8373
8510
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tags
8374
8511
  '''
8375
8512
  result = self._values.get("tags")
@@ -8379,7 +8516,7 @@ class CfnFunctionProps:
8379
8516
  def timeout(self) -> typing.Optional[jsii.Number]:
8380
8517
  '''The amount of time (in seconds) that Lambda allows a function to run before stopping it.
8381
8518
 
8382
- The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_.
8519
+ The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_ .
8383
8520
 
8384
8521
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout
8385
8522
  '''
@@ -8390,7 +8527,7 @@ class CfnFunctionProps:
8390
8527
  def tracing_config(
8391
8528
  self,
8392
8529
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.TracingConfigProperty]]:
8393
- '''The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
8530
+ '''Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .
8394
8531
 
8395
8532
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig
8396
8533
  '''
@@ -8401,11 +8538,9 @@ class CfnFunctionProps:
8401
8538
  def vpc_config(
8402
8539
  self,
8403
8540
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.VpcConfigProperty]]:
8404
- '''The VPC security groups and subnets that are attached to a Lambda function.
8541
+ '''For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.
8405
8542
 
8406
- When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_.
8407
- When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources.
8408
- To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
8543
+ When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see `Configuring a Lambda function to access resources in a VPC <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
8409
8544
 
8410
8545
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-vpcconfig
8411
8546
  '''
@@ -9291,7 +9426,7 @@ class CfnPermission(
9291
9426
  :param id: Construct identifier for this resource (unique in its scope).
9292
9427
  :param action: The action that the principal can use on the function. For example, ``lambda:InvokeFunction`` or ``lambda:GetFunction`` .
9293
9428
  :param function_name: The name or ARN of the Lambda function, version, or alias. **Name formats** - *Function name* – ``my-function`` (name-only), ``my-function:v1`` (with alias). - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:my-function`` . - *Partial ARN* – ``123456789012:function:my-function`` . You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9294
- :param principal: The AWS service or AWS account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9429
+ :param principal: The AWS service , AWS account , IAM user, or IAM role that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9295
9430
  :param event_source_token: For Alexa Smart Home functions, a token that the invoker must supply.
9296
9431
  :param function_url_auth_type: The type of authentication that your function URL uses. Set to ``AWS_IAM`` if you want to restrict access to authenticated users only. Set to ``NONE`` if you want to bypass IAM authentication to create a public endpoint. For more information, see `Security and auth model for Lambda function URLs <https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html>`_ .
9297
9432
  :param principal_org_id: The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.
@@ -9387,7 +9522,7 @@ class CfnPermission(
9387
9522
  @builtins.property
9388
9523
  @jsii.member(jsii_name="principal")
9389
9524
  def principal(self) -> builtins.str:
9390
- '''The AWS service or AWS account that invokes the function.'''
9525
+ '''The AWS service , AWS account , IAM user, or IAM role that invokes the function.'''
9391
9526
  return typing.cast(builtins.str, jsii.get(self, "principal"))
9392
9527
 
9393
9528
  @principal.setter
@@ -9494,7 +9629,7 @@ class CfnPermissionProps:
9494
9629
 
9495
9630
  :param action: The action that the principal can use on the function. For example, ``lambda:InvokeFunction`` or ``lambda:GetFunction`` .
9496
9631
  :param function_name: The name or ARN of the Lambda function, version, or alias. **Name formats** - *Function name* – ``my-function`` (name-only), ``my-function:v1`` (with alias). - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:my-function`` . - *Partial ARN* – ``123456789012:function:my-function`` . You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9497
- :param principal: The AWS service or AWS account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9632
+ :param principal: The AWS service , AWS account , IAM user, or IAM role that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9498
9633
  :param event_source_token: For Alexa Smart Home functions, a token that the invoker must supply.
9499
9634
  :param function_url_auth_type: The type of authentication that your function URL uses. Set to ``AWS_IAM`` if you want to restrict access to authenticated users only. Set to ``NONE`` if you want to bypass IAM authentication to create a public endpoint. For more information, see `Security and auth model for Lambda function URLs <https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html>`_ .
9500
9635
  :param principal_org_id: The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.
@@ -9580,7 +9715,7 @@ class CfnPermissionProps:
9580
9715
 
9581
9716
  @builtins.property
9582
9717
  def principal(self) -> builtins.str:
9583
- '''The AWS service or AWS account that invokes the function.
9718
+ '''The AWS service , AWS account , IAM user, or IAM role that invokes the function.
9584
9719
 
9585
9720
  If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9586
9721
 
@@ -25619,6 +25754,12 @@ class FunctionUrl(
25619
25754
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
25620
25755
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantInvokeUrl", [grantee]))
25621
25756
 
25757
+ @builtins.property
25758
+ @jsii.member(jsii_name="authType")
25759
+ def auth_type(self) -> FunctionUrlAuthType:
25760
+ '''The authentication type used for this Function URL.'''
25761
+ return typing.cast(FunctionUrlAuthType, jsii.get(self, "authType"))
25762
+
25622
25763
  @builtins.property
25623
25764
  @jsii.member(jsii_name="functionArn")
25624
25765
  def function_arn(self) -> builtins.str: