aws-cdk-lib 2.162.1__py3-none-any.whl → 2.163.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 (59) hide show
  1. aws_cdk/__init__.py +5 -7
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.162.1.jsii.tgz → aws-cdk-lib@2.163.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +7 -7
  5. aws_cdk/aws_appflow/__init__.py +30 -16
  6. aws_cdk/aws_appsync/__init__.py +11 -21
  7. aws_cdk/aws_autoscaling/__init__.py +123 -0
  8. aws_cdk/aws_b2bi/__init__.py +83 -57
  9. aws_cdk/aws_cloudformation/__init__.py +5 -7
  10. aws_cdk/aws_codebuild/__init__.py +19 -40
  11. aws_cdk/aws_codepipeline/__init__.py +88 -7
  12. aws_cdk/aws_cognito/__init__.py +282 -168
  13. aws_cdk/aws_dms/__init__.py +1076 -117
  14. aws_cdk/aws_docdb/__init__.py +19 -13
  15. aws_cdk/aws_dynamodb/__init__.py +43 -22
  16. aws_cdk/aws_ec2/__init__.py +1213 -38
  17. aws_cdk/aws_ecs/__init__.py +187 -18
  18. aws_cdk/aws_ecs_patterns/__init__.py +189 -27
  19. aws_cdk/aws_efs/__init__.py +56 -37
  20. aws_cdk/aws_eks/__init__.py +6 -2
  21. aws_cdk/aws_elasticache/__init__.py +118 -118
  22. aws_cdk/aws_elasticloadbalancingv2/__init__.py +21 -1
  23. aws_cdk/aws_emr/__init__.py +124 -57
  24. aws_cdk/aws_events/__init__.py +40 -0
  25. aws_cdk/aws_fms/__init__.py +757 -8
  26. aws_cdk/aws_fsx/__init__.py +245 -10
  27. aws_cdk/aws_gamelift/__init__.py +121 -0
  28. aws_cdk/aws_glue/__init__.py +344 -61
  29. aws_cdk/aws_iam/__init__.py +44 -0
  30. aws_cdk/aws_identitystore/__init__.py +4 -2
  31. aws_cdk/aws_iot/__init__.py +40 -12
  32. aws_cdk/aws_kinesis/__init__.py +239 -0
  33. aws_cdk/aws_kms/__init__.py +92 -3
  34. aws_cdk/aws_lambda/__init__.py +2 -2
  35. aws_cdk/aws_mediapackagev2/__init__.py +26 -10
  36. aws_cdk/aws_memorydb/__init__.py +7 -7
  37. aws_cdk/aws_networkfirewall/__init__.py +89 -0
  38. aws_cdk/aws_qbusiness/__init__.py +51 -7
  39. aws_cdk/aws_quicksight/__init__.py +221 -87
  40. aws_cdk/aws_rds/__init__.py +376 -75
  41. aws_cdk/aws_redshift/__init__.py +493 -13
  42. aws_cdk/aws_route53profiles/__init__.py +4 -2
  43. aws_cdk/aws_route53resolver/__init__.py +26 -60
  44. aws_cdk/aws_s3/__init__.py +104 -4
  45. aws_cdk/aws_s3express/__init__.py +73 -13
  46. aws_cdk/aws_s3outposts/__init__.py +21 -12
  47. aws_cdk/aws_sagemaker/__init__.py +4 -44
  48. aws_cdk/aws_ssmquicksetup/__init__.py +2 -2
  49. aws_cdk/aws_stepfunctions/__init__.py +529 -156
  50. aws_cdk/aws_transfer/__init__.py +15 -4
  51. aws_cdk/aws_waf/__init__.py +11 -11
  52. aws_cdk/aws_wafregional/__init__.py +12 -12
  53. aws_cdk/aws_wisdom/__init__.py +710 -5
  54. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/METADATA +1 -1
  55. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/RECORD +59 -59
  56. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/LICENSE +0 -0
  57. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/NOTICE +0 -0
  58. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/WHEEL +0 -0
  59. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/top_level.txt +0 -0
@@ -85,7 +85,8 @@ cluster = rds.DatabaseCluster(self, "Database",
85
85
 
86
86
  For more information about dual-stack mode, see [Working with a DB cluster in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html).
87
87
 
88
- If you want to issue read/write transactions directly on an Aurora Replica, you can use [local write forwarding](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html).
88
+ If you want to issue read/write transactions directly on an Aurora Replica, you can use local write forwarding on [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html)
89
+ and [Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-postgresql-write-forwarding.html).
89
90
  Local write forwarding allows read replicas to accept write transactions and forward them to the writer DB instance to be committed.
90
91
 
91
92
  To enable local write forwarding, set the `enableLocalWriteForwarding` property to `true`:
@@ -105,7 +106,8 @@ rds.DatabaseCluster(self, "DatabaseCluster",
105
106
  )
106
107
  ```
107
108
 
108
- **Note**: Local write forwarding is only supported for Aurora MySQL 3.04 and higher.
109
+ **Note**: Local write forwarding is supported only for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL
110
+ 16.4 or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14).
109
111
 
110
112
  Use `DatabaseClusterFromSnapshot` to create a cluster from a snapshot:
111
113
 
@@ -666,14 +668,14 @@ to use for the instance:
666
668
 
667
669
 
668
670
  iops_instance = rds.DatabaseInstance(self, "IopsInstance",
669
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
671
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
670
672
  vpc=vpc,
671
673
  storage_type=rds.StorageType.IO1,
672
674
  iops=5000
673
675
  )
674
676
 
675
677
  gp3_instance = rds.DatabaseInstance(self, "Gp3Instance",
676
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
678
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
677
679
  vpc=vpc,
678
680
  allocated_storage=500,
679
681
  storage_type=rds.StorageType.GP3,
@@ -694,7 +696,7 @@ to use for the instance:
694
696
 
695
697
  # Setting allocatedStorage for DatabaseInstance
696
698
  iops_instance = rds.DatabaseInstance(self, "IopsInstance",
697
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
699
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
698
700
  vpc=vpc,
699
701
  storage_type=rds.StorageType.IO1,
700
702
  iops=5000,
@@ -716,7 +718,7 @@ to use for the instance:
716
718
 
717
719
 
718
720
  rds.DatabaseInstance(self, "Instance",
719
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
721
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
720
722
  vpc=vpc,
721
723
  ca_certificate=rds.CaCertificate.RDS_CA_RSA2048_G1
722
724
  )
@@ -729,7 +731,7 @@ You can specify a custom CA certificate with:
729
731
 
730
732
 
731
733
  rds.DatabaseInstance(self, "Instance",
732
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
734
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
733
735
  vpc=vpc,
734
736
  ca_certificate=rds.CaCertificate.of("future-rds-ca")
735
737
  )
@@ -1493,6 +1495,93 @@ rds.DatabaseCluster(self, "DatabaseCluster",
1493
1495
  preferred_maintenance_window="Sat:22:15-Sat:22:45"
1494
1496
  )
1495
1497
  ```
1498
+
1499
+ ## Performance Insights
1500
+
1501
+ You can enable Performance Insights for a clustered database or an instance database.
1502
+
1503
+ ### Clustered Database
1504
+
1505
+ You can enable Performance Insights at cluster level or instance level.
1506
+
1507
+ To enable Performance Insights at the cluster level, set the `enablePerformanceInsights` property for the `DatabaseCluster` to `true`.
1508
+ If you want to specify the detailed settings, you can use the `performanceInsightRetention` and `performanceInsightEncryptionKey` properties.
1509
+
1510
+ The settings are then applied to all instances in the cluster.
1511
+
1512
+ ```python
1513
+ # vpc: ec2.Vpc
1514
+ # kms_key: kms.Key
1515
+
1516
+ rds.DatabaseCluster(self, "Database",
1517
+ engine=rds.DatabaseClusterEngine.AURORA,
1518
+ vpc=vpc,
1519
+ enable_performance_insights=True,
1520
+ performance_insight_retention=rds.PerformanceInsightRetention.LONG_TERM,
1521
+ performance_insight_encryption_key=kms_key,
1522
+ writer=rds.ClusterInstance.provisioned("Writer",
1523
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.R7G, ec2.InstanceSize.LARGE)
1524
+ )
1525
+ )
1526
+ ```
1527
+
1528
+ To enable Performance Insights at the instance level, set the same properties for each instance of the `writer` and the `readers`.
1529
+
1530
+ In this way, different settings can be applied to different instances in a cluster.
1531
+
1532
+ **Note:** If Performance Insights is enabled at the cluster level, it is also automatically enabled for each instance. If specified, Performance Insights
1533
+ for each instance require the same retention period and encryption key as the cluster level.
1534
+
1535
+ ```python
1536
+ # vpc: ec2.Vpc
1537
+ # kms_key: kms.Key
1538
+
1539
+ rds.DatabaseCluster(self, "Database",
1540
+ engine=rds.DatabaseClusterEngine.AURORA,
1541
+ vpc=vpc,
1542
+ writer=rds.ClusterInstance.provisioned("Writer",
1543
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.R7G, ec2.InstanceSize.LARGE),
1544
+ enable_performance_insights=True,
1545
+ performance_insight_retention=rds.PerformanceInsightRetention.LONG_TERM,
1546
+ performance_insight_encryption_key=kms_key
1547
+ ),
1548
+ readers=[
1549
+ rds.ClusterInstance.provisioned("Reader",
1550
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.R7G, ec2.InstanceSize.LARGE),
1551
+ enable_performance_insights=False
1552
+ )
1553
+ ]
1554
+ )
1555
+ ```
1556
+
1557
+ ### Instance Database
1558
+
1559
+ To enable Performance Insights for an instance database, set the `enablePerformanceInsights` property for the `DatabaseInstance` to `true`.
1560
+ If you want to specify the detailed settings, you can use the `performanceInsightRetention` and `performanceInsightEncryptionKey` properties.
1561
+
1562
+ ```python
1563
+ # vpc: ec2.Vpc
1564
+ # kms_key: kms.Key
1565
+
1566
+ instance = rds.DatabaseInstance(self, "Instance",
1567
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
1568
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.R7G, ec2.InstanceSize.LARGE),
1569
+ vpc=vpc,
1570
+ enable_performance_insights=True,
1571
+ performance_insight_retention=rds.PerformanceInsightRetention.LONG_TERM,
1572
+ performance_insight_encryption_key=kms_key
1573
+ )
1574
+ ```
1575
+
1576
+ ### Supported Engines
1577
+
1578
+ Performance Insights supports a limited number of engines.
1579
+
1580
+ To see Amazon RDS DB engines that support Performance Insights, see [Amazon RDS DB engine, Region, and instance class support for Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html).
1581
+
1582
+ To see Amazon Aurora DB engines that support Performance Insights, see [Amazon Aurora DB engine, Region, and instance class support for Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.Engines.html).
1583
+
1584
+ For more information about Performance Insights, see [Monitoring DB load with Performance Insights on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html).
1496
1585
  '''
1497
1586
  from pkgutil import extend_path
1498
1587
  __path__ = extend_path(__path__, __name__)
@@ -19805,6 +19894,7 @@ class DatabaseClusterEngine(
19805
19894
  "domain_role": "domainRole",
19806
19895
  "enable_data_api": "enableDataApi",
19807
19896
  "enable_local_write_forwarding": "enableLocalWriteForwarding",
19897
+ "enable_performance_insights": "enablePerformanceInsights",
19808
19898
  "iam_authentication": "iamAuthentication",
19809
19899
  "instance_identifier_base": "instanceIdentifierBase",
19810
19900
  "instance_props": "instanceProps",
@@ -19815,6 +19905,8 @@ class DatabaseClusterEngine(
19815
19905
  "network_type": "networkType",
19816
19906
  "parameter_group": "parameterGroup",
19817
19907
  "parameters": "parameters",
19908
+ "performance_insight_encryption_key": "performanceInsightEncryptionKey",
19909
+ "performance_insight_retention": "performanceInsightRetention",
19818
19910
  "port": "port",
19819
19911
  "preferred_maintenance_window": "preferredMaintenanceWindow",
19820
19912
  "readers": "readers",
@@ -19856,6 +19948,7 @@ class DatabaseClusterFromSnapshotProps:
19856
19948
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
19857
19949
  enable_data_api: typing.Optional[builtins.bool] = None,
19858
19950
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
19951
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
19859
19952
  iam_authentication: typing.Optional[builtins.bool] = None,
19860
19953
  instance_identifier_base: typing.Optional[builtins.str] = None,
19861
19954
  instance_props: typing.Optional[typing.Union["InstanceProps", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -19866,6 +19959,8 @@ class DatabaseClusterFromSnapshotProps:
19866
19959
  network_type: typing.Optional["NetworkType"] = None,
19867
19960
  parameter_group: typing.Optional["IParameterGroup"] = None,
19868
19961
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
19962
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
19963
+ performance_insight_retention: typing.Optional["PerformanceInsightRetention"] = None,
19869
19964
  port: typing.Optional[jsii.Number] = None,
19870
19965
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
19871
19966
  readers: typing.Optional[typing.Sequence["IClusterInstance"]] = None,
@@ -19903,7 +19998,8 @@ class DatabaseClusterFromSnapshotProps:
19903
19998
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
19904
19999
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
19905
20000
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
19906
- :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
20001
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL 16.4 or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14). Default: false
20002
+ :param enable_performance_insights: Whether to enable Performance Insights for the DB cluster. Default: - false, unless ``performanceInsightRetention`` or ``performanceInsightEncryptionKey`` is set.
19907
20003
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
19908
20004
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
19909
20005
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -19914,6 +20010,8 @@ class DatabaseClusterFromSnapshotProps:
19914
20010
  :param network_type: The network type of the DB instance. Default: - IPV4
19915
20011
  :param parameter_group: Additional parameters to pass to the database engine. Default: - No parameter group.
19916
20012
  :param parameters: The parameters in the DBClusterParameterGroup to create automatically. You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBClusterParameterGroup. Default: - None
20013
+ :param performance_insight_encryption_key: The AWS KMS key for encryption of Performance Insights data. Default: - default master key
20014
+ :param performance_insight_retention: The amount of time, in days, to retain Performance Insights data. Default: 7
19917
20015
  :param port: What port to listen on. Default: - The default for the engine is used.
19918
20016
  :param preferred_maintenance_window: A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). Example: 'Sun:23:45-Mon:00:15' Default: - 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.
19919
20017
  :param readers: A list of instances to create as cluster reader instances. Default: - no readers are created. The cluster will have a single writer/reader
@@ -19923,7 +20021,7 @@ class DatabaseClusterFromSnapshotProps:
19923
20021
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
19924
20022
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
19925
20023
  :param security_groups: Security group. Default: a new security group is created.
19926
- :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128 (256GB). The maximum capacity must be higher than 0.5 ACUs. Default: 2
20024
+ :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
19927
20025
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5. Default: 0.5
19928
20026
  :param snapshot_credentials: Master user credentials. Note - It is not possible to change the master username for a snapshot; however, it is possible to provide (or generate) a new password. Default: - The existing username and password from the snapshot will be used.
19929
20027
  :param storage_encrypted: Whether to enable storage encryption. Default: - true if storageEncryptionKey is provided, false otherwise
@@ -19971,6 +20069,7 @@ class DatabaseClusterFromSnapshotProps:
19971
20069
  check_type(argname="argument domain_role", value=domain_role, expected_type=type_hints["domain_role"])
19972
20070
  check_type(argname="argument enable_data_api", value=enable_data_api, expected_type=type_hints["enable_data_api"])
19973
20071
  check_type(argname="argument enable_local_write_forwarding", value=enable_local_write_forwarding, expected_type=type_hints["enable_local_write_forwarding"])
20072
+ check_type(argname="argument enable_performance_insights", value=enable_performance_insights, expected_type=type_hints["enable_performance_insights"])
19974
20073
  check_type(argname="argument iam_authentication", value=iam_authentication, expected_type=type_hints["iam_authentication"])
19975
20074
  check_type(argname="argument instance_identifier_base", value=instance_identifier_base, expected_type=type_hints["instance_identifier_base"])
19976
20075
  check_type(argname="argument instance_props", value=instance_props, expected_type=type_hints["instance_props"])
@@ -19981,6 +20080,8 @@ class DatabaseClusterFromSnapshotProps:
19981
20080
  check_type(argname="argument network_type", value=network_type, expected_type=type_hints["network_type"])
19982
20081
  check_type(argname="argument parameter_group", value=parameter_group, expected_type=type_hints["parameter_group"])
19983
20082
  check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
20083
+ check_type(argname="argument performance_insight_encryption_key", value=performance_insight_encryption_key, expected_type=type_hints["performance_insight_encryption_key"])
20084
+ check_type(argname="argument performance_insight_retention", value=performance_insight_retention, expected_type=type_hints["performance_insight_retention"])
19984
20085
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
19985
20086
  check_type(argname="argument preferred_maintenance_window", value=preferred_maintenance_window, expected_type=type_hints["preferred_maintenance_window"])
19986
20087
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
@@ -20032,6 +20133,8 @@ class DatabaseClusterFromSnapshotProps:
20032
20133
  self._values["enable_data_api"] = enable_data_api
20033
20134
  if enable_local_write_forwarding is not None:
20034
20135
  self._values["enable_local_write_forwarding"] = enable_local_write_forwarding
20136
+ if enable_performance_insights is not None:
20137
+ self._values["enable_performance_insights"] = enable_performance_insights
20035
20138
  if iam_authentication is not None:
20036
20139
  self._values["iam_authentication"] = iam_authentication
20037
20140
  if instance_identifier_base is not None:
@@ -20052,6 +20155,10 @@ class DatabaseClusterFromSnapshotProps:
20052
20155
  self._values["parameter_group"] = parameter_group
20053
20156
  if parameters is not None:
20054
20157
  self._values["parameters"] = parameters
20158
+ if performance_insight_encryption_key is not None:
20159
+ self._values["performance_insight_encryption_key"] = performance_insight_encryption_key
20160
+ if performance_insight_retention is not None:
20161
+ self._values["performance_insight_retention"] = performance_insight_retention
20055
20162
  if port is not None:
20056
20163
  self._values["port"] = port
20057
20164
  if preferred_maintenance_window is not None:
@@ -20266,15 +20373,25 @@ class DatabaseClusterFromSnapshotProps:
20266
20373
  def enable_local_write_forwarding(self) -> typing.Optional[builtins.bool]:
20267
20374
  '''Whether read replicas can forward write operations to the writer DB instance in the DB cluster.
20268
20375
 
20269
- This setting can only be enabled for Aurora MySQL 3.04 and higher clusters.
20376
+ This setting can only be enabled for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL 16.4
20377
+ or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14).
20270
20378
 
20271
20379
  :default: false
20272
20380
 
20273
- :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html
20381
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-postgresql-write-forwarding.html
20274
20382
  '''
20275
20383
  result = self._values.get("enable_local_write_forwarding")
20276
20384
  return typing.cast(typing.Optional[builtins.bool], result)
20277
20385
 
20386
+ @builtins.property
20387
+ def enable_performance_insights(self) -> typing.Optional[builtins.bool]:
20388
+ '''Whether to enable Performance Insights for the DB cluster.
20389
+
20390
+ :default: - false, unless ``performanceInsightRetention`` or ``performanceInsightEncryptionKey`` is set.
20391
+ '''
20392
+ result = self._values.get("enable_performance_insights")
20393
+ return typing.cast(typing.Optional[builtins.bool], result)
20394
+
20278
20395
  @builtins.property
20279
20396
  def iam_authentication(self) -> typing.Optional[builtins.bool]:
20280
20397
  '''Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.
@@ -20381,6 +20498,26 @@ class DatabaseClusterFromSnapshotProps:
20381
20498
  result = self._values.get("parameters")
20382
20499
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
20383
20500
 
20501
+ @builtins.property
20502
+ def performance_insight_encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
20503
+ '''The AWS KMS key for encryption of Performance Insights data.
20504
+
20505
+ :default: - default master key
20506
+ '''
20507
+ result = self._values.get("performance_insight_encryption_key")
20508
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
20509
+
20510
+ @builtins.property
20511
+ def performance_insight_retention(
20512
+ self,
20513
+ ) -> typing.Optional["PerformanceInsightRetention"]:
20514
+ '''The amount of time, in days, to retain Performance Insights data.
20515
+
20516
+ :default: 7
20517
+ '''
20518
+ result = self._values.get("performance_insight_retention")
20519
+ return typing.cast(typing.Optional["PerformanceInsightRetention"], result)
20520
+
20384
20521
  @builtins.property
20385
20522
  def port(self) -> typing.Optional[jsii.Number]:
20386
20523
  '''What port to listen on.
@@ -20502,7 +20639,7 @@ class DatabaseClusterFromSnapshotProps:
20502
20639
  '''The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.
20503
20640
 
20504
20641
  You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on.
20505
- The largest value that you can use is 128 (256GB).
20642
+ The largest value that you can use is 256.
20506
20643
 
20507
20644
  The maximum capacity must be higher than 0.5 ACUs.
20508
20645
 
@@ -20635,6 +20772,7 @@ class DatabaseClusterFromSnapshotProps:
20635
20772
  "domain_role": "domainRole",
20636
20773
  "enable_data_api": "enableDataApi",
20637
20774
  "enable_local_write_forwarding": "enableLocalWriteForwarding",
20775
+ "enable_performance_insights": "enablePerformanceInsights",
20638
20776
  "iam_authentication": "iamAuthentication",
20639
20777
  "instance_identifier_base": "instanceIdentifierBase",
20640
20778
  "instance_props": "instanceProps",
@@ -20645,6 +20783,8 @@ class DatabaseClusterFromSnapshotProps:
20645
20783
  "network_type": "networkType",
20646
20784
  "parameter_group": "parameterGroup",
20647
20785
  "parameters": "parameters",
20786
+ "performance_insight_encryption_key": "performanceInsightEncryptionKey",
20787
+ "performance_insight_retention": "performanceInsightRetention",
20648
20788
  "port": "port",
20649
20789
  "preferred_maintenance_window": "preferredMaintenanceWindow",
20650
20790
  "readers": "readers",
@@ -20684,6 +20824,7 @@ class DatabaseClusterProps:
20684
20824
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
20685
20825
  enable_data_api: typing.Optional[builtins.bool] = None,
20686
20826
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
20827
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
20687
20828
  iam_authentication: typing.Optional[builtins.bool] = None,
20688
20829
  instance_identifier_base: typing.Optional[builtins.str] = None,
20689
20830
  instance_props: typing.Optional[typing.Union["InstanceProps", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -20694,6 +20835,8 @@ class DatabaseClusterProps:
20694
20835
  network_type: typing.Optional["NetworkType"] = None,
20695
20836
  parameter_group: typing.Optional["IParameterGroup"] = None,
20696
20837
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
20838
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
20839
+ performance_insight_retention: typing.Optional["PerformanceInsightRetention"] = None,
20697
20840
  port: typing.Optional[jsii.Number] = None,
20698
20841
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
20699
20842
  readers: typing.Optional[typing.Sequence["IClusterInstance"]] = None,
@@ -20729,7 +20872,8 @@ class DatabaseClusterProps:
20729
20872
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
20730
20873
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
20731
20874
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
20732
- :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
20875
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL 16.4 or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14). Default: false
20876
+ :param enable_performance_insights: Whether to enable Performance Insights for the DB cluster. Default: - false, unless ``performanceInsightRetention`` or ``performanceInsightEncryptionKey`` is set.
20733
20877
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
20734
20878
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
20735
20879
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -20740,6 +20884,8 @@ class DatabaseClusterProps:
20740
20884
  :param network_type: The network type of the DB instance. Default: - IPV4
20741
20885
  :param parameter_group: Additional parameters to pass to the database engine. Default: - No parameter group.
20742
20886
  :param parameters: The parameters in the DBClusterParameterGroup to create automatically. You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBClusterParameterGroup. Default: - None
20887
+ :param performance_insight_encryption_key: The AWS KMS key for encryption of Performance Insights data. Default: - default master key
20888
+ :param performance_insight_retention: The amount of time, in days, to retain Performance Insights data. Default: 7
20743
20889
  :param port: What port to listen on. Default: - The default for the engine is used.
20744
20890
  :param preferred_maintenance_window: A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). Example: 'Sun:23:45-Mon:00:15' Default: - 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.
20745
20891
  :param readers: A list of instances to create as cluster reader instances. Default: - no readers are created. The cluster will have a single writer/reader
@@ -20749,7 +20895,7 @@ class DatabaseClusterProps:
20749
20895
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
20750
20896
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
20751
20897
  :param security_groups: Security group. Default: a new security group is created.
20752
- :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128 (256GB). The maximum capacity must be higher than 0.5 ACUs. Default: 2
20898
+ :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
20753
20899
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5. Default: 0.5
20754
20900
  :param storage_encrypted: Whether to enable storage encryption. Default: - true if storageEncryptionKey is provided, false otherwise
20755
20901
  :param storage_encryption_key: The KMS key for storage encryption. If specified, ``storageEncrypted`` will be set to ``true``. Default: - if storageEncrypted is true then the default master key, no key otherwise
@@ -20804,6 +20950,7 @@ class DatabaseClusterProps:
20804
20950
  check_type(argname="argument domain_role", value=domain_role, expected_type=type_hints["domain_role"])
20805
20951
  check_type(argname="argument enable_data_api", value=enable_data_api, expected_type=type_hints["enable_data_api"])
20806
20952
  check_type(argname="argument enable_local_write_forwarding", value=enable_local_write_forwarding, expected_type=type_hints["enable_local_write_forwarding"])
20953
+ check_type(argname="argument enable_performance_insights", value=enable_performance_insights, expected_type=type_hints["enable_performance_insights"])
20807
20954
  check_type(argname="argument iam_authentication", value=iam_authentication, expected_type=type_hints["iam_authentication"])
20808
20955
  check_type(argname="argument instance_identifier_base", value=instance_identifier_base, expected_type=type_hints["instance_identifier_base"])
20809
20956
  check_type(argname="argument instance_props", value=instance_props, expected_type=type_hints["instance_props"])
@@ -20814,6 +20961,8 @@ class DatabaseClusterProps:
20814
20961
  check_type(argname="argument network_type", value=network_type, expected_type=type_hints["network_type"])
20815
20962
  check_type(argname="argument parameter_group", value=parameter_group, expected_type=type_hints["parameter_group"])
20816
20963
  check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
20964
+ check_type(argname="argument performance_insight_encryption_key", value=performance_insight_encryption_key, expected_type=type_hints["performance_insight_encryption_key"])
20965
+ check_type(argname="argument performance_insight_retention", value=performance_insight_retention, expected_type=type_hints["performance_insight_retention"])
20817
20966
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
20818
20967
  check_type(argname="argument preferred_maintenance_window", value=preferred_maintenance_window, expected_type=type_hints["preferred_maintenance_window"])
20819
20968
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
@@ -20863,6 +21012,8 @@ class DatabaseClusterProps:
20863
21012
  self._values["enable_data_api"] = enable_data_api
20864
21013
  if enable_local_write_forwarding is not None:
20865
21014
  self._values["enable_local_write_forwarding"] = enable_local_write_forwarding
21015
+ if enable_performance_insights is not None:
21016
+ self._values["enable_performance_insights"] = enable_performance_insights
20866
21017
  if iam_authentication is not None:
20867
21018
  self._values["iam_authentication"] = iam_authentication
20868
21019
  if instance_identifier_base is not None:
@@ -20883,6 +21034,10 @@ class DatabaseClusterProps:
20883
21034
  self._values["parameter_group"] = parameter_group
20884
21035
  if parameters is not None:
20885
21036
  self._values["parameters"] = parameters
21037
+ if performance_insight_encryption_key is not None:
21038
+ self._values["performance_insight_encryption_key"] = performance_insight_encryption_key
21039
+ if performance_insight_retention is not None:
21040
+ self._values["performance_insight_retention"] = performance_insight_retention
20886
21041
  if port is not None:
20887
21042
  self._values["port"] = port
20888
21043
  if preferred_maintenance_window is not None:
@@ -21072,15 +21227,25 @@ class DatabaseClusterProps:
21072
21227
  def enable_local_write_forwarding(self) -> typing.Optional[builtins.bool]:
21073
21228
  '''Whether read replicas can forward write operations to the writer DB instance in the DB cluster.
21074
21229
 
21075
- This setting can only be enabled for Aurora MySQL 3.04 and higher clusters.
21230
+ This setting can only be enabled for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL 16.4
21231
+ or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14).
21076
21232
 
21077
21233
  :default: false
21078
21234
 
21079
- :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html
21235
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-postgresql-write-forwarding.html
21080
21236
  '''
21081
21237
  result = self._values.get("enable_local_write_forwarding")
21082
21238
  return typing.cast(typing.Optional[builtins.bool], result)
21083
21239
 
21240
+ @builtins.property
21241
+ def enable_performance_insights(self) -> typing.Optional[builtins.bool]:
21242
+ '''Whether to enable Performance Insights for the DB cluster.
21243
+
21244
+ :default: - false, unless ``performanceInsightRetention`` or ``performanceInsightEncryptionKey`` is set.
21245
+ '''
21246
+ result = self._values.get("enable_performance_insights")
21247
+ return typing.cast(typing.Optional[builtins.bool], result)
21248
+
21084
21249
  @builtins.property
21085
21250
  def iam_authentication(self) -> typing.Optional[builtins.bool]:
21086
21251
  '''Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.
@@ -21187,6 +21352,26 @@ class DatabaseClusterProps:
21187
21352
  result = self._values.get("parameters")
21188
21353
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
21189
21354
 
21355
+ @builtins.property
21356
+ def performance_insight_encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
21357
+ '''The AWS KMS key for encryption of Performance Insights data.
21358
+
21359
+ :default: - default master key
21360
+ '''
21361
+ result = self._values.get("performance_insight_encryption_key")
21362
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
21363
+
21364
+ @builtins.property
21365
+ def performance_insight_retention(
21366
+ self,
21367
+ ) -> typing.Optional["PerformanceInsightRetention"]:
21368
+ '''The amount of time, in days, to retain Performance Insights data.
21369
+
21370
+ :default: 7
21371
+ '''
21372
+ result = self._values.get("performance_insight_retention")
21373
+ return typing.cast(typing.Optional["PerformanceInsightRetention"], result)
21374
+
21190
21375
  @builtins.property
21191
21376
  def port(self) -> typing.Optional[jsii.Number]:
21192
21377
  '''What port to listen on.
@@ -21308,7 +21493,7 @@ class DatabaseClusterProps:
21308
21493
  '''The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.
21309
21494
 
21310
21495
  You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on.
21311
- The largest value that you can use is 128 (256GB).
21496
+ The largest value that you can use is 256.
21312
21497
 
21313
21498
  The maximum capacity must be higher than 0.5 ACUs.
21314
21499
 
@@ -21561,14 +21746,14 @@ class DatabaseInstanceEngine(
21561
21746
 
21562
21747
 
21563
21748
  iops_instance = rds.DatabaseInstance(self, "IopsInstance",
21564
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
21749
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
21565
21750
  vpc=vpc,
21566
21751
  storage_type=rds.StorageType.IO1,
21567
21752
  iops=5000
21568
21753
  )
21569
21754
 
21570
21755
  gp3_instance = rds.DatabaseInstance(self, "Gp3Instance",
21571
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
21756
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
21572
21757
  vpc=vpc,
21573
21758
  allocated_storage=500,
21574
21759
  storage_type=rds.StorageType.GP3,
@@ -25692,7 +25877,7 @@ class IAuroraClusterInstance(_IResource_c80c4260, typing_extensions.Protocol):
25692
25877
  @builtins.property
25693
25878
  @jsii.member(jsii_name="tier")
25694
25879
  def tier(self) -> jsii.Number:
25695
- '''Te promotion tier the instance was created in.'''
25880
+ '''The promotion tier the instance was created in.'''
25696
25881
  ...
25697
25882
 
25698
25883
  @builtins.property
@@ -25707,6 +25892,26 @@ class IAuroraClusterInstance(_IResource_c80c4260, typing_extensions.Protocol):
25707
25892
  '''The instance size if the instance is a provisioned type.'''
25708
25893
  ...
25709
25894
 
25895
+ @builtins.property
25896
+ @jsii.member(jsii_name="performanceInsightEncryptionKey")
25897
+ def performance_insight_encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
25898
+ '''The AWS KMS key for encryption of Performance Insights data.'''
25899
+ ...
25900
+
25901
+ @builtins.property
25902
+ @jsii.member(jsii_name="performanceInsightRetention")
25903
+ def performance_insight_retention(
25904
+ self,
25905
+ ) -> typing.Optional["PerformanceInsightRetention"]:
25906
+ '''The amount of time, in days, to retain Performance Insights data.'''
25907
+ ...
25908
+
25909
+ @builtins.property
25910
+ @jsii.member(jsii_name="performanceInsightsEnabled")
25911
+ def performance_insights_enabled(self) -> typing.Optional[builtins.bool]:
25912
+ '''Whether Performance Insights is enabled.'''
25913
+ ...
25914
+
25710
25915
 
25711
25916
  class _IAuroraClusterInstanceProxy(
25712
25917
  jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
@@ -25742,7 +25947,7 @@ class _IAuroraClusterInstanceProxy(
25742
25947
  @builtins.property
25743
25948
  @jsii.member(jsii_name="tier")
25744
25949
  def tier(self) -> jsii.Number:
25745
- '''Te promotion tier the instance was created in.'''
25950
+ '''The promotion tier the instance was created in.'''
25746
25951
  return typing.cast(jsii.Number, jsii.get(self, "tier"))
25747
25952
 
25748
25953
  @builtins.property
@@ -25757,6 +25962,26 @@ class _IAuroraClusterInstanceProxy(
25757
25962
  '''The instance size if the instance is a provisioned type.'''
25758
25963
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "instanceSize"))
25759
25964
 
25965
+ @builtins.property
25966
+ @jsii.member(jsii_name="performanceInsightEncryptionKey")
25967
+ def performance_insight_encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
25968
+ '''The AWS KMS key for encryption of Performance Insights data.'''
25969
+ return typing.cast(typing.Optional[_IKey_5f11635f], jsii.get(self, "performanceInsightEncryptionKey"))
25970
+
25971
+ @builtins.property
25972
+ @jsii.member(jsii_name="performanceInsightRetention")
25973
+ def performance_insight_retention(
25974
+ self,
25975
+ ) -> typing.Optional["PerformanceInsightRetention"]:
25976
+ '''The amount of time, in days, to retain Performance Insights data.'''
25977
+ return typing.cast(typing.Optional["PerformanceInsightRetention"], jsii.get(self, "performanceInsightRetention"))
25978
+
25979
+ @builtins.property
25980
+ @jsii.member(jsii_name="performanceInsightsEnabled")
25981
+ def performance_insights_enabled(self) -> typing.Optional[builtins.bool]:
25982
+ '''Whether Performance Insights is enabled.'''
25983
+ return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "performanceInsightsEnabled"))
25984
+
25760
25985
  # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
25761
25986
  typing.cast(typing.Any, IAuroraClusterInstance).__jsii_proxy_class__ = lambda : _IAuroraClusterInstanceProxy
25762
25987
 
@@ -30095,6 +30320,12 @@ class MariaDbEngineVersion(
30095
30320
  '''
30096
30321
  return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_10_6_8"))
30097
30322
 
30323
+ @jsii.python.classproperty
30324
+ @jsii.member(jsii_name="VER_11_4_3")
30325
+ def VER_11_4_3(cls) -> "MariaDbEngineVersion":
30326
+ '''Version "11.4.3".'''
30327
+ return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_11_4_3"))
30328
+
30098
30329
  @builtins.property
30099
30330
  @jsii.member(jsii_name="mariaDbFullVersion")
30100
30331
  def maria_db_full_version(self) -> builtins.str:
@@ -30182,14 +30413,14 @@ class MySqlInstanceEngineProps:
30182
30413
 
30183
30414
 
30184
30415
  iops_instance = rds.DatabaseInstance(self, "IopsInstance",
30185
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
30416
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
30186
30417
  vpc=vpc,
30187
30418
  storage_type=rds.StorageType.IO1,
30188
30419
  iops=5000
30189
30420
  )
30190
30421
 
30191
30422
  gp3_instance = rds.DatabaseInstance(self, "Gp3Instance",
30192
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
30423
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
30193
30424
  vpc=vpc,
30194
30425
  allocated_storage=500,
30195
30426
  storage_type=rds.StorageType.GP3,
@@ -30236,14 +30467,14 @@ class MysqlEngineVersion(
30236
30467
 
30237
30468
 
30238
30469
  iops_instance = rds.DatabaseInstance(self, "IopsInstance",
30239
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
30470
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
30240
30471
  vpc=vpc,
30241
30472
  storage_type=rds.StorageType.IO1,
30242
30473
  iops=5000
30243
30474
  )
30244
30475
 
30245
30476
  gp3_instance = rds.DatabaseInstance(self, "Gp3Instance",
30246
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
30477
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
30247
30478
  vpc=vpc,
30248
30479
  allocated_storage=500,
30249
30480
  storage_type=rds.StorageType.GP3,
@@ -32874,6 +33105,24 @@ class PerformanceInsightRetention(enum.Enum):
32874
33105
  - 7 days (the default, free tier)
32875
33106
  - month * 31, where month is a number of months from 1-23
32876
33107
  - 731 (2 years)
33108
+
33109
+ :exampleMetadata: infused
33110
+
33111
+ Example::
33112
+
33113
+ # vpc: ec2.Vpc
33114
+ # kms_key: kms.Key
33115
+
33116
+ rds.DatabaseCluster(self, "Database",
33117
+ engine=rds.DatabaseClusterEngine.AURORA,
33118
+ vpc=vpc,
33119
+ enable_performance_insights=True,
33120
+ performance_insight_retention=rds.PerformanceInsightRetention.LONG_TERM,
33121
+ performance_insight_encryption_key=kms_key,
33122
+ writer=rds.ClusterInstance.provisioned("Writer",
33123
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.R7G, ec2.InstanceSize.LARGE)
33124
+ )
33125
+ )
32877
33126
  '''
32878
33127
 
32879
33128
  DEFAULT = "DEFAULT"
@@ -38173,14 +38422,14 @@ class StorageType(enum.Enum):
38173
38422
 
38174
38423
 
38175
38424
  iops_instance = rds.DatabaseInstance(self, "IopsInstance",
38176
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
38425
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
38177
38426
  vpc=vpc,
38178
38427
  storage_type=rds.StorageType.IO1,
38179
38428
  iops=5000
38180
38429
  )
38181
38430
 
38182
38431
  gp3_instance = rds.DatabaseInstance(self, "Gp3Instance",
38183
- engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_30),
38432
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
38184
38433
  vpc=vpc,
38185
38434
  allocated_storage=500,
38186
38435
  storage_type=rds.StorageType.GP3,
@@ -39633,6 +39882,7 @@ class DatabaseClusterFromSnapshot(
39633
39882
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
39634
39883
  enable_data_api: typing.Optional[builtins.bool] = None,
39635
39884
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
39885
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
39636
39886
  iam_authentication: typing.Optional[builtins.bool] = None,
39637
39887
  instance_identifier_base: typing.Optional[builtins.str] = None,
39638
39888
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -39643,6 +39893,8 @@ class DatabaseClusterFromSnapshot(
39643
39893
  network_type: typing.Optional[NetworkType] = None,
39644
39894
  parameter_group: typing.Optional[IParameterGroup] = None,
39645
39895
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
39896
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
39897
+ performance_insight_retention: typing.Optional[PerformanceInsightRetention] = None,
39646
39898
  port: typing.Optional[jsii.Number] = None,
39647
39899
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
39648
39900
  readers: typing.Optional[typing.Sequence[IClusterInstance]] = None,
@@ -39681,7 +39933,8 @@ class DatabaseClusterFromSnapshot(
39681
39933
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
39682
39934
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
39683
39935
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
39684
- :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
39936
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL 16.4 or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14). Default: false
39937
+ :param enable_performance_insights: Whether to enable Performance Insights for the DB cluster. Default: - false, unless ``performanceInsightRetention`` or ``performanceInsightEncryptionKey`` is set.
39685
39938
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
39686
39939
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
39687
39940
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -39692,6 +39945,8 @@ class DatabaseClusterFromSnapshot(
39692
39945
  :param network_type: The network type of the DB instance. Default: - IPV4
39693
39946
  :param parameter_group: Additional parameters to pass to the database engine. Default: - No parameter group.
39694
39947
  :param parameters: The parameters in the DBClusterParameterGroup to create automatically. You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBClusterParameterGroup. Default: - None
39948
+ :param performance_insight_encryption_key: The AWS KMS key for encryption of Performance Insights data. Default: - default master key
39949
+ :param performance_insight_retention: The amount of time, in days, to retain Performance Insights data. Default: 7
39695
39950
  :param port: What port to listen on. Default: - The default for the engine is used.
39696
39951
  :param preferred_maintenance_window: A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). Example: 'Sun:23:45-Mon:00:15' Default: - 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.
39697
39952
  :param readers: A list of instances to create as cluster reader instances. Default: - no readers are created. The cluster will have a single writer/reader
@@ -39701,7 +39956,7 @@ class DatabaseClusterFromSnapshot(
39701
39956
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
39702
39957
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
39703
39958
  :param security_groups: Security group. Default: a new security group is created.
39704
- :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128 (256GB). The maximum capacity must be higher than 0.5 ACUs. Default: 2
39959
+ :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
39705
39960
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5. Default: 0.5
39706
39961
  :param snapshot_credentials: Master user credentials. Note - It is not possible to change the master username for a snapshot; however, it is possible to provide (or generate) a new password. Default: - The existing username and password from the snapshot will be used.
39707
39962
  :param storage_encrypted: Whether to enable storage encryption. Default: - true if storageEncryptionKey is provided, false otherwise
@@ -39733,6 +39988,7 @@ class DatabaseClusterFromSnapshot(
39733
39988
  domain_role=domain_role,
39734
39989
  enable_data_api=enable_data_api,
39735
39990
  enable_local_write_forwarding=enable_local_write_forwarding,
39991
+ enable_performance_insights=enable_performance_insights,
39736
39992
  iam_authentication=iam_authentication,
39737
39993
  instance_identifier_base=instance_identifier_base,
39738
39994
  instance_props=instance_props,
@@ -39743,6 +39999,8 @@ class DatabaseClusterFromSnapshot(
39743
39999
  network_type=network_type,
39744
40000
  parameter_group=parameter_group,
39745
40001
  parameters=parameters,
40002
+ performance_insight_encryption_key=performance_insight_encryption_key,
40003
+ performance_insight_retention=performance_insight_retention,
39746
40004
  port=port,
39747
40005
  preferred_maintenance_window=preferred_maintenance_window,
39748
40006
  readers=readers,
@@ -39987,6 +40245,12 @@ class DatabaseClusterFromSnapshot(
39987
40245
  def _new_cfn_props(self) -> CfnDBClusterProps:
39988
40246
  return typing.cast(CfnDBClusterProps, jsii.get(self, "newCfnProps"))
39989
40247
 
40248
+ @builtins.property
40249
+ @jsii.member(jsii_name="performanceInsightsEnabled")
40250
+ def performance_insights_enabled(self) -> builtins.bool:
40251
+ '''Whether Performance Insights is enabled at cluster level.'''
40252
+ return typing.cast(builtins.bool, jsii.get(self, "performanceInsightsEnabled"))
40253
+
39990
40254
  @builtins.property
39991
40255
  @jsii.member(jsii_name="securityGroups")
39992
40256
  def _security_groups(self) -> typing.List[_ISecurityGroup_acf8a799]:
@@ -40028,6 +40292,20 @@ class DatabaseClusterFromSnapshot(
40028
40292
  '''
40029
40293
  return typing.cast(typing.Optional["IClusterEngine"], jsii.get(self, "engine"))
40030
40294
 
40295
+ @builtins.property
40296
+ @jsii.member(jsii_name="performanceInsightEncryptionKey")
40297
+ def performance_insight_encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
40298
+ '''The AWS KMS key for encryption of Performance Insights data.'''
40299
+ return typing.cast(typing.Optional[_IKey_5f11635f], jsii.get(self, "performanceInsightEncryptionKey"))
40300
+
40301
+ @builtins.property
40302
+ @jsii.member(jsii_name="performanceInsightRetention")
40303
+ def performance_insight_retention(
40304
+ self,
40305
+ ) -> typing.Optional[PerformanceInsightRetention]:
40306
+ '''The amount of time, in days, to retain Performance Insights data.'''
40307
+ return typing.cast(typing.Optional[PerformanceInsightRetention], jsii.get(self, "performanceInsightRetention"))
40308
+
40031
40309
  @builtins.property
40032
40310
  @jsii.member(jsii_name="secret")
40033
40311
  def secret(self) -> typing.Optional[_ISecret_6e020e6a]:
@@ -42209,31 +42487,22 @@ class DatabaseInstanceProps(DatabaseInstanceSourceProps):
42209
42487
 
42210
42488
  Example::
42211
42489
 
42212
- # vpc: ec2.IVpc
42490
+ # vpc: ec2.Vpc
42213
42491
 
42214
42492
 
42215
- instance1 = rds.DatabaseInstance(self, "PostgresInstance1",
42216
- engine=rds.DatabaseInstanceEngine.POSTGRES,
42217
- # Generate the secret with admin username `postgres` and random password
42218
- credentials=rds.Credentials.from_generated_secret("postgres"),
42219
- vpc=vpc
42220
- )
42221
- # Templated secret with username and password fields
42222
- templated_secret = secretsmanager.Secret(self, "TemplatedSecret",
42223
- generate_secret_string=secretsmanager.SecretStringGenerator(
42224
- secret_string_template=JSON.stringify({"username": "postgres"}),
42225
- generate_string_key="password",
42226
- exclude_characters="/@\""
42227
- )
42493
+ iops_instance = rds.DatabaseInstance(self, "IopsInstance",
42494
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
42495
+ vpc=vpc,
42496
+ storage_type=rds.StorageType.IO1,
42497
+ iops=5000
42228
42498
  )
42229
- # Using the templated secret as credentials
42230
- instance2 = rds.DatabaseInstance(self, "PostgresInstance2",
42231
- engine=rds.DatabaseInstanceEngine.POSTGRES,
42232
- credentials={
42233
- "username": templated_secret.secret_value_from_json("username").to_string(),
42234
- "password": templated_secret.secret_value_from_json("password")
42235
- },
42236
- vpc=vpc
42499
+
42500
+ gp3_instance = rds.DatabaseInstance(self, "Gp3Instance",
42501
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
42502
+ vpc=vpc,
42503
+ allocated_storage=500,
42504
+ storage_type=rds.StorageType.GP3,
42505
+ storage_throughput=500
42237
42506
  )
42238
42507
  '''
42239
42508
  if isinstance(processor_features, dict):
@@ -43635,6 +43904,7 @@ class DatabaseCluster(
43635
43904
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
43636
43905
  enable_data_api: typing.Optional[builtins.bool] = None,
43637
43906
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
43907
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
43638
43908
  iam_authentication: typing.Optional[builtins.bool] = None,
43639
43909
  instance_identifier_base: typing.Optional[builtins.str] = None,
43640
43910
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -43645,6 +43915,8 @@ class DatabaseCluster(
43645
43915
  network_type: typing.Optional[NetworkType] = None,
43646
43916
  parameter_group: typing.Optional[IParameterGroup] = None,
43647
43917
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
43918
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
43919
+ performance_insight_retention: typing.Optional[PerformanceInsightRetention] = None,
43648
43920
  port: typing.Optional[jsii.Number] = None,
43649
43921
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
43650
43922
  readers: typing.Optional[typing.Sequence[IClusterInstance]] = None,
@@ -43681,7 +43953,8 @@ class DatabaseCluster(
43681
43953
  :param domain: Directory ID for associating the DB cluster with a specific Active Directory. Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
43682
43954
  :param domain_role: The IAM role to be used when making API calls to the Directory Service. The role needs the AWS-managed policy ``AmazonRDSDirectoryServiceAccess`` or equivalent. Default: - If ``DatabaseClusterBaseProps.domain`` is specified, a role with the ``AmazonRDSDirectoryServiceAccess`` policy is automatically created.
43683
43955
  :param enable_data_api: Whether to enable the Data API for the cluster. Default: - false
43684
- :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 and higher clusters. Default: false
43956
+ :param enable_local_write_forwarding: Whether read replicas can forward write operations to the writer DB instance in the DB cluster. This setting can only be enabled for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL 16.4 or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14). Default: false
43957
+ :param enable_performance_insights: Whether to enable Performance Insights for the DB cluster. Default: - false, unless ``performanceInsightRetention`` or ``performanceInsightEncryptionKey`` is set.
43685
43958
  :param iam_authentication: Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. Default: false
43686
43959
  :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
43687
43960
  :param instance_props: (deprecated) Settings for the individual instances that are launched.
@@ -43692,6 +43965,8 @@ class DatabaseCluster(
43692
43965
  :param network_type: The network type of the DB instance. Default: - IPV4
43693
43966
  :param parameter_group: Additional parameters to pass to the database engine. Default: - No parameter group.
43694
43967
  :param parameters: The parameters in the DBClusterParameterGroup to create automatically. You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBClusterParameterGroup. Default: - None
43968
+ :param performance_insight_encryption_key: The AWS KMS key for encryption of Performance Insights data. Default: - default master key
43969
+ :param performance_insight_retention: The amount of time, in days, to retain Performance Insights data. Default: 7
43695
43970
  :param port: What port to listen on. Default: - The default for the engine is used.
43696
43971
  :param preferred_maintenance_window: A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). Example: 'Sun:23:45-Mon:00:15' Default: - 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.
43697
43972
  :param readers: A list of instances to create as cluster reader instances. Default: - no readers are created. The cluster will have a single writer/reader
@@ -43701,7 +43976,7 @@ class DatabaseCluster(
43701
43976
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
43702
43977
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
43703
43978
  :param security_groups: Security group. Default: a new security group is created.
43704
- :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128 (256GB). The maximum capacity must be higher than 0.5 ACUs. Default: 2
43979
+ :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
43705
43980
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5. Default: 0.5
43706
43981
  :param storage_encrypted: Whether to enable storage encryption. Default: - true if storageEncryptionKey is provided, false otherwise
43707
43982
  :param storage_encryption_key: The KMS key for storage encryption. If specified, ``storageEncrypted`` will be set to ``true``. Default: - if storageEncrypted is true then the default master key, no key otherwise
@@ -43731,6 +44006,7 @@ class DatabaseCluster(
43731
44006
  domain_role=domain_role,
43732
44007
  enable_data_api=enable_data_api,
43733
44008
  enable_local_write_forwarding=enable_local_write_forwarding,
44009
+ enable_performance_insights=enable_performance_insights,
43734
44010
  iam_authentication=iam_authentication,
43735
44011
  instance_identifier_base=instance_identifier_base,
43736
44012
  instance_props=instance_props,
@@ -43741,6 +44017,8 @@ class DatabaseCluster(
43741
44017
  network_type=network_type,
43742
44018
  parameter_group=parameter_group,
43743
44019
  parameters=parameters,
44020
+ performance_insight_encryption_key=performance_insight_encryption_key,
44021
+ performance_insight_retention=performance_insight_retention,
43744
44022
  port=port,
43745
44023
  preferred_maintenance_window=preferred_maintenance_window,
43746
44024
  readers=readers,
@@ -44039,6 +44317,12 @@ class DatabaseCluster(
44039
44317
  def _new_cfn_props(self) -> CfnDBClusterProps:
44040
44318
  return typing.cast(CfnDBClusterProps, jsii.get(self, "newCfnProps"))
44041
44319
 
44320
+ @builtins.property
44321
+ @jsii.member(jsii_name="performanceInsightsEnabled")
44322
+ def performance_insights_enabled(self) -> builtins.bool:
44323
+ '''Whether Performance Insights is enabled at cluster level.'''
44324
+ return typing.cast(builtins.bool, jsii.get(self, "performanceInsightsEnabled"))
44325
+
44042
44326
  @builtins.property
44043
44327
  @jsii.member(jsii_name="securityGroups")
44044
44328
  def _security_groups(self) -> typing.List[_ISecurityGroup_acf8a799]:
@@ -44080,6 +44364,20 @@ class DatabaseCluster(
44080
44364
  '''
44081
44365
  return typing.cast(typing.Optional[IClusterEngine], jsii.get(self, "engine"))
44082
44366
 
44367
+ @builtins.property
44368
+ @jsii.member(jsii_name="performanceInsightEncryptionKey")
44369
+ def performance_insight_encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
44370
+ '''The AWS KMS key for encryption of Performance Insights data.'''
44371
+ return typing.cast(typing.Optional[_IKey_5f11635f], jsii.get(self, "performanceInsightEncryptionKey"))
44372
+
44373
+ @builtins.property
44374
+ @jsii.member(jsii_name="performanceInsightRetention")
44375
+ def performance_insight_retention(
44376
+ self,
44377
+ ) -> typing.Optional[PerformanceInsightRetention]:
44378
+ '''The amount of time, in days, to retain Performance Insights data.'''
44379
+ return typing.cast(typing.Optional[PerformanceInsightRetention], jsii.get(self, "performanceInsightRetention"))
44380
+
44083
44381
  @builtins.property
44084
44382
  @jsii.member(jsii_name="secret")
44085
44383
  def secret(self) -> typing.Optional[_ISecret_6e020e6a]:
@@ -44130,31 +44428,22 @@ class DatabaseInstance(
44130
44428
 
44131
44429
  Example::
44132
44430
 
44133
- # vpc: ec2.IVpc
44431
+ # vpc: ec2.Vpc
44134
44432
 
44135
44433
 
44136
- instance1 = rds.DatabaseInstance(self, "PostgresInstance1",
44137
- engine=rds.DatabaseInstanceEngine.POSTGRES,
44138
- # Generate the secret with admin username `postgres` and random password
44139
- credentials=rds.Credentials.from_generated_secret("postgres"),
44140
- vpc=vpc
44141
- )
44142
- # Templated secret with username and password fields
44143
- templated_secret = secretsmanager.Secret(self, "TemplatedSecret",
44144
- generate_secret_string=secretsmanager.SecretStringGenerator(
44145
- secret_string_template=JSON.stringify({"username": "postgres"}),
44146
- generate_string_key="password",
44147
- exclude_characters="/@\""
44148
- )
44434
+ iops_instance = rds.DatabaseInstance(self, "IopsInstance",
44435
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
44436
+ vpc=vpc,
44437
+ storage_type=rds.StorageType.IO1,
44438
+ iops=5000
44149
44439
  )
44150
- # Using the templated secret as credentials
44151
- instance2 = rds.DatabaseInstance(self, "PostgresInstance2",
44152
- engine=rds.DatabaseInstanceEngine.POSTGRES,
44153
- credentials={
44154
- "username": templated_secret.secret_value_from_json("username").to_string(),
44155
- "password": templated_secret.secret_value_from_json("password")
44156
- },
44157
- vpc=vpc
44440
+
44441
+ gp3_instance = rds.DatabaseInstance(self, "Gp3Instance",
44442
+ engine=rds.DatabaseInstanceEngine.mysql(version=rds.MysqlEngineVersion.VER_8_0_39),
44443
+ vpc=vpc,
44444
+ allocated_storage=500,
44445
+ storage_type=rds.StorageType.GP3,
44446
+ storage_throughput=500
44158
44447
  )
44159
44448
  '''
44160
44449
 
@@ -47246,6 +47535,7 @@ def _typecheckingstub__1e44b5aef872ca17869a17181382f06cd0166bdbe07e2c33701d3bf1e
47246
47535
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
47247
47536
  enable_data_api: typing.Optional[builtins.bool] = None,
47248
47537
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
47538
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
47249
47539
  iam_authentication: typing.Optional[builtins.bool] = None,
47250
47540
  instance_identifier_base: typing.Optional[builtins.str] = None,
47251
47541
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -47256,6 +47546,8 @@ def _typecheckingstub__1e44b5aef872ca17869a17181382f06cd0166bdbe07e2c33701d3bf1e
47256
47546
  network_type: typing.Optional[NetworkType] = None,
47257
47547
  parameter_group: typing.Optional[IParameterGroup] = None,
47258
47548
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
47549
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
47550
+ performance_insight_retention: typing.Optional[PerformanceInsightRetention] = None,
47259
47551
  port: typing.Optional[jsii.Number] = None,
47260
47552
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
47261
47553
  readers: typing.Optional[typing.Sequence[IClusterInstance]] = None,
@@ -47296,6 +47588,7 @@ def _typecheckingstub__a32e21c90ab65d3cfdb3b7ef2a0d741ba1528ec8824cd1817d1e485b4
47296
47588
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
47297
47589
  enable_data_api: typing.Optional[builtins.bool] = None,
47298
47590
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
47591
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
47299
47592
  iam_authentication: typing.Optional[builtins.bool] = None,
47300
47593
  instance_identifier_base: typing.Optional[builtins.str] = None,
47301
47594
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -47306,6 +47599,8 @@ def _typecheckingstub__a32e21c90ab65d3cfdb3b7ef2a0d741ba1528ec8824cd1817d1e485b4
47306
47599
  network_type: typing.Optional[NetworkType] = None,
47307
47600
  parameter_group: typing.Optional[IParameterGroup] = None,
47308
47601
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
47602
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
47603
+ performance_insight_retention: typing.Optional[PerformanceInsightRetention] = None,
47309
47604
  port: typing.Optional[jsii.Number] = None,
47310
47605
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
47311
47606
  readers: typing.Optional[typing.Sequence[IClusterInstance]] = None,
@@ -48498,6 +48793,7 @@ def _typecheckingstub__d1a2e259091e12a41b0f5818df495769518e049ebcc89ed340ffc7ba4
48498
48793
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
48499
48794
  enable_data_api: typing.Optional[builtins.bool] = None,
48500
48795
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
48796
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
48501
48797
  iam_authentication: typing.Optional[builtins.bool] = None,
48502
48798
  instance_identifier_base: typing.Optional[builtins.str] = None,
48503
48799
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -48508,6 +48804,8 @@ def _typecheckingstub__d1a2e259091e12a41b0f5818df495769518e049ebcc89ed340ffc7ba4
48508
48804
  network_type: typing.Optional[NetworkType] = None,
48509
48805
  parameter_group: typing.Optional[IParameterGroup] = None,
48510
48806
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
48807
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
48808
+ performance_insight_retention: typing.Optional[PerformanceInsightRetention] = None,
48511
48809
  port: typing.Optional[jsii.Number] = None,
48512
48810
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
48513
48811
  readers: typing.Optional[typing.Sequence[IClusterInstance]] = None,
@@ -48981,6 +49279,7 @@ def _typecheckingstub__c6184cbbefaa372690b9776dafecbf5857cf9bfbab91d1666aad22c56
48981
49279
  domain_role: typing.Optional[_IRole_235f5d8e] = None,
48982
49280
  enable_data_api: typing.Optional[builtins.bool] = None,
48983
49281
  enable_local_write_forwarding: typing.Optional[builtins.bool] = None,
49282
+ enable_performance_insights: typing.Optional[builtins.bool] = None,
48984
49283
  iam_authentication: typing.Optional[builtins.bool] = None,
48985
49284
  instance_identifier_base: typing.Optional[builtins.str] = None,
48986
49285
  instance_props: typing.Optional[typing.Union[InstanceProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -48991,6 +49290,8 @@ def _typecheckingstub__c6184cbbefaa372690b9776dafecbf5857cf9bfbab91d1666aad22c56
48991
49290
  network_type: typing.Optional[NetworkType] = None,
48992
49291
  parameter_group: typing.Optional[IParameterGroup] = None,
48993
49292
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
49293
+ performance_insight_encryption_key: typing.Optional[_IKey_5f11635f] = None,
49294
+ performance_insight_retention: typing.Optional[PerformanceInsightRetention] = None,
48994
49295
  port: typing.Optional[jsii.Number] = None,
48995
49296
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
48996
49297
  readers: typing.Optional[typing.Sequence[IClusterInstance]] = None,