/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.rds.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ModifyDBClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* 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: *

* */ private String dBClusterIdentifier; /** *

* 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: *

* *

* Example: my-cluster2 *

*/ private String newDBClusterIdentifier; /** *

* Specifies whether the modifications in this request and any pending modifications 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 *

*/ private Boolean applyImmediately; /** *

* 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: *

* */ private Integer backupRetentionPeriod; /** *

* 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 *

*/ private String dBClusterParameterGroupName; /** *

* 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 *

*/ private com.amazonaws.internal.SdkInternalList vpcSecurityGroupIds; /** *

* 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. *

*/ private Integer port; /** *

* The new password for the master database user. *

*

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

*

* Constraints: *

* */ private String masterUserPassword; /** *

* The option group to associate the DB cluster with. *

*

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

*/ private String optionGroupName; /** *

* 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: *

* */ private String preferredBackupWindow; /** *

* 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: *

* */ private String preferredMaintenanceWindow; /** *

* 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. *

*

* Valid for Cluster Type: Aurora DB clusters only *

*/ private Boolean enableIAMDatabaseAuthentication; /** *

* 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: *

* */ private Long backtrackWindow; /** *

* 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: *

* *

* 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. *

*/ private CloudwatchLogsExportConfiguration cloudwatchLogsExportConfiguration; /** *

* 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 *

*/ private String engineVersion; /** *

* Specifies whether major version upgrades are allowed. *

*

* Valid for Cluster Type: Aurora DB clusters only *

*

* Constraints: *

* */ private Boolean allowMajorVersionUpgrade; /** *

* 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: *

* */ private String dBInstanceParameterGroupName; /** *

* 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 *

*/ private String domain; /** *

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

*

* Valid for Cluster Type: Aurora DB clusters only *

*/ private String domainIAMRoleName; /** *

* 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 *

*/ private ScalingConfiguration scalingConfiguration; /** *

* 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 *

*/ private Boolean deletionProtection; /** *

* Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP * endpoint is disabled. *

*

* When enabled, the HTTP endpoint provides a connectionless web service 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 query editor. *

*

* For more information, see Using the Data API for Aurora * Serverless v1 in the Amazon Aurora User Guide. *

*

* Valid for Cluster Type: Aurora DB clusters only *

*/ private Boolean enableHttpEndpoint; /** *

* 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 *

*/ private Boolean copyTagsToSnapshot; /** *

* 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 *

*/ private Boolean enableGlobalWriteForwarding; /** *

* 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 *

*/ private String dBClusterInstanceClass; /** *

* 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 *

*/ private Integer allocatedStorage; /** *

* 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: *

* *

* Default: *

* */ private String storageType; /** *

* 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: *

* */ private Integer iops; /** *

* 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: Multi-AZ DB clusters only *

*/ private Boolean autoMinorVersionUpgrade; /** *

* 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 *

*/ private Integer monitoringInterval; /** *

* 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 *

*/ private String monitoringRoleArn; /** *

* 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: Multi-AZ DB clusters only *

*/ private Boolean enablePerformanceInsights; /** *

* 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: Multi-AZ DB clusters only *

*/ private String performanceInsightsKMSKeyId; /** *

* The number of days to retain Performance Insights data. *

*

* Valid for Cluster Type: Multi-AZ DB clusters only *

*

* Valid Values: *

* *

* Default: 7 days *

*

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

*/ private Integer performanceInsightsRetentionPeriod; private ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration; /** *

* 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 *

*/ private String networkType; /** *

* 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 *

*/ private Boolean manageMasterUserPassword; /** *

* 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: *

* */ private Boolean rotateMasterUserPassword; /** *

* 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 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 *

*/ private String masterUserSecretKmsKeyId; /** *

* 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 *

*/ private String engineMode; /** *

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

*

* Valid for Cluster Type: Aurora Serverless v1 DB clusters only *

*

* Constraints: *

* */ private Boolean allowEngineModeChange; /** *

* 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: *

* * * @param dBClusterIdentifier * 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: *

*