aws-cdk-lib 2.126.0__py3-none-any.whl → 2.127.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 (69) hide show
  1. aws_cdk/__init__.py +0 -2
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.126.0.jsii.tgz → aws-cdk-lib@2.127.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +18 -6
  5. aws_cdk/aws_amazonmq/__init__.py +3 -2
  6. aws_cdk/aws_amplifyuibuilder/__init__.py +1212 -666
  7. aws_cdk/aws_apigateway/__init__.py +7 -3
  8. aws_cdk/aws_appconfig/__init__.py +108 -19
  9. aws_cdk/aws_appsync/__init__.py +43 -0
  10. aws_cdk/aws_autoscaling/__init__.py +37 -14
  11. aws_cdk/aws_cassandra/__init__.py +810 -4
  12. aws_cdk/aws_cloudfront/__init__.py +35 -37
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +21 -0
  14. aws_cdk/aws_codebuild/__init__.py +43 -3
  15. aws_cdk/aws_codecommit/__init__.py +1 -0
  16. aws_cdk/aws_codepipeline/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +11 -1
  18. aws_cdk/aws_codestarnotifications/__init__.py +24 -15
  19. aws_cdk/aws_cognito/__init__.py +180 -116
  20. aws_cdk/aws_datasync/__init__.py +8 -4
  21. aws_cdk/aws_dynamodb/__init__.py +80 -11
  22. aws_cdk/aws_ec2/__init__.py +207 -45
  23. aws_cdk/aws_ecs/__init__.py +171 -78
  24. aws_cdk/aws_ecs_patterns/__init__.py +24 -0
  25. aws_cdk/aws_efs/__init__.py +64 -8
  26. aws_cdk/aws_eks/__init__.py +52 -41
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +12 -9
  28. aws_cdk/aws_fis/__init__.py +32 -12
  29. aws_cdk/aws_fsx/__init__.py +61 -43
  30. aws_cdk/aws_glue/__init__.py +449 -0
  31. aws_cdk/aws_guardduty/__init__.py +0 -8
  32. aws_cdk/aws_iam/__init__.py +3 -3
  33. aws_cdk/aws_inspectorv2/__init__.py +989 -0
  34. aws_cdk/aws_internetmonitor/__init__.py +10 -12
  35. aws_cdk/aws_iot/__init__.py +112 -0
  36. aws_cdk/aws_iotwireless/__init__.py +32 -19
  37. aws_cdk/aws_lambda/__init__.py +129 -32
  38. aws_cdk/aws_lambda_event_sources/__init__.py +95 -4
  39. aws_cdk/aws_lambda_nodejs/__init__.py +21 -0
  40. aws_cdk/aws_location/__init__.py +8 -2
  41. aws_cdk/aws_logs/__init__.py +7 -3
  42. aws_cdk/aws_networkmanager/__init__.py +1 -1
  43. aws_cdk/aws_opensearchserverless/__init__.py +4 -4
  44. aws_cdk/aws_osis/__init__.py +13 -13
  45. aws_cdk/aws_personalize/__init__.py +1 -1
  46. aws_cdk/aws_pinpoint/__init__.py +5 -5
  47. aws_cdk/aws_pipes/__init__.py +7 -10
  48. aws_cdk/aws_rds/__init__.py +449 -8
  49. aws_cdk/aws_redshiftserverless/__init__.py +282 -0
  50. aws_cdk/aws_rolesanywhere/__init__.py +53 -41
  51. aws_cdk/aws_route53/__init__.py +282 -0
  52. aws_cdk/aws_s3/__init__.py +11 -6
  53. aws_cdk/aws_sagemaker/__init__.py +1398 -39
  54. aws_cdk/aws_sns/__init__.py +56 -13
  55. aws_cdk/aws_sqs/__init__.py +13 -10
  56. aws_cdk/aws_stepfunctions/__init__.py +3612 -1395
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +267 -181
  58. aws_cdk/aws_transfer/__init__.py +1 -1
  59. aws_cdk/aws_verifiedpermissions/__init__.py +55 -55
  60. aws_cdk/aws_workspacesweb/__init__.py +6 -3
  61. aws_cdk/cx_api/__init__.py +17 -0
  62. aws_cdk/triggers/__init__.py +21 -0
  63. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/METADATA +1 -1
  64. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/RECORD +68 -69
  65. aws_cdk/aws_ssmguiconnect/__init__.py +0 -540
  66. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/top_level.txt +0 -0
@@ -255,6 +255,25 @@ topic.add_logging_config(
255
255
  ```
256
256
 
257
257
  Note that valid values for `successFeedbackSampleRate` are integer between 0-100.
258
+
259
+ ## Archive Policy
260
+
261
+ Message archiving provides the ability to archive a single copy of all messages published to your topic.
262
+ You can store published messages within your topic by enabling the message archive policy on the topic, which enables message archiving for all subscriptions linked to that topic.
263
+ Messages can be archived for a minimum of one day to a maximum of 365 days.
264
+
265
+ Example with a archive policy for SQS:
266
+
267
+ ```python
268
+ # role: iam.Role
269
+
270
+ topic = sns.Topic(self, "MyTopic",
271
+ fifo=True,
272
+ message_retention_period_in_days=7
273
+ )
274
+ ```
275
+
276
+ **Note**: The `messageRetentionPeriodInDays` property is only available for FIFO topics.
258
277
  '''
259
278
  import abc
260
279
  import builtins
@@ -4945,6 +4964,7 @@ class TopicPolicyProps:
4945
4964
  "fifo": "fifo",
4946
4965
  "logging_configs": "loggingConfigs",
4947
4966
  "master_key": "masterKey",
4967
+ "message_retention_period_in_days": "messageRetentionPeriodInDays",
4948
4968
  "topic_name": "topicName",
4949
4969
  },
4950
4970
  )
@@ -4957,6 +4977,7 @@ class TopicProps:
4957
4977
  fifo: typing.Optional[builtins.bool] = None,
4958
4978
  logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
4959
4979
  master_key: typing.Optional[_IKey_5f11635f] = None,
4980
+ message_retention_period_in_days: typing.Optional[jsii.Number] = None,
4960
4981
  topic_name: typing.Optional[builtins.str] = None,
4961
4982
  ) -> None:
4962
4983
  '''Properties for a new SNS topic.
@@ -4966,16 +4987,18 @@ class TopicProps:
4966
4987
  :param fifo: Set to true to create a FIFO topic. Default: None
4967
4988
  :param logging_configs: The list of delivery status logging configurations for the topic. For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html. Default: None
4968
4989
  :param master_key: A KMS Key, either managed by this CDK app, or imported. Default: None
4990
+ :param message_retention_period_in_days: The number of days Amazon SNS retains messages. It can only be set for FIFO topics. Default: - do not archive messages
4969
4991
  :param topic_name: A name for the topic. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the topic name. For more information, see Name Type. Default: Generated name
4970
4992
 
4971
4993
  :exampleMetadata: infused
4972
4994
 
4973
4995
  Example::
4974
4996
 
4975
- topic = sns.Topic(self, "Topic",
4976
- content_based_deduplication=True,
4977
- display_name="Customer subscription topic",
4978
- fifo=True
4997
+ # role: iam.Role
4998
+
4999
+ topic = sns.Topic(self, "MyTopic",
5000
+ fifo=True,
5001
+ message_retention_period_in_days=7
4979
5002
  )
4980
5003
  '''
4981
5004
  if __debug__:
@@ -4985,6 +5008,7 @@ class TopicProps:
4985
5008
  check_type(argname="argument fifo", value=fifo, expected_type=type_hints["fifo"])
4986
5009
  check_type(argname="argument logging_configs", value=logging_configs, expected_type=type_hints["logging_configs"])
4987
5010
  check_type(argname="argument master_key", value=master_key, expected_type=type_hints["master_key"])
5011
+ check_type(argname="argument message_retention_period_in_days", value=message_retention_period_in_days, expected_type=type_hints["message_retention_period_in_days"])
4988
5012
  check_type(argname="argument topic_name", value=topic_name, expected_type=type_hints["topic_name"])
4989
5013
  self._values: typing.Dict[builtins.str, typing.Any] = {}
4990
5014
  if content_based_deduplication is not None:
@@ -4997,6 +5021,8 @@ class TopicProps:
4997
5021
  self._values["logging_configs"] = logging_configs
4998
5022
  if master_key is not None:
4999
5023
  self._values["master_key"] = master_key
5024
+ if message_retention_period_in_days is not None:
5025
+ self._values["message_retention_period_in_days"] = message_retention_period_in_days
5000
5026
  if topic_name is not None:
5001
5027
  self._values["topic_name"] = topic_name
5002
5028
 
@@ -5047,6 +5073,19 @@ class TopicProps:
5047
5073
  result = self._values.get("master_key")
5048
5074
  return typing.cast(typing.Optional[_IKey_5f11635f], result)
5049
5075
 
5076
+ @builtins.property
5077
+ def message_retention_period_in_days(self) -> typing.Optional[jsii.Number]:
5078
+ '''The number of days Amazon SNS retains messages.
5079
+
5080
+ It can only be set for FIFO topics.
5081
+
5082
+ :default: - do not archive messages
5083
+
5084
+ :see: https://docs.aws.amazon.com/sns/latest/dg/fifo-message-archiving-replay.html
5085
+ '''
5086
+ result = self._values.get("message_retention_period_in_days")
5087
+ return typing.cast(typing.Optional[jsii.Number], result)
5088
+
5050
5089
  @builtins.property
5051
5090
  def topic_name(self) -> typing.Optional[builtins.str]:
5052
5091
  '''A name for the topic.
@@ -5381,18 +5420,17 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5381
5420
 
5382
5421
  Example::
5383
5422
 
5384
- import aws_cdk.aws_sns as sns
5423
+ from aws_cdk.aws_kinesisfirehose_alpha import DeliveryStream
5424
+ # stream: DeliveryStream
5385
5425
 
5386
5426
 
5387
- topic = sns.Topic(self, "MyTopic")
5427
+ topic = sns.Topic(self, "Topic")
5388
5428
 
5389
- topic_rule = iot.TopicRule(self, "TopicRule",
5390
- sql=iot.IotSql.from_string_as_ver20160323("SELECT topic(2) as device_id, year, month, day FROM 'device/+/data'"),
5391
- actions=[
5392
- actions.SnsTopicAction(topic,
5393
- message_format=actions.SnsActionMessageFormat.JSON
5394
- )
5395
- ]
5429
+ sns.Subscription(self, "Subscription",
5430
+ topic=topic,
5431
+ endpoint=stream.delivery_stream_arn,
5432
+ protocol=sns.SubscriptionProtocol.FIREHOSE,
5433
+ subscription_role_arn="SAMPLE_ARN"
5396
5434
  )
5397
5435
  '''
5398
5436
 
@@ -5406,6 +5444,7 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5406
5444
  fifo: typing.Optional[builtins.bool] = None,
5407
5445
  logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
5408
5446
  master_key: typing.Optional[_IKey_5f11635f] = None,
5447
+ message_retention_period_in_days: typing.Optional[jsii.Number] = None,
5409
5448
  topic_name: typing.Optional[builtins.str] = None,
5410
5449
  ) -> None:
5411
5450
  '''
@@ -5416,6 +5455,7 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5416
5455
  :param fifo: Set to true to create a FIFO topic. Default: None
5417
5456
  :param logging_configs: The list of delivery status logging configurations for the topic. For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html. Default: None
5418
5457
  :param master_key: A KMS Key, either managed by this CDK app, or imported. Default: None
5458
+ :param message_retention_period_in_days: The number of days Amazon SNS retains messages. It can only be set for FIFO topics. Default: - do not archive messages
5419
5459
  :param topic_name: A name for the topic. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the topic name. For more information, see Name Type. Default: Generated name
5420
5460
  '''
5421
5461
  if __debug__:
@@ -5428,6 +5468,7 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5428
5468
  fifo=fifo,
5429
5469
  logging_configs=logging_configs,
5430
5470
  master_key=master_key,
5471
+ message_retention_period_in_days=message_retention_period_in_days,
5431
5472
  topic_name=topic_name,
5432
5473
  )
5433
5474
 
@@ -6115,6 +6156,7 @@ def _typecheckingstub__093960c1ab5457cc6797eb4a06c9e8fc74e41d4eaa9d0a17f00fa896d
6115
6156
  fifo: typing.Optional[builtins.bool] = None,
6116
6157
  logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
6117
6158
  master_key: typing.Optional[_IKey_5f11635f] = None,
6159
+ message_retention_period_in_days: typing.Optional[jsii.Number] = None,
6118
6160
  topic_name: typing.Optional[builtins.str] = None,
6119
6161
  ) -> None:
6120
6162
  """Type checking stubs"""
@@ -6152,6 +6194,7 @@ def _typecheckingstub__5bf7b7a1001dc600e81a7f1c5015e367dc471dcd727360f62a7eaf6eb
6152
6194
  fifo: typing.Optional[builtins.bool] = None,
6153
6195
  logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
6154
6196
  master_key: typing.Optional[_IKey_5f11635f] = None,
6197
+ message_retention_period_in_days: typing.Optional[jsii.Number] = None,
6155
6198
  topic_name: typing.Optional[builtins.str] = None,
6156
6199
  ) -> None:
6157
6200
  """Type checking stubs"""
@@ -3811,18 +3811,21 @@ class Queue(QueueBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sqs.Q
3811
3811
 
3812
3812
  Example::
3813
3813
 
3814
- # An sqs queue for unsuccessful invocations of a lambda function
3815
- import aws_cdk.aws_sqs as sqs
3816
-
3814
+ payload = "test"
3815
+ message_group_id = "id"
3816
+ queue = sqs.Queue(self, "MyQueue",
3817
+ fifo=True,
3818
+ content_based_deduplication=True
3819
+ )
3817
3820
 
3818
- dead_letter_queue = sqs.Queue(self, "DeadLetterQueue")
3821
+ target = targets.SqsSendMessage(queue,
3822
+ input=ScheduleTargetInput.from_text(payload),
3823
+ message_group_id=message_group_id
3824
+ )
3819
3825
 
3820
- my_fn = lambda_.Function(self, "Fn",
3821
- runtime=lambda_.Runtime.NODEJS_LATEST,
3822
- handler="index.handler",
3823
- code=lambda_.Code.from_inline("// your code"),
3824
- # sqs queue for unsuccessful invocations
3825
- on_failure=destinations.SqsDestination(dead_letter_queue)
3826
+ Schedule(self, "Schedule",
3827
+ schedule=ScheduleExpression.rate(Duration.minutes(1)),
3828
+ target=target
3826
3829
  )
3827
3830
  '''
3828
3831