aws-cdk-lib 2.117.0__py3-none-any.whl → 2.119.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 (57) hide show
  1. aws_cdk/__init__.py +138 -25
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.117.0.jsii.tgz → aws-cdk-lib@2.119.0.jsii.tgz} +0 -0
  4. aws_cdk/amzn_sdc/__init__.py +496 -0
  5. aws_cdk/aws_appsync/__init__.py +94 -22
  6. aws_cdk/aws_autoscaling/__init__.py +139 -74
  7. aws_cdk/aws_certificatemanager/__init__.py +164 -3
  8. aws_cdk/aws_cloud9/__init__.py +3 -3
  9. aws_cdk/aws_cloudfront/__init__.py +853 -38
  10. aws_cdk/aws_cloudtrail/__init__.py +54 -34
  11. aws_cdk/aws_cloudwatch_actions/__init__.py +105 -0
  12. aws_cdk/aws_codebuild/__init__.py +46 -5
  13. aws_cdk/aws_codecommit/__init__.py +9 -3
  14. aws_cdk/aws_codepipeline_actions/__init__.py +54 -0
  15. aws_cdk/aws_codetest/__init__.py +788 -0
  16. aws_cdk/aws_cognito/__init__.py +104 -0
  17. aws_cdk/aws_connect/__init__.py +626 -78
  18. aws_cdk/aws_docdb/__init__.py +442 -0
  19. aws_cdk/aws_dynamodb/__init__.py +14 -0
  20. aws_cdk/aws_ec2/__init__.py +372 -44
  21. aws_cdk/aws_ecs/__init__.py +192 -35
  22. aws_cdk/aws_emrserverless/__init__.py +20 -13
  23. aws_cdk/aws_events/__init__.py +90 -1
  24. aws_cdk/aws_fis/__init__.py +12 -32
  25. aws_cdk/aws_globalaccelerator/__init__.py +19 -0
  26. aws_cdk/aws_glue/__init__.py +329 -0
  27. aws_cdk/aws_iam/__init__.py +50 -24
  28. aws_cdk/aws_iot/__init__.py +112 -0
  29. aws_cdk/aws_iotsitewise/__init__.py +4 -4
  30. aws_cdk/aws_kendra/__init__.py +10 -5
  31. aws_cdk/aws_kinesisfirehose/__init__.py +111 -0
  32. aws_cdk/aws_lambda/__init__.py +180 -407
  33. aws_cdk/aws_location/__init__.py +1132 -17
  34. aws_cdk/aws_mediatailor/__init__.py +120 -17
  35. aws_cdk/aws_networkfirewall/__init__.py +2 -2
  36. aws_cdk/aws_networkmanager/__init__.py +1 -1
  37. aws_cdk/aws_omics/__init__.py +4 -4
  38. aws_cdk/aws_opensearchservice/__init__.py +58 -0
  39. aws_cdk/aws_pinpoint/__init__.py +14 -6
  40. aws_cdk/aws_pipes/__init__.py +7 -2
  41. aws_cdk/aws_rds/__init__.py +247 -16
  42. aws_cdk/aws_redshift/__init__.py +103 -0
  43. aws_cdk/aws_route53/__init__.py +68 -20
  44. aws_cdk/aws_s3/__init__.py +2 -4
  45. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  46. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  47. aws_cdk/aws_signer/__init__.py +27 -4
  48. aws_cdk/aws_ssm/__init__.py +76 -13
  49. aws_cdk/aws_stepfunctions/__init__.py +110 -5
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +84 -29
  51. aws_cdk/pipelines/__init__.py +136 -37
  52. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/LICENSE +1 -1
  53. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/METADATA +98 -12
  54. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/NOTICE +1 -1
  55. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/RECORD +57 -55
  56. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/WHEEL +0 -0
  57. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/top_level.txt +0 -0
@@ -2594,6 +2594,372 @@ class CfnDBSubnetGroupProps:
2594
2594
  )
2595
2595
 
2596
2596
 
2597
+ @jsii.implements(_IInspectable_c2943556)
2598
+ class CfnEventSubscription(
2599
+ _CfnResource_9df397a6,
2600
+ metaclass=jsii.JSIIMeta,
2601
+ jsii_type="aws-cdk-lib.aws_docdb.CfnEventSubscription",
2602
+ ):
2603
+ '''Creates an Amazon DocumentDB event notification subscription.
2604
+
2605
+ This action requires a topic Amazon Resource Name (ARN) created by using the Amazon DocumentDB console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the Amazon SNS console.
2606
+
2607
+ You can specify the type of source ( ``SourceType`` ) that you want to be notified of. You can also provide a list of Amazon DocumentDB sources ( ``SourceIds`` ) that trigger the events, and you can provide a list of event categories ( ``EventCategories`` ) for events that you want to be notified of. For example, you can specify ``SourceType = db-instance`` , ``SourceIds = mydbinstance1, mydbinstance2`` and ``EventCategories = Availability, Backup`` .
2608
+
2609
+ If you specify both the ``SourceType`` and ``SourceIds`` (such as ``SourceType = db-instance`` and ``SourceIdentifier = myDBInstance1`` ), you are notified of all the ``db-instance`` events for the specified source. If you specify a ``SourceType`` but do not specify a ``SourceIdentifier`` , you receive notice of the events for that source type for all your Amazon DocumentDB sources. If you do not specify either the ``SourceType`` or the ``SourceIdentifier`` , you are notified of events generated from all Amazon DocumentDB sources belonging to your customer account.
2610
+
2611
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html
2612
+ :cloudformationResource: AWS::DocDB::EventSubscription
2613
+ :exampleMetadata: fixture=_generated
2614
+
2615
+ Example::
2616
+
2617
+ # The code below shows an example of how to instantiate this type.
2618
+ # The values are placeholders you should change.
2619
+ from aws_cdk import aws_docdb as docdb
2620
+
2621
+ cfn_event_subscription = docdb.CfnEventSubscription(self, "MyCfnEventSubscription",
2622
+ sns_topic_arn="snsTopicArn",
2623
+
2624
+ # the properties below are optional
2625
+ enabled=False,
2626
+ event_categories=["eventCategories"],
2627
+ source_ids=["sourceIds"],
2628
+ source_type="sourceType",
2629
+ subscription_name="subscriptionName"
2630
+ )
2631
+ '''
2632
+
2633
+ def __init__(
2634
+ self,
2635
+ scope: _constructs_77d1e7e8.Construct,
2636
+ id: builtins.str,
2637
+ *,
2638
+ sns_topic_arn: builtins.str,
2639
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2640
+ event_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
2641
+ source_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2642
+ source_type: typing.Optional[builtins.str] = None,
2643
+ subscription_name: typing.Optional[builtins.str] = None,
2644
+ ) -> None:
2645
+ '''
2646
+ :param scope: Scope in which this resource is defined.
2647
+ :param id: Construct identifier for this resource (unique in its scope).
2648
+ :param sns_topic_arn: The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.
2649
+ :param enabled: A Boolean value; set to ``true`` to activate the subscription, set to ``false`` to create the subscription but not active it.
2650
+ :param event_categories: A list of event categories for a ``SourceType`` that you want to subscribe to.
2651
+ :param source_ids: The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. Constraints: - If ``SourceIds`` are provided, ``SourceType`` must also be provided. - If the source type is an instance, a ``DBInstanceIdentifier`` must be provided. - If the source type is a security group, a ``DBSecurityGroupName`` must be provided. - If the source type is a parameter group, a ``DBParameterGroupName`` must be provided. - If the source type is a snapshot, a ``DBSnapshotIdentifier`` must be provided.
2652
+ :param source_type: The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, you would set this parameter to ``db-instance`` . If this value is not specified, all events are returned. Valid values: ``db-instance`` , ``db-cluster`` , ``db-parameter-group`` , ``db-security-group`` , ``db-cluster-snapshot``
2653
+ :param subscription_name: The name of the subscription. Constraints: The name must be fewer than 255 characters.
2654
+ '''
2655
+ if __debug__:
2656
+ type_hints = typing.get_type_hints(_typecheckingstub__40f8dfdc0873c60465b0acfa4f2aa03b6140bfeab2b2555ea12d442d945dfd8d)
2657
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2658
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2659
+ props = CfnEventSubscriptionProps(
2660
+ sns_topic_arn=sns_topic_arn,
2661
+ enabled=enabled,
2662
+ event_categories=event_categories,
2663
+ source_ids=source_ids,
2664
+ source_type=source_type,
2665
+ subscription_name=subscription_name,
2666
+ )
2667
+
2668
+ jsii.create(self.__class__, self, [scope, id, props])
2669
+
2670
+ @jsii.member(jsii_name="inspect")
2671
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2672
+ '''Examines the CloudFormation resource and discloses attributes.
2673
+
2674
+ :param inspector: tree inspector to collect and process attributes.
2675
+ '''
2676
+ if __debug__:
2677
+ type_hints = typing.get_type_hints(_typecheckingstub__a78e07c2239bdb281b28e228142106e2611c29c9ef30abda83a7f24a14f057f3)
2678
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2679
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2680
+
2681
+ @jsii.member(jsii_name="renderProperties")
2682
+ def _render_properties(
2683
+ self,
2684
+ props: typing.Mapping[builtins.str, typing.Any],
2685
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2686
+ '''
2687
+ :param props: -
2688
+ '''
2689
+ if __debug__:
2690
+ type_hints = typing.get_type_hints(_typecheckingstub__dffd722e143a1ef7621bed14bf1e5f3eba17e8d691035f5a6cacf368c62db770)
2691
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2692
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2693
+
2694
+ @jsii.python.classproperty
2695
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2696
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2697
+ '''The CloudFormation resource type name for this resource class.'''
2698
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2699
+
2700
+ @builtins.property
2701
+ @jsii.member(jsii_name="attrId")
2702
+ def attr_id(self) -> builtins.str:
2703
+ '''
2704
+ :cloudformationAttribute: Id
2705
+ '''
2706
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
2707
+
2708
+ @builtins.property
2709
+ @jsii.member(jsii_name="cfnProperties")
2710
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2711
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2712
+
2713
+ @builtins.property
2714
+ @jsii.member(jsii_name="snsTopicArn")
2715
+ def sns_topic_arn(self) -> builtins.str:
2716
+ '''The Amazon Resource Name (ARN) of the SNS topic created for event notification.'''
2717
+ return typing.cast(builtins.str, jsii.get(self, "snsTopicArn"))
2718
+
2719
+ @sns_topic_arn.setter
2720
+ def sns_topic_arn(self, value: builtins.str) -> None:
2721
+ if __debug__:
2722
+ type_hints = typing.get_type_hints(_typecheckingstub__cbdf559b24615e45ddf5c69cfd3641d78184cbadf589ae301537d02c4bdfbb7b)
2723
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2724
+ jsii.set(self, "snsTopicArn", value)
2725
+
2726
+ @builtins.property
2727
+ @jsii.member(jsii_name="enabled")
2728
+ def enabled(
2729
+ self,
2730
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2731
+ '''A Boolean value;'''
2732
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "enabled"))
2733
+
2734
+ @enabled.setter
2735
+ def enabled(
2736
+ self,
2737
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2738
+ ) -> None:
2739
+ if __debug__:
2740
+ type_hints = typing.get_type_hints(_typecheckingstub__0516058187ff1e96246f1be785eb949dc458861e2393e993f4c6296a87f1163f)
2741
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2742
+ jsii.set(self, "enabled", value)
2743
+
2744
+ @builtins.property
2745
+ @jsii.member(jsii_name="eventCategories")
2746
+ def event_categories(self) -> typing.Optional[typing.List[builtins.str]]:
2747
+ '''A list of event categories for a ``SourceType`` that you want to subscribe to.'''
2748
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "eventCategories"))
2749
+
2750
+ @event_categories.setter
2751
+ def event_categories(
2752
+ self,
2753
+ value: typing.Optional[typing.List[builtins.str]],
2754
+ ) -> None:
2755
+ if __debug__:
2756
+ type_hints = typing.get_type_hints(_typecheckingstub__d7d499d907468c66313404015876f161704901bbddf0fb60ec8014aa0ff32682)
2757
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2758
+ jsii.set(self, "eventCategories", value)
2759
+
2760
+ @builtins.property
2761
+ @jsii.member(jsii_name="sourceIds")
2762
+ def source_ids(self) -> typing.Optional[typing.List[builtins.str]]:
2763
+ '''The list of identifiers of the event sources for which events are returned.'''
2764
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "sourceIds"))
2765
+
2766
+ @source_ids.setter
2767
+ def source_ids(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
2768
+ if __debug__:
2769
+ type_hints = typing.get_type_hints(_typecheckingstub__408c6e4d5c088c34a6428d6bc56a0cd33158f2b01c56372df307cb6d9bd2c844)
2770
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2771
+ jsii.set(self, "sourceIds", value)
2772
+
2773
+ @builtins.property
2774
+ @jsii.member(jsii_name="sourceType")
2775
+ def source_type(self) -> typing.Optional[builtins.str]:
2776
+ '''The type of source that is generating the events.'''
2777
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourceType"))
2778
+
2779
+ @source_type.setter
2780
+ def source_type(self, value: typing.Optional[builtins.str]) -> None:
2781
+ if __debug__:
2782
+ type_hints = typing.get_type_hints(_typecheckingstub__2d09ba07ebf0ad0a63b9515db6dee97880048766ce1683054a3c9d864abe3a39)
2783
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2784
+ jsii.set(self, "sourceType", value)
2785
+
2786
+ @builtins.property
2787
+ @jsii.member(jsii_name="subscriptionName")
2788
+ def subscription_name(self) -> typing.Optional[builtins.str]:
2789
+ '''The name of the subscription.'''
2790
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "subscriptionName"))
2791
+
2792
+ @subscription_name.setter
2793
+ def subscription_name(self, value: typing.Optional[builtins.str]) -> None:
2794
+ if __debug__:
2795
+ type_hints = typing.get_type_hints(_typecheckingstub__8d7bc2e62bb3b2b35f63e5b6a8a20e68b3082eb38625b5f563734f9659b0f148)
2796
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2797
+ jsii.set(self, "subscriptionName", value)
2798
+
2799
+
2800
+ @jsii.data_type(
2801
+ jsii_type="aws-cdk-lib.aws_docdb.CfnEventSubscriptionProps",
2802
+ jsii_struct_bases=[],
2803
+ name_mapping={
2804
+ "sns_topic_arn": "snsTopicArn",
2805
+ "enabled": "enabled",
2806
+ "event_categories": "eventCategories",
2807
+ "source_ids": "sourceIds",
2808
+ "source_type": "sourceType",
2809
+ "subscription_name": "subscriptionName",
2810
+ },
2811
+ )
2812
+ class CfnEventSubscriptionProps:
2813
+ def __init__(
2814
+ self,
2815
+ *,
2816
+ sns_topic_arn: builtins.str,
2817
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2818
+ event_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
2819
+ source_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2820
+ source_type: typing.Optional[builtins.str] = None,
2821
+ subscription_name: typing.Optional[builtins.str] = None,
2822
+ ) -> None:
2823
+ '''Properties for defining a ``CfnEventSubscription``.
2824
+
2825
+ :param sns_topic_arn: The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.
2826
+ :param enabled: A Boolean value; set to ``true`` to activate the subscription, set to ``false`` to create the subscription but not active it.
2827
+ :param event_categories: A list of event categories for a ``SourceType`` that you want to subscribe to.
2828
+ :param source_ids: The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. Constraints: - If ``SourceIds`` are provided, ``SourceType`` must also be provided. - If the source type is an instance, a ``DBInstanceIdentifier`` must be provided. - If the source type is a security group, a ``DBSecurityGroupName`` must be provided. - If the source type is a parameter group, a ``DBParameterGroupName`` must be provided. - If the source type is a snapshot, a ``DBSnapshotIdentifier`` must be provided.
2829
+ :param source_type: The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, you would set this parameter to ``db-instance`` . If this value is not specified, all events are returned. Valid values: ``db-instance`` , ``db-cluster`` , ``db-parameter-group`` , ``db-security-group`` , ``db-cluster-snapshot``
2830
+ :param subscription_name: The name of the subscription. Constraints: The name must be fewer than 255 characters.
2831
+
2832
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html
2833
+ :exampleMetadata: fixture=_generated
2834
+
2835
+ Example::
2836
+
2837
+ # The code below shows an example of how to instantiate this type.
2838
+ # The values are placeholders you should change.
2839
+ from aws_cdk import aws_docdb as docdb
2840
+
2841
+ cfn_event_subscription_props = docdb.CfnEventSubscriptionProps(
2842
+ sns_topic_arn="snsTopicArn",
2843
+
2844
+ # the properties below are optional
2845
+ enabled=False,
2846
+ event_categories=["eventCategories"],
2847
+ source_ids=["sourceIds"],
2848
+ source_type="sourceType",
2849
+ subscription_name="subscriptionName"
2850
+ )
2851
+ '''
2852
+ if __debug__:
2853
+ type_hints = typing.get_type_hints(_typecheckingstub__92e72afa83105140ea15cc6ce1340e83894ccd39b3b2bb6575b33f8fa505c2e7)
2854
+ check_type(argname="argument sns_topic_arn", value=sns_topic_arn, expected_type=type_hints["sns_topic_arn"])
2855
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
2856
+ check_type(argname="argument event_categories", value=event_categories, expected_type=type_hints["event_categories"])
2857
+ check_type(argname="argument source_ids", value=source_ids, expected_type=type_hints["source_ids"])
2858
+ check_type(argname="argument source_type", value=source_type, expected_type=type_hints["source_type"])
2859
+ check_type(argname="argument subscription_name", value=subscription_name, expected_type=type_hints["subscription_name"])
2860
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2861
+ "sns_topic_arn": sns_topic_arn,
2862
+ }
2863
+ if enabled is not None:
2864
+ self._values["enabled"] = enabled
2865
+ if event_categories is not None:
2866
+ self._values["event_categories"] = event_categories
2867
+ if source_ids is not None:
2868
+ self._values["source_ids"] = source_ids
2869
+ if source_type is not None:
2870
+ self._values["source_type"] = source_type
2871
+ if subscription_name is not None:
2872
+ self._values["subscription_name"] = subscription_name
2873
+
2874
+ @builtins.property
2875
+ def sns_topic_arn(self) -> builtins.str:
2876
+ '''The Amazon Resource Name (ARN) of the SNS topic created for event notification.
2877
+
2878
+ Amazon SNS creates the ARN when you create a topic and subscribe to it.
2879
+
2880
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-snstopicarn
2881
+ '''
2882
+ result = self._values.get("sns_topic_arn")
2883
+ assert result is not None, "Required property 'sns_topic_arn' is missing"
2884
+ return typing.cast(builtins.str, result)
2885
+
2886
+ @builtins.property
2887
+ def enabled(
2888
+ self,
2889
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2890
+ '''A Boolean value;
2891
+
2892
+ set to ``true`` to activate the subscription, set to ``false`` to create the subscription but not active it.
2893
+
2894
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-enabled
2895
+ '''
2896
+ result = self._values.get("enabled")
2897
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2898
+
2899
+ @builtins.property
2900
+ def event_categories(self) -> typing.Optional[typing.List[builtins.str]]:
2901
+ '''A list of event categories for a ``SourceType`` that you want to subscribe to.
2902
+
2903
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-eventcategories
2904
+ '''
2905
+ result = self._values.get("event_categories")
2906
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2907
+
2908
+ @builtins.property
2909
+ def source_ids(self) -> typing.Optional[typing.List[builtins.str]]:
2910
+ '''The list of identifiers of the event sources for which events are returned.
2911
+
2912
+ If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.
2913
+
2914
+ Constraints:
2915
+
2916
+ - If ``SourceIds`` are provided, ``SourceType`` must also be provided.
2917
+ - If the source type is an instance, a ``DBInstanceIdentifier`` must be provided.
2918
+ - If the source type is a security group, a ``DBSecurityGroupName`` must be provided.
2919
+ - If the source type is a parameter group, a ``DBParameterGroupName`` must be provided.
2920
+ - If the source type is a snapshot, a ``DBSnapshotIdentifier`` must be provided.
2921
+
2922
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-sourceids
2923
+ '''
2924
+ result = self._values.get("source_ids")
2925
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2926
+
2927
+ @builtins.property
2928
+ def source_type(self) -> typing.Optional[builtins.str]:
2929
+ '''The type of source that is generating the events.
2930
+
2931
+ For example, if you want to be notified of events generated by an instance, you would set this parameter to ``db-instance`` . If this value is not specified, all events are returned.
2932
+
2933
+ Valid values: ``db-instance`` , ``db-cluster`` , ``db-parameter-group`` , ``db-security-group`` , ``db-cluster-snapshot``
2934
+
2935
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-sourcetype
2936
+ '''
2937
+ result = self._values.get("source_type")
2938
+ return typing.cast(typing.Optional[builtins.str], result)
2939
+
2940
+ @builtins.property
2941
+ def subscription_name(self) -> typing.Optional[builtins.str]:
2942
+ '''The name of the subscription.
2943
+
2944
+ Constraints: The name must be fewer than 255 characters.
2945
+
2946
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-subscriptionname
2947
+ '''
2948
+ result = self._values.get("subscription_name")
2949
+ return typing.cast(typing.Optional[builtins.str], result)
2950
+
2951
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2952
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2953
+
2954
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2955
+ return not (rhs == self)
2956
+
2957
+ def __repr__(self) -> str:
2958
+ return "CfnEventSubscriptionProps(%s)" % ", ".join(
2959
+ k + "=" + repr(v) for k, v in self._values.items()
2960
+ )
2961
+
2962
+
2597
2963
  @jsii.data_type(
2598
2964
  jsii_type="aws-cdk-lib.aws_docdb.ClusterParameterGroupProps",
2599
2965
  jsii_struct_bases=[],
@@ -4745,6 +5111,8 @@ __all__ = [
4745
5111
  "CfnDBInstanceProps",
4746
5112
  "CfnDBSubnetGroup",
4747
5113
  "CfnDBSubnetGroupProps",
5114
+ "CfnEventSubscription",
5115
+ "CfnEventSubscriptionProps",
4748
5116
  "ClusterParameterGroup",
4749
5117
  "ClusterParameterGroupProps",
4750
5118
  "DatabaseCluster",
@@ -5213,6 +5581,80 @@ def _typecheckingstub__a557322d49da14bfd89b62840e1cf819fbe27ee6b0c3d31a486b4494d
5213
5581
  """Type checking stubs"""
5214
5582
  pass
5215
5583
 
5584
+ def _typecheckingstub__40f8dfdc0873c60465b0acfa4f2aa03b6140bfeab2b2555ea12d442d945dfd8d(
5585
+ scope: _constructs_77d1e7e8.Construct,
5586
+ id: builtins.str,
5587
+ *,
5588
+ sns_topic_arn: builtins.str,
5589
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5590
+ event_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
5591
+ source_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
5592
+ source_type: typing.Optional[builtins.str] = None,
5593
+ subscription_name: typing.Optional[builtins.str] = None,
5594
+ ) -> None:
5595
+ """Type checking stubs"""
5596
+ pass
5597
+
5598
+ def _typecheckingstub__a78e07c2239bdb281b28e228142106e2611c29c9ef30abda83a7f24a14f057f3(
5599
+ inspector: _TreeInspector_488e0dd5,
5600
+ ) -> None:
5601
+ """Type checking stubs"""
5602
+ pass
5603
+
5604
+ def _typecheckingstub__dffd722e143a1ef7621bed14bf1e5f3eba17e8d691035f5a6cacf368c62db770(
5605
+ props: typing.Mapping[builtins.str, typing.Any],
5606
+ ) -> None:
5607
+ """Type checking stubs"""
5608
+ pass
5609
+
5610
+ def _typecheckingstub__cbdf559b24615e45ddf5c69cfd3641d78184cbadf589ae301537d02c4bdfbb7b(
5611
+ value: builtins.str,
5612
+ ) -> None:
5613
+ """Type checking stubs"""
5614
+ pass
5615
+
5616
+ def _typecheckingstub__0516058187ff1e96246f1be785eb949dc458861e2393e993f4c6296a87f1163f(
5617
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
5618
+ ) -> None:
5619
+ """Type checking stubs"""
5620
+ pass
5621
+
5622
+ def _typecheckingstub__d7d499d907468c66313404015876f161704901bbddf0fb60ec8014aa0ff32682(
5623
+ value: typing.Optional[typing.List[builtins.str]],
5624
+ ) -> None:
5625
+ """Type checking stubs"""
5626
+ pass
5627
+
5628
+ def _typecheckingstub__408c6e4d5c088c34a6428d6bc56a0cd33158f2b01c56372df307cb6d9bd2c844(
5629
+ value: typing.Optional[typing.List[builtins.str]],
5630
+ ) -> None:
5631
+ """Type checking stubs"""
5632
+ pass
5633
+
5634
+ def _typecheckingstub__2d09ba07ebf0ad0a63b9515db6dee97880048766ce1683054a3c9d864abe3a39(
5635
+ value: typing.Optional[builtins.str],
5636
+ ) -> None:
5637
+ """Type checking stubs"""
5638
+ pass
5639
+
5640
+ def _typecheckingstub__8d7bc2e62bb3b2b35f63e5b6a8a20e68b3082eb38625b5f563734f9659b0f148(
5641
+ value: typing.Optional[builtins.str],
5642
+ ) -> None:
5643
+ """Type checking stubs"""
5644
+ pass
5645
+
5646
+ def _typecheckingstub__92e72afa83105140ea15cc6ce1340e83894ccd39b3b2bb6575b33f8fa505c2e7(
5647
+ *,
5648
+ sns_topic_arn: builtins.str,
5649
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5650
+ event_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
5651
+ source_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
5652
+ source_type: typing.Optional[builtins.str] = None,
5653
+ subscription_name: typing.Optional[builtins.str] = None,
5654
+ ) -> None:
5655
+ """Type checking stubs"""
5656
+ pass
5657
+
5216
5658
  def _typecheckingstub__491f89cfa8a5f727c317b5eded8174371b0bb8ddb08980d3f8ad7e3c0bf535e0(
5217
5659
  *,
5218
5660
  family: builtins.str,
@@ -10577,6 +10577,13 @@ class TableProps(TableOptions):
10577
10577
  error_handler = sfn.Pass(self, "handle failure")
10578
10578
  custom.add_catch(error_handler)
10579
10579
 
10580
+ # retry the task if something goes wrong
10581
+ custom.add_retry(
10582
+ errors=[sfn.Errors.ALL],
10583
+ interval=Duration.seconds(10),
10584
+ max_attempts=5
10585
+ )
10586
+
10580
10587
  chain = sfn.Chain.start(custom).next(final_status)
10581
10588
 
10582
10589
  sm = sfn.StateMachine(self, "StateMachine",
@@ -12650,6 +12657,13 @@ class Table(
12650
12657
  error_handler = sfn.Pass(self, "handle failure")
12651
12658
  custom.add_catch(error_handler)
12652
12659
 
12660
+ # retry the task if something goes wrong
12661
+ custom.add_retry(
12662
+ errors=[sfn.Errors.ALL],
12663
+ interval=Duration.seconds(10),
12664
+ max_attempts=5
12665
+ )
12666
+
12653
12667
  chain = sfn.Chain.start(custom).next(final_status)
12654
12668
 
12655
12669
  sm = sfn.StateMachine(self, "StateMachine",