aws-cdk-lib 2.126.0__py3-none-any.whl → 2.127.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (69) hide show
  1. aws_cdk/__init__.py +0 -2
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.126.0.jsii.tgz → aws-cdk-lib@2.127.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +18 -6
  5. aws_cdk/aws_amazonmq/__init__.py +3 -2
  6. aws_cdk/aws_amplifyuibuilder/__init__.py +1212 -666
  7. aws_cdk/aws_apigateway/__init__.py +7 -3
  8. aws_cdk/aws_appconfig/__init__.py +108 -19
  9. aws_cdk/aws_appsync/__init__.py +43 -0
  10. aws_cdk/aws_autoscaling/__init__.py +37 -14
  11. aws_cdk/aws_cassandra/__init__.py +810 -4
  12. aws_cdk/aws_cloudfront/__init__.py +35 -37
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +21 -0
  14. aws_cdk/aws_codebuild/__init__.py +43 -3
  15. aws_cdk/aws_codecommit/__init__.py +1 -0
  16. aws_cdk/aws_codepipeline/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +11 -1
  18. aws_cdk/aws_codestarnotifications/__init__.py +24 -15
  19. aws_cdk/aws_cognito/__init__.py +180 -116
  20. aws_cdk/aws_datasync/__init__.py +8 -4
  21. aws_cdk/aws_dynamodb/__init__.py +80 -11
  22. aws_cdk/aws_ec2/__init__.py +207 -45
  23. aws_cdk/aws_ecs/__init__.py +171 -78
  24. aws_cdk/aws_ecs_patterns/__init__.py +24 -0
  25. aws_cdk/aws_efs/__init__.py +64 -8
  26. aws_cdk/aws_eks/__init__.py +52 -41
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +12 -9
  28. aws_cdk/aws_fis/__init__.py +32 -12
  29. aws_cdk/aws_fsx/__init__.py +61 -43
  30. aws_cdk/aws_glue/__init__.py +449 -0
  31. aws_cdk/aws_guardduty/__init__.py +0 -8
  32. aws_cdk/aws_iam/__init__.py +3 -3
  33. aws_cdk/aws_inspectorv2/__init__.py +989 -0
  34. aws_cdk/aws_internetmonitor/__init__.py +10 -12
  35. aws_cdk/aws_iot/__init__.py +112 -0
  36. aws_cdk/aws_iotwireless/__init__.py +32 -19
  37. aws_cdk/aws_lambda/__init__.py +129 -32
  38. aws_cdk/aws_lambda_event_sources/__init__.py +95 -4
  39. aws_cdk/aws_lambda_nodejs/__init__.py +21 -0
  40. aws_cdk/aws_location/__init__.py +8 -2
  41. aws_cdk/aws_logs/__init__.py +7 -3
  42. aws_cdk/aws_networkmanager/__init__.py +1 -1
  43. aws_cdk/aws_opensearchserverless/__init__.py +4 -4
  44. aws_cdk/aws_osis/__init__.py +13 -13
  45. aws_cdk/aws_personalize/__init__.py +1 -1
  46. aws_cdk/aws_pinpoint/__init__.py +5 -5
  47. aws_cdk/aws_pipes/__init__.py +7 -10
  48. aws_cdk/aws_rds/__init__.py +449 -8
  49. aws_cdk/aws_redshiftserverless/__init__.py +282 -0
  50. aws_cdk/aws_rolesanywhere/__init__.py +53 -41
  51. aws_cdk/aws_route53/__init__.py +282 -0
  52. aws_cdk/aws_s3/__init__.py +11 -6
  53. aws_cdk/aws_sagemaker/__init__.py +1398 -39
  54. aws_cdk/aws_sns/__init__.py +56 -13
  55. aws_cdk/aws_sqs/__init__.py +13 -10
  56. aws_cdk/aws_stepfunctions/__init__.py +3612 -1395
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +267 -181
  58. aws_cdk/aws_transfer/__init__.py +1 -1
  59. aws_cdk/aws_verifiedpermissions/__init__.py +55 -55
  60. aws_cdk/aws_workspacesweb/__init__.py +6 -3
  61. aws_cdk/cx_api/__init__.py +17 -0
  62. aws_cdk/triggers/__init__.py +21 -0
  63. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/METADATA +1 -1
  64. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/RECORD +68 -69
  65. aws_cdk/aws_ssmguiconnect/__init__.py +0 -540
  66. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/top_level.txt +0 -0
@@ -215,7 +215,7 @@ class CfnKeyspace(
215
215
  region_list: typing.Optional[typing.Sequence[builtins.str]] = None,
216
216
  replication_strategy: typing.Optional[builtins.str] = None,
217
217
  ) -> None:
218
- '''You can use ``ReplicationSpecification`` to configure the ``ReplicationStrategy`` of a keyspace in Amazon Keyspaces.
218
+ '''You can use ``ReplicationSpecification`` to configure the ``ReplicationStrategy`` of a keyspace in Amazon Keyspaces .
219
219
 
220
220
  The ``ReplicationSpecification`` property is ``CreateOnly`` and cannot be changed after the keyspace has been created. This property applies automatically to all tables in the keyspace.
221
221
 
@@ -424,6 +424,38 @@ class CfnTable(
424
424
  )],
425
425
 
426
426
  # the properties below are optional
427
+ auto_scaling_specifications=cassandra.CfnTable.AutoScalingSpecificationProperty(
428
+ read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
429
+ auto_scaling_disabled=False,
430
+ maximum_units=123,
431
+ minimum_units=123,
432
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
433
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
434
+ target_value=123,
435
+
436
+ # the properties below are optional
437
+ disable_scale_in=False,
438
+ scale_in_cooldown=123,
439
+ scale_out_cooldown=123
440
+ )
441
+ )
442
+ ),
443
+ write_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
444
+ auto_scaling_disabled=False,
445
+ maximum_units=123,
446
+ minimum_units=123,
447
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
448
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
449
+ target_value=123,
450
+
451
+ # the properties below are optional
452
+ disable_scale_in=False,
453
+ scale_in_cooldown=123,
454
+ scale_out_cooldown=123
455
+ )
456
+ )
457
+ )
458
+ ),
427
459
  billing_mode=cassandra.CfnTable.BillingModeProperty(
428
460
  mode="mode",
429
461
 
@@ -455,6 +487,27 @@ class CfnTable(
455
487
  column_name="columnName",
456
488
  column_type="columnType"
457
489
  )],
490
+ replica_specifications=[cassandra.CfnTable.ReplicaSpecificationProperty(
491
+ region="region",
492
+
493
+ # the properties below are optional
494
+ read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
495
+ auto_scaling_disabled=False,
496
+ maximum_units=123,
497
+ minimum_units=123,
498
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
499
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
500
+ target_value=123,
501
+
502
+ # the properties below are optional
503
+ disable_scale_in=False,
504
+ scale_in_cooldown=123,
505
+ scale_out_cooldown=123
506
+ )
507
+ )
508
+ ),
509
+ read_capacity_units=123
510
+ )],
458
511
  table_name="tableName",
459
512
  tags=[CfnTag(
460
513
  key="key",
@@ -470,6 +523,7 @@ class CfnTable(
470
523
  *,
471
524
  keyspace_name: builtins.str,
472
525
  partition_key_columns: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ColumnProperty", typing.Dict[builtins.str, typing.Any]]]]],
526
+ auto_scaling_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.AutoScalingSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
473
527
  billing_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.BillingModeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
474
528
  client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
475
529
  clustering_key_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ClusteringKeyColumnProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -477,6 +531,7 @@ class CfnTable(
477
531
  encryption_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.EncryptionSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
478
532
  point_in_time_recovery_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
479
533
  regular_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ColumnProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
534
+ replica_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ReplicaSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
480
535
  table_name: typing.Optional[builtins.str] = None,
481
536
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
482
537
  ) -> None:
@@ -485,13 +540,15 @@ class CfnTable(
485
540
  :param id: Construct identifier for this resource (unique in its scope).
486
541
  :param keyspace_name: The name of the keyspace to create the table in. The keyspace must already exist.
487
542
  :param partition_key_columns: One or more columns that uniquely identify every row in the table. Every table must have a partition key.
543
+ :param auto_scaling_specifications: The optional auto scaling capacity settings for a table in provisioned capacity mode.
488
544
  :param billing_mode: The billing mode for the table, which determines how you'll be charged for reads and writes:. - *On-demand mode* (default) - You pay based on the actual reads and writes your application performs. - *Provisioned mode* - Lets you specify the number of reads and writes per second that you need for your application. If you don't specify a value for this property, then the table will use on-demand mode.
489
545
  :param client_side_timestamps_enabled: Enables client-side timestamps for the table. By default, the setting is disabled. You can enable client-side timestamps with the following option: - ``status: "enabled"`` After client-side timestamps are enabled for a table, you can't disable this setting.
490
546
  :param clustering_key_columns: One or more columns that determine how the table data is sorted.
491
547
  :param default_time_to_live: The default Time To Live (TTL) value for all rows in a table in seconds. The maximum configurable value is 630,720,000 seconds, which is the equivalent of 20 years. By default, the TTL value for a table is 0, which means data does not expire. For more information, see `Setting the default TTL value for a table <https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl>`_ in the *Amazon Keyspaces Developer Guide* .
492
- :param encryption_specification: The encryption at rest options for the table. - *AWS owned key* (default) - The key is owned by Amazon Keyspaces. - *Customer managed key* - The key is stored in your account and is created, owned, and managed by you. .. epigraph:: If you choose encryption with a customer managed key, you must specify a valid customer managed KMS key with permissions granted to Amazon Keyspaces. For more information, see `Encryption at rest in Amazon Keyspaces <https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html>`_ in the *Amazon Keyspaces Developer Guide* .
548
+ :param encryption_specification: The encryption at rest options for the table. - *AWS owned key* (default) - The key is owned by Amazon Keyspaces . - *Customer managed key* - The key is stored in your account and is created, owned, and managed by you. .. epigraph:: If you choose encryption with a customer managed key, you must specify a valid customer managed KMS key with permissions granted to Amazon Keyspaces. For more information, see `Encryption at rest in Amazon Keyspaces <https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html>`_ in the *Amazon Keyspaces Developer Guide* .
493
549
  :param point_in_time_recovery_enabled: Specifies if point-in-time recovery is enabled or disabled for the table. The options are ``PointInTimeRecoveryEnabled=true`` and ``PointInTimeRecoveryEnabled=false`` . If not specified, the default is ``PointInTimeRecoveryEnabled=false`` .
494
550
  :param regular_columns: One or more columns that are not part of the primary key - that is, columns that are *not* defined as partition key columns or clustering key columns. You can add regular columns to existing tables by adding them to the template.
551
+ :param replica_specifications: The AWS Region specific settings of a multi-Region table. For a multi-Region table, you can configure the table's read capacity differently per AWS Region. You can do this by configuring the following parameters. - ``region`` : The Region where these settings are applied. (Required) - ``readCapacityUnits`` : The provisioned read capacity units. (Optional) - ``readCapacityAutoScaling`` : The read capacity auto scaling settings for the table. (Optional)
495
552
  :param table_name: The name of the table to be created. The table name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the table name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . .. epigraph:: If you specify a name, you can't perform updates that require replacing this resource. You can perform updates that require no interruption or some interruption. If you must replace the resource, specify a new name. *Length constraints:* Minimum length of 3. Maximum length of 255. *Pattern:* ``^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$``
496
553
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
497
554
  '''
@@ -502,6 +559,7 @@ class CfnTable(
502
559
  props = CfnTableProps(
503
560
  keyspace_name=keyspace_name,
504
561
  partition_key_columns=partition_key_columns,
562
+ auto_scaling_specifications=auto_scaling_specifications,
505
563
  billing_mode=billing_mode,
506
564
  client_side_timestamps_enabled=client_side_timestamps_enabled,
507
565
  clustering_key_columns=clustering_key_columns,
@@ -509,6 +567,7 @@ class CfnTable(
509
567
  encryption_specification=encryption_specification,
510
568
  point_in_time_recovery_enabled=point_in_time_recovery_enabled,
511
569
  regular_columns=regular_columns,
570
+ replica_specifications=replica_specifications,
512
571
  table_name=table_name,
513
572
  tags=tags,
514
573
  )
@@ -587,6 +646,24 @@ class CfnTable(
587
646
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
588
647
  jsii.set(self, "partitionKeyColumns", value)
589
648
 
649
+ @builtins.property
650
+ @jsii.member(jsii_name="autoScalingSpecifications")
651
+ def auto_scaling_specifications(
652
+ self,
653
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSpecificationProperty"]]:
654
+ '''The optional auto scaling capacity settings for a table in provisioned capacity mode.'''
655
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSpecificationProperty"]], jsii.get(self, "autoScalingSpecifications"))
656
+
657
+ @auto_scaling_specifications.setter
658
+ def auto_scaling_specifications(
659
+ self,
660
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSpecificationProperty"]],
661
+ ) -> None:
662
+ if __debug__:
663
+ type_hints = typing.get_type_hints(_typecheckingstub__3195a4a3cd982603dec093989818a9b10de0aea3609d08a8cb43f320ba2a2228)
664
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
665
+ jsii.set(self, "autoScalingSpecifications", value)
666
+
590
667
  @builtins.property
591
668
  @jsii.member(jsii_name="billingMode")
592
669
  def billing_mode(
@@ -708,6 +785,24 @@ class CfnTable(
708
785
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
709
786
  jsii.set(self, "regularColumns", value)
710
787
 
788
+ @builtins.property
789
+ @jsii.member(jsii_name="replicaSpecifications")
790
+ def replica_specifications(
791
+ self,
792
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.ReplicaSpecificationProperty"]]]]:
793
+ '''The AWS Region specific settings of a multi-Region table.'''
794
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.ReplicaSpecificationProperty"]]]], jsii.get(self, "replicaSpecifications"))
795
+
796
+ @replica_specifications.setter
797
+ def replica_specifications(
798
+ self,
799
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.ReplicaSpecificationProperty"]]]],
800
+ ) -> None:
801
+ if __debug__:
802
+ type_hints = typing.get_type_hints(_typecheckingstub__5733bf7940cc5b4e0c443c9b292d6c2f440a7bede5a0f631d4c1f894170bff53)
803
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
804
+ jsii.set(self, "replicaSpecifications", value)
805
+
711
806
  @builtins.property
712
807
  @jsii.member(jsii_name="tableName")
713
808
  def table_name(self) -> typing.Optional[builtins.str]:
@@ -734,6 +829,247 @@ class CfnTable(
734
829
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
735
830
  jsii.set(self, "tagsRaw", value)
736
831
 
832
+ @jsii.data_type(
833
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnTable.AutoScalingSettingProperty",
834
+ jsii_struct_bases=[],
835
+ name_mapping={
836
+ "auto_scaling_disabled": "autoScalingDisabled",
837
+ "maximum_units": "maximumUnits",
838
+ "minimum_units": "minimumUnits",
839
+ "scaling_policy": "scalingPolicy",
840
+ },
841
+ )
842
+ class AutoScalingSettingProperty:
843
+ def __init__(
844
+ self,
845
+ *,
846
+ auto_scaling_disabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
847
+ maximum_units: typing.Optional[jsii.Number] = None,
848
+ minimum_units: typing.Optional[jsii.Number] = None,
849
+ scaling_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ScalingPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
850
+ ) -> None:
851
+ '''The optional auto scaling settings for a table with provisioned throughput capacity.
852
+
853
+ To turn on auto scaling for a table in ``throughputMode:PROVISIONED`` , you must specify the following parameters.
854
+
855
+ Configure the minimum and maximum capacity units. The auto scaling policy ensures that capacity never goes below the minimum or above the maximum range.
856
+
857
+ - ``minimumUnits`` : The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
858
+ - ``maximumUnits`` : The maximum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
859
+ - ``scalingPolicy`` : Amazon Keyspaces supports the ``target tracking`` scaling policy. The auto scaling target is a percentage of the provisioned capacity of the table.
860
+
861
+ For more information, see `Managing throughput capacity automatically with Amazon Keyspaces auto scaling <https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html>`_ in the *Amazon Keyspaces Developer Guide* .
862
+
863
+ :param auto_scaling_disabled: This optional parameter enables auto scaling for the table if set to ``false`` . Default: - false
864
+ :param maximum_units: Manage costs by specifying the maximum amount of throughput to provision. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
865
+ :param minimum_units: The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
866
+ :param scaling_policy: Amazon Keyspaces supports the ``target tracking`` auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.
867
+
868
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingsetting.html
869
+ :exampleMetadata: fixture=_generated
870
+
871
+ Example::
872
+
873
+ # The code below shows an example of how to instantiate this type.
874
+ # The values are placeholders you should change.
875
+ from aws_cdk import aws_cassandra as cassandra
876
+
877
+ auto_scaling_setting_property = cassandra.CfnTable.AutoScalingSettingProperty(
878
+ auto_scaling_disabled=False,
879
+ maximum_units=123,
880
+ minimum_units=123,
881
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
882
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
883
+ target_value=123,
884
+
885
+ # the properties below are optional
886
+ disable_scale_in=False,
887
+ scale_in_cooldown=123,
888
+ scale_out_cooldown=123
889
+ )
890
+ )
891
+ )
892
+ '''
893
+ if __debug__:
894
+ type_hints = typing.get_type_hints(_typecheckingstub__2cb141a7c7ed6b1d9a39228641414ac62a7d79767996c73fe4911e45faa92ffd)
895
+ check_type(argname="argument auto_scaling_disabled", value=auto_scaling_disabled, expected_type=type_hints["auto_scaling_disabled"])
896
+ check_type(argname="argument maximum_units", value=maximum_units, expected_type=type_hints["maximum_units"])
897
+ check_type(argname="argument minimum_units", value=minimum_units, expected_type=type_hints["minimum_units"])
898
+ check_type(argname="argument scaling_policy", value=scaling_policy, expected_type=type_hints["scaling_policy"])
899
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
900
+ if auto_scaling_disabled is not None:
901
+ self._values["auto_scaling_disabled"] = auto_scaling_disabled
902
+ if maximum_units is not None:
903
+ self._values["maximum_units"] = maximum_units
904
+ if minimum_units is not None:
905
+ self._values["minimum_units"] = minimum_units
906
+ if scaling_policy is not None:
907
+ self._values["scaling_policy"] = scaling_policy
908
+
909
+ @builtins.property
910
+ def auto_scaling_disabled(
911
+ self,
912
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
913
+ '''This optional parameter enables auto scaling for the table if set to ``false`` .
914
+
915
+ :default: - false
916
+
917
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingsetting.html#cfn-cassandra-table-autoscalingsetting-autoscalingdisabled
918
+ '''
919
+ result = self._values.get("auto_scaling_disabled")
920
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
921
+
922
+ @builtins.property
923
+ def maximum_units(self) -> typing.Optional[jsii.Number]:
924
+ '''Manage costs by specifying the maximum amount of throughput to provision.
925
+
926
+ The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
927
+
928
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingsetting.html#cfn-cassandra-table-autoscalingsetting-maximumunits
929
+ '''
930
+ result = self._values.get("maximum_units")
931
+ return typing.cast(typing.Optional[jsii.Number], result)
932
+
933
+ @builtins.property
934
+ def minimum_units(self) -> typing.Optional[jsii.Number]:
935
+ '''The minimum level of throughput the table should always be ready to support.
936
+
937
+ The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
938
+
939
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingsetting.html#cfn-cassandra-table-autoscalingsetting-minimumunits
940
+ '''
941
+ result = self._values.get("minimum_units")
942
+ return typing.cast(typing.Optional[jsii.Number], result)
943
+
944
+ @builtins.property
945
+ def scaling_policy(
946
+ self,
947
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ScalingPolicyProperty"]]:
948
+ '''Amazon Keyspaces supports the ``target tracking`` auto scaling policy.
949
+
950
+ With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.
951
+
952
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingsetting.html#cfn-cassandra-table-autoscalingsetting-scalingpolicy
953
+ '''
954
+ result = self._values.get("scaling_policy")
955
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ScalingPolicyProperty"]], result)
956
+
957
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
958
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
959
+
960
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
961
+ return not (rhs == self)
962
+
963
+ def __repr__(self) -> str:
964
+ return "AutoScalingSettingProperty(%s)" % ", ".join(
965
+ k + "=" + repr(v) for k, v in self._values.items()
966
+ )
967
+
968
+ @jsii.data_type(
969
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnTable.AutoScalingSpecificationProperty",
970
+ jsii_struct_bases=[],
971
+ name_mapping={
972
+ "read_capacity_auto_scaling": "readCapacityAutoScaling",
973
+ "write_capacity_auto_scaling": "writeCapacityAutoScaling",
974
+ },
975
+ )
976
+ class AutoScalingSpecificationProperty:
977
+ def __init__(
978
+ self,
979
+ *,
980
+ read_capacity_auto_scaling: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.AutoScalingSettingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
981
+ write_capacity_auto_scaling: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.AutoScalingSettingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
982
+ ) -> None:
983
+ '''The optional auto scaling capacity settings for a table in provisioned capacity mode.
984
+
985
+ :param read_capacity_auto_scaling: The auto scaling settings for the table's read capacity.
986
+ :param write_capacity_auto_scaling: The auto scaling settings for the table's write capacity.
987
+
988
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingspecification.html
989
+ :exampleMetadata: fixture=_generated
990
+
991
+ Example::
992
+
993
+ # The code below shows an example of how to instantiate this type.
994
+ # The values are placeholders you should change.
995
+ from aws_cdk import aws_cassandra as cassandra
996
+
997
+ auto_scaling_specification_property = cassandra.CfnTable.AutoScalingSpecificationProperty(
998
+ read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
999
+ auto_scaling_disabled=False,
1000
+ maximum_units=123,
1001
+ minimum_units=123,
1002
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
1003
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1004
+ target_value=123,
1005
+
1006
+ # the properties below are optional
1007
+ disable_scale_in=False,
1008
+ scale_in_cooldown=123,
1009
+ scale_out_cooldown=123
1010
+ )
1011
+ )
1012
+ ),
1013
+ write_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
1014
+ auto_scaling_disabled=False,
1015
+ maximum_units=123,
1016
+ minimum_units=123,
1017
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
1018
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1019
+ target_value=123,
1020
+
1021
+ # the properties below are optional
1022
+ disable_scale_in=False,
1023
+ scale_in_cooldown=123,
1024
+ scale_out_cooldown=123
1025
+ )
1026
+ )
1027
+ )
1028
+ )
1029
+ '''
1030
+ if __debug__:
1031
+ type_hints = typing.get_type_hints(_typecheckingstub__47c7d8efc57f0cc9c23ff9d319e31aa9f85ff8366a45b688f508d822b11eadd4)
1032
+ check_type(argname="argument read_capacity_auto_scaling", value=read_capacity_auto_scaling, expected_type=type_hints["read_capacity_auto_scaling"])
1033
+ check_type(argname="argument write_capacity_auto_scaling", value=write_capacity_auto_scaling, expected_type=type_hints["write_capacity_auto_scaling"])
1034
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1035
+ if read_capacity_auto_scaling is not None:
1036
+ self._values["read_capacity_auto_scaling"] = read_capacity_auto_scaling
1037
+ if write_capacity_auto_scaling is not None:
1038
+ self._values["write_capacity_auto_scaling"] = write_capacity_auto_scaling
1039
+
1040
+ @builtins.property
1041
+ def read_capacity_auto_scaling(
1042
+ self,
1043
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSettingProperty"]]:
1044
+ '''The auto scaling settings for the table's read capacity.
1045
+
1046
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingspecification.html#cfn-cassandra-table-autoscalingspecification-readcapacityautoscaling
1047
+ '''
1048
+ result = self._values.get("read_capacity_auto_scaling")
1049
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSettingProperty"]], result)
1050
+
1051
+ @builtins.property
1052
+ def write_capacity_auto_scaling(
1053
+ self,
1054
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSettingProperty"]]:
1055
+ '''The auto scaling settings for the table's write capacity.
1056
+
1057
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingspecification.html#cfn-cassandra-table-autoscalingspecification-writecapacityautoscaling
1058
+ '''
1059
+ result = self._values.get("write_capacity_auto_scaling")
1060
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSettingProperty"]], result)
1061
+
1062
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1063
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1064
+
1065
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1066
+ return not (rhs == self)
1067
+
1068
+ def __repr__(self) -> str:
1069
+ return "AutoScalingSpecificationProperty(%s)" % ", ".join(
1070
+ k + "=" + repr(v) for k, v in self._values.items()
1071
+ )
1072
+
737
1073
  @jsii.data_type(
738
1074
  jsii_type="aws-cdk-lib.aws_cassandra.CfnTable.BillingModeProperty",
739
1075
  jsii_struct_bases=[],
@@ -925,6 +1261,11 @@ class CfnTable(
925
1261
  ) -> None:
926
1262
  '''The name and data type of an individual column in a table.
927
1263
 
1264
+ In addition to the data type, you can also use the following two keywords:
1265
+
1266
+ - ``STATIC`` if the table has a clustering column. Static columns store values that are shared by all rows in the same partition.
1267
+ - ``FROZEN`` for collection data types. In frozen collections the values of the collection are serialized into a single immutable value, and Amazon Keyspaces treats them like a ``BLOB`` .
1268
+
928
1269
  :param column_name: The name of the column. For more information, see `Identifiers <https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.elements.identifier>`_ in the *Amazon Keyspaces Developer Guide* .
929
1270
  :param column_type: The data type of the column. For more information, see `Data types <https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types>`_ in the *Amazon Keyspaces Developer Guide* .
930
1271
 
@@ -1151,6 +1492,318 @@ class CfnTable(
1151
1492
  k + "=" + repr(v) for k, v in self._values.items()
1152
1493
  )
1153
1494
 
1495
+ @jsii.data_type(
1496
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnTable.ReplicaSpecificationProperty",
1497
+ jsii_struct_bases=[],
1498
+ name_mapping={
1499
+ "region": "region",
1500
+ "read_capacity_auto_scaling": "readCapacityAutoScaling",
1501
+ "read_capacity_units": "readCapacityUnits",
1502
+ },
1503
+ )
1504
+ class ReplicaSpecificationProperty:
1505
+ def __init__(
1506
+ self,
1507
+ *,
1508
+ region: builtins.str,
1509
+ read_capacity_auto_scaling: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.AutoScalingSettingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1510
+ read_capacity_units: typing.Optional[jsii.Number] = None,
1511
+ ) -> None:
1512
+ '''The AWS Region specific settings of a multi-Region table.
1513
+
1514
+ For a multi-Region table, you can configure the table's read capacity differently per AWS Region. You can do this by configuring the following parameters.
1515
+
1516
+ - ``region`` : The Region where these settings are applied. (Required)
1517
+ - ``readCapacityUnits`` : The provisioned read capacity units. (Optional)
1518
+ - ``readCapacityAutoScaling`` : The read capacity auto scaling settings for the table. (Optional)
1519
+
1520
+ :param region: The AWS Region.
1521
+ :param read_capacity_auto_scaling: The read capacity auto scaling settings for the multi-Region table in the specified AWS Region.
1522
+ :param read_capacity_units: The provisioned read capacity units for the multi-Region table in the specified AWS Region.
1523
+
1524
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-replicaspecification.html
1525
+ :exampleMetadata: fixture=_generated
1526
+
1527
+ Example::
1528
+
1529
+ # The code below shows an example of how to instantiate this type.
1530
+ # The values are placeholders you should change.
1531
+ from aws_cdk import aws_cassandra as cassandra
1532
+
1533
+ replica_specification_property = cassandra.CfnTable.ReplicaSpecificationProperty(
1534
+ region="region",
1535
+
1536
+ # the properties below are optional
1537
+ read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
1538
+ auto_scaling_disabled=False,
1539
+ maximum_units=123,
1540
+ minimum_units=123,
1541
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
1542
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1543
+ target_value=123,
1544
+
1545
+ # the properties below are optional
1546
+ disable_scale_in=False,
1547
+ scale_in_cooldown=123,
1548
+ scale_out_cooldown=123
1549
+ )
1550
+ )
1551
+ ),
1552
+ read_capacity_units=123
1553
+ )
1554
+ '''
1555
+ if __debug__:
1556
+ type_hints = typing.get_type_hints(_typecheckingstub__06993df19646af34c044f18b07ace5cd635a3e192224fc5b9277509c659097ac)
1557
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
1558
+ check_type(argname="argument read_capacity_auto_scaling", value=read_capacity_auto_scaling, expected_type=type_hints["read_capacity_auto_scaling"])
1559
+ check_type(argname="argument read_capacity_units", value=read_capacity_units, expected_type=type_hints["read_capacity_units"])
1560
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1561
+ "region": region,
1562
+ }
1563
+ if read_capacity_auto_scaling is not None:
1564
+ self._values["read_capacity_auto_scaling"] = read_capacity_auto_scaling
1565
+ if read_capacity_units is not None:
1566
+ self._values["read_capacity_units"] = read_capacity_units
1567
+
1568
+ @builtins.property
1569
+ def region(self) -> builtins.str:
1570
+ '''The AWS Region.
1571
+
1572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-replicaspecification.html#cfn-cassandra-table-replicaspecification-region
1573
+ '''
1574
+ result = self._values.get("region")
1575
+ assert result is not None, "Required property 'region' is missing"
1576
+ return typing.cast(builtins.str, result)
1577
+
1578
+ @builtins.property
1579
+ def read_capacity_auto_scaling(
1580
+ self,
1581
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSettingProperty"]]:
1582
+ '''The read capacity auto scaling settings for the multi-Region table in the specified AWS Region.
1583
+
1584
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-replicaspecification.html#cfn-cassandra-table-replicaspecification-readcapacityautoscaling
1585
+ '''
1586
+ result = self._values.get("read_capacity_auto_scaling")
1587
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.AutoScalingSettingProperty"]], result)
1588
+
1589
+ @builtins.property
1590
+ def read_capacity_units(self) -> typing.Optional[jsii.Number]:
1591
+ '''The provisioned read capacity units for the multi-Region table in the specified AWS Region.
1592
+
1593
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-replicaspecification.html#cfn-cassandra-table-replicaspecification-readcapacityunits
1594
+ '''
1595
+ result = self._values.get("read_capacity_units")
1596
+ return typing.cast(typing.Optional[jsii.Number], result)
1597
+
1598
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1599
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1600
+
1601
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1602
+ return not (rhs == self)
1603
+
1604
+ def __repr__(self) -> str:
1605
+ return "ReplicaSpecificationProperty(%s)" % ", ".join(
1606
+ k + "=" + repr(v) for k, v in self._values.items()
1607
+ )
1608
+
1609
+ @jsii.data_type(
1610
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnTable.ScalingPolicyProperty",
1611
+ jsii_struct_bases=[],
1612
+ name_mapping={
1613
+ "target_tracking_scaling_policy_configuration": "targetTrackingScalingPolicyConfiguration",
1614
+ },
1615
+ )
1616
+ class ScalingPolicyProperty:
1617
+ def __init__(
1618
+ self,
1619
+ *,
1620
+ target_tracking_scaling_policy_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.TargetTrackingScalingPolicyConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1621
+ ) -> None:
1622
+ '''Amazon Keyspaces supports the ``target tracking`` auto scaling policy.
1623
+
1624
+ With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.
1625
+
1626
+ :param target_tracking_scaling_policy_configuration: The auto scaling policy that scales a table based on the ratio of consumed to provisioned capacity.
1627
+
1628
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-scalingpolicy.html
1629
+ :exampleMetadata: fixture=_generated
1630
+
1631
+ Example::
1632
+
1633
+ # The code below shows an example of how to instantiate this type.
1634
+ # The values are placeholders you should change.
1635
+ from aws_cdk import aws_cassandra as cassandra
1636
+
1637
+ scaling_policy_property = cassandra.CfnTable.ScalingPolicyProperty(
1638
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1639
+ target_value=123,
1640
+
1641
+ # the properties below are optional
1642
+ disable_scale_in=False,
1643
+ scale_in_cooldown=123,
1644
+ scale_out_cooldown=123
1645
+ )
1646
+ )
1647
+ '''
1648
+ if __debug__:
1649
+ type_hints = typing.get_type_hints(_typecheckingstub__67fdfae50d59915fee6d91803c13e24de12b1573e762d8de76bc0cbeaba9a2d8)
1650
+ check_type(argname="argument target_tracking_scaling_policy_configuration", value=target_tracking_scaling_policy_configuration, expected_type=type_hints["target_tracking_scaling_policy_configuration"])
1651
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1652
+ if target_tracking_scaling_policy_configuration is not None:
1653
+ self._values["target_tracking_scaling_policy_configuration"] = target_tracking_scaling_policy_configuration
1654
+
1655
+ @builtins.property
1656
+ def target_tracking_scaling_policy_configuration(
1657
+ self,
1658
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.TargetTrackingScalingPolicyConfigurationProperty"]]:
1659
+ '''The auto scaling policy that scales a table based on the ratio of consumed to provisioned capacity.
1660
+
1661
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-scalingpolicy.html#cfn-cassandra-table-scalingpolicy-targettrackingscalingpolicyconfiguration
1662
+ '''
1663
+ result = self._values.get("target_tracking_scaling_policy_configuration")
1664
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.TargetTrackingScalingPolicyConfigurationProperty"]], result)
1665
+
1666
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1667
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1668
+
1669
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1670
+ return not (rhs == self)
1671
+
1672
+ def __repr__(self) -> str:
1673
+ return "ScalingPolicyProperty(%s)" % ", ".join(
1674
+ k + "=" + repr(v) for k, v in self._values.items()
1675
+ )
1676
+
1677
+ @jsii.data_type(
1678
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty",
1679
+ jsii_struct_bases=[],
1680
+ name_mapping={
1681
+ "target_value": "targetValue",
1682
+ "disable_scale_in": "disableScaleIn",
1683
+ "scale_in_cooldown": "scaleInCooldown",
1684
+ "scale_out_cooldown": "scaleOutCooldown",
1685
+ },
1686
+ )
1687
+ class TargetTrackingScalingPolicyConfigurationProperty:
1688
+ def __init__(
1689
+ self,
1690
+ *,
1691
+ target_value: jsii.Number,
1692
+ disable_scale_in: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1693
+ scale_in_cooldown: typing.Optional[jsii.Number] = None,
1694
+ scale_out_cooldown: typing.Optional[jsii.Number] = None,
1695
+ ) -> None:
1696
+ '''Amazon Keyspaces supports the ``target tracking`` auto scaling policy for a provisioned table.
1697
+
1698
+ This policy scales a table based on the ratio of consumed to provisioned capacity. The auto scaling target is a percentage of the provisioned capacity of the table.
1699
+
1700
+ - ``targetTrackingScalingPolicyConfiguration`` : To define the target tracking policy, you must define the target value.
1701
+ - ``targetValue`` : The target utilization rate of the table. Amazon Keyspaces auto scaling ensures that the ratio of consumed capacity to provisioned capacity stays at or near this value. You define ``targetValue`` as a percentage. A ``double`` between 20 and 90. (Required)
1702
+ - ``disableScaleIn`` : A ``boolean`` that specifies if ``scale-in`` is disabled or enabled for the table. This parameter is disabled by default. To turn on ``scale-in`` , set the ``boolean`` value to ``FALSE`` . This means that capacity for a table can be automatically scaled down on your behalf. (Optional)
1703
+ - ``scaleInCooldown`` : A cooldown period in seconds between scaling activities that lets the table stabilize before another scale in activity starts. If no value is provided, the default is 0. (Optional)
1704
+ - ``scaleOutCooldown`` : A cooldown period in seconds between scaling activities that lets the table stabilize before another scale out activity starts. If no value is provided, the default is 0. (Optional)
1705
+
1706
+ :param target_value: Specifies the target value for the target tracking auto scaling policy. Amazon Keyspaces auto scaling scales up capacity automatically when traffic exceeds this target utilization rate, and then back down when it falls below the target. This ensures that the ratio of consumed capacity to provisioned capacity stays at or near this value. You define ``targetValue`` as a percentage. An ``integer`` between 20 and 90.
1707
+ :param disable_scale_in: Specifies if ``scale-in`` is enabled. When auto scaling automatically decreases capacity for a table, the table *scales in* . When scaling policies are set, they can't scale in the table lower than its minimum capacity.
1708
+ :param scale_in_cooldown: Specifies a ``scale-in`` cool down period. A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts. Default: - 0
1709
+ :param scale_out_cooldown: Specifies a scale out cool down period. A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts. Default: - 0
1710
+
1711
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration.html
1712
+ :exampleMetadata: fixture=_generated
1713
+
1714
+ Example::
1715
+
1716
+ # The code below shows an example of how to instantiate this type.
1717
+ # The values are placeholders you should change.
1718
+ from aws_cdk import aws_cassandra as cassandra
1719
+
1720
+ target_tracking_scaling_policy_configuration_property = cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1721
+ target_value=123,
1722
+
1723
+ # the properties below are optional
1724
+ disable_scale_in=False,
1725
+ scale_in_cooldown=123,
1726
+ scale_out_cooldown=123
1727
+ )
1728
+ '''
1729
+ if __debug__:
1730
+ type_hints = typing.get_type_hints(_typecheckingstub__23200b02c7e7d1fd9b0336257d7f6dd749b95e0adc13464370ca6af1b666da1c)
1731
+ check_type(argname="argument target_value", value=target_value, expected_type=type_hints["target_value"])
1732
+ check_type(argname="argument disable_scale_in", value=disable_scale_in, expected_type=type_hints["disable_scale_in"])
1733
+ check_type(argname="argument scale_in_cooldown", value=scale_in_cooldown, expected_type=type_hints["scale_in_cooldown"])
1734
+ check_type(argname="argument scale_out_cooldown", value=scale_out_cooldown, expected_type=type_hints["scale_out_cooldown"])
1735
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1736
+ "target_value": target_value,
1737
+ }
1738
+ if disable_scale_in is not None:
1739
+ self._values["disable_scale_in"] = disable_scale_in
1740
+ if scale_in_cooldown is not None:
1741
+ self._values["scale_in_cooldown"] = scale_in_cooldown
1742
+ if scale_out_cooldown is not None:
1743
+ self._values["scale_out_cooldown"] = scale_out_cooldown
1744
+
1745
+ @builtins.property
1746
+ def target_value(self) -> jsii.Number:
1747
+ '''Specifies the target value for the target tracking auto scaling policy.
1748
+
1749
+ Amazon Keyspaces auto scaling scales up capacity automatically when traffic exceeds this target utilization rate, and then back down when it falls below the target. This ensures that the ratio of consumed capacity to provisioned capacity stays at or near this value. You define ``targetValue`` as a percentage. An ``integer`` between 20 and 90.
1750
+
1751
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration.html#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-targetvalue
1752
+ '''
1753
+ result = self._values.get("target_value")
1754
+ assert result is not None, "Required property 'target_value' is missing"
1755
+ return typing.cast(jsii.Number, result)
1756
+
1757
+ @builtins.property
1758
+ def disable_scale_in(
1759
+ self,
1760
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1761
+ '''Specifies if ``scale-in`` is enabled.
1762
+
1763
+ When auto scaling automatically decreases capacity for a table, the table *scales in* . When scaling policies are set, they can't scale in the table lower than its minimum capacity.
1764
+
1765
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration.html#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-disablescalein
1766
+ '''
1767
+ result = self._values.get("disable_scale_in")
1768
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1769
+
1770
+ @builtins.property
1771
+ def scale_in_cooldown(self) -> typing.Optional[jsii.Number]:
1772
+ '''Specifies a ``scale-in`` cool down period.
1773
+
1774
+ A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts.
1775
+
1776
+ :default: - 0
1777
+
1778
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration.html#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleincooldown
1779
+ '''
1780
+ result = self._values.get("scale_in_cooldown")
1781
+ return typing.cast(typing.Optional[jsii.Number], result)
1782
+
1783
+ @builtins.property
1784
+ def scale_out_cooldown(self) -> typing.Optional[jsii.Number]:
1785
+ '''Specifies a scale out cool down period.
1786
+
1787
+ A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts.
1788
+
1789
+ :default: - 0
1790
+
1791
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration.html#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleoutcooldown
1792
+ '''
1793
+ result = self._values.get("scale_out_cooldown")
1794
+ return typing.cast(typing.Optional[jsii.Number], result)
1795
+
1796
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1797
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1798
+
1799
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1800
+ return not (rhs == self)
1801
+
1802
+ def __repr__(self) -> str:
1803
+ return "TargetTrackingScalingPolicyConfigurationProperty(%s)" % ", ".join(
1804
+ k + "=" + repr(v) for k, v in self._values.items()
1805
+ )
1806
+
1154
1807
 
1155
1808
  @jsii.data_type(
1156
1809
  jsii_type="aws-cdk-lib.aws_cassandra.CfnTableProps",
@@ -1158,6 +1811,7 @@ class CfnTable(
1158
1811
  name_mapping={
1159
1812
  "keyspace_name": "keyspaceName",
1160
1813
  "partition_key_columns": "partitionKeyColumns",
1814
+ "auto_scaling_specifications": "autoScalingSpecifications",
1161
1815
  "billing_mode": "billingMode",
1162
1816
  "client_side_timestamps_enabled": "clientSideTimestampsEnabled",
1163
1817
  "clustering_key_columns": "clusteringKeyColumns",
@@ -1165,6 +1819,7 @@ class CfnTable(
1165
1819
  "encryption_specification": "encryptionSpecification",
1166
1820
  "point_in_time_recovery_enabled": "pointInTimeRecoveryEnabled",
1167
1821
  "regular_columns": "regularColumns",
1822
+ "replica_specifications": "replicaSpecifications",
1168
1823
  "table_name": "tableName",
1169
1824
  "tags": "tags",
1170
1825
  },
@@ -1175,6 +1830,7 @@ class CfnTableProps:
1175
1830
  *,
1176
1831
  keyspace_name: builtins.str,
1177
1832
  partition_key_columns: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ColumnProperty, typing.Dict[builtins.str, typing.Any]]]]],
1833
+ auto_scaling_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.AutoScalingSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1178
1834
  billing_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.BillingModeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1179
1835
  client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1180
1836
  clustering_key_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ClusteringKeyColumnProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -1182,6 +1838,7 @@ class CfnTableProps:
1182
1838
  encryption_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.EncryptionSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1183
1839
  point_in_time_recovery_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1184
1840
  regular_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ColumnProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1841
+ replica_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ReplicaSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1185
1842
  table_name: typing.Optional[builtins.str] = None,
1186
1843
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1187
1844
  ) -> None:
@@ -1189,13 +1846,15 @@ class CfnTableProps:
1189
1846
 
1190
1847
  :param keyspace_name: The name of the keyspace to create the table in. The keyspace must already exist.
1191
1848
  :param partition_key_columns: One or more columns that uniquely identify every row in the table. Every table must have a partition key.
1849
+ :param auto_scaling_specifications: The optional auto scaling capacity settings for a table in provisioned capacity mode.
1192
1850
  :param billing_mode: The billing mode for the table, which determines how you'll be charged for reads and writes:. - *On-demand mode* (default) - You pay based on the actual reads and writes your application performs. - *Provisioned mode* - Lets you specify the number of reads and writes per second that you need for your application. If you don't specify a value for this property, then the table will use on-demand mode.
1193
1851
  :param client_side_timestamps_enabled: Enables client-side timestamps for the table. By default, the setting is disabled. You can enable client-side timestamps with the following option: - ``status: "enabled"`` After client-side timestamps are enabled for a table, you can't disable this setting.
1194
1852
  :param clustering_key_columns: One or more columns that determine how the table data is sorted.
1195
1853
  :param default_time_to_live: The default Time To Live (TTL) value for all rows in a table in seconds. The maximum configurable value is 630,720,000 seconds, which is the equivalent of 20 years. By default, the TTL value for a table is 0, which means data does not expire. For more information, see `Setting the default TTL value for a table <https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl>`_ in the *Amazon Keyspaces Developer Guide* .
1196
- :param encryption_specification: The encryption at rest options for the table. - *AWS owned key* (default) - The key is owned by Amazon Keyspaces. - *Customer managed key* - The key is stored in your account and is created, owned, and managed by you. .. epigraph:: If you choose encryption with a customer managed key, you must specify a valid customer managed KMS key with permissions granted to Amazon Keyspaces. For more information, see `Encryption at rest in Amazon Keyspaces <https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html>`_ in the *Amazon Keyspaces Developer Guide* .
1854
+ :param encryption_specification: The encryption at rest options for the table. - *AWS owned key* (default) - The key is owned by Amazon Keyspaces . - *Customer managed key* - The key is stored in your account and is created, owned, and managed by you. .. epigraph:: If you choose encryption with a customer managed key, you must specify a valid customer managed KMS key with permissions granted to Amazon Keyspaces. For more information, see `Encryption at rest in Amazon Keyspaces <https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html>`_ in the *Amazon Keyspaces Developer Guide* .
1197
1855
  :param point_in_time_recovery_enabled: Specifies if point-in-time recovery is enabled or disabled for the table. The options are ``PointInTimeRecoveryEnabled=true`` and ``PointInTimeRecoveryEnabled=false`` . If not specified, the default is ``PointInTimeRecoveryEnabled=false`` .
1198
1856
  :param regular_columns: One or more columns that are not part of the primary key - that is, columns that are *not* defined as partition key columns or clustering key columns. You can add regular columns to existing tables by adding them to the template.
1857
+ :param replica_specifications: The AWS Region specific settings of a multi-Region table. For a multi-Region table, you can configure the table's read capacity differently per AWS Region. You can do this by configuring the following parameters. - ``region`` : The Region where these settings are applied. (Required) - ``readCapacityUnits`` : The provisioned read capacity units. (Optional) - ``readCapacityAutoScaling`` : The read capacity auto scaling settings for the table. (Optional)
1199
1858
  :param table_name: The name of the table to be created. The table name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the table name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . .. epigraph:: If you specify a name, you can't perform updates that require replacing this resource. You can perform updates that require no interruption or some interruption. If you must replace the resource, specify a new name. *Length constraints:* Minimum length of 3. Maximum length of 255. *Pattern:* ``^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$``
1200
1859
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
1201
1860
 
@@ -1216,6 +1875,38 @@ class CfnTableProps:
1216
1875
  )],
1217
1876
 
1218
1877
  # the properties below are optional
1878
+ auto_scaling_specifications=cassandra.CfnTable.AutoScalingSpecificationProperty(
1879
+ read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
1880
+ auto_scaling_disabled=False,
1881
+ maximum_units=123,
1882
+ minimum_units=123,
1883
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
1884
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1885
+ target_value=123,
1886
+
1887
+ # the properties below are optional
1888
+ disable_scale_in=False,
1889
+ scale_in_cooldown=123,
1890
+ scale_out_cooldown=123
1891
+ )
1892
+ )
1893
+ ),
1894
+ write_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
1895
+ auto_scaling_disabled=False,
1896
+ maximum_units=123,
1897
+ minimum_units=123,
1898
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
1899
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1900
+ target_value=123,
1901
+
1902
+ # the properties below are optional
1903
+ disable_scale_in=False,
1904
+ scale_in_cooldown=123,
1905
+ scale_out_cooldown=123
1906
+ )
1907
+ )
1908
+ )
1909
+ ),
1219
1910
  billing_mode=cassandra.CfnTable.BillingModeProperty(
1220
1911
  mode="mode",
1221
1912
 
@@ -1247,6 +1938,27 @@ class CfnTableProps:
1247
1938
  column_name="columnName",
1248
1939
  column_type="columnType"
1249
1940
  )],
1941
+ replica_specifications=[cassandra.CfnTable.ReplicaSpecificationProperty(
1942
+ region="region",
1943
+
1944
+ # the properties below are optional
1945
+ read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
1946
+ auto_scaling_disabled=False,
1947
+ maximum_units=123,
1948
+ minimum_units=123,
1949
+ scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
1950
+ target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
1951
+ target_value=123,
1952
+
1953
+ # the properties below are optional
1954
+ disable_scale_in=False,
1955
+ scale_in_cooldown=123,
1956
+ scale_out_cooldown=123
1957
+ )
1958
+ )
1959
+ ),
1960
+ read_capacity_units=123
1961
+ )],
1250
1962
  table_name="tableName",
1251
1963
  tags=[CfnTag(
1252
1964
  key="key",
@@ -1258,6 +1970,7 @@ class CfnTableProps:
1258
1970
  type_hints = typing.get_type_hints(_typecheckingstub__bd1ff29b1ec22382a7c3d14031657668106b0fcd843c06a96897bcadf10ffa92)
1259
1971
  check_type(argname="argument keyspace_name", value=keyspace_name, expected_type=type_hints["keyspace_name"])
1260
1972
  check_type(argname="argument partition_key_columns", value=partition_key_columns, expected_type=type_hints["partition_key_columns"])
1973
+ check_type(argname="argument auto_scaling_specifications", value=auto_scaling_specifications, expected_type=type_hints["auto_scaling_specifications"])
1261
1974
  check_type(argname="argument billing_mode", value=billing_mode, expected_type=type_hints["billing_mode"])
1262
1975
  check_type(argname="argument client_side_timestamps_enabled", value=client_side_timestamps_enabled, expected_type=type_hints["client_side_timestamps_enabled"])
1263
1976
  check_type(argname="argument clustering_key_columns", value=clustering_key_columns, expected_type=type_hints["clustering_key_columns"])
@@ -1265,12 +1978,15 @@ class CfnTableProps:
1265
1978
  check_type(argname="argument encryption_specification", value=encryption_specification, expected_type=type_hints["encryption_specification"])
1266
1979
  check_type(argname="argument point_in_time_recovery_enabled", value=point_in_time_recovery_enabled, expected_type=type_hints["point_in_time_recovery_enabled"])
1267
1980
  check_type(argname="argument regular_columns", value=regular_columns, expected_type=type_hints["regular_columns"])
1981
+ check_type(argname="argument replica_specifications", value=replica_specifications, expected_type=type_hints["replica_specifications"])
1268
1982
  check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
1269
1983
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1270
1984
  self._values: typing.Dict[builtins.str, typing.Any] = {
1271
1985
  "keyspace_name": keyspace_name,
1272
1986
  "partition_key_columns": partition_key_columns,
1273
1987
  }
1988
+ if auto_scaling_specifications is not None:
1989
+ self._values["auto_scaling_specifications"] = auto_scaling_specifications
1274
1990
  if billing_mode is not None:
1275
1991
  self._values["billing_mode"] = billing_mode
1276
1992
  if client_side_timestamps_enabled is not None:
@@ -1285,6 +2001,8 @@ class CfnTableProps:
1285
2001
  self._values["point_in_time_recovery_enabled"] = point_in_time_recovery_enabled
1286
2002
  if regular_columns is not None:
1287
2003
  self._values["regular_columns"] = regular_columns
2004
+ if replica_specifications is not None:
2005
+ self._values["replica_specifications"] = replica_specifications
1288
2006
  if table_name is not None:
1289
2007
  self._values["table_name"] = table_name
1290
2008
  if tags is not None:
@@ -1316,6 +2034,17 @@ class CfnTableProps:
1316
2034
  assert result is not None, "Required property 'partition_key_columns' is missing"
1317
2035
  return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTable.ColumnProperty]]], result)
1318
2036
 
2037
+ @builtins.property
2038
+ def auto_scaling_specifications(
2039
+ self,
2040
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.AutoScalingSpecificationProperty]]:
2041
+ '''The optional auto scaling capacity settings for a table in provisioned capacity mode.
2042
+
2043
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-autoscalingspecifications
2044
+ '''
2045
+ result = self._values.get("auto_scaling_specifications")
2046
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.AutoScalingSpecificationProperty]], result)
2047
+
1319
2048
  @builtins.property
1320
2049
  def billing_mode(
1321
2050
  self,
@@ -1379,7 +2108,7 @@ class CfnTableProps:
1379
2108
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.EncryptionSpecificationProperty]]:
1380
2109
  '''The encryption at rest options for the table.
1381
2110
 
1382
- - *AWS owned key* (default) - The key is owned by Amazon Keyspaces.
2111
+ - *AWS owned key* (default) - The key is owned by Amazon Keyspaces .
1383
2112
  - *Customer managed key* - The key is stored in your account and is created, owned, and managed by you.
1384
2113
 
1385
2114
  .. epigraph::
@@ -1419,6 +2148,23 @@ class CfnTableProps:
1419
2148
  result = self._values.get("regular_columns")
1420
2149
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTable.ColumnProperty]]]], result)
1421
2150
 
2151
+ @builtins.property
2152
+ def replica_specifications(
2153
+ self,
2154
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTable.ReplicaSpecificationProperty]]]]:
2155
+ '''The AWS Region specific settings of a multi-Region table.
2156
+
2157
+ For a multi-Region table, you can configure the table's read capacity differently per AWS Region. You can do this by configuring the following parameters.
2158
+
2159
+ - ``region`` : The Region where these settings are applied. (Required)
2160
+ - ``readCapacityUnits`` : The provisioned read capacity units. (Optional)
2161
+ - ``readCapacityAutoScaling`` : The read capacity auto scaling settings for the table. (Optional)
2162
+
2163
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-replicaspecifications
2164
+ '''
2165
+ result = self._values.get("replica_specifications")
2166
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTable.ReplicaSpecificationProperty]]]], result)
2167
+
1422
2168
  @builtins.property
1423
2169
  def table_name(self) -> typing.Optional[builtins.str]:
1424
2170
  '''The name of the table to be created.
@@ -1533,6 +2279,7 @@ def _typecheckingstub__9d6fd025c7c0c8d4a27519b568ec6952b027c14ffb932a0cd5e53f0aa
1533
2279
  *,
1534
2280
  keyspace_name: builtins.str,
1535
2281
  partition_key_columns: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ColumnProperty, typing.Dict[builtins.str, typing.Any]]]]],
2282
+ auto_scaling_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.AutoScalingSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1536
2283
  billing_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.BillingModeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1537
2284
  client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1538
2285
  clustering_key_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ClusteringKeyColumnProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -1540,6 +2287,7 @@ def _typecheckingstub__9d6fd025c7c0c8d4a27519b568ec6952b027c14ffb932a0cd5e53f0aa
1540
2287
  encryption_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.EncryptionSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1541
2288
  point_in_time_recovery_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1542
2289
  regular_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ColumnProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2290
+ replica_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ReplicaSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1543
2291
  table_name: typing.Optional[builtins.str] = None,
1544
2292
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1545
2293
  ) -> None:
@@ -1570,6 +2318,12 @@ def _typecheckingstub__e1db183d8a51a33cc93b8d90f2611025ff7f3e6539e707de86fd9a507
1570
2318
  """Type checking stubs"""
1571
2319
  pass
1572
2320
 
2321
+ def _typecheckingstub__3195a4a3cd982603dec093989818a9b10de0aea3609d08a8cb43f320ba2a2228(
2322
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.AutoScalingSpecificationProperty]],
2323
+ ) -> None:
2324
+ """Type checking stubs"""
2325
+ pass
2326
+
1573
2327
  def _typecheckingstub__b2219a43361bf3ff1d1bf29e1b2907d75a53df3b7016d534579938eea5d4e91d(
1574
2328
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.BillingModeProperty]],
1575
2329
  ) -> None:
@@ -1612,6 +2366,12 @@ def _typecheckingstub__c15490d5659aeda79f13514b12c87f518d6de130270ffd24df4af663b
1612
2366
  """Type checking stubs"""
1613
2367
  pass
1614
2368
 
2369
+ def _typecheckingstub__5733bf7940cc5b4e0c443c9b292d6c2f440a7bede5a0f631d4c1f894170bff53(
2370
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTable.ReplicaSpecificationProperty]]]],
2371
+ ) -> None:
2372
+ """Type checking stubs"""
2373
+ pass
2374
+
1615
2375
  def _typecheckingstub__8e1536df40ced7d731dcea97d7afa1eab0ec4b34824d105a20130aa6fafe98ef(
1616
2376
  value: typing.Optional[builtins.str],
1617
2377
  ) -> None:
@@ -1624,6 +2384,24 @@ def _typecheckingstub__4224e4814f153e9978b91f35f9c02cfe00615e65fb97b060775097a1c
1624
2384
  """Type checking stubs"""
1625
2385
  pass
1626
2386
 
2387
+ def _typecheckingstub__2cb141a7c7ed6b1d9a39228641414ac62a7d79767996c73fe4911e45faa92ffd(
2388
+ *,
2389
+ auto_scaling_disabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2390
+ maximum_units: typing.Optional[jsii.Number] = None,
2391
+ minimum_units: typing.Optional[jsii.Number] = None,
2392
+ scaling_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2393
+ ) -> None:
2394
+ """Type checking stubs"""
2395
+ pass
2396
+
2397
+ def _typecheckingstub__47c7d8efc57f0cc9c23ff9d319e31aa9f85ff8366a45b688f508d822b11eadd4(
2398
+ *,
2399
+ read_capacity_auto_scaling: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.AutoScalingSettingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2400
+ write_capacity_auto_scaling: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.AutoScalingSettingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2401
+ ) -> None:
2402
+ """Type checking stubs"""
2403
+ pass
2404
+
1627
2405
  def _typecheckingstub__1b57c6da9515480ece2b86b6971f8563bcf0c49dab50c8c6e234c443b8c0f9a0(
1628
2406
  *,
1629
2407
  mode: builtins.str,
@@ -1664,10 +2442,37 @@ def _typecheckingstub__e82ecde232ad027f79eae23599756ec33659aabf2db7a5ba885d39917
1664
2442
  """Type checking stubs"""
1665
2443
  pass
1666
2444
 
2445
+ def _typecheckingstub__06993df19646af34c044f18b07ace5cd635a3e192224fc5b9277509c659097ac(
2446
+ *,
2447
+ region: builtins.str,
2448
+ read_capacity_auto_scaling: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.AutoScalingSettingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2449
+ read_capacity_units: typing.Optional[jsii.Number] = None,
2450
+ ) -> None:
2451
+ """Type checking stubs"""
2452
+ pass
2453
+
2454
+ def _typecheckingstub__67fdfae50d59915fee6d91803c13e24de12b1573e762d8de76bc0cbeaba9a2d8(
2455
+ *,
2456
+ target_tracking_scaling_policy_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.TargetTrackingScalingPolicyConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2457
+ ) -> None:
2458
+ """Type checking stubs"""
2459
+ pass
2460
+
2461
+ def _typecheckingstub__23200b02c7e7d1fd9b0336257d7f6dd749b95e0adc13464370ca6af1b666da1c(
2462
+ *,
2463
+ target_value: jsii.Number,
2464
+ disable_scale_in: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2465
+ scale_in_cooldown: typing.Optional[jsii.Number] = None,
2466
+ scale_out_cooldown: typing.Optional[jsii.Number] = None,
2467
+ ) -> None:
2468
+ """Type checking stubs"""
2469
+ pass
2470
+
1667
2471
  def _typecheckingstub__bd1ff29b1ec22382a7c3d14031657668106b0fcd843c06a96897bcadf10ffa92(
1668
2472
  *,
1669
2473
  keyspace_name: builtins.str,
1670
2474
  partition_key_columns: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ColumnProperty, typing.Dict[builtins.str, typing.Any]]]]],
2475
+ auto_scaling_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.AutoScalingSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1671
2476
  billing_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.BillingModeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1672
2477
  client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1673
2478
  clustering_key_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ClusteringKeyColumnProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -1675,6 +2480,7 @@ def _typecheckingstub__bd1ff29b1ec22382a7c3d14031657668106b0fcd843c06a96897bcadf
1675
2480
  encryption_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.EncryptionSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1676
2481
  point_in_time_recovery_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1677
2482
  regular_columns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ColumnProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2483
+ replica_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ReplicaSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1678
2484
  table_name: typing.Optional[builtins.str] = None,
1679
2485
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1680
2486
  ) -> None: