Skip to content

modify_db_cluster

modify_db_cluster(
    *,
    config_overrides: Optional[RDSClientConfig] = None,
    db_cluster_identifier: Optional[String] = None,
    new_db_cluster_identifier: Optional[String] = None,
    apply_immediately: Optional[Boolean] = None,
    backup_retention_period: Optional[IntegerOptional] = None,
    db_cluster_parameter_group_name: Optional[String] = None,
    vpc_security_group_ids: Optional[VpcSecurityGroupIdList] = None,
    port: Optional[IntegerOptional] = None,
    master_user_password: Optional[SensitiveString] = None,
    option_group_name: Optional[String] = None,
    preferred_backup_window: Optional[String] = None,
    preferred_maintenance_window: Optional[String] = None,
    enable_iam_database_authentication: Optional[BooleanOptional] = None,
    backtrack_window: Optional[LongOptional] = None,
    cloudwatch_logs_export_configuration: Optional[
        CloudwatchLogsExportConfiguration
    ] = None,
    engine_version: Optional[String] = None,
    allow_major_version_upgrade: Optional[Boolean] = None,
    db_instance_parameter_group_name: Optional[String] = None,
    domain: Optional[String] = None,
    domain_iam_role_name: Optional[String] = None,
    scaling_configuration: Optional[ScalingConfiguration] = None,
    deletion_protection: Optional[BooleanOptional] = None,
    enable_http_endpoint: Optional[BooleanOptional] = None,
    copy_tags_to_snapshot: Optional[BooleanOptional] = None,
    enable_global_write_forwarding: Optional[BooleanOptional] = None,
    db_cluster_instance_class: Optional[String] = None,
    allocated_storage: Optional[IntegerOptional] = None,
    storage_type: Optional[String] = None,
    iops: Optional[IntegerOptional] = None,
    auto_minor_version_upgrade: Optional[BooleanOptional] = None,
    network_type: Optional[String] = None,
    serverless_v2_scaling_configuration: Optional[
        ServerlessV2ScalingConfiguration
    ] = None,
    monitoring_interval: Optional[IntegerOptional] = None,
    monitoring_role_arn: Optional[String] = None,
    database_insights_mode: Optional[DatabaseInsightsMode] = None,
    enable_performance_insights: Optional[BooleanOptional] = None,
    performance_insights_kms_key_id: Optional[String] = None,
    performance_insights_retention_period: Optional[IntegerOptional] = None,
    manage_master_user_password: Optional[BooleanOptional] = None,
    rotate_master_user_password: Optional[BooleanOptional] = None,
    enable_local_write_forwarding: Optional[BooleanOptional] = None,
    master_user_secret_kms_key_id: Optional[String] = None,
    engine_mode: Optional[String] = None,
    allow_engine_mode_change: Optional[Boolean] = None,
    aws_backup_recovery_point_arn: Optional[AwsBackupRecoveryPointArn] = None,
    enable_limitless_database: Optional[BooleanOptional] = None,
    ca_certificate_identifier: Optional[String] = None,
    master_user_authentication_type: Optional[MasterUserAuthenticationType] = None,
    engine_lifecycle_support: Optional[String] = None,
) -> ModifyDBClusterResult

Modifies the settings of an Amazon Aurora DB cluster or a Multi-AZ DB cluster. You can change one or more settings by specifying these parameters and the new values in the request.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameters:

  • db_cluster_identifier (Optional[String], default: None ) –

    The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Constraints:

    • Must match the identifier of an existing DB cluster.

  • new_db_cluster_identifier (Optional[String], default: None ) –

    The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • The first character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster2

  • apply_immediately (Optional[Boolean], default: None ) –

    Specifies whether the modifications in this request are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is disabled, changes to the DB cluster are applied during the next maintenance window.

    Most modifications can be applied immediately or during the next scheduled maintenance window. Some modifications, such as turning on deletion protection and changing the master password, are applied immediately—regardless of when you choose to apply them.

    By default, this parameter is disabled.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • backup_retention_period (Optional[IntegerOptional], default: None ) –

    The number of days for which automated backups are retained. Specify a minimum value of 1.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Default: 1

    Constraints:

    • Must be a value from 1 to 35.

  • db_cluster_parameter_group_name (Optional[String], default: None ) –

    The name of the DB cluster parameter group to use for the DB cluster.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • vpc_security_group_ids (Optional[VpcSecurityGroupIdList], default: None ) –

    A list of EC2 VPC security groups to associate with this DB cluster.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • port (Optional[IntegerOptional], default: None ) –

    The port number on which the DB cluster accepts connections.

    Valid for Cluster Type: Aurora DB clusters only

    Valid Values: 1150-65535

    Default: The same port as the original DB cluster.

  • master_user_password (Optional[SensitiveString], default: None ) –

    The new password for the master database user.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Constraints:

    • Must contain from 8 to 41 characters.

    • Can contain any printable ASCII character except "/", """, or "@".

    • Can't be specified if ManageMasterUserPassword is turned on.

  • option_group_name (Optional[String], default: None ) –

    The option group to associate the DB cluster with.

    DB clusters are associated with a default option group that can't be modified.

  • preferred_backup_window (Optional[String], default: None ) –

    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 Amazon Web Services Region. To view the time blocks available, see Backup window in the Amazon Aurora User Guide.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    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.

  • preferred_maintenance_window (Optional[String], default: None ) –

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

    Constraints:

    • Must be in the format ddd:hh24:mi-ddd:hh24:mi.

    • Days must be one of Mon | Tue | Wed | Thu | Fri | Sat | Sun.

    • Must be in Universal Coordinated Time (UTC).

    • Must be at least 30 minutes.

  • enable_iam_database_authentication (Optional[BooleanOptional], default: None ) –

    Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

    For more information, see IAM Database Authentication in the Amazon Aurora User Guide or IAM database authentication for MariaDB, MySQL, and PostgreSQL in the Amazon RDS User Guide.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • backtrack_window (Optional[LongOptional], default: None ) –

    The target backtrack window, in seconds. To disable backtracking, set this value to 0.

    Valid for Cluster Type: Aurora MySQL DB clusters only

    Default: 0

    Constraints:

    • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

  • cloudwatch_logs_export_configuration (Optional[CloudwatchLogsExportConfiguration], default: None ) –

    The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    The following values are valid for each DB engine:

    • Aurora MySQL - audit | error | general | instance | slowquery | iam-db-auth-error

    • Aurora PostgreSQL - instance | postgresql | iam-db-auth-error

    • RDS for MySQL - error | general | slowquery | iam-db-auth-error

    • RDS for PostgreSQL - postgresql | upgrade | iam-db-auth-error

    For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

    For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

  • engine_version (Optional[String], default: None ) –

    The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless ApplyImmediately is enabled.

    If the cluster that you're modifying has one or more read replicas, all replicas must be running an engine version that's the same or later than the version you specify.

    To list all of the available engine versions for Aurora MySQL, use the following command:

    aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"

    To list all of the available engine versions for Aurora PostgreSQL, use the following command:

    aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"

    To list all of the available engine versions for RDS for MySQL, use the following command:

    aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"

    To list all of the available engine versions for RDS for PostgreSQL, use the following command:

    aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • allow_major_version_upgrade (Optional[Boolean], default: None ) –

    Specifies whether major version upgrades are allowed.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Constraints:

    • You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the DB cluster's current version.

  • db_instance_parameter_group_name (Optional[String], default: None ) –

    The name of the DB parameter group to apply to all instances of the DB cluster.

    When you apply a parameter group using the DBInstanceParameterGroupName parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.

    Valid for Cluster Type: Aurora DB clusters only

    Default: The existing name setting

    Constraints:

    • The DB parameter group must be in the same DB parameter group family as this DB cluster.

    • The DBInstanceParameterGroupName parameter is valid in combination with the AllowMajorVersionUpgrade parameter for a major version upgrade only.

  • domain (Optional[String], default: None ) –

    The Active Directory directory ID to move the DB cluster to. Specify none to remove the cluster from its current domain. The domain must be created prior to this operation.

    For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

    Valid for Cluster Type: Aurora DB clusters only

  • domain_iam_role_name (Optional[String], default: None ) –

    The name of the IAM role to use when making API calls to the Directory Service.

    Valid for Cluster Type: Aurora DB clusters only

  • scaling_configuration (Optional[ScalingConfiguration], default: None ) –

    The scaling properties of the DB cluster. You can only modify scaling properties for DB clusters in serverless DB engine mode.

    Valid for Cluster Type: Aurora DB clusters only

  • deletion_protection (Optional[BooleanOptional], default: None ) –

    Specifies whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • enable_http_endpoint (Optional[BooleanOptional], default: None ) –

    Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint isn't enabled.

    When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

    For more information, see Using RDS Data API in the Amazon Aurora User Guide.

    This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora Serverless v2 or provisioned DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations.

    Valid for Cluster Type: Aurora DB clusters only

  • copy_tags_to_snapshot (Optional[BooleanOptional], default: None ) –

    Specifies whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • enable_global_write_forwarding (Optional[BooleanOptional], default: None ) –

    Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.

    You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.

    Valid for Cluster Type: Aurora DB clusters only

  • db_cluster_instance_class (Optional[String], default: None ) –

    The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

    For the full list of DB instance classes and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    Valid for Cluster Type: Multi-AZ DB clusters only

  • allocated_storage (Optional[IntegerOptional], default: None ) –

    The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.

    Valid for Cluster Type: Multi-AZ DB clusters only

  • storage_type (Optional[String], default: None ) –

    The storage type to associate with the DB cluster.

    For information on storage types for Aurora DB clusters, see Storage configurations for Amazon Aurora DB clusters. For information on storage types for Multi-AZ DB clusters, see Settings for creating Multi-AZ DB clusters.

    When specified for a Multi-AZ DB cluster, a value for the Iops parameter is required.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Valid Values:

    • Aurora DB clusters - aurora | aurora-iopt1

    • Multi-AZ DB clusters - io1 | io2 | gp3

    Default:

    • Aurora DB clusters - aurora

    • Multi-AZ DB clusters - io1

  • iops (Optional[IntegerOptional], default: None ) –

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.

    For information about valid IOPS values, see Amazon RDS Provisioned IOPS storage in the Amazon RDS User Guide.

    Valid for Cluster Type: Multi-AZ DB clusters only

    Constraints:

    • Must be a multiple between .5 and 50 of the storage amount for the DB cluster.

  • auto_minor_version_upgrade (Optional[BooleanOptional], default: None ) –

    Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters.

    For more information about automatic minor version upgrades, see Automatically upgrading the minor engine version.

  • network_type (Optional[String], default: None ) –

    The network type of the DB cluster.

    The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

    For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

    Valid for Cluster Type: Aurora DB clusters only

    Valid Values: IPV4 | DUAL

  • monitoring_interval (Optional[IntegerOptional], default: None ) –

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0.

    If MonitoringRoleArn is specified, also set MonitoringInterval to a value other than 0.

    Valid for Cluster Type: Multi-AZ DB clusters only

    Valid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60

    Default: 0

  • monitoring_role_arn (Optional[String], default: None ) –

    The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

    If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

    Valid for Cluster Type: Multi-AZ DB clusters only

  • database_insights_mode (Optional[DatabaseInsightsMode], default: None ) –

    Specifies the mode of Database Insights to enable for the DB cluster.

    If you change the value from standard to advanced, you must set the PerformanceInsightsEnabled parameter to true and the PerformanceInsightsRetentionPeriod parameter to 465.

    If you change the value from advanced to standard, you can set the PerformanceInsightsEnabled parameter to true to collect detailed database counter and per-query metrics.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • enable_performance_insights (Optional[BooleanOptional], default: None ) –

    Specifies whether to turn on Performance Insights for the DB cluster.

    For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • performance_insights_kms_key_id (Optional[String], default: None ) –

    The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

    If you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • performance_insights_retention_period (Optional[IntegerOptional], default: None ) –

    The number of days to retain Performance Insights data.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Valid Values:

    • 7

    • month * 31, where month is a number of months from 1-23. Examples: 93 (3 months * 31), 341 (11 months * 31), 589 (19 months * 31)

    • 731

    Default: 7 days

    If you specify a retention period that isn't valid, such as 94, Amazon RDS issues an error.

  • manage_master_user_password (Optional[BooleanOptional], default: None ) –

    Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

    If the DB cluster doesn't manage the master user password with Amazon Web Services Secrets Manager, you can turn on this management. In this case, you can't specify MasterUserPassword.

    If the DB cluster already manages the master user password with Amazon Web Services Secrets Manager, and you specify that the master user password is not managed with Amazon Web Services Secrets Manager, then you must specify MasterUserPassword. In this case, RDS deletes the secret and uses the new password for the master user specified by MasterUserPassword.

    For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • rotate_master_user_password (Optional[BooleanOptional], default: None ) –

    Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.

    This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster. The secret value contains the updated password.

    For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Constraints:

    • You must apply the change immediately when rotating the master user password.

  • enable_local_write_forwarding (Optional[BooleanOptional], default: None ) –

    Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

    Valid for: Aurora DB clusters only

  • master_user_secret_kms_key_id (Optional[String], default: None ) –

    The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.

    This setting is valid only if both of the following conditions are met:

    • The DB cluster doesn't manage the master user password in Amazon Web Services Secrets Manager.

      If the DB cluster already manages the master user password in Amazon Web Services Secrets Manager, you can't change the KMS key that is used to encrypt the secret.

    • You are turning on ManageMasterUserPassword to manage the master user password in Amazon Web Services Secrets Manager.

      If you are turning on ManageMasterUserPassword and don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager KMS key to encrypt the secret, and you must use a customer managed KMS key.

    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

    There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

  • engine_mode (Optional[String], default: None ) –

    The DB engine mode of the DB cluster, either provisioned or serverless.

    The DB engine mode can be modified only from serverless to provisioned.

    For more information, see CreateDBCluster.

    Valid for Cluster Type: Aurora DB clusters only

  • allow_engine_mode_change (Optional[Boolean], default: None ) –

    Specifies whether engine mode changes from serverless to provisioned are allowed.

    Valid for Cluster Type: Aurora Serverless v1 DB clusters only

    Constraints:

    • You must allow engine mode changes when specifying a different value for the EngineMode parameter from the DB cluster's current engine mode.

  • aws_backup_recovery_point_arn (Optional[AwsBackupRecoveryPointArn], default: None ) –

    The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.

  • enable_limitless_database (Optional[BooleanOptional], default: None ) –

    Specifies whether to enable Aurora Limitless Database. You must enable Aurora Limitless Database to create a DB shard group.

    Valid for: Aurora DB clusters only

    This setting is no longer used. Instead use the ClusterScalabilityType setting when you create your Aurora Limitless Database DB cluster.

  • ca_certificate_identifier (Optional[String], default: None ) –

    The CA certificate identifier to use for the DB cluster's server certificate.

    For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide.

    Valid for Cluster Type: Multi-AZ DB clusters

  • master_user_authentication_type (Optional[MasterUserAuthenticationType], default: None ) –

    Specifies the authentication type for the master user. With IAM master user authentication, you can change the master DB user to use IAM database authentication.

    You can specify one of the following values:

    • password - Use standard database authentication with a password.

    • iam-db-auth - Use IAM database authentication for the master user.

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    This option is only valid for RDS for PostgreSQL and Aurora PostgreSQL engines.

  • engine_lifecycle_support (Optional[String], default: None ) –

    The lifecycle type for this DB cluster.

    You can use this setting to enroll your DB cluster into Amazon RDS Extended Support or to opt out. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:

    Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

    Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled

Raises:

Examples:

To modify a DB cluster The following example changes the master user password for the DB cluster named cluster-2 and sets the backup retention period to 14 days. The ApplyImmediately parameter causes the changes to be made immediately, instead of waiting until the next maintenance window.

>>> client.modify_db_cluster(db_cluster_identifier='cluster-2', apply_immediately=True, backup_retention_period=14, master_user_password='newpassword99')
Source code in docs_src/capo_rds/_services/rds.py
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
def modify_db_cluster(
    self,
    *,
    config_overrides: Optional[RDSClientConfig] = None,
    db_cluster_identifier: Optional["capo_rds.types.string.String"] = None,
    new_db_cluster_identifier: Optional["capo_rds.types.string.String"] = None,
    apply_immediately: Optional["capo_rds.types.boolean.Boolean"] = None,
    backup_retention_period: Optional[
        "capo_rds.types.integer_optional.IntegerOptional"
    ] = None,
    db_cluster_parameter_group_name: Optional[
        "capo_rds.types.string.String"
    ] = None,
    vpc_security_group_ids: Optional[
        "capo_rds.types.vpc_security_group_id_list.VpcSecurityGroupIdList"
    ] = None,
    port: Optional["capo_rds.types.integer_optional.IntegerOptional"] = None,
    master_user_password: Optional[
        "capo_rds.types.sensitive_string.SensitiveString"
    ] = None,
    option_group_name: Optional["capo_rds.types.string.String"] = None,
    preferred_backup_window: Optional["capo_rds.types.string.String"] = None,
    preferred_maintenance_window: Optional["capo_rds.types.string.String"] = None,
    enable_iam_database_authentication: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    backtrack_window: Optional["capo_rds.types.long_optional.LongOptional"] = None,
    cloudwatch_logs_export_configuration: Optional[
        "capo_rds.types.cloudwatch_logs_export_configuration.CloudwatchLogsExportConfiguration"
    ] = None,
    engine_version: Optional["capo_rds.types.string.String"] = None,
    allow_major_version_upgrade: Optional["capo_rds.types.boolean.Boolean"] = None,
    db_instance_parameter_group_name: Optional[
        "capo_rds.types.string.String"
    ] = None,
    domain: Optional["capo_rds.types.string.String"] = None,
    domain_iam_role_name: Optional["capo_rds.types.string.String"] = None,
    scaling_configuration: Optional[
        "capo_rds.types.scaling_configuration.ScalingConfiguration"
    ] = None,
    deletion_protection: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    enable_http_endpoint: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    copy_tags_to_snapshot: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    enable_global_write_forwarding: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    db_cluster_instance_class: Optional["capo_rds.types.string.String"] = None,
    allocated_storage: Optional[
        "capo_rds.types.integer_optional.IntegerOptional"
    ] = None,
    storage_type: Optional["capo_rds.types.string.String"] = None,
    iops: Optional["capo_rds.types.integer_optional.IntegerOptional"] = None,
    auto_minor_version_upgrade: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    network_type: Optional["capo_rds.types.string.String"] = None,
    serverless_v2_scaling_configuration: Optional[
        "capo_rds.types.serverless_v2_scaling_configuration.ServerlessV2ScalingConfiguration"
    ] = None,
    monitoring_interval: Optional[
        "capo_rds.types.integer_optional.IntegerOptional"
    ] = None,
    monitoring_role_arn: Optional["capo_rds.types.string.String"] = None,
    database_insights_mode: Optional[
        "capo_rds.types.database_insights_mode.DatabaseInsightsMode"
    ] = None,
    enable_performance_insights: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    performance_insights_kms_key_id: Optional[
        "capo_rds.types.string.String"
    ] = None,
    performance_insights_retention_period: Optional[
        "capo_rds.types.integer_optional.IntegerOptional"
    ] = None,
    manage_master_user_password: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    rotate_master_user_password: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    enable_local_write_forwarding: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    master_user_secret_kms_key_id: Optional["capo_rds.types.string.String"] = None,
    engine_mode: Optional["capo_rds.types.string.String"] = None,
    allow_engine_mode_change: Optional["capo_rds.types.boolean.Boolean"] = None,
    aws_backup_recovery_point_arn: Optional[
        "capo_rds.types.aws_backup_recovery_point_arn.AwsBackupRecoveryPointArn"
    ] = None,
    enable_limitless_database: Optional[
        "capo_rds.types.boolean_optional.BooleanOptional"
    ] = None,
    ca_certificate_identifier: Optional["capo_rds.types.string.String"] = None,
    master_user_authentication_type: Optional[
        "capo_rds.types.master_user_authentication_type.MasterUserAuthenticationType"
    ] = None,
    engine_lifecycle_support: Optional["capo_rds.types.string.String"] = None,
) -> "capo_rds.types.modify_db_cluster_result.ModifyDBClusterResult":
    """<p>Modifies the settings of an Amazon Aurora DB cluster or a Multi-AZ DB cluster. You can change one or more settings by specifying these parameters and the new values in the request.</p> <p>For more information on Amazon Aurora DB clusters, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html\"> What is Amazon Aurora?</a> in the <i>Amazon Aurora User Guide</i>.</p> <p>For more information on Multi-AZ DB clusters, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html\"> Multi-AZ DB cluster deployments</a> in the <i>Amazon RDS User Guide</i>.</p>

    Args:
        db_cluster_identifier: <p>The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing DB cluster.</p> </li> </ul>
        new_db_cluster_identifier: <p>The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p> </li> <li> <p>The first character must be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p> </li> </ul> <p>Example: <code>my-cluster2</code> </p>
        apply_immediately: <p>Specifies whether the modifications in this request are asynchronously applied as soon as possible, regardless of the <code>PreferredMaintenanceWindow</code> setting for the DB cluster. If this parameter is disabled, changes to the DB cluster are applied during the next maintenance window.</p> <p>Most modifications can be applied immediately or during the next scheduled maintenance window. Some modifications, such as turning on deletion protection and changing the master password, are applied immediately—regardless of when you choose to apply them.</p> <p>By default, this parameter is disabled.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        backup_retention_period: <p>The number of days for which automated backups are retained. Specify a minimum value of <code>1</code>.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Default: <code>1</code> </p> <p>Constraints:</p> <ul> <li> <p>Must be a value from 1 to 35.</p> </li> </ul>
        db_cluster_parameter_group_name: <p>The name of the DB cluster parameter group to use for the DB cluster.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        vpc_security_group_ids: <p>A list of EC2 VPC security groups to associate with this DB cluster.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        port: <p>The port number on which the DB cluster accepts connections.</p> <p>Valid for Cluster Type: Aurora DB clusters only</p> <p>Valid Values: <code>1150-65535</code> </p> <p>Default: The same port as the original DB cluster.</p>
        master_user_password: <p>The new password for the master database user.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 8 to 41 characters.</p> </li> <li> <p>Can contain any printable ASCII character except \"/\", \"\"\", or \"@\".</p> </li> <li> <p>Can't be specified if <code>ManageMasterUserPassword</code> is turned on.</p> </li> </ul>
        option_group_name: <p>The option group to associate the DB cluster with.</p> <p>DB clusters are associated with a default option group that can't be modified.</p>
        preferred_backup_window: <p>The daily time range during which automated backups are created if automated backups are enabled, using the <code>BackupRetentionPeriod</code> parameter.</p> <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. To view the time blocks available, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow\"> Backup window</a> in the <i>Amazon Aurora User Guide</i>.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Constraints:</p> <ul> <li> <p>Must be in the format <code>hh24:mi-hh24:mi</code>.</p> </li> <li> <p>Must be in Universal Coordinated Time (UTC).</p> </li> <li> <p>Must not conflict with the preferred maintenance window.</p> </li> <li> <p>Must be at least 30 minutes.</p> </li> </ul>
        preferred_maintenance_window: <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week. To see the time blocks available, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora\"> Adjusting the Preferred DB Cluster Maintenance Window</a> in the <i>Amazon Aurora User Guide</i>.</p> <p>Constraints:</p> <ul> <li> <p>Must be in the format <code>ddd:hh24:mi-ddd:hh24:mi</code>.</p> </li> <li> <p>Days must be one of <code>Mon | Tue | Wed | Thu | Fri | Sat | Sun</code>.</p> </li> <li> <p>Must be in Universal Coordinated Time (UTC).</p> </li> <li> <p>Must be at least 30 minutes.</p> </li> </ul>
        enable_iam_database_authentication: <p>Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html\"> IAM Database Authentication</a> in the <i>Amazon Aurora User Guide</i> or <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html\">IAM database authentication for MariaDB, MySQL, and PostgreSQL</a> in the <i>Amazon RDS User Guide</i>.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        backtrack_window: <p>The target backtrack window, in seconds. To disable backtracking, set this value to <code>0</code>.</p> <p>Valid for Cluster Type: Aurora MySQL DB clusters only</p> <p>Default: <code>0</code> </p> <p>Constraints:</p> <ul> <li> <p>If specified, this value must be set to a number from 0 to 259,200 (72 hours).</p> </li> </ul>
        cloudwatch_logs_export_configuration: <p>The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>The following values are valid for each DB engine:</p> <ul> <li> <p>Aurora MySQL - <code>audit | error | general | instance | slowquery | iam-db-auth-error</code> </p> </li> <li> <p>Aurora PostgreSQL - <code>instance | postgresql | iam-db-auth-error</code> </p> </li> <li> <p>RDS for MySQL - <code>error | general | slowquery | iam-db-auth-error</code> </p> </li> <li> <p>RDS for PostgreSQL - <code>postgresql | upgrade | iam-db-auth-error</code> </p> </li> </ul> <p>For more information about exporting CloudWatch Logs for Amazon RDS, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch\"> Publishing Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon RDS User Guide</i>.</p> <p>For more information about exporting CloudWatch Logs for Amazon Aurora, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch\">Publishing Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User Guide</i>.</p>
        engine_version: <p>The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless <code>ApplyImmediately</code> is enabled.</p> <p>If the cluster that you're modifying has one or more read replicas, all replicas must be running an engine version that's the same or later than the version you specify.</p> <p>To list all of the available engine versions for Aurora MySQL, use the following command:</p> <p> <code>aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"</code> </p> <p>To list all of the available engine versions for Aurora PostgreSQL, use the following command:</p> <p> <code>aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"</code> </p> <p>To list all of the available engine versions for RDS for MySQL, use the following command:</p> <p> <code>aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"</code> </p> <p>To list all of the available engine versions for RDS for PostgreSQL, use the following command:</p> <p> <code>aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"</code> </p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        allow_major_version_upgrade: <p>Specifies whether major version upgrades are allowed.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Constraints:</p> <ul> <li> <p>You must allow major version upgrades when specifying a value for the <code>EngineVersion</code> parameter that is a different major version than the DB cluster's current version.</p> </li> </ul>
        db_instance_parameter_group_name: <p>The name of the DB parameter group to apply to all instances of the DB cluster.</p> <note> <p>When you apply a parameter group using the <code>DBInstanceParameterGroupName</code> parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.</p> </note> <p>Valid for Cluster Type: Aurora DB clusters only</p> <p>Default: The existing name setting</p> <p>Constraints:</p> <ul> <li> <p>The DB parameter group must be in the same DB parameter group family as this DB cluster.</p> </li> <li> <p>The <code>DBInstanceParameterGroupName</code> parameter is valid in combination with the <code>AllowMajorVersionUpgrade</code> parameter for a major version upgrade only.</p> </li> </ul>
        domain: <p>The Active Directory directory ID to move the DB cluster to. Specify <code>none</code> to remove the cluster from its current domain. The domain must be created prior to this operation.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html\">Kerberos Authentication</a> in the <i>Amazon Aurora User Guide</i>.</p> <p>Valid for Cluster Type: Aurora DB clusters only</p>
        domain_iam_role_name: <p>The name of the IAM role to use when making API calls to the Directory Service.</p> <p>Valid for Cluster Type: Aurora DB clusters only</p>
        scaling_configuration: <p>The scaling properties of the DB cluster. You can only modify scaling properties for DB clusters in <code>serverless</code> DB engine mode.</p> <p>Valid for Cluster Type: Aurora DB clusters only</p>
        deletion_protection: <p>Specifies whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        enable_http_endpoint: <p>Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint isn't enabled.</p> <p>When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the RDS query editor.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html\">Using RDS Data API</a> in the <i>Amazon Aurora User Guide</i>.</p> <note> <p>This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora Serverless v2 or provisioned DB cluster, use the <code>EnableHttpEndpoint</code> and <code>DisableHttpEndpoint</code> operations.</p> </note> <p>Valid for Cluster Type: Aurora DB clusters only</p>
        copy_tags_to_snapshot: <p>Specifies whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        enable_global_write_forwarding: <p>Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.</p> <p>You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.</p> <p>Valid for Cluster Type: Aurora DB clusters only</p>
        db_cluster_instance_class: <p>The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example <code>db.m6gd.xlarge</code>. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.</p> <p>For the full list of DB instance classes and availability for your engine, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html\"> DB Instance Class</a> in the <i>Amazon RDS User Guide</i>.</p> <p>Valid for Cluster Type: Multi-AZ DB clusters only</p>
        allocated_storage: <p>The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.</p> <p>Valid for Cluster Type: Multi-AZ DB clusters only</p>
        storage_type: <p>The storage type to associate with the DB cluster.</p> <p>For information on storage types for Aurora DB clusters, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type\">Storage configurations for Amazon Aurora DB clusters</a>. For information on storage types for Multi-AZ DB clusters, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings\">Settings for creating Multi-AZ DB clusters</a>.</p> <p>When specified for a Multi-AZ DB cluster, a value for the <code>Iops</code> parameter is required.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Valid Values:</p> <ul> <li> <p>Aurora DB clusters - <code>aurora | aurora-iopt1</code> </p> </li> <li> <p>Multi-AZ DB clusters - <code>io1 | io2 | gp3</code> </p> </li> </ul> <p>Default:</p> <ul> <li> <p>Aurora DB clusters - <code>aurora</code> </p> </li> <li> <p>Multi-AZ DB clusters - <code>io1</code> </p> </li> </ul>
        iops: <p>The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.</p> <p>For information about valid IOPS values, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS\">Amazon RDS Provisioned IOPS storage</a> in the <i>Amazon RDS User Guide</i>.</p> <p>Valid for Cluster Type: Multi-AZ DB clusters only</p> <p>Constraints:</p> <ul> <li> <p>Must be a multiple between .5 and 50 of the storage amount for the DB cluster.</p> </li> </ul>
        auto_minor_version_upgrade: <p>Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters.</p> <p>For more information about automatic minor version upgrades, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades\">Automatically upgrading the minor engine version</a>.</p>
        network_type: <p>The network type of the DB cluster.</p> <p>The network type is determined by the <code>DBSubnetGroup</code> specified for the DB cluster. A <code>DBSubnetGroup</code> can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (<code>DUAL</code>).</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html\"> Working with a DB instance in a VPC</a> in the <i>Amazon Aurora User Guide.</i> </p> <p>Valid for Cluster Type: Aurora DB clusters only</p> <p>Valid Values: <code>IPV4 | DUAL</code> </p>
        monitoring_interval: <p>The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify <code>0</code>.</p> <p>If <code>MonitoringRoleArn</code> is specified, also set <code>MonitoringInterval</code> to a value other than <code>0</code>.</p> <p>Valid for Cluster Type: Multi-AZ DB clusters only</p> <p>Valid Values: <code>0 | 1 | 5 | 10 | 15 | 30 | 60</code> </p> <p>Default: <code>0</code> </p>
        monitoring_role_arn: <p>The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is <code>arn:aws:iam:123456789012:role/emaccess</code>. For information on creating a monitoring role, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole\">To create an IAM role for Amazon RDS Enhanced Monitoring</a> in the <i>Amazon RDS User Guide.</i> </p> <p>If <code>MonitoringInterval</code> is set to a value other than <code>0</code>, supply a <code>MonitoringRoleArn</code> value.</p> <p>Valid for Cluster Type: Multi-AZ DB clusters only</p>
        database_insights_mode: <p>Specifies the mode of Database Insights to enable for the DB cluster.</p> <p>If you change the value from <code>standard</code> to <code>advanced</code>, you must set the <code>PerformanceInsightsEnabled</code> parameter to <code>true</code> and the <code>PerformanceInsightsRetentionPeriod</code> parameter to 465.</p> <p>If you change the value from <code>advanced</code> to <code>standard</code>, you can set the <code>PerformanceInsightsEnabled</code> parameter to <code>true</code> to collect detailed database counter and per-query metrics.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        enable_performance_insights: <p>Specifies whether to turn on Performance Insights for the DB cluster.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html\"> Using Amazon Performance Insights</a> in the <i>Amazon RDS User Guide</i>.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        performance_insights_kms_key_id: <p>The Amazon Web Services KMS key identifier for encryption of Performance Insights data.</p> <p>The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p> <p>If you don't specify a value for <code>PerformanceInsightsKMSKeyId</code>, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        performance_insights_retention_period: <p>The number of days to retain Performance Insights data.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Valid Values:</p> <ul> <li> <p> <code>7</code> </p> </li> <li> <p> <i>month</i> * 31, where <i>month</i> is a number of months from 1-23. Examples: <code>93</code> (3 months * 31), <code>341</code> (11 months * 31), <code>589</code> (19 months * 31)</p> </li> <li> <p> <code>731</code> </p> </li> </ul> <p>Default: <code>7</code> days</p> <p>If you specify a retention period that isn't valid, such as <code>94</code>, Amazon RDS issues an error.</p>
        manage_master_user_password: <p>Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.</p> <p>If the DB cluster doesn't manage the master user password with Amazon Web Services Secrets Manager, you can turn on this management. In this case, you can't specify <code>MasterUserPassword</code>.</p> <p>If the DB cluster already manages the master user password with Amazon Web Services Secrets Manager, and you specify that the master user password is not managed with Amazon Web Services Secrets Manager, then you must specify <code>MasterUserPassword</code>. In this case, RDS deletes the secret and uses the new password for the master user specified by <code>MasterUserPassword</code>.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html\">Password management with Amazon Web Services Secrets Manager</a> in the <i>Amazon RDS User Guide</i> and <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html\">Password management with Amazon Web Services Secrets Manager</a> in the <i>Amazon Aurora User Guide.</i> </p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        rotate_master_user_password: <p>Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.</p> <p>This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster. The secret value contains the updated password.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html\">Password management with Amazon Web Services Secrets Manager</a> in the <i>Amazon RDS User Guide</i> and <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html\">Password management with Amazon Web Services Secrets Manager</a> in the <i>Amazon Aurora User Guide.</i> </p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Constraints:</p> <ul> <li> <p>You must apply the change immediately when rotating the master user password.</p> </li> </ul>
        enable_local_write_forwarding: <p>Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.</p> <p>Valid for: Aurora DB clusters only</p>
        master_user_secret_kms_key_id: <p>The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.</p> <p>This setting is valid only if both of the following conditions are met:</p> <ul> <li> <p>The DB cluster doesn't manage the master user password in Amazon Web Services Secrets Manager.</p> <p>If the DB cluster already manages the master user password in Amazon Web Services Secrets Manager, you can't change the KMS key that is used to encrypt the secret.</p> </li> <li> <p>You are turning on <code>ManageMasterUserPassword</code> to manage the master user password in Amazon Web Services Secrets Manager.</p> <p>If you are turning on <code>ManageMasterUserPassword</code> and don't specify <code>MasterUserSecretKmsKeyId</code>, then the <code>aws/secretsmanager</code> KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the <code>aws/secretsmanager</code> KMS key to encrypt the secret, and you must use a customer managed KMS key.</p> </li> </ul> <p>The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.</p> <p>There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.</p> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
        engine_mode: <p>The DB engine mode of the DB cluster, either <code>provisioned</code> or <code>serverless</code>.</p> <note> <p>The DB engine mode can be modified only from <code>serverless</code> to <code>provisioned</code>.</p> </note> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html\"> CreateDBCluster</a>.</p> <p>Valid for Cluster Type: Aurora DB clusters only</p>
        allow_engine_mode_change: <p>Specifies whether engine mode changes from <code>serverless</code> to <code>provisioned</code> are allowed.</p> <p>Valid for Cluster Type: Aurora Serverless v1 DB clusters only</p> <p>Constraints:</p> <ul> <li> <p>You must allow engine mode changes when specifying a different value for the <code>EngineMode</code> parameter from the DB cluster's current engine mode.</p> </li> </ul>
        aws_backup_recovery_point_arn: <p>The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.</p>
        enable_limitless_database: <p>Specifies whether to enable Aurora Limitless Database. You must enable Aurora Limitless Database to create a DB shard group.</p> <p>Valid for: Aurora DB clusters only</p> <note> <p>This setting is no longer used. Instead use the <code>ClusterScalabilityType</code> setting when you create your Aurora Limitless Database DB cluster.</p> </note>
        ca_certificate_identifier: <p>The CA certificate identifier to use for the DB cluster's server certificate.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html\">Using SSL/TLS to encrypt a connection to a DB instance</a> in the <i>Amazon RDS User Guide</i>.</p> <p>Valid for Cluster Type: Multi-AZ DB clusters</p>
        master_user_authentication_type: <p>Specifies the authentication type for the master user. With IAM master user authentication, you can change the master DB user to use IAM database authentication.</p> <p>You can specify one of the following values:</p> <ul> <li> <p> <code>password</code> - Use standard database authentication with a password.</p> </li> <li> <p> <code>iam-db-auth</code> - Use IAM database authentication for the master user.</p> </li> </ul> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>This option is only valid for RDS for PostgreSQL and Aurora PostgreSQL engines.</p>
        engine_lifecycle_support: <p>The lifecycle type for this DB cluster.</p> <p>You can use this setting to enroll your DB cluster into Amazon RDS Extended Support or to opt out. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:</p> <ul> <li> <p>Amazon Aurora - <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html\">Amazon RDS Extended Support with Amazon Aurora</a> in the <i>Amazon Aurora User Guide</i> </p> </li> <li> <p>Amazon RDS - <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html\">Amazon RDS Extended Support with Amazon RDS</a> in the <i>Amazon RDS User Guide</i> </p> </li> </ul> <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p> <p>Valid Values: <code>open-source-rds-extended-support | open-source-rds-extended-support-disabled</code> </p>

    Raises:
        capo_rds.errors.db_cluster_already_exists_fault.DBClusterAlreadyExistsFault: <p>The user already has a DB cluster with the given identifier.</p>
        capo_rds.errors.db_cluster_not_found_fault.DBClusterNotFoundFault: <p> <code>DBClusterIdentifier</code> doesn't refer to an existing DB cluster.</p>
        capo_rds.errors.db_cluster_parameter_group_not_found_fault.DBClusterParameterGroupNotFoundFault: <p> <code>DBClusterParameterGroupName</code> doesn't refer to an existing DB cluster parameter group.</p>
        capo_rds.errors.db_instance_already_exists_fault.DBInstanceAlreadyExistsFault: <p>The user already has a DB instance with the given identifier.</p>
        capo_rds.errors.db_parameter_group_not_found_fault.DBParameterGroupNotFoundFault: <p> <code>DBParameterGroupName</code> doesn't refer to an existing DB parameter group.</p>
        capo_rds.errors.db_subnet_group_not_found_fault.DBSubnetGroupNotFoundFault: <p> <code>DBSubnetGroupName</code> doesn't refer to an existing DB subnet group.</p>
        capo_rds.errors.domain_not_found_fault.DomainNotFoundFault: <p> <code>Domain</code> doesn't refer to an existing Active Directory domain.</p>
        capo_rds.errors.invalid_db_cluster_state_fault.InvalidDBClusterStateFault: <p>The requested operation can't be performed while the cluster is in this state.</p>
        capo_rds.errors.invalid_db_instance_state_fault.InvalidDBInstanceStateFault: <p>The DB instance isn't in a valid state.</p>
        capo_rds.errors.invalid_db_security_group_state_fault.InvalidDBSecurityGroupStateFault: <p>The state of the DB security group doesn't allow deletion.</p>
        capo_rds.errors.invalid_db_subnet_group_state_fault.InvalidDBSubnetGroupStateFault: <p>The DB subnet group cannot be deleted because it's in use.</p>
        capo_rds.errors.invalid_global_cluster_state_fault.InvalidGlobalClusterStateFault: <p>The global cluster is in an invalid state and can't perform the requested operation.</p>
        capo_rds.errors.invalid_subnet.InvalidSubnet: <p>The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.</p>
        capo_rds.errors.invalid_vpc_network_state_fault.InvalidVPCNetworkStateFault: <p>The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.</p>
        capo_rds.errors.kms_key_not_accessible_fault.KMSKeyNotAccessibleFault: <p>An error occurred accessing an Amazon Web Services KMS key.</p>
        capo_rds.errors.network_type_not_supported.NetworkTypeNotSupported: <p>The network type is invalid for the DB instance. Valid nework type values are <code>IPV4</code> and <code>DUAL</code>.</p>
        capo_rds.errors.option_group_not_found_fault.OptionGroupNotFoundFault: <p>The specified option group could not be found.</p>
        capo_rds.errors.storage_quota_exceeded_fault.StorageQuotaExceededFault: <p>The request would result in the user exceeding the allowed amount of storage available across all DB instances.</p>
        capo_rds.errors.storage_type_not_available_fault.StorageTypeNotAvailableFault: <p>The <code>aurora-iopt1</code> storage type isn't available, because you modified the DB cluster to use this storage type less than one month ago.</p>
        capo_rds.errors.storage_type_not_supported_fault.StorageTypeNotSupportedFault: <p>The specified <code>StorageType</code> can't be associated with the DB instance.</p>
        capo_rds.errors.vpc_encryption_control_violation_exception.VpcEncryptionControlViolationException: <p>The operation violates VPC encryption control settings. Make sure that your DB instance type supports the Nitro encryption-in-transit capability, or modify your VPC's encryption controls to not enforce encryption-in-transit.</p>
        capo_rds.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To modify a DB cluster
        The following example changes the master user password for the DB cluster named cluster-2 and sets the backup retention period to 14 days. The ApplyImmediately parameter causes the changes to be made immediately, instead of waiting until the next maintenance window.

        >>> client.modify_db_cluster(db_cluster_identifier='cluster-2', apply_immediately=True, backup_retention_period=14, master_user_password='newpassword99')
    """

    def _handler(
        req: "OperationRequest[capo_rds.types.modify_db_cluster_message.ModifyDBClusterMessage]",
    ) -> OperationResponse[
        "capo_rds.types.modify_db_cluster_result.ModifyDBClusterResult"
    ]:
        import capo_rds._operations.amazon_rd_sv19.modify_db_cluster

        output, http_response = (
            capo_rds._operations.amazon_rd_sv19.modify_db_cluster.modify_db_cluster(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_rds.types.modify_db_cluster_message.ModifyDBClusterMessage",
    ) -> dict[str, Any]:
        import capo_rds.types.modify_db_cluster_message

        return capo_rds.types.modify_db_cluster_message.redact_sensitive(input_)

    def _redact_output(
        output: "capo_rds.types.modify_db_cluster_result.ModifyDBClusterResult",
    ) -> dict[str, Any]:
        import capo_rds.types.modify_db_cluster_result

        return capo_rds.types.modify_db_cluster_result.redact_sensitive(output)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "ModifyDBCluster",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_rds.types.modify_db_cluster_message.ModifyDBClusterMessage = {}
    if db_cluster_identifier is not None:
        input_["db_cluster_identifier"] = db_cluster_identifier
    if new_db_cluster_identifier is not None:
        input_["new_db_cluster_identifier"] = new_db_cluster_identifier
    if apply_immediately is not None:
        input_["apply_immediately"] = apply_immediately
    if backup_retention_period is not None:
        input_["backup_retention_period"] = backup_retention_period
    if db_cluster_parameter_group_name is not None:
        input_["db_cluster_parameter_group_name"] = db_cluster_parameter_group_name
    if vpc_security_group_ids is not None:
        input_["vpc_security_group_ids"] = vpc_security_group_ids
    if port is not None:
        input_["port"] = port
    if master_user_password is not None:
        input_["master_user_password"] = master_user_password
    if option_group_name is not None:
        input_["option_group_name"] = option_group_name
    if preferred_backup_window is not None:
        input_["preferred_backup_window"] = preferred_backup_window
    if preferred_maintenance_window is not None:
        input_["preferred_maintenance_window"] = preferred_maintenance_window
    if enable_iam_database_authentication is not None:
        input_["enable_iam_database_authentication"] = (
            enable_iam_database_authentication
        )
    if backtrack_window is not None:
        input_["backtrack_window"] = backtrack_window
    if cloudwatch_logs_export_configuration is not None:
        input_["cloudwatch_logs_export_configuration"] = (
            cloudwatch_logs_export_configuration
        )
    if engine_version is not None:
        input_["engine_version"] = engine_version
    if allow_major_version_upgrade is not None:
        input_["allow_major_version_upgrade"] = allow_major_version_upgrade
    if db_instance_parameter_group_name is not None:
        input_["db_instance_parameter_group_name"] = (
            db_instance_parameter_group_name
        )
    if domain is not None:
        input_["domain"] = domain
    if domain_iam_role_name is not None:
        input_["domain_iam_role_name"] = domain_iam_role_name
    if scaling_configuration is not None:
        input_["scaling_configuration"] = scaling_configuration
    if deletion_protection is not None:
        input_["deletion_protection"] = deletion_protection
    if enable_http_endpoint is not None:
        input_["enable_http_endpoint"] = enable_http_endpoint
    if copy_tags_to_snapshot is not None:
        input_["copy_tags_to_snapshot"] = copy_tags_to_snapshot
    if enable_global_write_forwarding is not None:
        input_["enable_global_write_forwarding"] = enable_global_write_forwarding
    if db_cluster_instance_class is not None:
        input_["db_cluster_instance_class"] = db_cluster_instance_class
    if allocated_storage is not None:
        input_["allocated_storage"] = allocated_storage
    if storage_type is not None:
        input_["storage_type"] = storage_type
    if iops is not None:
        input_["iops"] = iops
    if auto_minor_version_upgrade is not None:
        input_["auto_minor_version_upgrade"] = auto_minor_version_upgrade
    if network_type is not None:
        input_["network_type"] = network_type
    if serverless_v2_scaling_configuration is not None:
        input_["serverless_v2_scaling_configuration"] = (
            serverless_v2_scaling_configuration
        )
    if monitoring_interval is not None:
        input_["monitoring_interval"] = monitoring_interval
    if monitoring_role_arn is not None:
        input_["monitoring_role_arn"] = monitoring_role_arn
    if database_insights_mode is not None:
        input_["database_insights_mode"] = database_insights_mode
    if enable_performance_insights is not None:
        input_["enable_performance_insights"] = enable_performance_insights
    if performance_insights_kms_key_id is not None:
        input_["performance_insights_kms_key_id"] = performance_insights_kms_key_id
    if performance_insights_retention_period is not None:
        input_["performance_insights_retention_period"] = (
            performance_insights_retention_period
        )
    if manage_master_user_password is not None:
        input_["manage_master_user_password"] = manage_master_user_password
    if rotate_master_user_password is not None:
        input_["rotate_master_user_password"] = rotate_master_user_password
    if enable_local_write_forwarding is not None:
        input_["enable_local_write_forwarding"] = enable_local_write_forwarding
    if master_user_secret_kms_key_id is not None:
        input_["master_user_secret_kms_key_id"] = master_user_secret_kms_key_id
    if engine_mode is not None:
        input_["engine_mode"] = engine_mode
    if allow_engine_mode_change is not None:
        input_["allow_engine_mode_change"] = allow_engine_mode_change
    if aws_backup_recovery_point_arn is not None:
        input_["aws_backup_recovery_point_arn"] = aws_backup_recovery_point_arn
    if enable_limitless_database is not None:
        input_["enable_limitless_database"] = enable_limitless_database
    if ca_certificate_identifier is not None:
        input_["ca_certificate_identifier"] = ca_certificate_identifier
    if master_user_authentication_type is not None:
        input_["master_user_authentication_type"] = master_user_authentication_type
    if engine_lifecycle_support is not None:
        input_["engine_lifecycle_support"] = engine_lifecycle_support

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output