aws-cdk-lib 2.172.0__py3-none-any.whl → 2.173.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.

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 +57 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.172.0.jsii.tgz → aws-cdk-lib@2.173.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +111 -64
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +4 -3
  8. aws_cdk/aws_autoscaling/__init__.py +15 -6
  9. aws_cdk/aws_bedrock/__init__.py +32 -44
  10. aws_cdk/aws_chatbot/__init__.py +72 -46
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudfront/__init__.py +4 -2
  13. aws_cdk/aws_cloudtrail/__init__.py +104 -68
  14. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  15. aws_cdk/aws_codebuild/__init__.py +39 -0
  16. aws_cdk/aws_codepipeline/__init__.py +4 -4
  17. aws_cdk/aws_cognito/__init__.py +221 -53
  18. aws_cdk/aws_config/__init__.py +13 -10
  19. aws_cdk/aws_connect/__init__.py +25 -23
  20. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  21. aws_cdk/aws_docdb/__init__.py +128 -0
  22. aws_cdk/aws_dynamodb/__init__.py +256 -0
  23. aws_cdk/aws_ec2/__init__.py +130 -48
  24. aws_cdk/aws_ecs/__init__.py +25 -13
  25. aws_cdk/aws_eks/__init__.py +86 -24
  26. aws_cdk/aws_elasticache/__init__.py +22 -22
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +138 -128
  28. aws_cdk/aws_events/__init__.py +39 -26
  29. aws_cdk/aws_fsx/__init__.py +134 -10
  30. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  31. aws_cdk/aws_invoicing/__init__.py +651 -0
  32. aws_cdk/aws_iot/__init__.py +28 -22
  33. aws_cdk/aws_iotfleetwise/__init__.py +473 -332
  34. aws_cdk/aws_iotsitewise/__init__.py +6 -4
  35. aws_cdk/aws_ivs/__init__.py +43 -31
  36. aws_cdk/aws_kendra/__init__.py +4 -0
  37. aws_cdk/aws_lakeformation/__init__.py +2 -1
  38. aws_cdk/aws_lambda/__init__.py +258 -156
  39. aws_cdk/aws_logs/__init__.py +532 -0
  40. aws_cdk/aws_m2/__init__.py +15 -15
  41. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  42. aws_cdk/aws_medialive/__init__.py +2359 -5
  43. aws_cdk/aws_mediapackage/__init__.py +3 -9
  44. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  45. aws_cdk/aws_memorydb/__init__.py +664 -4
  46. aws_cdk/aws_qbusiness/__init__.py +2018 -66
  47. aws_cdk/aws_rds/__init__.py +30 -0
  48. aws_cdk/aws_resourcegroups/__init__.py +26 -17
  49. aws_cdk/aws_route53/__init__.py +1177 -10
  50. aws_cdk/aws_route53_targets/__init__.py +224 -100
  51. aws_cdk/aws_route53resolver/__init__.py +4 -2
  52. aws_cdk/aws_s3/__init__.py +4 -4
  53. aws_cdk/aws_s3express/__init__.py +30 -19
  54. aws_cdk/aws_sagemaker/__init__.py +783 -9
  55. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  56. aws_cdk/aws_securityhub/__init__.py +64 -32
  57. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  58. aws_cdk/aws_ses/__init__.py +109 -0
  59. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  60. aws_cdk/aws_synthetics/__init__.py +7 -5
  61. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  62. aws_cdk/aws_wisdom/__init__.py +2698 -232
  63. aws_cdk/aws_workspacesweb/__init__.py +118 -61
  64. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/METADATA +1 -1
  65. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/RECORD +69 -68
  66. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/top_level.txt +0 -0
@@ -221,6 +221,27 @@ global_table = dynamodb.TableV2(self, "Table",
221
221
  Further reading:
222
222
  https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html
223
223
 
224
+ ## Warm Throughput
225
+
226
+ Warm throughput refers to the number of read and write operations your DynamoDB table can instantaneously support.
227
+
228
+ This optional configuration allows you to pre-warm your table or index to handle anticipated throughput, ensuring optimal performance under expected load.
229
+
230
+ The Warm Throughput configuration settings are automatically replicated across all Global Table replicas.
231
+
232
+ ```python
233
+ table = dynamodb.TableV2(self, "Table",
234
+ partition_key=dynamodb.Attribute(name="id", type=dynamodb.AttributeType.STRING),
235
+ warm_throughput=dynamodb.WarmThroughput(
236
+ read_units_per_second=15000,
237
+ write_units_per_second=20000
238
+ )
239
+ )
240
+ ```
241
+
242
+ Further reading:
243
+ https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/warm-throughput.html
244
+
224
245
  ## Encryption
225
246
 
226
247
  All user data stored in a DynamoDB table is fully encrypted at rest. When creating an instance of the `TableV2` construct, you can select the following table encryption options:
@@ -991,6 +1012,21 @@ from ..aws_kms import IKey as _IKey_5f11635f
991
1012
  from ..aws_s3 import IBucket as _IBucket_42e086fd
992
1013
 
993
1014
 
1015
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_dynamodb.ApproximateCreationDateTimePrecision")
1016
+ class ApproximateCreationDateTimePrecision(enum.Enum):
1017
+ '''The precision associated with the DynamoDB write timestamps that will be replicated to Kinesis.
1018
+
1019
+ The default setting for record timestamp precision is microseconds. You can change this setting at any time.
1020
+
1021
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-kinesisstreamspecification.html#aws-properties-dynamodb-table-kinesisstreamspecification-properties
1022
+ '''
1023
+
1024
+ MILLISECOND = "MILLISECOND"
1025
+ '''Millisecond precision.'''
1026
+ MICROSECOND = "MICROSECOND"
1027
+ '''Microsecond precision.'''
1028
+
1029
+
994
1030
  @jsii.data_type(
995
1031
  jsii_type="aws-cdk-lib.aws_dynamodb.Attribute",
996
1032
  jsii_struct_bases=[],
@@ -11864,6 +11900,7 @@ typing.cast(typing.Any, TableEncryptionV2).__jsii_proxy_class__ = lambda : _Tabl
11864
11900
  "table_class": "tableClass",
11865
11901
  "time_to_live_attribute": "timeToLiveAttribute",
11866
11902
  "wait_for_replication_to_finish": "waitForReplicationToFinish",
11903
+ "warm_throughput": "warmThroughput",
11867
11904
  "write_capacity": "writeCapacity",
11868
11905
  },
11869
11906
  )
@@ -11891,6 +11928,7 @@ class TableOptions(SchemaOptions):
11891
11928
  table_class: typing.Optional[TableClass] = None,
11892
11929
  time_to_live_attribute: typing.Optional[builtins.str] = None,
11893
11930
  wait_for_replication_to_finish: typing.Optional[builtins.bool] = None,
11931
+ warm_throughput: typing.Optional[typing.Union["WarmThroughput", typing.Dict[builtins.str, typing.Any]]] = None,
11894
11932
  write_capacity: typing.Optional[jsii.Number] = None,
11895
11933
  ) -> None:
11896
11934
  '''Properties of a DynamoDB Table.
@@ -11917,6 +11955,7 @@ class TableOptions(SchemaOptions):
11917
11955
  :param table_class: Specify the table class. Default: STANDARD
11918
11956
  :param time_to_live_attribute: The name of TTL attribute. Default: - TTL is disabled
11919
11957
  :param wait_for_replication_to_finish: [WARNING: Use this flag with caution, misusing this flag may cause deleting existing replicas, refer to the detailed documentation for more information] Indicates whether CloudFormation stack waits for replication to finish. If set to false, the CloudFormation resource will mark the resource as created and replication will be completed asynchronously. This property is ignored if replicationRegions property is not set. WARNING: DO NOT UNSET this property if adding/removing multiple replicationRegions in one deployment, as CloudFormation only supports one region replication at a time. CDK overcomes this limitation by waiting for replication to finish before starting new replicationRegion. If the custom resource which handles replication has a physical resource ID with the format ``region`` instead of ``tablename-region`` (this would happen if the custom resource hasn't received an event since v1.91.0), DO NOT SET this property to false without making a change to the table name. This will cause the existing replicas to be deleted. Default: true
11958
+ :param warm_throughput: Specify values to pre-warm you DynamoDB Table Warm Throughput feature is not available for Global Table replicas using the ``Table`` construct. To enable Warm Throughput, use the ``TableV2`` construct instead. Default: - warm throughput is not configured
11920
11959
  :param write_capacity: The write 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
11921
11960
 
11922
11961
  :exampleMetadata: fixture=_generated
@@ -11973,6 +12012,10 @@ class TableOptions(SchemaOptions):
11973
12012
  table_class=dynamodb.TableClass.STANDARD,
11974
12013
  time_to_live_attribute="timeToLiveAttribute",
11975
12014
  wait_for_replication_to_finish=False,
12015
+ warm_throughput=dynamodb.WarmThroughput(
12016
+ read_units_per_second=123,
12017
+ write_units_per_second=123
12018
+ ),
11976
12019
  write_capacity=123
11977
12020
  )
11978
12021
  '''
@@ -11982,6 +12025,8 @@ class TableOptions(SchemaOptions):
11982
12025
  sort_key = Attribute(**sort_key)
11983
12026
  if isinstance(import_source, dict):
11984
12027
  import_source = ImportSourceSpecification(**import_source)
12028
+ if isinstance(warm_throughput, dict):
12029
+ warm_throughput = WarmThroughput(**warm_throughput)
11985
12030
  if __debug__:
11986
12031
  type_hints = typing.get_type_hints(_typecheckingstub__dadf5733fac70178ab246582a0b777b8c203659229753a8396594d751c99cb52)
11987
12032
  check_type(argname="argument partition_key", value=partition_key, expected_type=type_hints["partition_key"])
@@ -12004,6 +12049,7 @@ class TableOptions(SchemaOptions):
12004
12049
  check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
12005
12050
  check_type(argname="argument time_to_live_attribute", value=time_to_live_attribute, expected_type=type_hints["time_to_live_attribute"])
12006
12051
  check_type(argname="argument wait_for_replication_to_finish", value=wait_for_replication_to_finish, expected_type=type_hints["wait_for_replication_to_finish"])
12052
+ check_type(argname="argument warm_throughput", value=warm_throughput, expected_type=type_hints["warm_throughput"])
12007
12053
  check_type(argname="argument write_capacity", value=write_capacity, expected_type=type_hints["write_capacity"])
12008
12054
  self._values: typing.Dict[builtins.str, typing.Any] = {
12009
12055
  "partition_key": partition_key,
@@ -12046,6 +12092,8 @@ class TableOptions(SchemaOptions):
12046
12092
  self._values["time_to_live_attribute"] = time_to_live_attribute
12047
12093
  if wait_for_replication_to_finish is not None:
12048
12094
  self._values["wait_for_replication_to_finish"] = wait_for_replication_to_finish
12095
+ if warm_throughput is not None:
12096
+ self._values["warm_throughput"] = warm_throughput
12049
12097
  if write_capacity is not None:
12050
12098
  self._values["write_capacity"] = write_capacity
12051
12099
 
@@ -12279,6 +12327,19 @@ class TableOptions(SchemaOptions):
12279
12327
  result = self._values.get("wait_for_replication_to_finish")
12280
12328
  return typing.cast(typing.Optional[builtins.bool], result)
12281
12329
 
12330
+ @builtins.property
12331
+ def warm_throughput(self) -> typing.Optional["WarmThroughput"]:
12332
+ '''Specify values to pre-warm you DynamoDB Table Warm Throughput feature is not available for Global Table replicas using the ``Table`` construct.
12333
+
12334
+ To enable Warm Throughput, use the ``TableV2`` construct instead.
12335
+
12336
+ :default: - warm throughput is not configured
12337
+
12338
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-warmthroughput
12339
+ '''
12340
+ result = self._values.get("warm_throughput")
12341
+ return typing.cast(typing.Optional["WarmThroughput"], result)
12342
+
12282
12343
  @builtins.property
12283
12344
  def write_capacity(self) -> typing.Optional[jsii.Number]:
12284
12345
  '''The write capacity for the table.
@@ -12492,7 +12553,9 @@ class TableOptionsV2:
12492
12553
  "table_class": "tableClass",
12493
12554
  "time_to_live_attribute": "timeToLiveAttribute",
12494
12555
  "wait_for_replication_to_finish": "waitForReplicationToFinish",
12556
+ "warm_throughput": "warmThroughput",
12495
12557
  "write_capacity": "writeCapacity",
12558
+ "kinesis_precision_timestamp": "kinesisPrecisionTimestamp",
12496
12559
  "kinesis_stream": "kinesisStream",
12497
12560
  "table_name": "tableName",
12498
12561
  },
@@ -12521,7 +12584,9 @@ class TableProps(TableOptions):
12521
12584
  table_class: typing.Optional[TableClass] = None,
12522
12585
  time_to_live_attribute: typing.Optional[builtins.str] = None,
12523
12586
  wait_for_replication_to_finish: typing.Optional[builtins.bool] = None,
12587
+ warm_throughput: typing.Optional[typing.Union["WarmThroughput", typing.Dict[builtins.str, typing.Any]]] = None,
12524
12588
  write_capacity: typing.Optional[jsii.Number] = None,
12589
+ kinesis_precision_timestamp: typing.Optional[ApproximateCreationDateTimePrecision] = None,
12525
12590
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
12526
12591
  table_name: typing.Optional[builtins.str] = None,
12527
12592
  ) -> None:
@@ -12547,7 +12612,9 @@ class TableProps(TableOptions):
12547
12612
  :param table_class: Specify the table class. Default: STANDARD
12548
12613
  :param time_to_live_attribute: The name of TTL attribute. Default: - TTL is disabled
12549
12614
  :param wait_for_replication_to_finish: [WARNING: Use this flag with caution, misusing this flag may cause deleting existing replicas, refer to the detailed documentation for more information] Indicates whether CloudFormation stack waits for replication to finish. If set to false, the CloudFormation resource will mark the resource as created and replication will be completed asynchronously. This property is ignored if replicationRegions property is not set. WARNING: DO NOT UNSET this property if adding/removing multiple replicationRegions in one deployment, as CloudFormation only supports one region replication at a time. CDK overcomes this limitation by waiting for replication to finish before starting new replicationRegion. If the custom resource which handles replication has a physical resource ID with the format ``region`` instead of ``tablename-region`` (this would happen if the custom resource hasn't received an event since v1.91.0), DO NOT SET this property to false without making a change to the table name. This will cause the existing replicas to be deleted. Default: true
12615
+ :param warm_throughput: Specify values to pre-warm you DynamoDB Table Warm Throughput feature is not available for Global Table replicas using the ``Table`` construct. To enable Warm Throughput, use the ``TableV2`` construct instead. Default: - warm throughput is not configured
12550
12616
  :param write_capacity: The write 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
12617
+ :param kinesis_precision_timestamp: Kinesis Data Stream approximate creation timestamp prescision. Default: ApproximateCreationDateTimePrecision.MICROSECOND
12551
12618
  :param kinesis_stream: Kinesis Data Stream to capture item-level changes for the table. Default: - no Kinesis Data Stream
12552
12619
  :param table_name: Enforces a particular physical table name. Default:
12553
12620
 
@@ -12583,6 +12650,8 @@ class TableProps(TableOptions):
12583
12650
  sort_key = Attribute(**sort_key)
12584
12651
  if isinstance(import_source, dict):
12585
12652
  import_source = ImportSourceSpecification(**import_source)
12653
+ if isinstance(warm_throughput, dict):
12654
+ warm_throughput = WarmThroughput(**warm_throughput)
12586
12655
  if __debug__:
12587
12656
  type_hints = typing.get_type_hints(_typecheckingstub__00475a5e14af8c4c7049089f69b3d29ad81bc91e7e1f0a5a5b7b794a54003a08)
12588
12657
  check_type(argname="argument partition_key", value=partition_key, expected_type=type_hints["partition_key"])
@@ -12605,7 +12674,9 @@ class TableProps(TableOptions):
12605
12674
  check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
12606
12675
  check_type(argname="argument time_to_live_attribute", value=time_to_live_attribute, expected_type=type_hints["time_to_live_attribute"])
12607
12676
  check_type(argname="argument wait_for_replication_to_finish", value=wait_for_replication_to_finish, expected_type=type_hints["wait_for_replication_to_finish"])
12677
+ check_type(argname="argument warm_throughput", value=warm_throughput, expected_type=type_hints["warm_throughput"])
12608
12678
  check_type(argname="argument write_capacity", value=write_capacity, expected_type=type_hints["write_capacity"])
12679
+ check_type(argname="argument kinesis_precision_timestamp", value=kinesis_precision_timestamp, expected_type=type_hints["kinesis_precision_timestamp"])
12609
12680
  check_type(argname="argument kinesis_stream", value=kinesis_stream, expected_type=type_hints["kinesis_stream"])
12610
12681
  check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
12611
12682
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -12649,8 +12720,12 @@ class TableProps(TableOptions):
12649
12720
  self._values["time_to_live_attribute"] = time_to_live_attribute
12650
12721
  if wait_for_replication_to_finish is not None:
12651
12722
  self._values["wait_for_replication_to_finish"] = wait_for_replication_to_finish
12723
+ if warm_throughput is not None:
12724
+ self._values["warm_throughput"] = warm_throughput
12652
12725
  if write_capacity is not None:
12653
12726
  self._values["write_capacity"] = write_capacity
12727
+ if kinesis_precision_timestamp is not None:
12728
+ self._values["kinesis_precision_timestamp"] = kinesis_precision_timestamp
12654
12729
  if kinesis_stream is not None:
12655
12730
  self._values["kinesis_stream"] = kinesis_stream
12656
12731
  if table_name is not None:
@@ -12886,6 +12961,19 @@ class TableProps(TableOptions):
12886
12961
  result = self._values.get("wait_for_replication_to_finish")
12887
12962
  return typing.cast(typing.Optional[builtins.bool], result)
12888
12963
 
12964
+ @builtins.property
12965
+ def warm_throughput(self) -> typing.Optional["WarmThroughput"]:
12966
+ '''Specify values to pre-warm you DynamoDB Table Warm Throughput feature is not available for Global Table replicas using the ``Table`` construct.
12967
+
12968
+ To enable Warm Throughput, use the ``TableV2`` construct instead.
12969
+
12970
+ :default: - warm throughput is not configured
12971
+
12972
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-warmthroughput
12973
+ '''
12974
+ result = self._values.get("warm_throughput")
12975
+ return typing.cast(typing.Optional["WarmThroughput"], result)
12976
+
12889
12977
  @builtins.property
12890
12978
  def write_capacity(self) -> typing.Optional[jsii.Number]:
12891
12979
  '''The write capacity for the table.
@@ -12900,6 +12988,17 @@ class TableProps(TableOptions):
12900
12988
  result = self._values.get("write_capacity")
12901
12989
  return typing.cast(typing.Optional[jsii.Number], result)
12902
12990
 
12991
+ @builtins.property
12992
+ def kinesis_precision_timestamp(
12993
+ self,
12994
+ ) -> typing.Optional[ApproximateCreationDateTimePrecision]:
12995
+ '''Kinesis Data Stream approximate creation timestamp prescision.
12996
+
12997
+ :default: ApproximateCreationDateTimePrecision.MICROSECOND
12998
+ '''
12999
+ result = self._values.get("kinesis_precision_timestamp")
13000
+ return typing.cast(typing.Optional[ApproximateCreationDateTimePrecision], result)
13001
+
12903
13002
  @builtins.property
12904
13003
  def kinesis_stream(self) -> typing.Optional[_IStream_4e2457d2]:
12905
13004
  '''Kinesis Data Stream to capture item-level changes for the table.
@@ -12952,6 +13051,7 @@ class TableProps(TableOptions):
12952
13051
  "sort_key": "sortKey",
12953
13052
  "table_name": "tableName",
12954
13053
  "time_to_live_attribute": "timeToLiveAttribute",
13054
+ "warm_throughput": "warmThroughput",
12955
13055
  },
12956
13056
  )
12957
13057
  class TablePropsV2(TableOptionsV2):
@@ -12976,6 +13076,7 @@ class TablePropsV2(TableOptionsV2):
12976
13076
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
12977
13077
  table_name: typing.Optional[builtins.str] = None,
12978
13078
  time_to_live_attribute: typing.Optional[builtins.str] = None,
13079
+ warm_throughput: typing.Optional[typing.Union["WarmThroughput", typing.Dict[builtins.str, typing.Any]]] = None,
12979
13080
  ) -> None:
12980
13081
  '''Properties used to configure a DynamoDB table.
12981
13082
 
@@ -12997,6 +13098,7 @@ class TablePropsV2(TableOptionsV2):
12997
13098
  :param sort_key: Sort key attribute definition. Default: - no sort key
12998
13099
  :param table_name: The name of the table. Default: - generated by CloudFormation
12999
13100
  :param time_to_live_attribute: The name of the TTL attribute. Default: - TTL is disabled
13101
+ :param warm_throughput: The warm throughput configuration for the table. Default: - no warm throughput is configured
13000
13102
 
13001
13103
  :exampleMetadata: infused
13002
13104
 
@@ -13020,6 +13122,8 @@ class TablePropsV2(TableOptionsV2):
13020
13122
  partition_key = Attribute(**partition_key)
13021
13123
  if isinstance(sort_key, dict):
13022
13124
  sort_key = Attribute(**sort_key)
13125
+ if isinstance(warm_throughput, dict):
13126
+ warm_throughput = WarmThroughput(**warm_throughput)
13023
13127
  if __debug__:
13024
13128
  type_hints = typing.get_type_hints(_typecheckingstub__205e5df85e01c6c2d91d5922a57e3ed5903027748a8b3222622bebd1077e84ba)
13025
13129
  check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
@@ -13040,6 +13144,7 @@ class TablePropsV2(TableOptionsV2):
13040
13144
  check_type(argname="argument sort_key", value=sort_key, expected_type=type_hints["sort_key"])
13041
13145
  check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
13042
13146
  check_type(argname="argument time_to_live_attribute", value=time_to_live_attribute, expected_type=type_hints["time_to_live_attribute"])
13147
+ check_type(argname="argument warm_throughput", value=warm_throughput, expected_type=type_hints["warm_throughput"])
13043
13148
  self._values: typing.Dict[builtins.str, typing.Any] = {
13044
13149
  "partition_key": partition_key,
13045
13150
  }
@@ -13077,6 +13182,8 @@ class TablePropsV2(TableOptionsV2):
13077
13182
  self._values["table_name"] = table_name
13078
13183
  if time_to_live_attribute is not None:
13079
13184
  self._values["time_to_live_attribute"] = time_to_live_attribute
13185
+ if warm_throughput is not None:
13186
+ self._values["warm_throughput"] = warm_throughput
13080
13187
 
13081
13188
  @builtins.property
13082
13189
  def contributor_insights(self) -> typing.Optional[builtins.bool]:
@@ -13256,6 +13363,15 @@ class TablePropsV2(TableOptionsV2):
13256
13363
  result = self._values.get("time_to_live_attribute")
13257
13364
  return typing.cast(typing.Optional[builtins.str], result)
13258
13365
 
13366
+ @builtins.property
13367
+ def warm_throughput(self) -> typing.Optional["WarmThroughput"]:
13368
+ '''The warm throughput configuration for the table.
13369
+
13370
+ :default: - no warm throughput is configured
13371
+ '''
13372
+ result = self._values.get("warm_throughput")
13373
+ return typing.cast(typing.Optional["WarmThroughput"], result)
13374
+
13259
13375
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
13260
13376
  return isinstance(rhs, self.__class__) and rhs._values == self._values
13261
13377
 
@@ -13310,6 +13426,7 @@ class TableV2(
13310
13426
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
13311
13427
  table_name: typing.Optional[builtins.str] = None,
13312
13428
  time_to_live_attribute: typing.Optional[builtins.str] = None,
13429
+ warm_throughput: typing.Optional[typing.Union["WarmThroughput", typing.Dict[builtins.str, typing.Any]]] = None,
13313
13430
  contributor_insights: typing.Optional[builtins.bool] = None,
13314
13431
  deletion_protection: typing.Optional[builtins.bool] = None,
13315
13432
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
@@ -13332,6 +13449,7 @@ class TableV2(
13332
13449
  :param sort_key: Sort key attribute definition. Default: - no sort key
13333
13450
  :param table_name: The name of the table. Default: - generated by CloudFormation
13334
13451
  :param time_to_live_attribute: The name of the TTL attribute. Default: - TTL is disabled
13452
+ :param warm_throughput: The warm throughput configuration for the table. Default: - no warm throughput is configured
13335
13453
  :param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
13336
13454
  :param deletion_protection: Whether deletion protection is enabled. Default: false
13337
13455
  :param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
@@ -13356,6 +13474,7 @@ class TableV2(
13356
13474
  sort_key=sort_key,
13357
13475
  table_name=table_name,
13358
13476
  time_to_live_attribute=time_to_live_attribute,
13477
+ warm_throughput=warm_throughput,
13359
13478
  contributor_insights=contributor_insights,
13360
13479
  deletion_protection=deletion_protection,
13361
13480
  kinesis_stream=kinesis_stream,
@@ -13464,6 +13583,7 @@ class TableV2(
13464
13583
  max_write_request_units: typing.Optional[jsii.Number] = None,
13465
13584
  read_capacity: typing.Optional[Capacity] = None,
13466
13585
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
13586
+ warm_throughput: typing.Optional[typing.Union["WarmThroughput", typing.Dict[builtins.str, typing.Any]]] = None,
13467
13587
  write_capacity: typing.Optional[Capacity] = None,
13468
13588
  index_name: builtins.str,
13469
13589
  non_key_attributes: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -13478,6 +13598,7 @@ class TableV2(
13478
13598
  :param max_write_request_units: The maximum write request units. Note: This can only be configured if the primary table billing is PAY_PER_REQUEST. Default: - inherited from the primary table.
13479
13599
  :param read_capacity: The read capacity. Note: This can only be configured if the primary table billing is provisioned. Default: - inherited from the primary table.
13480
13600
  :param sort_key: Sort key attribute definition. Default: - no sort key
13601
+ :param warm_throughput: The warm throughput configuration for the global secondary index. Default: - no warm throughput is configured
13481
13602
  :param write_capacity: The write capacity. Note: This can only be configured if the primary table billing is provisioned. Default: - inherited from the primary table.
13482
13603
  :param index_name: The name of the secondary index.
13483
13604
  :param non_key_attributes: The non-key attributes that are projected into the secondary index. Default: - No additional attributes
@@ -13489,6 +13610,7 @@ class TableV2(
13489
13610
  max_write_request_units=max_write_request_units,
13490
13611
  read_capacity=read_capacity,
13491
13612
  sort_key=sort_key,
13613
+ warm_throughput=warm_throughput,
13492
13614
  write_capacity=write_capacity,
13493
13615
  index_name=index_name,
13494
13616
  non_key_attributes=non_key_attributes,
@@ -13870,6 +13992,78 @@ class UtilizationScalingProps(_BaseTargetTrackingProps_540ba713):
13870
13992
  )
13871
13993
 
13872
13994
 
13995
+ @jsii.data_type(
13996
+ jsii_type="aws-cdk-lib.aws_dynamodb.WarmThroughput",
13997
+ jsii_struct_bases=[],
13998
+ name_mapping={
13999
+ "read_units_per_second": "readUnitsPerSecond",
14000
+ "write_units_per_second": "writeUnitsPerSecond",
14001
+ },
14002
+ )
14003
+ class WarmThroughput:
14004
+ def __init__(
14005
+ self,
14006
+ *,
14007
+ read_units_per_second: typing.Optional[jsii.Number] = None,
14008
+ write_units_per_second: typing.Optional[jsii.Number] = None,
14009
+ ) -> None:
14010
+ '''Reference to WarmThroughput for a DynamoDB table.
14011
+
14012
+ :param read_units_per_second: Configures the number of read units per second a table will be able to handle instantly. Default: - no readUnitsPerSecond configured
14013
+ :param write_units_per_second: Configures the number of write units per second a table will be able to handle instantly. Default: - no writeUnitsPerSecond configured
14014
+
14015
+ :exampleMetadata: infused
14016
+
14017
+ Example::
14018
+
14019
+ table = dynamodb.TableV2(self, "Table",
14020
+ partition_key=dynamodb.Attribute(name="id", type=dynamodb.AttributeType.STRING),
14021
+ warm_throughput=dynamodb.WarmThroughput(
14022
+ read_units_per_second=15000,
14023
+ write_units_per_second=20000
14024
+ )
14025
+ )
14026
+ '''
14027
+ if __debug__:
14028
+ type_hints = typing.get_type_hints(_typecheckingstub__ea3f07e08dc05c8371a6d7c241d22bd88e7f4c275408314c3875915b1c8db940)
14029
+ check_type(argname="argument read_units_per_second", value=read_units_per_second, expected_type=type_hints["read_units_per_second"])
14030
+ check_type(argname="argument write_units_per_second", value=write_units_per_second, expected_type=type_hints["write_units_per_second"])
14031
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
14032
+ if read_units_per_second is not None:
14033
+ self._values["read_units_per_second"] = read_units_per_second
14034
+ if write_units_per_second is not None:
14035
+ self._values["write_units_per_second"] = write_units_per_second
14036
+
14037
+ @builtins.property
14038
+ def read_units_per_second(self) -> typing.Optional[jsii.Number]:
14039
+ '''Configures the number of read units per second a table will be able to handle instantly.
14040
+
14041
+ :default: - no readUnitsPerSecond configured
14042
+ '''
14043
+ result = self._values.get("read_units_per_second")
14044
+ return typing.cast(typing.Optional[jsii.Number], result)
14045
+
14046
+ @builtins.property
14047
+ def write_units_per_second(self) -> typing.Optional[jsii.Number]:
14048
+ '''Configures the number of write units per second a table will be able to handle instantly.
14049
+
14050
+ :default: - no writeUnitsPerSecond configured
14051
+ '''
14052
+ result = self._values.get("write_units_per_second")
14053
+ return typing.cast(typing.Optional[jsii.Number], result)
14054
+
14055
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14056
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14057
+
14058
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14059
+ return not (rhs == self)
14060
+
14061
+ def __repr__(self) -> str:
14062
+ return "WarmThroughput(%s)" % ", ".join(
14063
+ k + "=" + repr(v) for k, v in self._values.items()
14064
+ )
14065
+
14066
+
13873
14067
  @jsii.data_type(
13874
14068
  jsii_type="aws-cdk-lib.aws_dynamodb.GlobalSecondaryIndexProps",
13875
14069
  jsii_struct_bases=[SecondaryIndexProps, SchemaOptions],
@@ -13883,6 +14077,7 @@ class UtilizationScalingProps(_BaseTargetTrackingProps_540ba713):
13883
14077
  "max_read_request_units": "maxReadRequestUnits",
13884
14078
  "max_write_request_units": "maxWriteRequestUnits",
13885
14079
  "read_capacity": "readCapacity",
14080
+ "warm_throughput": "warmThroughput",
13886
14081
  "write_capacity": "writeCapacity",
13887
14082
  },
13888
14083
  )
@@ -13899,6 +14094,7 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
13899
14094
  max_read_request_units: typing.Optional[jsii.Number] = None,
13900
14095
  max_write_request_units: typing.Optional[jsii.Number] = None,
13901
14096
  read_capacity: typing.Optional[jsii.Number] = None,
14097
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
13902
14098
  write_capacity: typing.Optional[jsii.Number] = None,
13903
14099
  ) -> None:
13904
14100
  '''Properties for a global secondary index.
@@ -13912,6 +14108,7 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
13912
14108
  :param max_read_request_units: The maximum read request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
13913
14109
  :param max_write_request_units: The maximum write request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
13914
14110
  :param read_capacity: The read capacity for the global secondary index. Can only be provided if table billingMode is Provisioned or undefined. Default: 5
14111
+ :param warm_throughput: The warm throughput configuration for the global secondary index. Default: - no warm throughput is configured
13915
14112
  :param write_capacity: The write capacity for the global secondary index. Can only be provided if table billingMode is Provisioned or undefined. Default: 5
13916
14113
 
13917
14114
  :exampleMetadata: infused
@@ -13933,6 +14130,8 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
13933
14130
  partition_key = Attribute(**partition_key)
13934
14131
  if isinstance(sort_key, dict):
13935
14132
  sort_key = Attribute(**sort_key)
14133
+ if isinstance(warm_throughput, dict):
14134
+ warm_throughput = WarmThroughput(**warm_throughput)
13936
14135
  if __debug__:
13937
14136
  type_hints = typing.get_type_hints(_typecheckingstub__7f586bf63a567e16bde337be791f392306be66abca1c4abb791989fb9dc7b4e2)
13938
14137
  check_type(argname="argument index_name", value=index_name, expected_type=type_hints["index_name"])
@@ -13944,6 +14143,7 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
13944
14143
  check_type(argname="argument max_read_request_units", value=max_read_request_units, expected_type=type_hints["max_read_request_units"])
13945
14144
  check_type(argname="argument max_write_request_units", value=max_write_request_units, expected_type=type_hints["max_write_request_units"])
13946
14145
  check_type(argname="argument read_capacity", value=read_capacity, expected_type=type_hints["read_capacity"])
14146
+ check_type(argname="argument warm_throughput", value=warm_throughput, expected_type=type_hints["warm_throughput"])
13947
14147
  check_type(argname="argument write_capacity", value=write_capacity, expected_type=type_hints["write_capacity"])
13948
14148
  self._values: typing.Dict[builtins.str, typing.Any] = {
13949
14149
  "index_name": index_name,
@@ -13963,6 +14163,8 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
13963
14163
  self._values["max_write_request_units"] = max_write_request_units
13964
14164
  if read_capacity is not None:
13965
14165
  self._values["read_capacity"] = read_capacity
14166
+ if warm_throughput is not None:
14167
+ self._values["warm_throughput"] = warm_throughput
13966
14168
  if write_capacity is not None:
13967
14169
  self._values["write_capacity"] = write_capacity
13968
14170
 
@@ -14049,6 +14251,15 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
14049
14251
  result = self._values.get("read_capacity")
14050
14252
  return typing.cast(typing.Optional[jsii.Number], result)
14051
14253
 
14254
+ @builtins.property
14255
+ def warm_throughput(self) -> typing.Optional[WarmThroughput]:
14256
+ '''The warm throughput configuration for the global secondary index.
14257
+
14258
+ :default: - no warm throughput is configured
14259
+ '''
14260
+ result = self._values.get("warm_throughput")
14261
+ return typing.cast(typing.Optional[WarmThroughput], result)
14262
+
14052
14263
  @builtins.property
14053
14264
  def write_capacity(self) -> typing.Optional[jsii.Number]:
14054
14265
  '''The write capacity for the global secondary index.
@@ -14084,6 +14295,7 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
14084
14295
  "max_write_request_units": "maxWriteRequestUnits",
14085
14296
  "read_capacity": "readCapacity",
14086
14297
  "sort_key": "sortKey",
14298
+ "warm_throughput": "warmThroughput",
14087
14299
  "write_capacity": "writeCapacity",
14088
14300
  },
14089
14301
  )
@@ -14099,6 +14311,7 @@ class GlobalSecondaryIndexPropsV2(SecondaryIndexProps):
14099
14311
  max_write_request_units: typing.Optional[jsii.Number] = None,
14100
14312
  read_capacity: typing.Optional[Capacity] = None,
14101
14313
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
14314
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
14102
14315
  write_capacity: typing.Optional[Capacity] = None,
14103
14316
  ) -> None:
14104
14317
  '''Properties used to configure a global secondary index.
@@ -14111,6 +14324,7 @@ class GlobalSecondaryIndexPropsV2(SecondaryIndexProps):
14111
14324
  :param max_write_request_units: The maximum write request units. Note: This can only be configured if the primary table billing is PAY_PER_REQUEST. Default: - inherited from the primary table.
14112
14325
  :param read_capacity: The read capacity. Note: This can only be configured if the primary table billing is provisioned. Default: - inherited from the primary table.
14113
14326
  :param sort_key: Sort key attribute definition. Default: - no sort key
14327
+ :param warm_throughput: The warm throughput configuration for the global secondary index. Default: - no warm throughput is configured
14114
14328
  :param write_capacity: The write capacity. Note: This can only be configured if the primary table billing is provisioned. Default: - inherited from the primary table.
14115
14329
 
14116
14330
  :exampleMetadata: infused
@@ -14135,6 +14349,8 @@ class GlobalSecondaryIndexPropsV2(SecondaryIndexProps):
14135
14349
  partition_key = Attribute(**partition_key)
14136
14350
  if isinstance(sort_key, dict):
14137
14351
  sort_key = Attribute(**sort_key)
14352
+ if isinstance(warm_throughput, dict):
14353
+ warm_throughput = WarmThroughput(**warm_throughput)
14138
14354
  if __debug__:
14139
14355
  type_hints = typing.get_type_hints(_typecheckingstub__4d662ce35086830139f09f255840ae92cf556a93d47e96653c908cc7a298d1e1)
14140
14356
  check_type(argname="argument index_name", value=index_name, expected_type=type_hints["index_name"])
@@ -14145,6 +14361,7 @@ class GlobalSecondaryIndexPropsV2(SecondaryIndexProps):
14145
14361
  check_type(argname="argument max_write_request_units", value=max_write_request_units, expected_type=type_hints["max_write_request_units"])
14146
14362
  check_type(argname="argument read_capacity", value=read_capacity, expected_type=type_hints["read_capacity"])
14147
14363
  check_type(argname="argument sort_key", value=sort_key, expected_type=type_hints["sort_key"])
14364
+ check_type(argname="argument warm_throughput", value=warm_throughput, expected_type=type_hints["warm_throughput"])
14148
14365
  check_type(argname="argument write_capacity", value=write_capacity, expected_type=type_hints["write_capacity"])
14149
14366
  self._values: typing.Dict[builtins.str, typing.Any] = {
14150
14367
  "index_name": index_name,
@@ -14162,6 +14379,8 @@ class GlobalSecondaryIndexPropsV2(SecondaryIndexProps):
14162
14379
  self._values["read_capacity"] = read_capacity
14163
14380
  if sort_key is not None:
14164
14381
  self._values["sort_key"] = sort_key
14382
+ if warm_throughput is not None:
14383
+ self._values["warm_throughput"] = warm_throughput
14165
14384
  if write_capacity is not None:
14166
14385
  self._values["write_capacity"] = write_capacity
14167
14386
 
@@ -14239,6 +14458,15 @@ class GlobalSecondaryIndexPropsV2(SecondaryIndexProps):
14239
14458
  result = self._values.get("sort_key")
14240
14459
  return typing.cast(typing.Optional[Attribute], result)
14241
14460
 
14461
+ @builtins.property
14462
+ def warm_throughput(self) -> typing.Optional[WarmThroughput]:
14463
+ '''The warm throughput configuration for the global secondary index.
14464
+
14465
+ :default: - no warm throughput is configured
14466
+ '''
14467
+ result = self._values.get("warm_throughput")
14468
+ return typing.cast(typing.Optional[WarmThroughput], result)
14469
+
14242
14470
  @builtins.property
14243
14471
  def write_capacity(self) -> typing.Optional[Capacity]:
14244
14472
  '''The write capacity.
@@ -14850,6 +15078,7 @@ class Table(
14850
15078
  scope: _constructs_77d1e7e8.Construct,
14851
15079
  id: builtins.str,
14852
15080
  *,
15081
+ kinesis_precision_timestamp: typing.Optional[ApproximateCreationDateTimePrecision] = None,
14853
15082
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
14854
15083
  table_name: typing.Optional[builtins.str] = None,
14855
15084
  billing_mode: typing.Optional[BillingMode] = None,
@@ -14870,6 +15099,7 @@ class Table(
14870
15099
  table_class: typing.Optional[TableClass] = None,
14871
15100
  time_to_live_attribute: typing.Optional[builtins.str] = None,
14872
15101
  wait_for_replication_to_finish: typing.Optional[builtins.bool] = None,
15102
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
14873
15103
  write_capacity: typing.Optional[jsii.Number] = None,
14874
15104
  partition_key: typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]],
14875
15105
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -14877,6 +15107,7 @@ class Table(
14877
15107
  '''
14878
15108
  :param scope: -
14879
15109
  :param id: -
15110
+ :param kinesis_precision_timestamp: Kinesis Data Stream approximate creation timestamp prescision. Default: ApproximateCreationDateTimePrecision.MICROSECOND
14880
15111
  :param kinesis_stream: Kinesis Data Stream to capture item-level changes for the table. Default: - no Kinesis Data Stream
14881
15112
  :param table_name: Enforces a particular physical table name. Default:
14882
15113
  :param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Default: PROVISIONED if ``replicationRegions`` is not specified, PAY_PER_REQUEST otherwise
@@ -14897,6 +15128,7 @@ class Table(
14897
15128
  :param table_class: Specify the table class. Default: STANDARD
14898
15129
  :param time_to_live_attribute: The name of TTL attribute. Default: - TTL is disabled
14899
15130
  :param wait_for_replication_to_finish: [WARNING: Use this flag with caution, misusing this flag may cause deleting existing replicas, refer to the detailed documentation for more information] Indicates whether CloudFormation stack waits for replication to finish. If set to false, the CloudFormation resource will mark the resource as created and replication will be completed asynchronously. This property is ignored if replicationRegions property is not set. WARNING: DO NOT UNSET this property if adding/removing multiple replicationRegions in one deployment, as CloudFormation only supports one region replication at a time. CDK overcomes this limitation by waiting for replication to finish before starting new replicationRegion. If the custom resource which handles replication has a physical resource ID with the format ``region`` instead of ``tablename-region`` (this would happen if the custom resource hasn't received an event since v1.91.0), DO NOT SET this property to false without making a change to the table name. This will cause the existing replicas to be deleted. Default: true
15131
+ :param warm_throughput: Specify values to pre-warm you DynamoDB Table Warm Throughput feature is not available for Global Table replicas using the ``Table`` construct. To enable Warm Throughput, use the ``TableV2`` construct instead. Default: - warm throughput is not configured
14900
15132
  :param write_capacity: The write 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
14901
15133
  :param partition_key: Partition key attribute definition.
14902
15134
  :param sort_key: Sort key attribute definition. Default: no sort key
@@ -14906,6 +15138,7 @@ class Table(
14906
15138
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
14907
15139
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
14908
15140
  props = TableProps(
15141
+ kinesis_precision_timestamp=kinesis_precision_timestamp,
14909
15142
  kinesis_stream=kinesis_stream,
14910
15143
  table_name=table_name,
14911
15144
  billing_mode=billing_mode,
@@ -14926,6 +15159,7 @@ class Table(
14926
15159
  table_class=table_class,
14927
15160
  time_to_live_attribute=time_to_live_attribute,
14928
15161
  wait_for_replication_to_finish=wait_for_replication_to_finish,
15162
+ warm_throughput=warm_throughput,
14929
15163
  write_capacity=write_capacity,
14930
15164
  partition_key=partition_key,
14931
15165
  sort_key=sort_key,
@@ -15026,6 +15260,7 @@ class Table(
15026
15260
  max_read_request_units: typing.Optional[jsii.Number] = None,
15027
15261
  max_write_request_units: typing.Optional[jsii.Number] = None,
15028
15262
  read_capacity: typing.Optional[jsii.Number] = None,
15263
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
15029
15264
  write_capacity: typing.Optional[jsii.Number] = None,
15030
15265
  index_name: builtins.str,
15031
15266
  non_key_attributes: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -15039,6 +15274,7 @@ class Table(
15039
15274
  :param max_read_request_units: The maximum read request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
15040
15275
  :param max_write_request_units: The maximum write request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
15041
15276
  :param read_capacity: The read capacity for the global secondary index. Can only be provided if table billingMode is Provisioned or undefined. Default: 5
15277
+ :param warm_throughput: The warm throughput configuration for the global secondary index. Default: - no warm throughput is configured
15042
15278
  :param write_capacity: The write capacity for the global secondary index. Can only be provided if table billingMode is Provisioned or undefined. Default: 5
15043
15279
  :param index_name: The name of the secondary index.
15044
15280
  :param non_key_attributes: The non-key attributes that are projected into the secondary index. Default: - No additional attributes
@@ -15051,6 +15287,7 @@ class Table(
15051
15287
  max_read_request_units=max_read_request_units,
15052
15288
  max_write_request_units=max_write_request_units,
15053
15289
  read_capacity=read_capacity,
15290
+ warm_throughput=warm_throughput,
15054
15291
  write_capacity=write_capacity,
15055
15292
  index_name=index_name,
15056
15293
  non_key_attributes=non_key_attributes,
@@ -15248,6 +15485,7 @@ class Table(
15248
15485
 
15249
15486
 
15250
15487
  __all__ = [
15488
+ "ApproximateCreationDateTimePrecision",
15251
15489
  "Attribute",
15252
15490
  "AttributeType",
15253
15491
  "AutoscaledCapacityOptions",
@@ -15295,6 +15533,7 @@ __all__ = [
15295
15533
  "TableV2",
15296
15534
  "ThroughputProps",
15297
15535
  "UtilizationScalingProps",
15536
+ "WarmThroughput",
15298
15537
  ]
15299
15538
 
15300
15539
  publication.publish()
@@ -16413,6 +16652,7 @@ def _typecheckingstub__dadf5733fac70178ab246582a0b777b8c203659229753a8396594d751
16413
16652
  table_class: typing.Optional[TableClass] = None,
16414
16653
  time_to_live_attribute: typing.Optional[builtins.str] = None,
16415
16654
  wait_for_replication_to_finish: typing.Optional[builtins.bool] = None,
16655
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
16416
16656
  write_capacity: typing.Optional[jsii.Number] = None,
16417
16657
  ) -> None:
16418
16658
  """Type checking stubs"""
@@ -16453,7 +16693,9 @@ def _typecheckingstub__00475a5e14af8c4c7049089f69b3d29ad81bc91e7e1f0a5a5b7b794a5
16453
16693
  table_class: typing.Optional[TableClass] = None,
16454
16694
  time_to_live_attribute: typing.Optional[builtins.str] = None,
16455
16695
  wait_for_replication_to_finish: typing.Optional[builtins.bool] = None,
16696
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
16456
16697
  write_capacity: typing.Optional[jsii.Number] = None,
16698
+ kinesis_precision_timestamp: typing.Optional[ApproximateCreationDateTimePrecision] = None,
16457
16699
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
16458
16700
  table_name: typing.Optional[builtins.str] = None,
16459
16701
  ) -> None:
@@ -16480,6 +16722,7 @@ def _typecheckingstub__205e5df85e01c6c2d91d5922a57e3ed5903027748a8b3222622bebd10
16480
16722
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
16481
16723
  table_name: typing.Optional[builtins.str] = None,
16482
16724
  time_to_live_attribute: typing.Optional[builtins.str] = None,
16725
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
16483
16726
  ) -> None:
16484
16727
  """Type checking stubs"""
16485
16728
  pass
@@ -16499,6 +16742,7 @@ def _typecheckingstub__9ea47b003cdb497ff620f1410260696f97dbb2b00fa8558235f23771f
16499
16742
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
16500
16743
  table_name: typing.Optional[builtins.str] = None,
16501
16744
  time_to_live_attribute: typing.Optional[builtins.str] = None,
16745
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
16502
16746
  contributor_insights: typing.Optional[builtins.bool] = None,
16503
16747
  deletion_protection: typing.Optional[builtins.bool] = None,
16504
16748
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
@@ -16573,6 +16817,14 @@ def _typecheckingstub__c4ff699feae0a38c5f10e2a5642e047a70a3e0efba02b8c1f70810eb7
16573
16817
  """Type checking stubs"""
16574
16818
  pass
16575
16819
 
16820
+ def _typecheckingstub__ea3f07e08dc05c8371a6d7c241d22bd88e7f4c275408314c3875915b1c8db940(
16821
+ *,
16822
+ read_units_per_second: typing.Optional[jsii.Number] = None,
16823
+ write_units_per_second: typing.Optional[jsii.Number] = None,
16824
+ ) -> None:
16825
+ """Type checking stubs"""
16826
+ pass
16827
+
16576
16828
  def _typecheckingstub__7f586bf63a567e16bde337be791f392306be66abca1c4abb791989fb9dc7b4e2(
16577
16829
  *,
16578
16830
  index_name: builtins.str,
@@ -16584,6 +16836,7 @@ def _typecheckingstub__7f586bf63a567e16bde337be791f392306be66abca1c4abb791989fb9
16584
16836
  max_read_request_units: typing.Optional[jsii.Number] = None,
16585
16837
  max_write_request_units: typing.Optional[jsii.Number] = None,
16586
16838
  read_capacity: typing.Optional[jsii.Number] = None,
16839
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
16587
16840
  write_capacity: typing.Optional[jsii.Number] = None,
16588
16841
  ) -> None:
16589
16842
  """Type checking stubs"""
@@ -16599,6 +16852,7 @@ def _typecheckingstub__4d662ce35086830139f09f255840ae92cf556a93d47e96653c908cc7a
16599
16852
  max_write_request_units: typing.Optional[jsii.Number] = None,
16600
16853
  read_capacity: typing.Optional[Capacity] = None,
16601
16854
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
16855
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
16602
16856
  write_capacity: typing.Optional[Capacity] = None,
16603
16857
  ) -> None:
16604
16858
  """Type checking stubs"""
@@ -16650,6 +16904,7 @@ def _typecheckingstub__b92f0ed514f00b57a2a41d754e55fe495d22b05b0ad4711b80ce00457
16650
16904
  scope: _constructs_77d1e7e8.Construct,
16651
16905
  id: builtins.str,
16652
16906
  *,
16907
+ kinesis_precision_timestamp: typing.Optional[ApproximateCreationDateTimePrecision] = None,
16653
16908
  kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
16654
16909
  table_name: typing.Optional[builtins.str] = None,
16655
16910
  billing_mode: typing.Optional[BillingMode] = None,
@@ -16670,6 +16925,7 @@ def _typecheckingstub__b92f0ed514f00b57a2a41d754e55fe495d22b05b0ad4711b80ce00457
16670
16925
  table_class: typing.Optional[TableClass] = None,
16671
16926
  time_to_live_attribute: typing.Optional[builtins.str] = None,
16672
16927
  wait_for_replication_to_finish: typing.Optional[builtins.bool] = None,
16928
+ warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
16673
16929
  write_capacity: typing.Optional[jsii.Number] = None,
16674
16930
  partition_key: typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]],
16675
16931
  sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,