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

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

Potentially problematic release.


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

Files changed (60) hide show
  1. aws_cdk/__init__.py +2083 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.167.2.jsii.tgz → aws-cdk-lib@2.169.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +244 -13
  5. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  6. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  7. aws_cdk/aws_applicationsignals/__init__.py +124 -0
  8. aws_cdk/aws_autoscaling/__init__.py +743 -7
  9. aws_cdk/aws_batch/__init__.py +202 -5
  10. aws_cdk/aws_bedrock/__init__.py +12 -12
  11. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  12. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  13. aws_cdk/aws_cloudfront/__init__.py +281 -0
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  16. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  17. aws_cdk/aws_codebuild/__init__.py +670 -4
  18. aws_cdk/aws_connect/__init__.py +378 -0
  19. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  20. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  21. aws_cdk/aws_deadline/__init__.py +299 -6
  22. aws_cdk/aws_dynamodb/__init__.py +359 -16
  23. aws_cdk/aws_ec2/__init__.py +19 -6
  24. aws_cdk/aws_ecs/__init__.py +231 -12
  25. aws_cdk/aws_efs/__init__.py +61 -4
  26. aws_cdk/aws_eks/__init__.py +116 -0
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  28. aws_cdk/aws_fis/__init__.py +495 -0
  29. aws_cdk/aws_gamelift/__init__.py +3204 -1104
  30. aws_cdk/aws_iot/__init__.py +209 -0
  31. aws_cdk/aws_iotfleetwise/__init__.py +550 -0
  32. aws_cdk/aws_iotsitewise/__init__.py +6 -3
  33. aws_cdk/aws_ivs/__init__.py +458 -0
  34. aws_cdk/aws_kinesisfirehose/__init__.py +756 -8
  35. aws_cdk/aws_lambda/__init__.py +634 -259
  36. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  37. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  38. aws_cdk/aws_location/__init__.py +18 -18
  39. aws_cdk/aws_mediastore/__init__.py +22 -10
  40. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  41. aws_cdk/aws_quicksight/__init__.py +35 -19
  42. aws_cdk/aws_rbin/__init__.py +902 -0
  43. aws_cdk/aws_rds/__init__.py +166 -3
  44. aws_cdk/aws_route53resolver/__init__.py +76 -19
  45. aws_cdk/aws_sagemaker/__init__.py +32 -0
  46. aws_cdk/aws_securityhub/__init__.py +11 -14
  47. aws_cdk/aws_ses/__init__.py +58 -5
  48. aws_cdk/aws_sns/__init__.py +593 -8
  49. aws_cdk/aws_sns_subscriptions/__init__.py +68 -22
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  51. aws_cdk/aws_synthetics/__init__.py +46 -0
  52. aws_cdk/aws_transfer/__init__.py +0 -8
  53. aws_cdk/aws_vpclattice/__init__.py +157 -2
  54. aws_cdk/aws_wisdom/__init__.py +113 -69
  55. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/METADATA +1 -1
  56. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/RECORD +60 -58
  57. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/LICENSE +0 -0
  58. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/NOTICE +0 -0
  59. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/WHEEL +0 -0
  60. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/top_level.txt +0 -0
@@ -44,6 +44,30 @@ url = CfnParameter(self, "url-param")
44
44
  my_topic.add_subscription(subscriptions.UrlSubscription(url.value_as_string))
45
45
  ```
46
46
 
47
+ The [delivery policy](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) can also be set like so:
48
+
49
+ ```python
50
+ my_topic = sns.Topic(self, "MyTopic")
51
+
52
+ my_topic.add_subscription(
53
+ subscriptions.UrlSubscription("https://foobar.com/",
54
+ delivery_policy=sns.DeliveryPolicy(
55
+ healthy_retry_policy=sns.HealthyRetryPolicy(
56
+ min_delay_target=Duration.seconds(5),
57
+ max_delay_target=Duration.seconds(10),
58
+ num_retries=6,
59
+ backoff_function=sns.BackoffFunction.EXPONENTIAL
60
+ ),
61
+ throttle_policy=sns.ThrottlePolicy(
62
+ max_receives_per_second=10
63
+ ),
64
+ request_policy=sns.RequestPolicy(
65
+ header_content_type="application/json"
66
+ )
67
+ )
68
+ ))
69
+ ```
70
+
47
71
  ### Amazon SQS
48
72
 
49
73
  Subscribe a queue to your topic:
@@ -154,6 +178,7 @@ from .._jsii import *
154
178
 
155
179
  from ..aws_lambda import IFunction as _IFunction_6adb0ab8
156
180
  from ..aws_sns import (
181
+ DeliveryPolicy as _DeliveryPolicy_76b14b4e,
157
182
  FilterOrPolicy as _FilterOrPolicy_ad79be59,
158
183
  ITopic as _ITopic_9eca4852,
159
184
  ITopicSubscription as _ITopicSubscription_363a9426,
@@ -523,14 +548,16 @@ class UrlSubscription(
523
548
  Example::
524
549
 
525
550
  my_topic = sns.Topic(self, "MyTopic")
551
+ url = CfnParameter(self, "url-param")
526
552
 
527
- my_topic.add_subscription(subscriptions.UrlSubscription("https://foobar.com/"))
553
+ my_topic.add_subscription(subscriptions.UrlSubscription(url.value_as_string))
528
554
  '''
529
555
 
530
556
  def __init__(
531
557
  self,
532
558
  url: builtins.str,
533
559
  *,
560
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
534
561
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
535
562
  raw_message_delivery: typing.Optional[builtins.bool] = None,
536
563
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
@@ -539,6 +566,7 @@ class UrlSubscription(
539
566
  ) -> None:
540
567
  '''
541
568
  :param url: -
569
+ :param delivery_policy: The delivery policy. Default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
542
570
  :param protocol: The subscription's protocol. Default: - Protocol is derived from url
543
571
  :param raw_message_delivery: The message to the queue is the same as it was sent to the topic. If false, the message will be wrapped in an SNS envelope. Default: false
544
572
  :param dead_letter_queue: Queue to be used as dead letter queue. If not passed no dead letter queue is enabled. Default: - No dead letter queue enabled.
@@ -549,6 +577,7 @@ class UrlSubscription(
549
577
  type_hints = typing.get_type_hints(_typecheckingstub__fb20fb5ebe87494e3bac5aa1faafa0ee8b89a54b69e6bd2c759c374b193a6dfc)
550
578
  check_type(argname="argument url", value=url, expected_type=type_hints["url"])
551
579
  props = UrlSubscriptionProps(
580
+ delivery_policy=delivery_policy,
552
581
  protocol=protocol,
553
582
  raw_message_delivery=raw_message_delivery,
554
583
  dead_letter_queue=dead_letter_queue,
@@ -577,6 +606,7 @@ class UrlSubscription(
577
606
  "dead_letter_queue": "deadLetterQueue",
578
607
  "filter_policy": "filterPolicy",
579
608
  "filter_policy_with_message_body": "filterPolicyWithMessageBody",
609
+ "delivery_policy": "deliveryPolicy",
580
610
  "protocol": "protocol",
581
611
  "raw_message_delivery": "rawMessageDelivery",
582
612
  },
@@ -588,6 +618,7 @@ class UrlSubscriptionProps(SubscriptionProps):
588
618
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
589
619
  filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
590
620
  filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
621
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
591
622
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
592
623
  raw_message_delivery: typing.Optional[builtins.bool] = None,
593
624
  ) -> None:
@@ -596,40 +627,42 @@ class UrlSubscriptionProps(SubscriptionProps):
596
627
  :param dead_letter_queue: Queue to be used as dead letter queue. If not passed no dead letter queue is enabled. Default: - No dead letter queue enabled.
597
628
  :param filter_policy: The filter policy. Default: - all messages are delivered
598
629
  :param filter_policy_with_message_body: The filter policy that is applied on the message body. To apply a filter policy to the message attributes, use ``filterPolicy``. A maximum of one of ``filterPolicyWithMessageBody`` and ``filterPolicy`` may be used. Default: - all messages are delivered
630
+ :param delivery_policy: The delivery policy. Default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
599
631
  :param protocol: The subscription's protocol. Default: - Protocol is derived from url
600
632
  :param raw_message_delivery: The message to the queue is the same as it was sent to the topic. If false, the message will be wrapped in an SNS envelope. Default: false
601
633
 
602
- :exampleMetadata: fixture=_generated
634
+ :exampleMetadata: infused
603
635
 
604
636
  Example::
605
637
 
606
- # The code below shows an example of how to instantiate this type.
607
- # The values are placeholders you should change.
608
- from aws_cdk import aws_sns as sns
609
- from aws_cdk import aws_sns_subscriptions as sns_subscriptions
610
- from aws_cdk import aws_sqs as sqs
611
-
612
- # filter_or_policy: sns.FilterOrPolicy
613
- # queue: sqs.Queue
614
- # subscription_filter: sns.SubscriptionFilter
638
+ my_topic = sns.Topic(self, "MyTopic")
615
639
 
616
- url_subscription_props = sns_subscriptions.UrlSubscriptionProps(
617
- dead_letter_queue=queue,
618
- filter_policy={
619
- "filter_policy_key": subscription_filter
620
- },
621
- filter_policy_with_message_body={
622
- "filter_policy_with_message_body_key": filter_or_policy
623
- },
624
- protocol=sns.SubscriptionProtocol.HTTP,
625
- raw_message_delivery=False
626
- )
640
+ my_topic.add_subscription(
641
+ subscriptions.UrlSubscription("https://foobar.com/",
642
+ delivery_policy=sns.DeliveryPolicy(
643
+ healthy_retry_policy=sns.HealthyRetryPolicy(
644
+ min_delay_target=Duration.seconds(5),
645
+ max_delay_target=Duration.seconds(10),
646
+ num_retries=6,
647
+ backoff_function=sns.BackoffFunction.EXPONENTIAL
648
+ ),
649
+ throttle_policy=sns.ThrottlePolicy(
650
+ max_receives_per_second=10
651
+ ),
652
+ request_policy=sns.RequestPolicy(
653
+ header_content_type="application/json"
654
+ )
655
+ )
656
+ ))
627
657
  '''
658
+ if isinstance(delivery_policy, dict):
659
+ delivery_policy = _DeliveryPolicy_76b14b4e(**delivery_policy)
628
660
  if __debug__:
629
661
  type_hints = typing.get_type_hints(_typecheckingstub__abe65add18291230d30a8771d08cd51f9f4eb89c5f1844a384570386c2c534ed)
630
662
  check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
631
663
  check_type(argname="argument filter_policy", value=filter_policy, expected_type=type_hints["filter_policy"])
632
664
  check_type(argname="argument filter_policy_with_message_body", value=filter_policy_with_message_body, expected_type=type_hints["filter_policy_with_message_body"])
665
+ check_type(argname="argument delivery_policy", value=delivery_policy, expected_type=type_hints["delivery_policy"])
633
666
  check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
634
667
  check_type(argname="argument raw_message_delivery", value=raw_message_delivery, expected_type=type_hints["raw_message_delivery"])
635
668
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -639,6 +672,8 @@ class UrlSubscriptionProps(SubscriptionProps):
639
672
  self._values["filter_policy"] = filter_policy
640
673
  if filter_policy_with_message_body is not None:
641
674
  self._values["filter_policy_with_message_body"] = filter_policy_with_message_body
675
+ if delivery_policy is not None:
676
+ self._values["delivery_policy"] = delivery_policy
642
677
  if protocol is not None:
643
678
  self._values["protocol"] = protocol
644
679
  if raw_message_delivery is not None:
@@ -679,6 +714,15 @@ class UrlSubscriptionProps(SubscriptionProps):
679
714
  result = self._values.get("filter_policy_with_message_body")
680
715
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]], result)
681
716
 
717
+ @builtins.property
718
+ def delivery_policy(self) -> typing.Optional[_DeliveryPolicy_76b14b4e]:
719
+ '''The delivery policy.
720
+
721
+ :default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
722
+ '''
723
+ result = self._values.get("delivery_policy")
724
+ return typing.cast(typing.Optional[_DeliveryPolicy_76b14b4e], result)
725
+
682
726
  @builtins.property
683
727
  def protocol(self) -> typing.Optional[_SubscriptionProtocol_0df4af69]:
684
728
  '''The subscription's protocol.
@@ -1276,6 +1320,7 @@ def _typecheckingstub__8cd177765ba71e4e5ee7174b2edc60b767a4303c5d9db2cdd1e6a1925
1276
1320
  def _typecheckingstub__fb20fb5ebe87494e3bac5aa1faafa0ee8b89a54b69e6bd2c759c374b193a6dfc(
1277
1321
  url: builtins.str,
1278
1322
  *,
1323
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
1279
1324
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
1280
1325
  raw_message_delivery: typing.Optional[builtins.bool] = None,
1281
1326
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
@@ -1296,6 +1341,7 @@ def _typecheckingstub__abe65add18291230d30a8771d08cd51f9f4eb89c5f1844a384570386c
1296
1341
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
1297
1342
  filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
1298
1343
  filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
1344
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
1299
1345
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
1300
1346
  raw_message_delivery: typing.Optional[builtins.bool] = None,
1301
1347
  ) -> None: