aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.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 (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -567,13 +567,16 @@ class CfnDBCluster(
567
567
  enable_cloudwatch_logs_exports=["enableCloudwatchLogsExports"],
568
568
  engine_version="engineVersion",
569
569
  kms_key_id="kmsKeyId",
570
+ manage_master_user_password=False,
570
571
  master_username="masterUsername",
571
572
  master_user_password="masterUserPassword",
573
+ master_user_secret_kms_key_id="masterUserSecretKmsKeyId",
572
574
  port=123,
573
575
  preferred_backup_window="preferredBackupWindow",
574
576
  preferred_maintenance_window="preferredMaintenanceWindow",
575
577
  restore_to_time="restoreToTime",
576
578
  restore_type="restoreType",
579
+ rotate_master_user_password=False,
577
580
  serverless_v2_scaling_configuration=docdb.CfnDBCluster.ServerlessV2ScalingConfigurationProperty(
578
581
  max_capacity=123,
579
582
  min_capacity=123
@@ -606,13 +609,16 @@ class CfnDBCluster(
606
609
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
607
610
  engine_version: typing.Optional[builtins.str] = None,
608
611
  kms_key_id: typing.Optional[builtins.str] = None,
612
+ manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
609
613
  master_username: typing.Optional[builtins.str] = None,
610
614
  master_user_password: typing.Optional[builtins.str] = None,
615
+ master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
611
616
  port: typing.Optional[jsii.Number] = None,
612
617
  preferred_backup_window: typing.Optional[builtins.str] = None,
613
618
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
614
619
  restore_to_time: typing.Optional[builtins.str] = None,
615
620
  restore_type: typing.Optional[builtins.str] = None,
621
+ rotate_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
616
622
  serverless_v2_scaling_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDBCluster.ServerlessV2ScalingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
617
623
  snapshot_identifier: typing.Optional[builtins.str] = None,
618
624
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
@@ -635,13 +641,16 @@ class CfnDBCluster(
635
641
  :param enable_cloudwatch_logs_exports: The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see `Auditing Amazon DocumentDB Events <https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html>`_ and `Profiling Amazon DocumentDB Operations <https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html>`_ .
636
642
  :param engine_version: The version number of the database engine to use. The ``--engine-version`` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version. Changing the ``EngineVersion`` will start an in-place engine version upgrade. Note that in-place engine version upgrade will cause downtime in the cluster. See `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ before starting an in-place engine version upgrade.
637
643
  :param kms_key_id: The AWS KMS key identifier for an encrypted cluster. The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key. If an encryption key is not specified in ``KmsKeyId`` : - If the ``StorageEncrypted`` parameter is ``true`` , Amazon DocumentDB uses your default encryption key. AWS KMS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .
644
+ :param manage_master_user_password:
638
645
  :param master_username: The name of the master user for the cluster. Constraints: - Must be from 1 to 63 letters or numbers. - The first character must be a letter. - Cannot be a reserved word for the chosen database engine.
639
646
  :param master_user_password: The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote ("), or the "at" symbol (@). Constraints: Must contain from 8 to 100 characters.
647
+ :param master_user_secret_kms_key_id:
640
648
  :param port: Specifies the port that the database engine is listening on.
641
649
  :param preferred_backup_window: The daily time range during which automated backups are created if automated backups are enabled using the ``BackupRetentionPeriod`` parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region . Constraints: - Must be in the format ``hh24:mi-hh24:mi`` . - Must be in Universal Coordinated Time (UTC). - Must not conflict with the preferred maintenance window. - Must be at least 30 minutes.
642
650
  :param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ``ddd:hh24:mi-ddd:hh24:mi`` The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.
643
651
  :param restore_to_time: The date and time to restore the cluster to. Valid values: A time in Universal Coordinated Time (UTC) format. Constraints: - Must be before the latest restorable time for the instance. - Must be specified if the ``UseLatestRestorableTime`` parameter is not provided. - Cannot be specified if the ``UseLatestRestorableTime`` parameter is ``true`` . - Cannot be specified if the ``RestoreType`` parameter is ``copy-on-write`` . Example: ``2015-03-07T23:45:00Z``
644
652
  :param restore_type: The type of restore to be performed. You can specify one of the following values:. - ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster. - ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster. Constraints: You can't specify ``copy-on-write`` if the engine version of the source DB cluster is earlier than 1.11. If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.
653
+ :param rotate_master_user_password:
645
654
  :param serverless_v2_scaling_configuration:
646
655
  :param snapshot_identifier: The identifier for the snapshot or cluster snapshot to restore from. You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot. Constraints: - Must match the identifier of an existing snapshot.
647
656
  :param source_db_cluster_identifier: The identifier of the source cluster from which to restore. Constraints: - Must match the identifier of an existing ``DBCluster`` .
@@ -666,13 +675,16 @@ class CfnDBCluster(
666
675
  enable_cloudwatch_logs_exports=enable_cloudwatch_logs_exports,
667
676
  engine_version=engine_version,
668
677
  kms_key_id=kms_key_id,
678
+ manage_master_user_password=manage_master_user_password,
669
679
  master_username=master_username,
670
680
  master_user_password=master_user_password,
681
+ master_user_secret_kms_key_id=master_user_secret_kms_key_id,
671
682
  port=port,
672
683
  preferred_backup_window=preferred_backup_window,
673
684
  preferred_maintenance_window=preferred_maintenance_window,
674
685
  restore_to_time=restore_to_time,
675
686
  restore_type=restore_type,
687
+ rotate_master_user_password=rotate_master_user_password,
676
688
  serverless_v2_scaling_configuration=serverless_v2_scaling_configuration,
677
689
  snapshot_identifier=snapshot_identifier,
678
690
  source_db_cluster_identifier=source_db_cluster_identifier,
@@ -933,6 +945,23 @@ class CfnDBCluster(
933
945
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
934
946
  jsii.set(self, "kmsKeyId", value) # pyright: ignore[reportArgumentType]
935
947
 
948
+ @builtins.property
949
+ @jsii.member(jsii_name="manageMasterUserPassword")
950
+ def manage_master_user_password(
951
+ self,
952
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
953
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "manageMasterUserPassword"))
954
+
955
+ @manage_master_user_password.setter
956
+ def manage_master_user_password(
957
+ self,
958
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
959
+ ) -> None:
960
+ if __debug__:
961
+ type_hints = typing.get_type_hints(_typecheckingstub__cdcd3cca26349ee0c4a653267f8614c14cebb3b1c16af84aa9d85681fe2b07dd)
962
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
963
+ jsii.set(self, "manageMasterUserPassword", value) # pyright: ignore[reportArgumentType]
964
+
936
965
  @builtins.property
937
966
  @jsii.member(jsii_name="masterUsername")
938
967
  def master_username(self) -> typing.Optional[builtins.str]:
@@ -959,6 +988,21 @@ class CfnDBCluster(
959
988
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
960
989
  jsii.set(self, "masterUserPassword", value) # pyright: ignore[reportArgumentType]
961
990
 
991
+ @builtins.property
992
+ @jsii.member(jsii_name="masterUserSecretKmsKeyId")
993
+ def master_user_secret_kms_key_id(self) -> typing.Optional[builtins.str]:
994
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "masterUserSecretKmsKeyId"))
995
+
996
+ @master_user_secret_kms_key_id.setter
997
+ def master_user_secret_kms_key_id(
998
+ self,
999
+ value: typing.Optional[builtins.str],
1000
+ ) -> None:
1001
+ if __debug__:
1002
+ type_hints = typing.get_type_hints(_typecheckingstub__3a1df2c9ac1f613c512469d693487a300c74230885d5e260bf5ada30155d14d7)
1003
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1004
+ jsii.set(self, "masterUserSecretKmsKeyId", value) # pyright: ignore[reportArgumentType]
1005
+
962
1006
  @builtins.property
963
1007
  @jsii.member(jsii_name="port")
964
1008
  def port(self) -> typing.Optional[jsii.Number]:
@@ -1030,6 +1074,23 @@ class CfnDBCluster(
1030
1074
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1031
1075
  jsii.set(self, "restoreType", value) # pyright: ignore[reportArgumentType]
1032
1076
 
1077
+ @builtins.property
1078
+ @jsii.member(jsii_name="rotateMasterUserPassword")
1079
+ def rotate_master_user_password(
1080
+ self,
1081
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1082
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "rotateMasterUserPassword"))
1083
+
1084
+ @rotate_master_user_password.setter
1085
+ def rotate_master_user_password(
1086
+ self,
1087
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
1088
+ ) -> None:
1089
+ if __debug__:
1090
+ type_hints = typing.get_type_hints(_typecheckingstub__8a962178d061c1e3b6b6e4c04690d1515176ca035477d280a9ddaee831ed19ae)
1091
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1092
+ jsii.set(self, "rotateMasterUserPassword", value) # pyright: ignore[reportArgumentType]
1093
+
1033
1094
  @builtins.property
1034
1095
  @jsii.member(jsii_name="serverlessV2ScalingConfiguration")
1035
1096
  def serverless_v2_scaling_configuration(
@@ -1567,13 +1628,16 @@ class CfnDBClusterParameterGroupProps:
1567
1628
  "enable_cloudwatch_logs_exports": "enableCloudwatchLogsExports",
1568
1629
  "engine_version": "engineVersion",
1569
1630
  "kms_key_id": "kmsKeyId",
1631
+ "manage_master_user_password": "manageMasterUserPassword",
1570
1632
  "master_username": "masterUsername",
1571
1633
  "master_user_password": "masterUserPassword",
1634
+ "master_user_secret_kms_key_id": "masterUserSecretKmsKeyId",
1572
1635
  "port": "port",
1573
1636
  "preferred_backup_window": "preferredBackupWindow",
1574
1637
  "preferred_maintenance_window": "preferredMaintenanceWindow",
1575
1638
  "restore_to_time": "restoreToTime",
1576
1639
  "restore_type": "restoreType",
1640
+ "rotate_master_user_password": "rotateMasterUserPassword",
1577
1641
  "serverless_v2_scaling_configuration": "serverlessV2ScalingConfiguration",
1578
1642
  "snapshot_identifier": "snapshotIdentifier",
1579
1643
  "source_db_cluster_identifier": "sourceDbClusterIdentifier",
@@ -1598,13 +1662,16 @@ class CfnDBClusterProps:
1598
1662
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
1599
1663
  engine_version: typing.Optional[builtins.str] = None,
1600
1664
  kms_key_id: typing.Optional[builtins.str] = None,
1665
+ manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1601
1666
  master_username: typing.Optional[builtins.str] = None,
1602
1667
  master_user_password: typing.Optional[builtins.str] = None,
1668
+ master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
1603
1669
  port: typing.Optional[jsii.Number] = None,
1604
1670
  preferred_backup_window: typing.Optional[builtins.str] = None,
1605
1671
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
1606
1672
  restore_to_time: typing.Optional[builtins.str] = None,
1607
1673
  restore_type: typing.Optional[builtins.str] = None,
1674
+ rotate_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1608
1675
  serverless_v2_scaling_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDBCluster.ServerlessV2ScalingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1609
1676
  snapshot_identifier: typing.Optional[builtins.str] = None,
1610
1677
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
@@ -1626,13 +1693,16 @@ class CfnDBClusterProps:
1626
1693
  :param enable_cloudwatch_logs_exports: The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see `Auditing Amazon DocumentDB Events <https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html>`_ and `Profiling Amazon DocumentDB Operations <https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html>`_ .
1627
1694
  :param engine_version: The version number of the database engine to use. The ``--engine-version`` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version. Changing the ``EngineVersion`` will start an in-place engine version upgrade. Note that in-place engine version upgrade will cause downtime in the cluster. See `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ before starting an in-place engine version upgrade.
1628
1695
  :param kms_key_id: The AWS KMS key identifier for an encrypted cluster. The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key. If an encryption key is not specified in ``KmsKeyId`` : - If the ``StorageEncrypted`` parameter is ``true`` , Amazon DocumentDB uses your default encryption key. AWS KMS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .
1696
+ :param manage_master_user_password:
1629
1697
  :param master_username: The name of the master user for the cluster. Constraints: - Must be from 1 to 63 letters or numbers. - The first character must be a letter. - Cannot be a reserved word for the chosen database engine.
1630
1698
  :param master_user_password: The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote ("), or the "at" symbol (@). Constraints: Must contain from 8 to 100 characters.
1699
+ :param master_user_secret_kms_key_id:
1631
1700
  :param port: Specifies the port that the database engine is listening on.
1632
1701
  :param preferred_backup_window: The daily time range during which automated backups are created if automated backups are enabled using the ``BackupRetentionPeriod`` parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region . Constraints: - Must be in the format ``hh24:mi-hh24:mi`` . - Must be in Universal Coordinated Time (UTC). - Must not conflict with the preferred maintenance window. - Must be at least 30 minutes.
1633
1702
  :param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ``ddd:hh24:mi-ddd:hh24:mi`` The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.
1634
1703
  :param restore_to_time: The date and time to restore the cluster to. Valid values: A time in Universal Coordinated Time (UTC) format. Constraints: - Must be before the latest restorable time for the instance. - Must be specified if the ``UseLatestRestorableTime`` parameter is not provided. - Cannot be specified if the ``UseLatestRestorableTime`` parameter is ``true`` . - Cannot be specified if the ``RestoreType`` parameter is ``copy-on-write`` . Example: ``2015-03-07T23:45:00Z``
1635
1704
  :param restore_type: The type of restore to be performed. You can specify one of the following values:. - ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster. - ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster. Constraints: You can't specify ``copy-on-write`` if the engine version of the source DB cluster is earlier than 1.11. If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.
1705
+ :param rotate_master_user_password:
1636
1706
  :param serverless_v2_scaling_configuration:
1637
1707
  :param snapshot_identifier: The identifier for the snapshot or cluster snapshot to restore from. You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot. Constraints: - Must match the identifier of an existing snapshot.
1638
1708
  :param source_db_cluster_identifier: The identifier of the source cluster from which to restore. Constraints: - Must match the identifier of an existing ``DBCluster`` .
@@ -1662,13 +1732,16 @@ class CfnDBClusterProps:
1662
1732
  enable_cloudwatch_logs_exports=["enableCloudwatchLogsExports"],
1663
1733
  engine_version="engineVersion",
1664
1734
  kms_key_id="kmsKeyId",
1735
+ manage_master_user_password=False,
1665
1736
  master_username="masterUsername",
1666
1737
  master_user_password="masterUserPassword",
1738
+ master_user_secret_kms_key_id="masterUserSecretKmsKeyId",
1667
1739
  port=123,
1668
1740
  preferred_backup_window="preferredBackupWindow",
1669
1741
  preferred_maintenance_window="preferredMaintenanceWindow",
1670
1742
  restore_to_time="restoreToTime",
1671
1743
  restore_type="restoreType",
1744
+ rotate_master_user_password=False,
1672
1745
  serverless_v2_scaling_configuration=docdb.CfnDBCluster.ServerlessV2ScalingConfigurationProperty(
1673
1746
  max_capacity=123,
1674
1747
  min_capacity=123
@@ -1697,13 +1770,16 @@ class CfnDBClusterProps:
1697
1770
  check_type(argname="argument enable_cloudwatch_logs_exports", value=enable_cloudwatch_logs_exports, expected_type=type_hints["enable_cloudwatch_logs_exports"])
1698
1771
  check_type(argname="argument engine_version", value=engine_version, expected_type=type_hints["engine_version"])
1699
1772
  check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
1773
+ check_type(argname="argument manage_master_user_password", value=manage_master_user_password, expected_type=type_hints["manage_master_user_password"])
1700
1774
  check_type(argname="argument master_username", value=master_username, expected_type=type_hints["master_username"])
1701
1775
  check_type(argname="argument master_user_password", value=master_user_password, expected_type=type_hints["master_user_password"])
1776
+ check_type(argname="argument master_user_secret_kms_key_id", value=master_user_secret_kms_key_id, expected_type=type_hints["master_user_secret_kms_key_id"])
1702
1777
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
1703
1778
  check_type(argname="argument preferred_backup_window", value=preferred_backup_window, expected_type=type_hints["preferred_backup_window"])
1704
1779
  check_type(argname="argument preferred_maintenance_window", value=preferred_maintenance_window, expected_type=type_hints["preferred_maintenance_window"])
1705
1780
  check_type(argname="argument restore_to_time", value=restore_to_time, expected_type=type_hints["restore_to_time"])
1706
1781
  check_type(argname="argument restore_type", value=restore_type, expected_type=type_hints["restore_type"])
1782
+ check_type(argname="argument rotate_master_user_password", value=rotate_master_user_password, expected_type=type_hints["rotate_master_user_password"])
1707
1783
  check_type(argname="argument serverless_v2_scaling_configuration", value=serverless_v2_scaling_configuration, expected_type=type_hints["serverless_v2_scaling_configuration"])
1708
1784
  check_type(argname="argument snapshot_identifier", value=snapshot_identifier, expected_type=type_hints["snapshot_identifier"])
1709
1785
  check_type(argname="argument source_db_cluster_identifier", value=source_db_cluster_identifier, expected_type=type_hints["source_db_cluster_identifier"])
@@ -1733,10 +1809,14 @@ class CfnDBClusterProps:
1733
1809
  self._values["engine_version"] = engine_version
1734
1810
  if kms_key_id is not None:
1735
1811
  self._values["kms_key_id"] = kms_key_id
1812
+ if manage_master_user_password is not None:
1813
+ self._values["manage_master_user_password"] = manage_master_user_password
1736
1814
  if master_username is not None:
1737
1815
  self._values["master_username"] = master_username
1738
1816
  if master_user_password is not None:
1739
1817
  self._values["master_user_password"] = master_user_password
1818
+ if master_user_secret_kms_key_id is not None:
1819
+ self._values["master_user_secret_kms_key_id"] = master_user_secret_kms_key_id
1740
1820
  if port is not None:
1741
1821
  self._values["port"] = port
1742
1822
  if preferred_backup_window is not None:
@@ -1747,6 +1827,8 @@ class CfnDBClusterProps:
1747
1827
  self._values["restore_to_time"] = restore_to_time
1748
1828
  if restore_type is not None:
1749
1829
  self._values["restore_type"] = restore_type
1830
+ if rotate_master_user_password is not None:
1831
+ self._values["rotate_master_user_password"] = rotate_master_user_password
1750
1832
  if serverless_v2_scaling_configuration is not None:
1751
1833
  self._values["serverless_v2_scaling_configuration"] = serverless_v2_scaling_configuration
1752
1834
  if snapshot_identifier is not None:
@@ -1896,6 +1978,16 @@ class CfnDBClusterProps:
1896
1978
  result = self._values.get("kms_key_id")
1897
1979
  return typing.cast(typing.Optional[builtins.str], result)
1898
1980
 
1981
+ @builtins.property
1982
+ def manage_master_user_password(
1983
+ self,
1984
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1985
+ '''
1986
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-managemasteruserpassword
1987
+ '''
1988
+ result = self._values.get("manage_master_user_password")
1989
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1990
+
1899
1991
  @builtins.property
1900
1992
  def master_username(self) -> typing.Optional[builtins.str]:
1901
1993
  '''The name of the master user for the cluster.
@@ -1924,6 +2016,14 @@ class CfnDBClusterProps:
1924
2016
  result = self._values.get("master_user_password")
1925
2017
  return typing.cast(typing.Optional[builtins.str], result)
1926
2018
 
2019
+ @builtins.property
2020
+ def master_user_secret_kms_key_id(self) -> typing.Optional[builtins.str]:
2021
+ '''
2022
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusersecretkmskeyid
2023
+ '''
2024
+ result = self._values.get("master_user_secret_kms_key_id")
2025
+ return typing.cast(typing.Optional[builtins.str], result)
2026
+
1927
2027
  @builtins.property
1928
2028
  def port(self) -> typing.Optional[jsii.Number]:
1929
2029
  '''Specifies the port that the database engine is listening on.
@@ -2004,6 +2104,16 @@ class CfnDBClusterProps:
2004
2104
  result = self._values.get("restore_type")
2005
2105
  return typing.cast(typing.Optional[builtins.str], result)
2006
2106
 
2107
+ @builtins.property
2108
+ def rotate_master_user_password(
2109
+ self,
2110
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2111
+ '''
2112
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-rotatemasteruserpassword
2113
+ '''
2114
+ result = self._values.get("rotate_master_user_password")
2115
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2116
+
2007
2117
  @builtins.property
2008
2118
  def serverless_v2_scaling_configuration(
2009
2119
  self,
@@ -5701,13 +5811,16 @@ def _typecheckingstub__7db61dc80f26049d79a38255d8a0b3abaf4b5019d7cbed64c937ec0f3
5701
5811
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
5702
5812
  engine_version: typing.Optional[builtins.str] = None,
5703
5813
  kms_key_id: typing.Optional[builtins.str] = None,
5814
+ manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5704
5815
  master_username: typing.Optional[builtins.str] = None,
5705
5816
  master_user_password: typing.Optional[builtins.str] = None,
5817
+ master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
5706
5818
  port: typing.Optional[jsii.Number] = None,
5707
5819
  preferred_backup_window: typing.Optional[builtins.str] = None,
5708
5820
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
5709
5821
  restore_to_time: typing.Optional[builtins.str] = None,
5710
5822
  restore_type: typing.Optional[builtins.str] = None,
5823
+ rotate_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5711
5824
  serverless_v2_scaling_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDBCluster.ServerlessV2ScalingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5712
5825
  snapshot_identifier: typing.Optional[builtins.str] = None,
5713
5826
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
@@ -5792,6 +5905,12 @@ def _typecheckingstub__03e9375b32d036932973e964a270516d21d155bd0db4369d824ccb7e7
5792
5905
  """Type checking stubs"""
5793
5906
  pass
5794
5907
 
5908
+ def _typecheckingstub__cdcd3cca26349ee0c4a653267f8614c14cebb3b1c16af84aa9d85681fe2b07dd(
5909
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
5910
+ ) -> None:
5911
+ """Type checking stubs"""
5912
+ pass
5913
+
5795
5914
  def _typecheckingstub__c07cdadbef8a45e2db19e8559d89c8cec47c9d2d698c3fc441a996847907dfc0(
5796
5915
  value: typing.Optional[builtins.str],
5797
5916
  ) -> None:
@@ -5804,6 +5923,12 @@ def _typecheckingstub__e2998c76e0321a3f0bc1fe35b15ded5ba4f630cb6e5e7519736bf7455
5804
5923
  """Type checking stubs"""
5805
5924
  pass
5806
5925
 
5926
+ def _typecheckingstub__3a1df2c9ac1f613c512469d693487a300c74230885d5e260bf5ada30155d14d7(
5927
+ value: typing.Optional[builtins.str],
5928
+ ) -> None:
5929
+ """Type checking stubs"""
5930
+ pass
5931
+
5807
5932
  def _typecheckingstub__a09b878a6d8b852d7eb17f26dcd8f718779776e12f67987303b1e944b3a40516(
5808
5933
  value: typing.Optional[jsii.Number],
5809
5934
  ) -> None:
@@ -5834,6 +5959,12 @@ def _typecheckingstub__43c278d2c39f8d3f098ad2320789939b448b2958965646678cb8dd9f2
5834
5959
  """Type checking stubs"""
5835
5960
  pass
5836
5961
 
5962
+ def _typecheckingstub__8a962178d061c1e3b6b6e4c04690d1515176ca035477d280a9ddaee831ed19ae(
5963
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
5964
+ ) -> None:
5965
+ """Type checking stubs"""
5966
+ pass
5967
+
5837
5968
  def _typecheckingstub__f23cec17e6d5a308bc97faa6c2e987d67b01e77f99c6ad20b6019114adb90e97(
5838
5969
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDBCluster.ServerlessV2ScalingConfigurationProperty]],
5839
5970
  ) -> None:
@@ -5968,13 +6099,16 @@ def _typecheckingstub__9e1a4213f95bc5df31b056bdc5858ecdc49954b349d7a647b8775edf5
5968
6099
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
5969
6100
  engine_version: typing.Optional[builtins.str] = None,
5970
6101
  kms_key_id: typing.Optional[builtins.str] = None,
6102
+ manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5971
6103
  master_username: typing.Optional[builtins.str] = None,
5972
6104
  master_user_password: typing.Optional[builtins.str] = None,
6105
+ master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
5973
6106
  port: typing.Optional[jsii.Number] = None,
5974
6107
  preferred_backup_window: typing.Optional[builtins.str] = None,
5975
6108
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
5976
6109
  restore_to_time: typing.Optional[builtins.str] = None,
5977
6110
  restore_type: typing.Optional[builtins.str] = None,
6111
+ rotate_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5978
6112
  serverless_v2_scaling_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDBCluster.ServerlessV2ScalingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5979
6113
  snapshot_identifier: typing.Optional[builtins.str] = None,
5980
6114
  source_db_cluster_identifier: typing.Optional[builtins.str] = None,
@@ -1650,6 +1650,9 @@ class CfnGlobalTable(
1650
1650
  projection_type="projectionType"
1651
1651
  )
1652
1652
  )],
1653
+ point_in_time_recovery_specification=dynamodb.CfnGlobalTable.PointInTimeRecoverySpecificationProperty(
1654
+ point_in_time_recovery_enabled=False
1655
+ ),
1653
1656
  sse_specification=dynamodb.CfnGlobalTable.SSESpecificationProperty(
1654
1657
  sse_enabled=False,
1655
1658
 
@@ -1704,6 +1707,7 @@ class CfnGlobalTable(
1704
1707
  billing_mode: typing.Optional[builtins.str] = None,
1705
1708
  global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.GlobalSecondaryIndexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1706
1709
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.LocalSecondaryIndexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1710
+ point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.PointInTimeRecoverySpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1707
1711
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.SSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1708
1712
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.StreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1709
1713
  table_name: typing.Optional[builtins.str] = None,
@@ -1721,6 +1725,7 @@ class CfnGlobalTable(
1721
1725
  :param billing_mode: Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:. - ``PAY_PER_REQUEST`` - ``PROVISIONED`` All replicas in your global table will have the same billing mode. If you use ``PROVISIONED`` billing mode, you must provide an auto scaling configuration via the ``WriteProvisionedThroughputSettings`` property. The default value of this property is ``PROVISIONED`` .
1722
1726
  :param global_secondary_indexes: Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation. Since the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.
1723
1727
  :param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.
1728
+ :param point_in_time_recovery_specification: Represents the settings used to enable point in time recovery.
1724
1729
  :param sse_specification: Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the ``ReplicaSpecification.ReplicaSSESpecification`` property.
1725
1730
  :param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.
1726
1731
  :param table_name: A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as 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 cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
@@ -1740,6 +1745,7 @@ class CfnGlobalTable(
1740
1745
  billing_mode=billing_mode,
1741
1746
  global_secondary_indexes=global_secondary_indexes,
1742
1747
  local_secondary_indexes=local_secondary_indexes,
1748
+ point_in_time_recovery_specification=point_in_time_recovery_specification,
1743
1749
  sse_specification=sse_specification,
1744
1750
  stream_specification=stream_specification,
1745
1751
  table_name=table_name,
@@ -1927,6 +1933,24 @@ class CfnGlobalTable(
1927
1933
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1928
1934
  jsii.set(self, "localSecondaryIndexes", value) # pyright: ignore[reportArgumentType]
1929
1935
 
1936
+ @builtins.property
1937
+ @jsii.member(jsii_name="pointInTimeRecoverySpecification")
1938
+ def point_in_time_recovery_specification(
1939
+ self,
1940
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.PointInTimeRecoverySpecificationProperty"]]:
1941
+ '''Represents the settings used to enable point in time recovery.'''
1942
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.PointInTimeRecoverySpecificationProperty"]], jsii.get(self, "pointInTimeRecoverySpecification"))
1943
+
1944
+ @point_in_time_recovery_specification.setter
1945
+ def point_in_time_recovery_specification(
1946
+ self,
1947
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.PointInTimeRecoverySpecificationProperty"]],
1948
+ ) -> None:
1949
+ if __debug__:
1950
+ type_hints = typing.get_type_hints(_typecheckingstub__ce174d40588e3699a523c7229ed4159e4ded0f8e8ad10aabd0f4a0d42cb64a7b)
1951
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1952
+ jsii.set(self, "pointInTimeRecoverySpecification", value) # pyright: ignore[reportArgumentType]
1953
+
1930
1954
  @builtins.property
1931
1955
  @jsii.member(jsii_name="sseSpecification")
1932
1956
  def sse_specification(
@@ -4304,6 +4328,7 @@ class CfnGlobalTable(
4304
4328
  "billing_mode": "billingMode",
4305
4329
  "global_secondary_indexes": "globalSecondaryIndexes",
4306
4330
  "local_secondary_indexes": "localSecondaryIndexes",
4331
+ "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
4307
4332
  "sse_specification": "sseSpecification",
4308
4333
  "stream_specification": "streamSpecification",
4309
4334
  "table_name": "tableName",
@@ -4323,6 +4348,7 @@ class CfnGlobalTableProps:
4323
4348
  billing_mode: typing.Optional[builtins.str] = None,
4324
4349
  global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4325
4350
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4351
+ point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4326
4352
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4327
4353
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4328
4354
  table_name: typing.Optional[builtins.str] = None,
@@ -4339,6 +4365,7 @@ class CfnGlobalTableProps:
4339
4365
  :param billing_mode: Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:. - ``PAY_PER_REQUEST`` - ``PROVISIONED`` All replicas in your global table will have the same billing mode. If you use ``PROVISIONED`` billing mode, you must provide an auto scaling configuration via the ``WriteProvisionedThroughputSettings`` property. The default value of this property is ``PROVISIONED`` .
4340
4366
  :param global_secondary_indexes: Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation. Since the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.
4341
4367
  :param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.
4368
+ :param point_in_time_recovery_specification: Represents the settings used to enable point in time recovery.
4342
4369
  :param sse_specification: Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the ``ReplicaSpecification.ReplicaSSESpecification`` property.
4343
4370
  :param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.
4344
4371
  :param table_name: A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as 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 cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
@@ -4502,6 +4529,9 @@ class CfnGlobalTableProps:
4502
4529
  projection_type="projectionType"
4503
4530
  )
4504
4531
  )],
4532
+ point_in_time_recovery_specification=dynamodb.CfnGlobalTable.PointInTimeRecoverySpecificationProperty(
4533
+ point_in_time_recovery_enabled=False
4534
+ ),
4505
4535
  sse_specification=dynamodb.CfnGlobalTable.SSESpecificationProperty(
4506
4536
  sse_enabled=False,
4507
4537
 
@@ -4552,6 +4582,7 @@ class CfnGlobalTableProps:
4552
4582
  check_type(argname="argument billing_mode", value=billing_mode, expected_type=type_hints["billing_mode"])
4553
4583
  check_type(argname="argument global_secondary_indexes", value=global_secondary_indexes, expected_type=type_hints["global_secondary_indexes"])
4554
4584
  check_type(argname="argument local_secondary_indexes", value=local_secondary_indexes, expected_type=type_hints["local_secondary_indexes"])
4585
+ check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
4555
4586
  check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
4556
4587
  check_type(argname="argument stream_specification", value=stream_specification, expected_type=type_hints["stream_specification"])
4557
4588
  check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
@@ -4570,6 +4601,8 @@ class CfnGlobalTableProps:
4570
4601
  self._values["global_secondary_indexes"] = global_secondary_indexes
4571
4602
  if local_secondary_indexes is not None:
4572
4603
  self._values["local_secondary_indexes"] = local_secondary_indexes
4604
+ if point_in_time_recovery_specification is not None:
4605
+ self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
4573
4606
  if sse_specification is not None:
4574
4607
  self._values["sse_specification"] = sse_specification
4575
4608
  if stream_specification is not None:
@@ -4674,6 +4707,17 @@ class CfnGlobalTableProps:
4674
4707
  result = self._values.get("local_secondary_indexes")
4675
4708
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.LocalSecondaryIndexProperty]]]], result)
4676
4709
 
4710
+ @builtins.property
4711
+ def point_in_time_recovery_specification(
4712
+ self,
4713
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.PointInTimeRecoverySpecificationProperty]]:
4714
+ '''Represents the settings used to enable point in time recovery.
4715
+
4716
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-pointintimerecoveryspecification
4717
+ '''
4718
+ result = self._values.get("point_in_time_recovery_specification")
4719
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.PointInTimeRecoverySpecificationProperty]], result)
4720
+
4677
4721
  @builtins.property
4678
4722
  def sse_specification(
4679
4723
  self,
@@ -4891,7 +4935,8 @@ class CfnTable(
4891
4935
  max_write_request_units=123
4892
4936
  ),
4893
4937
  point_in_time_recovery_specification=dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty(
4894
- point_in_time_recovery_enabled=False
4938
+ point_in_time_recovery_enabled=False,
4939
+ recovery_period_in_days=123
4895
4940
  ),
4896
4941
  provisioned_throughput=dynamodb.CfnTable.ProvisionedThroughputProperty(
4897
4942
  read_capacity_units=123,
@@ -6375,17 +6420,22 @@ class CfnTable(
6375
6420
  @jsii.data_type(
6376
6421
  jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty",
6377
6422
  jsii_struct_bases=[],
6378
- name_mapping={"point_in_time_recovery_enabled": "pointInTimeRecoveryEnabled"},
6423
+ name_mapping={
6424
+ "point_in_time_recovery_enabled": "pointInTimeRecoveryEnabled",
6425
+ "recovery_period_in_days": "recoveryPeriodInDays",
6426
+ },
6379
6427
  )
6380
6428
  class PointInTimeRecoverySpecificationProperty:
6381
6429
  def __init__(
6382
6430
  self,
6383
6431
  *,
6384
6432
  point_in_time_recovery_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6433
+ recovery_period_in_days: typing.Optional[jsii.Number] = None,
6385
6434
  ) -> None:
6386
6435
  '''The settings used to enable point in time recovery.
6387
6436
 
6388
6437
  :param point_in_time_recovery_enabled: Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
6438
+ :param recovery_period_in_days:
6389
6439
 
6390
6440
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html
6391
6441
  :exampleMetadata: fixture=_generated
@@ -6397,15 +6447,19 @@ class CfnTable(
6397
6447
  from aws_cdk import aws_dynamodb as dynamodb
6398
6448
 
6399
6449
  point_in_time_recovery_specification_property = dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty(
6400
- point_in_time_recovery_enabled=False
6450
+ point_in_time_recovery_enabled=False,
6451
+ recovery_period_in_days=123
6401
6452
  )
6402
6453
  '''
6403
6454
  if __debug__:
6404
6455
  type_hints = typing.get_type_hints(_typecheckingstub__8f4487b11f07e01ff872dc1405e046ab6c6bc7141706d606b21b57dcbd2f74eb)
6405
6456
  check_type(argname="argument point_in_time_recovery_enabled", value=point_in_time_recovery_enabled, expected_type=type_hints["point_in_time_recovery_enabled"])
6457
+ check_type(argname="argument recovery_period_in_days", value=recovery_period_in_days, expected_type=type_hints["recovery_period_in_days"])
6406
6458
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6407
6459
  if point_in_time_recovery_enabled is not None:
6408
6460
  self._values["point_in_time_recovery_enabled"] = point_in_time_recovery_enabled
6461
+ if recovery_period_in_days is not None:
6462
+ self._values["recovery_period_in_days"] = recovery_period_in_days
6409
6463
 
6410
6464
  @builtins.property
6411
6465
  def point_in_time_recovery_enabled(
@@ -6418,6 +6472,14 @@ class CfnTable(
6418
6472
  result = self._values.get("point_in_time_recovery_enabled")
6419
6473
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6420
6474
 
6475
+ @builtins.property
6476
+ def recovery_period_in_days(self) -> typing.Optional[jsii.Number]:
6477
+ '''
6478
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html#cfn-dynamodb-table-pointintimerecoveryspecification-recoveryperiodindays
6479
+ '''
6480
+ result = self._values.get("recovery_period_in_days")
6481
+ return typing.cast(typing.Optional[jsii.Number], result)
6482
+
6421
6483
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6422
6484
  return isinstance(rhs, self.__class__) and rhs._values == self._values
6423
6485
 
@@ -7277,7 +7339,8 @@ class CfnTableProps:
7277
7339
  max_write_request_units=123
7278
7340
  ),
7279
7341
  point_in_time_recovery_specification=dynamodb.CfnTable.PointInTimeRecoverySpecificationProperty(
7280
- point_in_time_recovery_enabled=False
7342
+ point_in_time_recovery_enabled=False,
7343
+ recovery_period_in_days=123
7281
7344
  ),
7282
7345
  provisioned_throughput=dynamodb.CfnTable.ProvisionedThroughputProperty(
7283
7346
  read_capacity_units=123,
@@ -15572,6 +15635,7 @@ def _typecheckingstub__751414def1994180982879a700bdaa6afcf528def91a672904946db1b
15572
15635
  billing_mode: typing.Optional[builtins.str] = None,
15573
15636
  global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
15574
15637
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
15638
+ point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15575
15639
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15576
15640
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15577
15641
  table_name: typing.Optional[builtins.str] = None,
@@ -15631,6 +15695,12 @@ def _typecheckingstub__a0b3191b7117186bc41f62e22fff4e4f50d0835a5f174dde9b2b8188c
15631
15695
  """Type checking stubs"""
15632
15696
  pass
15633
15697
 
15698
+ def _typecheckingstub__ce174d40588e3699a523c7229ed4159e4ded0f8e8ad10aabd0f4a0d42cb64a7b(
15699
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.PointInTimeRecoverySpecificationProperty]],
15700
+ ) -> None:
15701
+ """Type checking stubs"""
15702
+ pass
15703
+
15634
15704
  def _typecheckingstub__ccb739aac1de1ded207a80b782298c972ccf113dd96de224fea60f9ce1b43833(
15635
15705
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.SSESpecificationProperty]],
15636
15706
  ) -> None:
@@ -15878,6 +15948,7 @@ def _typecheckingstub__ca0383ad91536c26961e85e52a3e6a3d2d74db3c4d430cbbe3d9f42e2
15878
15948
  billing_mode: typing.Optional[builtins.str] = None,
15879
15949
  global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
15880
15950
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
15951
+ point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15881
15952
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15882
15953
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15883
15954
  table_name: typing.Optional[builtins.str] = None,
@@ -16138,6 +16209,7 @@ def _typecheckingstub__57fa9b9c0a1959797987b8f7dde13da703eb6da6e9a1d7c412f4b26d8
16138
16209
  def _typecheckingstub__8f4487b11f07e01ff872dc1405e046ab6c6bc7141706d606b21b57dcbd2f74eb(
16139
16210
  *,
16140
16211
  point_in_time_recovery_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
16212
+ recovery_period_in_days: typing.Optional[jsii.Number] = None,
16141
16213
  ) -> None:
16142
16214
  """Type checking stubs"""
16143
16215
  pass