aws-cdk-lib 2.177.0__py3-none-any.whl → 2.178.1__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.
Files changed (111) hide show
  1. aws_cdk/__init__.py +95 -61
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.177.0.jsii.tgz → aws-cdk-lib@2.178.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplifyuibuilder/__init__.py +8 -8
  5. aws_cdk/aws_apigateway/__init__.py +97 -97
  6. aws_cdk/aws_apigatewayv2/__init__.py +35 -10
  7. aws_cdk/aws_appconfig/__init__.py +10 -10
  8. aws_cdk/aws_appflow/__init__.py +20 -20
  9. aws_cdk/aws_applicationsignals/__init__.py +8 -8
  10. aws_cdk/aws_appmesh/__init__.py +8 -8
  11. aws_cdk/aws_appsync/__init__.py +10383 -7035
  12. aws_cdk/aws_apptest/__init__.py +4 -4
  13. aws_cdk/aws_aps/__init__.py +135 -0
  14. aws_cdk/aws_athena/__init__.py +10 -10
  15. aws_cdk/aws_backup/__init__.py +14 -14
  16. aws_cdk/aws_batch/__init__.py +185 -22
  17. aws_cdk/aws_bcmdataexports/__init__.py +4 -4
  18. aws_cdk/aws_bedrock/__init__.py +266 -177
  19. aws_cdk/aws_certificatemanager/__init__.py +15 -14
  20. aws_cdk/aws_chatbot/__init__.py +4 -4
  21. aws_cdk/aws_cloudformation/__init__.py +22 -18
  22. aws_cdk/aws_cloudfront/__init__.py +674 -7
  23. aws_cdk/aws_cloudfront_origins/__init__.py +40 -0
  24. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  25. aws_cdk/aws_cloudwatch/__init__.py +53 -53
  26. aws_cdk/aws_codedeploy/__init__.py +2 -2
  27. aws_cdk/aws_codepipeline/__init__.py +24 -6
  28. aws_cdk/aws_codepipeline_actions/__init__.py +2 -2
  29. aws_cdk/aws_cognito/__init__.py +42 -20
  30. aws_cdk/aws_connect/__init__.py +4 -4
  31. aws_cdk/aws_customerprofiles/__init__.py +3 -1
  32. aws_cdk/aws_databrew/__init__.py +16 -16
  33. aws_cdk/aws_datasync/__init__.py +14 -11
  34. aws_cdk/aws_datazone/__init__.py +5 -5
  35. aws_cdk/aws_dms/__init__.py +4 -4
  36. aws_cdk/aws_dynamodb/__init__.py +267 -25
  37. aws_cdk/aws_ec2/__init__.py +1137 -181
  38. aws_cdk/aws_ecs/__init__.py +740 -116
  39. aws_cdk/aws_ecs_patterns/__init__.py +49 -0
  40. aws_cdk/aws_efs/__init__.py +3 -3
  41. aws_cdk/aws_eks/__init__.py +31 -32
  42. aws_cdk/aws_elasticache/__init__.py +10 -10
  43. aws_cdk/aws_elasticloadbalancingv2/__init__.py +47 -18
  44. aws_cdk/aws_elasticsearch/__init__.py +10 -10
  45. aws_cdk/aws_emr/__init__.py +16 -16
  46. aws_cdk/aws_emrserverless/__init__.py +12 -9
  47. aws_cdk/aws_entityresolution/__init__.py +31 -17
  48. aws_cdk/aws_events/__init__.py +12 -12
  49. aws_cdk/aws_fis/__init__.py +16 -16
  50. aws_cdk/aws_fms/__init__.py +7 -3
  51. aws_cdk/aws_glue/__init__.py +1326 -7
  52. aws_cdk/aws_greengrassv2/__init__.py +8 -8
  53. aws_cdk/aws_guardduty/__init__.py +521 -0
  54. aws_cdk/aws_healthlake/__init__.py +10 -2
  55. aws_cdk/aws_imagebuilder/__init__.py +26 -26
  56. aws_cdk/aws_iot/__init__.py +40 -40
  57. aws_cdk/aws_iotanalytics/__init__.py +4 -4
  58. aws_cdk/aws_iotfleetwise/__init__.py +424 -10
  59. aws_cdk/aws_iotsitewise/__init__.py +84 -13
  60. aws_cdk/aws_iottwinmaker/__init__.py +18 -18
  61. aws_cdk/aws_iotwireless/__init__.py +4 -4
  62. aws_cdk/aws_kafkaconnect/__init__.py +10 -10
  63. aws_cdk/aws_kendra/__init__.py +0 -10
  64. aws_cdk/aws_kinesisanalytics/__init__.py +4 -4
  65. aws_cdk/aws_kinesisanalyticsv2/__init__.py +4 -4
  66. aws_cdk/aws_kinesisfirehose/__init__.py +4544 -183
  67. aws_cdk/aws_kms/__init__.py +11 -10
  68. aws_cdk/aws_lambda/__init__.py +34 -4
  69. aws_cdk/aws_lambda_nodejs/__init__.py +24 -5
  70. aws_cdk/aws_launchwizard/__init__.py +10 -10
  71. aws_cdk/aws_logs/__init__.py +19 -15
  72. aws_cdk/aws_mediaconnect/__init__.py +509 -12
  73. aws_cdk/aws_medialive/__init__.py +16 -16
  74. aws_cdk/aws_mediatailor/__init__.py +10 -10
  75. aws_cdk/aws_networkfirewall/__init__.py +12 -12
  76. aws_cdk/aws_notifications/__init__.py +602 -65
  77. aws_cdk/aws_omics/__init__.py +4 -4
  78. aws_cdk/aws_opensearchservice/__init__.py +10 -10
  79. aws_cdk/aws_opsworks/__init__.py +58 -58
  80. aws_cdk/aws_personalize/__init__.py +8 -8
  81. aws_cdk/aws_pipes/__init__.py +20 -20
  82. aws_cdk/aws_qbusiness/__init__.py +119 -0
  83. aws_cdk/aws_quicksight/__init__.py +247 -92
  84. aws_cdk/aws_rds/__init__.py +21 -15
  85. aws_cdk/aws_redshift/__init__.py +10 -10
  86. aws_cdk/aws_resiliencehub/__init__.py +0 -41
  87. aws_cdk/aws_route53/__init__.py +6 -0
  88. aws_cdk/aws_rum/__init__.py +4 -4
  89. aws_cdk/aws_s3/__init__.py +12 -2
  90. aws_cdk/aws_sagemaker/__init__.py +84 -60
  91. aws_cdk/aws_sam/__init__.py +48 -48
  92. aws_cdk/aws_secretsmanager/__init__.py +30 -14
  93. aws_cdk/aws_securityhub/__init__.py +12 -12
  94. aws_cdk/aws_sns/__init__.py +101 -15
  95. aws_cdk/aws_ssmquicksetup/__init__.py +10 -10
  96. aws_cdk/aws_stepfunctions/__init__.py +13207 -4740
  97. aws_cdk/aws_stepfunctions_tasks/__init__.py +77615 -22817
  98. aws_cdk/aws_synthetics/__init__.py +4 -4
  99. aws_cdk/aws_timestream/__init__.py +41 -0
  100. aws_cdk/aws_transfer/__init__.py +9 -10
  101. aws_cdk/aws_wafv2/__init__.py +24 -22
  102. aws_cdk/aws_wisdom/__init__.py +8 -8
  103. aws_cdk/aws_workspacesweb/__init__.py +60 -60
  104. aws_cdk/aws_xray/__init__.py +8 -8
  105. aws_cdk/cx_api/__init__.py +18 -0
  106. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/METADATA +1 -1
  107. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/RECORD +111 -111
  108. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/LICENSE +0 -0
  109. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/NOTICE +0 -0
  110. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/WHEEL +0 -0
  111. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/top_level.txt +0 -0
@@ -20,7 +20,9 @@ table = dynamodb.TableV2(self, "Table",
20
20
  partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
21
21
  contributor_insights=True,
22
22
  table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
23
- point_in_time_recovery=True
23
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
24
+ point_in_time_recovery_enabled=True
25
+ )
24
26
  )
25
27
  ```
26
28
 
@@ -68,7 +70,7 @@ The following properties are configurable on a per-replica basis, but will be in
68
70
 
69
71
  * contributorInsights
70
72
  * deletionProtection
71
- * pointInTimeRecovery
73
+ * pointInTimeRecoverySpecification
72
74
  * tableClass
73
75
  * readCapacity (only configurable if the `TableV2` billing mode is `PROVISIONED`)
74
76
  * globalSecondaryIndexes (only `contributorInsights` and `readCapacity`)
@@ -85,11 +87,15 @@ stack = cdk.Stack(app, "Stack", env=cdk.Environment(region="us-west-2"))
85
87
  global_table = dynamodb.TableV2(stack, "GlobalTable",
86
88
  partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
87
89
  contributor_insights=True,
88
- point_in_time_recovery=True,
90
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
91
+ point_in_time_recovery_enabled=True
92
+ ),
89
93
  replicas=[dynamodb.ReplicaTableProps(
90
94
  region="us-east-1",
91
95
  table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
92
- point_in_time_recovery=False
96
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
97
+ point_in_time_recovery_enabled=False
98
+ )
93
99
  ), dynamodb.ReplicaTableProps(
94
100
  region="us-east-2",
95
101
  contributor_insights=False
@@ -601,12 +607,17 @@ global_table = dynamodb.TableV2(stack, "GlobalTable",
601
607
 
602
608
  ## Point-in-Time Recovery
603
609
 
604
- `pointInTimeRecovery` provides automatic backups of your DynamoDB table data which helps protect your tables from accidental write or delete operations.
610
+ `pointInTimeRecoverySpecifcation` provides automatic backups of your DynamoDB table data which helps protect your tables from accidental write or delete operations.
611
+
612
+ You can also choose to set `recoveryPeriodInDays` to a value between `1` and `35` which dictates how many days of recoverable data is stored. If no value is provided, the recovery period defaults to `35` days.
605
613
 
606
614
  ```python
607
615
  table = dynamodb.TableV2(self, "Table",
608
616
  partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
609
- point_in_time_recovery=True
617
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
618
+ point_in_time_recovery_enabled=True,
619
+ recovery_period_in_days=4
620
+ )
610
621
  )
611
622
  ```
612
623
 
@@ -9406,6 +9417,83 @@ class Operation(enum.Enum):
9406
9417
  '''ExecuteStatement.'''
9407
9418
 
9408
9419
 
9420
+ @jsii.data_type(
9421
+ jsii_type="aws-cdk-lib.aws_dynamodb.PointInTimeRecoverySpecification",
9422
+ jsii_struct_bases=[],
9423
+ name_mapping={
9424
+ "point_in_time_recovery_enabled": "pointInTimeRecoveryEnabled",
9425
+ "recovery_period_in_days": "recoveryPeriodInDays",
9426
+ },
9427
+ )
9428
+ class PointInTimeRecoverySpecification:
9429
+ def __init__(
9430
+ self,
9431
+ *,
9432
+ point_in_time_recovery_enabled: builtins.bool,
9433
+ recovery_period_in_days: typing.Optional[jsii.Number] = None,
9434
+ ) -> None:
9435
+ '''Reference to PointInTimeRecovey Specification for continuous backups.
9436
+
9437
+ :param point_in_time_recovery_enabled: Indicates whether point in time recovery is enabled (true) or disabled (false) on the table. Default: false
9438
+ :param recovery_period_in_days: The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. If no value is provided, the value will default to 35. Default: 35
9439
+
9440
+ :exampleMetadata: infused
9441
+
9442
+ Example::
9443
+
9444
+ table = dynamodb.TableV2(self, "Table",
9445
+ partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
9446
+ contributor_insights=True,
9447
+ table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
9448
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
9449
+ point_in_time_recovery_enabled=True
9450
+ )
9451
+ )
9452
+ '''
9453
+ if __debug__:
9454
+ type_hints = typing.get_type_hints(_typecheckingstub__4073f2e85ef31d8deba5f90be11b466e4a3f1ea003482bf5c4df5706f50fbc77)
9455
+ check_type(argname="argument point_in_time_recovery_enabled", value=point_in_time_recovery_enabled, expected_type=type_hints["point_in_time_recovery_enabled"])
9456
+ check_type(argname="argument recovery_period_in_days", value=recovery_period_in_days, expected_type=type_hints["recovery_period_in_days"])
9457
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9458
+ "point_in_time_recovery_enabled": point_in_time_recovery_enabled,
9459
+ }
9460
+ if recovery_period_in_days is not None:
9461
+ self._values["recovery_period_in_days"] = recovery_period_in_days
9462
+
9463
+ @builtins.property
9464
+ def point_in_time_recovery_enabled(self) -> builtins.bool:
9465
+ '''Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
9466
+
9467
+ :default: false
9468
+ '''
9469
+ result = self._values.get("point_in_time_recovery_enabled")
9470
+ assert result is not None, "Required property 'point_in_time_recovery_enabled' is missing"
9471
+ return typing.cast(builtins.bool, result)
9472
+
9473
+ @builtins.property
9474
+ def recovery_period_in_days(self) -> typing.Optional[jsii.Number]:
9475
+ '''The number of preceding days for which continuous backups are taken and maintained.
9476
+
9477
+ Your table data is only recoverable to any point-in-time from within the configured recovery period.
9478
+ If no value is provided, the value will default to 35.
9479
+
9480
+ :default: 35
9481
+ '''
9482
+ result = self._values.get("recovery_period_in_days")
9483
+ return typing.cast(typing.Optional[jsii.Number], result)
9484
+
9485
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9486
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9487
+
9488
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9489
+ return not (rhs == self)
9490
+
9491
+ def __repr__(self) -> str:
9492
+ return "PointInTimeRecoverySpecification(%s)" % ", ".join(
9493
+ k + "=" + repr(v) for k, v in self._values.items()
9494
+ )
9495
+
9496
+
9409
9497
  @jsii.enum(jsii_type="aws-cdk-lib.aws_dynamodb.ProjectionType")
9410
9498
  class ProjectionType(enum.Enum):
9411
9499
  '''The set of attributes that are projected into the index.
@@ -12093,7 +12181,9 @@ class TableClass(enum.Enum):
12093
12181
  partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
12094
12182
  contributor_insights=True,
12095
12183
  table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
12096
- point_in_time_recovery=True
12184
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
12185
+ point_in_time_recovery_enabled=True
12186
+ )
12097
12187
  )
12098
12188
  '''
12099
12189
 
@@ -12226,6 +12316,7 @@ typing.cast(typing.Any, TableEncryptionV2).__jsii_proxy_class__ = lambda : _Tabl
12226
12316
  "max_read_request_units": "maxReadRequestUnits",
12227
12317
  "max_write_request_units": "maxWriteRequestUnits",
12228
12318
  "point_in_time_recovery": "pointInTimeRecovery",
12319
+ "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
12229
12320
  "read_capacity": "readCapacity",
12230
12321
  "removal_policy": "removalPolicy",
12231
12322
  "replication_regions": "replicationRegions",
@@ -12254,6 +12345,7 @@ class TableOptions(SchemaOptions):
12254
12345
  max_read_request_units: typing.Optional[jsii.Number] = None,
12255
12346
  max_write_request_units: typing.Optional[jsii.Number] = None,
12256
12347
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
12348
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
12257
12349
  read_capacity: typing.Optional[jsii.Number] = None,
12258
12350
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
12259
12351
  replication_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -12280,7 +12372,8 @@ class TableOptions(SchemaOptions):
12280
12372
  :param import_source: The properties of data being imported from the S3 bucket source to the table. Default: - no data import from the S3 bucket
12281
12373
  :param max_read_request_units: The maximum read request units for the table. Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput. Can only be provided if billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
12282
12374
  :param max_write_request_units: The write request units for the table. Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput. Can only be provided if billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
12283
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: - point-in-time recovery is disabled
12375
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
12376
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
12284
12377
  :param read_capacity: The read capacity for the table. Careful if you add Global Secondary Indexes, as those will share the table's provisioned throughput. Can only be provided if billingMode is Provisioned. Default: 5
12285
12378
  :param removal_policy: The removal policy to apply to the DynamoDB Table. Default: RemovalPolicy.RETAIN
12286
12379
  :param replication_regions: Regions where replica tables will be created. Default: - no replica tables are created
@@ -12334,6 +12427,12 @@ class TableOptions(SchemaOptions):
12334
12427
  max_read_request_units=123,
12335
12428
  max_write_request_units=123,
12336
12429
  point_in_time_recovery=False,
12430
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
12431
+ point_in_time_recovery_enabled=False,
12432
+
12433
+ # the properties below are optional
12434
+ recovery_period_in_days=123
12435
+ ),
12337
12436
  read_capacity=123,
12338
12437
  removal_policy=cdk.RemovalPolicy.DESTROY,
12339
12438
  replication_regions=["replicationRegions"],
@@ -12360,6 +12459,8 @@ class TableOptions(SchemaOptions):
12360
12459
  sort_key = Attribute(**sort_key)
12361
12460
  if isinstance(import_source, dict):
12362
12461
  import_source = ImportSourceSpecification(**import_source)
12462
+ if isinstance(point_in_time_recovery_specification, dict):
12463
+ point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
12363
12464
  if isinstance(warm_throughput, dict):
12364
12465
  warm_throughput = WarmThroughput(**warm_throughput)
12365
12466
  if __debug__:
@@ -12375,6 +12476,7 @@ class TableOptions(SchemaOptions):
12375
12476
  check_type(argname="argument max_read_request_units", value=max_read_request_units, expected_type=type_hints["max_read_request_units"])
12376
12477
  check_type(argname="argument max_write_request_units", value=max_write_request_units, expected_type=type_hints["max_write_request_units"])
12377
12478
  check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
12479
+ check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
12378
12480
  check_type(argname="argument read_capacity", value=read_capacity, expected_type=type_hints["read_capacity"])
12379
12481
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
12380
12482
  check_type(argname="argument replication_regions", value=replication_regions, expected_type=type_hints["replication_regions"])
@@ -12409,6 +12511,8 @@ class TableOptions(SchemaOptions):
12409
12511
  self._values["max_write_request_units"] = max_write_request_units
12410
12512
  if point_in_time_recovery is not None:
12411
12513
  self._values["point_in_time_recovery"] = point_in_time_recovery
12514
+ if point_in_time_recovery_specification is not None:
12515
+ self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
12412
12516
  if read_capacity is not None:
12413
12517
  self._values["read_capacity"] = read_capacity
12414
12518
  if removal_policy is not None:
@@ -12549,13 +12653,28 @@ class TableOptions(SchemaOptions):
12549
12653
 
12550
12654
  @builtins.property
12551
12655
  def point_in_time_recovery(self) -> typing.Optional[builtins.bool]:
12552
- '''Whether point-in-time recovery is enabled.
12656
+ '''(deprecated) Whether point-in-time recovery is enabled.
12657
+
12658
+ :default: false - point in time recovery is not enabled.
12659
+
12660
+ :deprecated: use ``pointInTimeRecoverySpecification`` instead
12553
12661
 
12554
- :default: - point-in-time recovery is disabled
12662
+ :stability: deprecated
12555
12663
  '''
12556
12664
  result = self._values.get("point_in_time_recovery")
12557
12665
  return typing.cast(typing.Optional[builtins.bool], result)
12558
12666
 
12667
+ @builtins.property
12668
+ def point_in_time_recovery_specification(
12669
+ self,
12670
+ ) -> typing.Optional[PointInTimeRecoverySpecification]:
12671
+ '''Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.
12672
+
12673
+ :default: - point in time recovery is not enabled.
12674
+ '''
12675
+ result = self._values.get("point_in_time_recovery_specification")
12676
+ return typing.cast(typing.Optional[PointInTimeRecoverySpecification], result)
12677
+
12559
12678
  @builtins.property
12560
12679
  def read_capacity(self) -> typing.Optional[jsii.Number]:
12561
12680
  '''The read capacity for the table.
@@ -12709,6 +12828,7 @@ class TableOptions(SchemaOptions):
12709
12828
  "deletion_protection": "deletionProtection",
12710
12829
  "kinesis_stream": "kinesisStream",
12711
12830
  "point_in_time_recovery": "pointInTimeRecovery",
12831
+ "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
12712
12832
  "resource_policy": "resourcePolicy",
12713
12833
  "table_class": "tableClass",
12714
12834
  "tags": "tags",
@@ -12722,6 +12842,7 @@ class TableOptionsV2:
12722
12842
  deletion_protection: typing.Optional[builtins.bool] = None,
12723
12843
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
12724
12844
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
12845
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
12725
12846
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
12726
12847
  table_class: typing.Optional[TableClass] = None,
12727
12848
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -12731,7 +12852,8 @@ class TableOptionsV2:
12731
12852
  :param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
12732
12853
  :param deletion_protection: Whether deletion protection is enabled. Default: false
12733
12854
  :param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
12734
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
12855
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
12856
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
12735
12857
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
12736
12858
  :param table_class: The table class. Default: TableClass.STANDARD
12737
12859
  :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
@@ -12754,6 +12876,12 @@ class TableOptionsV2:
12754
12876
  deletion_protection=False,
12755
12877
  kinesis_stream=stream,
12756
12878
  point_in_time_recovery=False,
12879
+ point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
12880
+ point_in_time_recovery_enabled=False,
12881
+
12882
+ # the properties below are optional
12883
+ recovery_period_in_days=123
12884
+ ),
12757
12885
  resource_policy=policy_document,
12758
12886
  table_class=dynamodb.TableClass.STANDARD,
12759
12887
  tags=[CfnTag(
@@ -12762,12 +12890,15 @@ class TableOptionsV2:
12762
12890
  )]
12763
12891
  )
12764
12892
  '''
12893
+ if isinstance(point_in_time_recovery_specification, dict):
12894
+ point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
12765
12895
  if __debug__:
12766
12896
  type_hints = typing.get_type_hints(_typecheckingstub__1b65ee3c8ef5c3b632f4d1fad233252caadaa5f607c0fd92f49b64933f1de51c)
12767
12897
  check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
12768
12898
  check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
12769
12899
  check_type(argname="argument kinesis_stream", value=kinesis_stream, expected_type=type_hints["kinesis_stream"])
12770
12900
  check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
12901
+ check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
12771
12902
  check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
12772
12903
  check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
12773
12904
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
@@ -12780,6 +12911,8 @@ class TableOptionsV2:
12780
12911
  self._values["kinesis_stream"] = kinesis_stream
12781
12912
  if point_in_time_recovery is not None:
12782
12913
  self._values["point_in_time_recovery"] = point_in_time_recovery
12914
+ if point_in_time_recovery_specification is not None:
12915
+ self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
12783
12916
  if resource_policy is not None:
12784
12917
  self._values["resource_policy"] = resource_policy
12785
12918
  if table_class is not None:
@@ -12816,13 +12949,28 @@ class TableOptionsV2:
12816
12949
 
12817
12950
  @builtins.property
12818
12951
  def point_in_time_recovery(self) -> typing.Optional[builtins.bool]:
12819
- '''Whether point-in-time recovery is enabled.
12952
+ '''(deprecated) Whether point-in-time recovery is enabled.
12820
12953
 
12821
- :default: false
12954
+ :default: false - point in time recovery is not enabled.
12955
+
12956
+ :deprecated: use ``pointInTimeRecoverySpecification`` instead
12957
+
12958
+ :stability: deprecated
12822
12959
  '''
12823
12960
  result = self._values.get("point_in_time_recovery")
12824
12961
  return typing.cast(typing.Optional[builtins.bool], result)
12825
12962
 
12963
+ @builtins.property
12964
+ def point_in_time_recovery_specification(
12965
+ self,
12966
+ ) -> typing.Optional[PointInTimeRecoverySpecification]:
12967
+ '''Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.
12968
+
12969
+ :default: - point in time recovery is not enabled.
12970
+ '''
12971
+ result = self._values.get("point_in_time_recovery_specification")
12972
+ return typing.cast(typing.Optional[PointInTimeRecoverySpecification], result)
12973
+
12826
12974
  @builtins.property
12827
12975
  def resource_policy(self) -> typing.Optional[_PolicyDocument_3ac34393]:
12828
12976
  '''Resource policy to assign to DynamoDB Table.
@@ -12879,6 +13027,7 @@ class TableOptionsV2:
12879
13027
  "max_read_request_units": "maxReadRequestUnits",
12880
13028
  "max_write_request_units": "maxWriteRequestUnits",
12881
13029
  "point_in_time_recovery": "pointInTimeRecovery",
13030
+ "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
12882
13031
  "read_capacity": "readCapacity",
12883
13032
  "removal_policy": "removalPolicy",
12884
13033
  "replication_regions": "replicationRegions",
@@ -12910,6 +13059,7 @@ class TableProps(TableOptions):
12910
13059
  max_read_request_units: typing.Optional[jsii.Number] = None,
12911
13060
  max_write_request_units: typing.Optional[jsii.Number] = None,
12912
13061
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
13062
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
12913
13063
  read_capacity: typing.Optional[jsii.Number] = None,
12914
13064
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
12915
13065
  replication_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -12937,7 +13087,8 @@ class TableProps(TableOptions):
12937
13087
  :param import_source: The properties of data being imported from the S3 bucket source to the table. Default: - no data import from the S3 bucket
12938
13088
  :param max_read_request_units: The maximum read request units for the table. Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput. Can only be provided if billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
12939
13089
  :param max_write_request_units: The write request units for the table. Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput. Can only be provided if billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
12940
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: - point-in-time recovery is disabled
13090
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
13091
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
12941
13092
  :param read_capacity: The read capacity for the table. Careful if you add Global Secondary Indexes, as those will share the table's provisioned throughput. Can only be provided if billingMode is Provisioned. Default: 5
12942
13093
  :param removal_policy: The removal policy to apply to the DynamoDB Table. Default: RemovalPolicy.RETAIN
12943
13094
  :param replication_regions: Regions where replica tables will be created. Default: - no replica tables are created
@@ -12985,6 +13136,8 @@ class TableProps(TableOptions):
12985
13136
  sort_key = Attribute(**sort_key)
12986
13137
  if isinstance(import_source, dict):
12987
13138
  import_source = ImportSourceSpecification(**import_source)
13139
+ if isinstance(point_in_time_recovery_specification, dict):
13140
+ point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
12988
13141
  if isinstance(warm_throughput, dict):
12989
13142
  warm_throughput = WarmThroughput(**warm_throughput)
12990
13143
  if __debug__:
@@ -13000,6 +13153,7 @@ class TableProps(TableOptions):
13000
13153
  check_type(argname="argument max_read_request_units", value=max_read_request_units, expected_type=type_hints["max_read_request_units"])
13001
13154
  check_type(argname="argument max_write_request_units", value=max_write_request_units, expected_type=type_hints["max_write_request_units"])
13002
13155
  check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
13156
+ check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
13003
13157
  check_type(argname="argument read_capacity", value=read_capacity, expected_type=type_hints["read_capacity"])
13004
13158
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
13005
13159
  check_type(argname="argument replication_regions", value=replication_regions, expected_type=type_hints["replication_regions"])
@@ -13037,6 +13191,8 @@ class TableProps(TableOptions):
13037
13191
  self._values["max_write_request_units"] = max_write_request_units
13038
13192
  if point_in_time_recovery is not None:
13039
13193
  self._values["point_in_time_recovery"] = point_in_time_recovery
13194
+ if point_in_time_recovery_specification is not None:
13195
+ self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
13040
13196
  if read_capacity is not None:
13041
13197
  self._values["read_capacity"] = read_capacity
13042
13198
  if removal_policy is not None:
@@ -13183,13 +13339,28 @@ class TableProps(TableOptions):
13183
13339
 
13184
13340
  @builtins.property
13185
13341
  def point_in_time_recovery(self) -> typing.Optional[builtins.bool]:
13186
- '''Whether point-in-time recovery is enabled.
13342
+ '''(deprecated) Whether point-in-time recovery is enabled.
13187
13343
 
13188
- :default: - point-in-time recovery is disabled
13344
+ :default: false - point in time recovery is not enabled.
13345
+
13346
+ :deprecated: use ``pointInTimeRecoverySpecification`` instead
13347
+
13348
+ :stability: deprecated
13189
13349
  '''
13190
13350
  result = self._values.get("point_in_time_recovery")
13191
13351
  return typing.cast(typing.Optional[builtins.bool], result)
13192
13352
 
13353
+ @builtins.property
13354
+ def point_in_time_recovery_specification(
13355
+ self,
13356
+ ) -> typing.Optional[PointInTimeRecoverySpecification]:
13357
+ '''Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.
13358
+
13359
+ :default: - point in time recovery is not enabled.
13360
+ '''
13361
+ result = self._values.get("point_in_time_recovery_specification")
13362
+ return typing.cast(typing.Optional[PointInTimeRecoverySpecification], result)
13363
+
13193
13364
  @builtins.property
13194
13365
  def read_capacity(self) -> typing.Optional[jsii.Number]:
13195
13366
  '''The read capacity for the table.
@@ -13372,6 +13543,7 @@ class TableProps(TableOptions):
13372
13543
  "deletion_protection": "deletionProtection",
13373
13544
  "kinesis_stream": "kinesisStream",
13374
13545
  "point_in_time_recovery": "pointInTimeRecovery",
13546
+ "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
13375
13547
  "resource_policy": "resourcePolicy",
13376
13548
  "table_class": "tableClass",
13377
13549
  "tags": "tags",
@@ -13397,6 +13569,7 @@ class TablePropsV2(TableOptionsV2):
13397
13569
  deletion_protection: typing.Optional[builtins.bool] = None,
13398
13570
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
13399
13571
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
13572
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
13400
13573
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
13401
13574
  table_class: typing.Optional[TableClass] = None,
13402
13575
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -13418,7 +13591,8 @@ class TablePropsV2(TableOptionsV2):
13418
13591
  :param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
13419
13592
  :param deletion_protection: Whether deletion protection is enabled. Default: false
13420
13593
  :param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
13421
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
13594
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
13595
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
13422
13596
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
13423
13597
  :param table_class: The table class. Default: TableClass.STANDARD
13424
13598
  :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
@@ -13453,6 +13627,8 @@ class TablePropsV2(TableOptionsV2):
13453
13627
  ]
13454
13628
  )
13455
13629
  '''
13630
+ if isinstance(point_in_time_recovery_specification, dict):
13631
+ point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
13456
13632
  if isinstance(partition_key, dict):
13457
13633
  partition_key = Attribute(**partition_key)
13458
13634
  if isinstance(sort_key, dict):
@@ -13465,6 +13641,7 @@ class TablePropsV2(TableOptionsV2):
13465
13641
  check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
13466
13642
  check_type(argname="argument kinesis_stream", value=kinesis_stream, expected_type=type_hints["kinesis_stream"])
13467
13643
  check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
13644
+ check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
13468
13645
  check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
13469
13646
  check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
13470
13647
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
@@ -13491,6 +13668,8 @@ class TablePropsV2(TableOptionsV2):
13491
13668
  self._values["kinesis_stream"] = kinesis_stream
13492
13669
  if point_in_time_recovery is not None:
13493
13670
  self._values["point_in_time_recovery"] = point_in_time_recovery
13671
+ if point_in_time_recovery_specification is not None:
13672
+ self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
13494
13673
  if resource_policy is not None:
13495
13674
  self._values["resource_policy"] = resource_policy
13496
13675
  if table_class is not None:
@@ -13549,13 +13728,28 @@ class TablePropsV2(TableOptionsV2):
13549
13728
 
13550
13729
  @builtins.property
13551
13730
  def point_in_time_recovery(self) -> typing.Optional[builtins.bool]:
13552
- '''Whether point-in-time recovery is enabled.
13731
+ '''(deprecated) Whether point-in-time recovery is enabled.
13553
13732
 
13554
- :default: false
13733
+ :default: false - point in time recovery is not enabled.
13734
+
13735
+ :deprecated: use ``pointInTimeRecoverySpecification`` instead
13736
+
13737
+ :stability: deprecated
13555
13738
  '''
13556
13739
  result = self._values.get("point_in_time_recovery")
13557
13740
  return typing.cast(typing.Optional[builtins.bool], result)
13558
13741
 
13742
+ @builtins.property
13743
+ def point_in_time_recovery_specification(
13744
+ self,
13745
+ ) -> typing.Optional[PointInTimeRecoverySpecification]:
13746
+ '''Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.
13747
+
13748
+ :default: - point in time recovery is not enabled.
13749
+ '''
13750
+ result = self._values.get("point_in_time_recovery_specification")
13751
+ return typing.cast(typing.Optional[PointInTimeRecoverySpecification], result)
13752
+
13559
13753
  @builtins.property
13560
13754
  def resource_policy(self) -> typing.Optional[_PolicyDocument_3ac34393]:
13561
13755
  '''Resource policy to assign to DynamoDB Table.
@@ -13766,6 +13960,7 @@ class TableV2(
13766
13960
  deletion_protection: typing.Optional[builtins.bool] = None,
13767
13961
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
13768
13962
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
13963
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
13769
13964
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
13770
13965
  table_class: typing.Optional[TableClass] = None,
13771
13966
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -13788,7 +13983,8 @@ class TableV2(
13788
13983
  :param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
13789
13984
  :param deletion_protection: Whether deletion protection is enabled. Default: false
13790
13985
  :param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
13791
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
13986
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
13987
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
13792
13988
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
13793
13989
  :param table_class: The table class. Default: TableClass.STANDARD
13794
13990
  :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
@@ -13814,6 +14010,7 @@ class TableV2(
13814
14010
  deletion_protection=deletion_protection,
13815
14011
  kinesis_stream=kinesis_stream,
13816
14012
  point_in_time_recovery=point_in_time_recovery,
14013
+ point_in_time_recovery_specification=point_in_time_recovery_specification,
13817
14014
  resource_policy=resource_policy,
13818
14015
  table_class=table_class,
13819
14016
  tags=tags,
@@ -13993,6 +14190,7 @@ class TableV2(
13993
14190
  deletion_protection: typing.Optional[builtins.bool] = None,
13994
14191
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
13995
14192
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
14193
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
13996
14194
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
13997
14195
  table_class: typing.Optional[TableClass] = None,
13998
14196
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -14008,7 +14206,8 @@ class TableV2(
14008
14206
  :param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
14009
14207
  :param deletion_protection: Whether deletion protection is enabled. Default: false
14010
14208
  :param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
14011
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
14209
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
14210
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
14012
14211
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
14013
14212
  :param table_class: The table class. Default: TableClass.STANDARD
14014
14213
  :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
@@ -14022,6 +14221,7 @@ class TableV2(
14022
14221
  deletion_protection=deletion_protection,
14023
14222
  kinesis_stream=kinesis_stream,
14024
14223
  point_in_time_recovery=point_in_time_recovery,
14224
+ point_in_time_recovery_specification=point_in_time_recovery_specification,
14025
14225
  resource_policy=resource_policy,
14026
14226
  table_class=table_class,
14027
14227
  tags=tags,
@@ -15196,6 +15396,7 @@ class OperationsMetricOptions(SystemErrorsForOperationsMetricOptions):
15196
15396
  "deletion_protection": "deletionProtection",
15197
15397
  "kinesis_stream": "kinesisStream",
15198
15398
  "point_in_time_recovery": "pointInTimeRecovery",
15399
+ "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
15199
15400
  "resource_policy": "resourcePolicy",
15200
15401
  "table_class": "tableClass",
15201
15402
  "tags": "tags",
@@ -15213,6 +15414,7 @@ class ReplicaTableProps(TableOptionsV2):
15213
15414
  deletion_protection: typing.Optional[builtins.bool] = None,
15214
15415
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
15215
15416
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
15417
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
15216
15418
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
15217
15419
  table_class: typing.Optional[TableClass] = None,
15218
15420
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -15226,7 +15428,8 @@ class ReplicaTableProps(TableOptionsV2):
15226
15428
  :param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
15227
15429
  :param deletion_protection: Whether deletion protection is enabled. Default: false
15228
15430
  :param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
15229
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
15431
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
15432
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
15230
15433
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
15231
15434
  :param table_class: The table class. Default: TableClass.STANDARD
15232
15435
  :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
@@ -15252,12 +15455,15 @@ class ReplicaTableProps(TableOptionsV2):
15252
15455
 
15253
15456
  global_table.add_replica(region="us-east-2", deletion_protection=True)
15254
15457
  '''
15458
+ if isinstance(point_in_time_recovery_specification, dict):
15459
+ point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
15255
15460
  if __debug__:
15256
15461
  type_hints = typing.get_type_hints(_typecheckingstub__7500a741eaeb840f48aaefcd8fc5fbbb8b1082165601116ca363e5ddbaa79e6f)
15257
15462
  check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
15258
15463
  check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
15259
15464
  check_type(argname="argument kinesis_stream", value=kinesis_stream, expected_type=type_hints["kinesis_stream"])
15260
15465
  check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
15466
+ check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
15261
15467
  check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
15262
15468
  check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
15263
15469
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
@@ -15276,6 +15482,8 @@ class ReplicaTableProps(TableOptionsV2):
15276
15482
  self._values["kinesis_stream"] = kinesis_stream
15277
15483
  if point_in_time_recovery is not None:
15278
15484
  self._values["point_in_time_recovery"] = point_in_time_recovery
15485
+ if point_in_time_recovery_specification is not None:
15486
+ self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
15279
15487
  if resource_policy is not None:
15280
15488
  self._values["resource_policy"] = resource_policy
15281
15489
  if table_class is not None:
@@ -15318,13 +15526,28 @@ class ReplicaTableProps(TableOptionsV2):
15318
15526
 
15319
15527
  @builtins.property
15320
15528
  def point_in_time_recovery(self) -> typing.Optional[builtins.bool]:
15321
- '''Whether point-in-time recovery is enabled.
15529
+ '''(deprecated) Whether point-in-time recovery is enabled.
15322
15530
 
15323
- :default: false
15531
+ :default: false - point in time recovery is not enabled.
15532
+
15533
+ :deprecated: use ``pointInTimeRecoverySpecification`` instead
15534
+
15535
+ :stability: deprecated
15324
15536
  '''
15325
15537
  result = self._values.get("point_in_time_recovery")
15326
15538
  return typing.cast(typing.Optional[builtins.bool], result)
15327
15539
 
15540
+ @builtins.property
15541
+ def point_in_time_recovery_specification(
15542
+ self,
15543
+ ) -> typing.Optional[PointInTimeRecoverySpecification]:
15544
+ '''Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.
15545
+
15546
+ :default: - point in time recovery is not enabled.
15547
+ '''
15548
+ result = self._values.get("point_in_time_recovery_specification")
15549
+ return typing.cast(typing.Optional[PointInTimeRecoverySpecification], result)
15550
+
15328
15551
  @builtins.property
15329
15552
  def resource_policy(self) -> typing.Optional[_PolicyDocument_3ac34393]:
15330
15553
  '''Resource policy to assign to DynamoDB Table.
@@ -15457,6 +15680,7 @@ class Table(
15457
15680
  max_read_request_units: typing.Optional[jsii.Number] = None,
15458
15681
  max_write_request_units: typing.Optional[jsii.Number] = None,
15459
15682
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
15683
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
15460
15684
  read_capacity: typing.Optional[jsii.Number] = None,
15461
15685
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
15462
15686
  replication_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -15485,7 +15709,8 @@ class Table(
15485
15709
  :param import_source: The properties of data being imported from the S3 bucket source to the table. Default: - no data import from the S3 bucket
15486
15710
  :param max_read_request_units: The maximum read request units for the table. Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput. Can only be provided if billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
15487
15711
  :param max_write_request_units: The write request units for the table. Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput. Can only be provided if billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
15488
- :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: - point-in-time recovery is disabled
15712
+ :param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
15713
+ :param point_in_time_recovery_specification: Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. Default: - point in time recovery is not enabled.
15489
15714
  :param read_capacity: The read capacity for the table. Careful if you add Global Secondary Indexes, as those will share the table's provisioned throughput. Can only be provided if billingMode is Provisioned. Default: 5
15490
15715
  :param removal_policy: The removal policy to apply to the DynamoDB Table. Default: RemovalPolicy.RETAIN
15491
15716
  :param replication_regions: Regions where replica tables will be created. Default: - no replica tables are created
@@ -15517,6 +15742,7 @@ class Table(
15517
15742
  max_read_request_units=max_read_request_units,
15518
15743
  max_write_request_units=max_write_request_units,
15519
15744
  point_in_time_recovery=point_in_time_recovery,
15745
+ point_in_time_recovery_specification=point_in_time_recovery_specification,
15520
15746
  read_capacity=read_capacity,
15521
15747
  removal_policy=removal_policy,
15522
15748
  replication_regions=replication_regions,
@@ -15878,6 +16104,7 @@ __all__ = [
15878
16104
  "MaxThroughputProps",
15879
16105
  "Operation",
15880
16106
  "OperationsMetricOptions",
16107
+ "PointInTimeRecoverySpecification",
15881
16108
  "ProjectionType",
15882
16109
  "ReplicaGlobalSecondaryIndexOptions",
15883
16110
  "ReplicaTableProps",
@@ -16725,6 +16952,14 @@ def _typecheckingstub__be7ea0183d8be6420b32efcd6b8d4ab24e05bd813b7c0abb65a713b53
16725
16952
  """Type checking stubs"""
16726
16953
  pass
16727
16954
 
16955
+ def _typecheckingstub__4073f2e85ef31d8deba5f90be11b466e4a3f1ea003482bf5c4df5706f50fbc77(
16956
+ *,
16957
+ point_in_time_recovery_enabled: builtins.bool,
16958
+ recovery_period_in_days: typing.Optional[jsii.Number] = None,
16959
+ ) -> None:
16960
+ """Type checking stubs"""
16961
+ pass
16962
+
16728
16963
  def _typecheckingstub__eaa3a170e1978a5997011b8319bcd83bf34642dac50e342aad0705ee28b15714(
16729
16964
  *,
16730
16965
  contributor_insights: typing.Optional[builtins.bool] = None,
@@ -17032,6 +17267,7 @@ def _typecheckingstub__dadf5733fac70178ab246582a0b777b8c203659229753a8396594d751
17032
17267
  max_read_request_units: typing.Optional[jsii.Number] = None,
17033
17268
  max_write_request_units: typing.Optional[jsii.Number] = None,
17034
17269
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
17270
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
17035
17271
  read_capacity: typing.Optional[jsii.Number] = None,
17036
17272
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
17037
17273
  replication_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -17053,6 +17289,7 @@ def _typecheckingstub__1b65ee3c8ef5c3b632f4d1fad233252caadaa5f607c0fd92f49b64933
17053
17289
  deletion_protection: typing.Optional[builtins.bool] = None,
17054
17290
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
17055
17291
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
17292
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
17056
17293
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
17057
17294
  table_class: typing.Optional[TableClass] = None,
17058
17295
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17073,6 +17310,7 @@ def _typecheckingstub__00475a5e14af8c4c7049089f69b3d29ad81bc91e7e1f0a5a5b7b794a5
17073
17310
  max_read_request_units: typing.Optional[jsii.Number] = None,
17074
17311
  max_write_request_units: typing.Optional[jsii.Number] = None,
17075
17312
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
17313
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
17076
17314
  read_capacity: typing.Optional[jsii.Number] = None,
17077
17315
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
17078
17316
  replication_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -17097,6 +17335,7 @@ def _typecheckingstub__205e5df85e01c6c2d91d5922a57e3ed5903027748a8b3222622bebd10
17097
17335
  deletion_protection: typing.Optional[builtins.bool] = None,
17098
17336
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
17099
17337
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
17338
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
17100
17339
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
17101
17340
  table_class: typing.Optional[TableClass] = None,
17102
17341
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17136,6 +17375,7 @@ def _typecheckingstub__9ea47b003cdb497ff620f1410260696f97dbb2b00fa8558235f23771f
17136
17375
  deletion_protection: typing.Optional[builtins.bool] = None,
17137
17376
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
17138
17377
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
17378
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
17139
17379
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
17140
17380
  table_class: typing.Optional[TableClass] = None,
17141
17381
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17280,6 +17520,7 @@ def _typecheckingstub__7500a741eaeb840f48aaefcd8fc5fbbb8b1082165601116ca363e5ddb
17280
17520
  deletion_protection: typing.Optional[builtins.bool] = None,
17281
17521
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
17282
17522
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
17523
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
17283
17524
  resource_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
17284
17525
  table_class: typing.Optional[TableClass] = None,
17285
17526
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17307,6 +17548,7 @@ def _typecheckingstub__b92f0ed514f00b57a2a41d754e55fe495d22b05b0ad4711b80ce00457
17307
17548
  max_read_request_units: typing.Optional[jsii.Number] = None,
17308
17549
  max_write_request_units: typing.Optional[jsii.Number] = None,
17309
17550
  point_in_time_recovery: typing.Optional[builtins.bool] = None,
17551
+ point_in_time_recovery_specification: typing.Optional[typing.Union[PointInTimeRecoverySpecification, typing.Dict[builtins.str, typing.Any]]] = None,
17310
17552
  read_capacity: typing.Optional[jsii.Number] = None,
17311
17553
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
17312
17554
  replication_regions: typing.Optional[typing.Sequence[builtins.str]] = None,