/* * Copyright 2012-2017 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; /** * <p/> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster" target="_top">AWS API * Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateDBClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** * <p> * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions * and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions * and Availability Zones</a>. * </p> */ private com.amazonaws.internal.SdkInternalList<String> availabilityZones; /** * <p> * The number of days for which automated backups are retained. You must specify a minimum value of 1. * </p> * <p> * Default: 1 * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be a value from 1 to 35 * </p> * </li> * </ul> */ private Integer backupRetentionPeriod; /** * <p> * A value that indicates that the DB cluster should be associated with the specified CharacterSet. * </p> */ private String characterSetName; /** * <p> * The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS will not * create a database in the DB cluster you are creating. * </p> */ private String databaseName; /** * <p> * The DB cluster identifier. This parameter is stored as a lowercase string. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must contain from 1 to 63 alphanumeric characters or hyphens. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens. * </p> * </li> * </ul> * <p> * Example: <code>my-cluster1</code> * </p> */ private String dBClusterIdentifier; /** * <p> * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, * <code>default.aurora5.6</code> will be used. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 255 alphanumeric characters * </p> * </li> * <li> * <p> * First character must be a letter * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens * </p> * </li> * </ul> */ private String dBClusterParameterGroupName; /** * <p> * A list of EC2 VPC security groups to associate with this DB cluster. * </p> */ private com.amazonaws.internal.SdkInternalList<String> vpcSecurityGroupIds; /** * <p> * A DB subnet group to associate with this DB cluster. * </p> * <p> * Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. * Must not be default. * </p> * <p> * Example: <code>mySubnetgroup</code> * </p> */ private String dBSubnetGroupName; /** * <p> * The name of the database engine to be used for this DB cluster. * </p> * <p> * Valid Values: <code>aurora</code> * </p> */ private String engine; /** * <p> * The version number of the database engine to use. * </p> * <p> * <b>Aurora</b> * </p> * <p> * Example: <code>5.6.10a</code> * </p> */ private String engineVersion; /** * <p> * The port number on which the instances in the DB cluster accept connections. * </p> * <p> * Default: <code>3306</code> * </p> */ private Integer port; /** * <p> * The name of the master user for the DB cluster. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 16 alphanumeric characters. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot be a reserved word for the chosen database engine. * </p> * </li> * </ul> */ private String masterUsername; /** * <p> * The password for the master database user. This password can contain any printable ASCII character except "/", * """, or "@". * </p> * <p> * Constraints: Must contain from 8 to 41 characters. * </p> */ private String masterUserPassword; /** * <p> * A value that indicates that the DB cluster should be associated with the specified option group. * </p> * <p> * Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster * once it is associated with a DB cluster. * </p> */ private String optionGroupName; /** * <p> * The daily time range during which automated backups are created if automated backups are enabled using the * <code>BackupRetentionPeriod</code> parameter. * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks * available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be in the format <code>hh24:mi-hh24:mi</code>. * </p> * </li> * <li> * <p> * Times should 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> */ private String preferredBackupWindow; /** * <p> * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * </p> * <p> * Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day * of the week. To see the time blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * </p> * <p> * Constraints: Minimum 30-minute window. * </p> */ private String preferredMaintenanceWindow; /** * <p> * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read * Replica. * </p> */ private String replicationSourceIdentifier; private com.amazonaws.internal.SdkInternalList<Tag> tags; /** * <p> * Specifies whether the DB cluster is encrypted. * </p> */ private Boolean storageEncrypted; /** * <p> * The KMS key identifier for an encrypted DB cluster. * </p> * <p> * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB * cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you * can use the KMS key alias instead of the ARN for the KMS encryption key. * </p> * <p> * If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the * <code>KmsKeyId</code> parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the * default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS * region. * </p> * <p> * If you create a Read Replica of an encrypted DB cluster in another region, you must set <code>KmsKeyId</code> to * a KMS key ID that is valid in the destination region. This key is used to encrypt the Read Replica in that * region. * </p> */ private String kmsKeyId; /** * <p> * A URL that contains a Signature Version 4 signed request for the <code>CreateDBCluster</code> action to be called * in the source region where the DB cluster will be replicated from. You only need to specify * <code>PreSignedUrl</code> when you are performing cross-region replication from an encrypted DB cluster. * </p> * <p> * The pre-signed URL must be a valid request for the <code>CreateDBCluster</code> API action that can be executed * in the source region that contains the encrypted DB cluster to be copied. * </p> * <p> * The pre-signed URL request must contain the following parameter values: * </p> * <ul> * <li> * <p> * <code>KmsKeyId</code> - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the * destination region. This should refer to the same KMS key for both the <code>CreateDBCluster</code> action that * is called in the destination region, and the action contained in the pre-signed URL. * </p> * </li> * <li> * <p> * <code>DestinationRegion</code> - The name of the region that Aurora Read Replica will be created in. * </p> * </li> * <li> * <p> * <code>ReplicationSourceIdentifier</code> - The DB cluster identifier for the encrypted DB cluster to be copied. * This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are * copying an encrypted DB cluster from the us-west-2 region, then your <code>ReplicationSourceIdentifier</code> * would look like Example: <code>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</code>. * </p> * </li> * </ul> * <p> * To learn how to generate a Signature Version 4 signed request, see <a * href="http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html"> Authenticating Requests: * Using Query Parameters (AWS Signature Version 4)</a> and <a * href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"> Signature Version 4 Signing * Process</a>. * </p> */ private String preSignedUrl; /** * <p> * A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database * accounts, and otherwise false. * </p> * <p> * Default: <code>false</code> * </p> */ private Boolean enableIAMDatabaseAuthentication; /** The region where the source instance is located. */ private String sourceRegion; /** * <p> * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions * and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions * and Availability Zones</a>. * </p> * * @return A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on * regions and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html" * >Regions and Availability Zones</a>. */ public java.util.List<String> getAvailabilityZones() { if (availabilityZones == null) { availabilityZones = new com.amazonaws.internal.SdkInternalList<String>(); } return availabilityZones; } /** * <p> * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions * and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions * and Availability Zones</a>. * </p> * * @param availabilityZones * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on * regions and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html" * >Regions and Availability Zones</a>. */ public void setAvailabilityZones(java.util.Collection<String> availabilityZones) { if (availabilityZones == null) { this.availabilityZones = null; return; } this.availabilityZones = new com.amazonaws.internal.SdkInternalList<String>(availabilityZones); } /** * <p> * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions * and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions * and Availability Zones</a>. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. * </p> * * @param availabilityZones * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on * regions and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html" * >Regions and Availability Zones</a>. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withAvailabilityZones(String... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new com.amazonaws.internal.SdkInternalList<String>(availabilityZones.length)); } for (String ele : availabilityZones) { this.availabilityZones.add(ele); } return this; } /** * <p> * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions * and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions * and Availability Zones</a>. * </p> * * @param availabilityZones * A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on * regions and Availability Zones, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html" * >Regions and Availability Zones</a>. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withAvailabilityZones(java.util.Collection<String> availabilityZones) { setAvailabilityZones(availabilityZones); return this; } /** * <p> * The number of days for which automated backups are retained. You must specify a minimum value of 1. * </p> * <p> * Default: 1 * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be a value from 1 to 35 * </p> * </li> * </ul> * * @param backupRetentionPeriod * The number of days for which automated backups are retained. You must specify a minimum value of 1.</p> * <p> * Default: 1 * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be a value from 1 to 35 * </p> * </li> */ public void setBackupRetentionPeriod(Integer backupRetentionPeriod) { this.backupRetentionPeriod = backupRetentionPeriod; } /** * <p> * The number of days for which automated backups are retained. You must specify a minimum value of 1. * </p> * <p> * Default: 1 * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be a value from 1 to 35 * </p> * </li> * </ul> * * @return The number of days for which automated backups are retained. You must specify a minimum value of 1.</p> * <p> * Default: 1 * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be a value from 1 to 35 * </p> * </li> */ public Integer getBackupRetentionPeriod() { return this.backupRetentionPeriod; } /** * <p> * The number of days for which automated backups are retained. You must specify a minimum value of 1. * </p> * <p> * Default: 1 * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be a value from 1 to 35 * </p> * </li> * </ul> * * @param backupRetentionPeriod * The number of days for which automated backups are retained. You must specify a minimum value of 1.</p> * <p> * Default: 1 * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be a value from 1 to 35 * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withBackupRetentionPeriod(Integer backupRetentionPeriod) { setBackupRetentionPeriod(backupRetentionPeriod); return this; } /** * <p> * A value that indicates that the DB cluster should be associated with the specified CharacterSet. * </p> * * @param characterSetName * A value that indicates that the DB cluster should be associated with the specified CharacterSet. */ public void setCharacterSetName(String characterSetName) { this.characterSetName = characterSetName; } /** * <p> * A value that indicates that the DB cluster should be associated with the specified CharacterSet. * </p> * * @return A value that indicates that the DB cluster should be associated with the specified CharacterSet. */ public String getCharacterSetName() { return this.characterSetName; } /** * <p> * A value that indicates that the DB cluster should be associated with the specified CharacterSet. * </p> * * @param characterSetName * A value that indicates that the DB cluster should be associated with the specified CharacterSet. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withCharacterSetName(String characterSetName) { setCharacterSetName(characterSetName); return this; } /** * <p> * The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS will not * create a database in the DB cluster you are creating. * </p> * * @param databaseName * The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS * will not create a database in the DB cluster you are creating. */ public void setDatabaseName(String databaseName) { this.databaseName = databaseName; } /** * <p> * The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS will not * create a database in the DB cluster you are creating. * </p> * * @return The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS * will not create a database in the DB cluster you are creating. */ public String getDatabaseName() { return this.databaseName; } /** * <p> * The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS will not * create a database in the DB cluster you are creating. * </p> * * @param databaseName * The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS * will not create a database in the DB cluster you are creating. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withDatabaseName(String databaseName) { setDatabaseName(databaseName); return this; } /** * <p> * The DB cluster identifier. This parameter is stored as a lowercase string. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must contain from 1 to 63 alphanumeric characters or hyphens. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens. * </p> * </li> * </ul> * <p> * Example: <code>my-cluster1</code> * </p> * * @param dBClusterIdentifier * The DB cluster identifier. This parameter is stored as a lowercase string.</p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must contain from 1 to 63 alphanumeric characters or hyphens. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens. * </p> * </li> * </ul> * <p> * Example: <code>my-cluster1</code> */ public void setDBClusterIdentifier(String dBClusterIdentifier) { this.dBClusterIdentifier = dBClusterIdentifier; } /** * <p> * The DB cluster identifier. This parameter is stored as a lowercase string. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must contain from 1 to 63 alphanumeric characters or hyphens. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens. * </p> * </li> * </ul> * <p> * Example: <code>my-cluster1</code> * </p> * * @return The DB cluster identifier. This parameter is stored as a lowercase string.</p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must contain from 1 to 63 alphanumeric characters or hyphens. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens. * </p> * </li> * </ul> * <p> * Example: <code>my-cluster1</code> */ public String getDBClusterIdentifier() { return this.dBClusterIdentifier; } /** * <p> * The DB cluster identifier. This parameter is stored as a lowercase string. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must contain from 1 to 63 alphanumeric characters or hyphens. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens. * </p> * </li> * </ul> * <p> * Example: <code>my-cluster1</code> * </p> * * @param dBClusterIdentifier * The DB cluster identifier. This parameter is stored as a lowercase string.</p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must contain from 1 to 63 alphanumeric characters or hyphens. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens. * </p> * </li> * </ul> * <p> * Example: <code>my-cluster1</code> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withDBClusterIdentifier(String dBClusterIdentifier) { setDBClusterIdentifier(dBClusterIdentifier); return this; } /** * <p> * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, * <code>default.aurora5.6</code> will be used. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 255 alphanumeric characters * </p> * </li> * <li> * <p> * First character must be a letter * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens * </p> * </li> * </ul> * * @param dBClusterParameterGroupName * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, * <code>default.aurora5.6</code> will be used. </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 255 alphanumeric characters * </p> * </li> * <li> * <p> * First character must be a letter * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens * </p> * </li> */ public void setDBClusterParameterGroupName(String dBClusterParameterGroupName) { this.dBClusterParameterGroupName = dBClusterParameterGroupName; } /** * <p> * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, * <code>default.aurora5.6</code> will be used. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 255 alphanumeric characters * </p> * </li> * <li> * <p> * First character must be a letter * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens * </p> * </li> * </ul> * * @return The name of the DB cluster parameter group to associate with this DB cluster. If this argument is * omitted, <code>default.aurora5.6</code> will be used. </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 255 alphanumeric characters * </p> * </li> * <li> * <p> * First character must be a letter * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens * </p> * </li> */ public String getDBClusterParameterGroupName() { return this.dBClusterParameterGroupName; } /** * <p> * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, * <code>default.aurora5.6</code> will be used. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 255 alphanumeric characters * </p> * </li> * <li> * <p> * First character must be a letter * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens * </p> * </li> * </ul> * * @param dBClusterParameterGroupName * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, * <code>default.aurora5.6</code> will be used. </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 255 alphanumeric characters * </p> * </li> * <li> * <p> * First character must be a letter * </p> * </li> * <li> * <p> * Cannot end with a hyphen or contain two consecutive hyphens * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withDBClusterParameterGroupName(String dBClusterParameterGroupName) { setDBClusterParameterGroupName(dBClusterParameterGroupName); return this; } /** * <p> * A list of EC2 VPC security groups to associate with this DB cluster. * </p> * * @return A list of EC2 VPC security groups to associate with this DB cluster. */ public java.util.List<String> getVpcSecurityGroupIds() { if (vpcSecurityGroupIds == null) { vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList<String>(); } return vpcSecurityGroupIds; } /** * <p> * A list of EC2 VPC security groups to associate with this DB cluster. * </p> * * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with this DB cluster. */ public void setVpcSecurityGroupIds(java.util.Collection<String> vpcSecurityGroupIds) { if (vpcSecurityGroupIds == null) { this.vpcSecurityGroupIds = null; return; } this.vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList<String>(vpcSecurityGroupIds); } /** * <p> * A list of EC2 VPC security groups to associate with this DB cluster. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setVpcSecurityGroupIds(java.util.Collection)} or {@link #withVpcSecurityGroupIds(java.util.Collection)} * if you want to override the existing values. * </p> * * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with this DB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withVpcSecurityGroupIds(String... vpcSecurityGroupIds) { if (this.vpcSecurityGroupIds == null) { setVpcSecurityGroupIds(new com.amazonaws.internal.SdkInternalList<String>(vpcSecurityGroupIds.length)); } for (String ele : vpcSecurityGroupIds) { this.vpcSecurityGroupIds.add(ele); } return this; } /** * <p> * A list of EC2 VPC security groups to associate with this DB cluster. * </p> * * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with this DB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withVpcSecurityGroupIds(java.util.Collection<String> vpcSecurityGroupIds) { setVpcSecurityGroupIds(vpcSecurityGroupIds); return this; } /** * <p> * A DB subnet group to associate with this DB cluster. * </p> * <p> * Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. * Must not be default. * </p> * <p> * Example: <code>mySubnetgroup</code> * </p> * * @param dBSubnetGroupName * A DB subnet group to associate with this DB cluster.</p> * <p> * Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or * hyphens. Must not be default. * </p> * <p> * Example: <code>mySubnetgroup</code> */ public void setDBSubnetGroupName(String dBSubnetGroupName) { this.dBSubnetGroupName = dBSubnetGroupName; } /** * <p> * A DB subnet group to associate with this DB cluster. * </p> * <p> * Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. * Must not be default. * </p> * <p> * Example: <code>mySubnetgroup</code> * </p> * * @return A DB subnet group to associate with this DB cluster.</p> * <p> * Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or * hyphens. Must not be default. * </p> * <p> * Example: <code>mySubnetgroup</code> */ public String getDBSubnetGroupName() { return this.dBSubnetGroupName; } /** * <p> * A DB subnet group to associate with this DB cluster. * </p> * <p> * Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. * Must not be default. * </p> * <p> * Example: <code>mySubnetgroup</code> * </p> * * @param dBSubnetGroupName * A DB subnet group to associate with this DB cluster.</p> * <p> * Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or * hyphens. Must not be default. * </p> * <p> * Example: <code>mySubnetgroup</code> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withDBSubnetGroupName(String dBSubnetGroupName) { setDBSubnetGroupName(dBSubnetGroupName); return this; } /** * <p> * The name of the database engine to be used for this DB cluster. * </p> * <p> * Valid Values: <code>aurora</code> * </p> * * @param engine * The name of the database engine to be used for this DB cluster.</p> * <p> * Valid Values: <code>aurora</code> */ public void setEngine(String engine) { this.engine = engine; } /** * <p> * The name of the database engine to be used for this DB cluster. * </p> * <p> * Valid Values: <code>aurora</code> * </p> * * @return The name of the database engine to be used for this DB cluster.</p> * <p> * Valid Values: <code>aurora</code> */ public String getEngine() { return this.engine; } /** * <p> * The name of the database engine to be used for this DB cluster. * </p> * <p> * Valid Values: <code>aurora</code> * </p> * * @param engine * The name of the database engine to be used for this DB cluster.</p> * <p> * Valid Values: <code>aurora</code> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withEngine(String engine) { setEngine(engine); return this; } /** * <p> * The version number of the database engine to use. * </p> * <p> * <b>Aurora</b> * </p> * <p> * Example: <code>5.6.10a</code> * </p> * * @param engineVersion * The version number of the database engine to use.</p> * <p> * <b>Aurora</b> * </p> * <p> * Example: <code>5.6.10a</code> */ public void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } /** * <p> * The version number of the database engine to use. * </p> * <p> * <b>Aurora</b> * </p> * <p> * Example: <code>5.6.10a</code> * </p> * * @return The version number of the database engine to use.</p> * <p> * <b>Aurora</b> * </p> * <p> * Example: <code>5.6.10a</code> */ public String getEngineVersion() { return this.engineVersion; } /** * <p> * The version number of the database engine to use. * </p> * <p> * <b>Aurora</b> * </p> * <p> * Example: <code>5.6.10a</code> * </p> * * @param engineVersion * The version number of the database engine to use.</p> * <p> * <b>Aurora</b> * </p> * <p> * Example: <code>5.6.10a</code> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withEngineVersion(String engineVersion) { setEngineVersion(engineVersion); return this; } /** * <p> * The port number on which the instances in the DB cluster accept connections. * </p> * <p> * Default: <code>3306</code> * </p> * * @param port * The port number on which the instances in the DB cluster accept connections.</p> * <p> * Default: <code>3306</code> */ public void setPort(Integer port) { this.port = port; } /** * <p> * The port number on which the instances in the DB cluster accept connections. * </p> * <p> * Default: <code>3306</code> * </p> * * @return The port number on which the instances in the DB cluster accept connections.</p> * <p> * Default: <code>3306</code> */ public Integer getPort() { return this.port; } /** * <p> * The port number on which the instances in the DB cluster accept connections. * </p> * <p> * Default: <code>3306</code> * </p> * * @param port * The port number on which the instances in the DB cluster accept connections.</p> * <p> * Default: <code>3306</code> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withPort(Integer port) { setPort(port); return this; } /** * <p> * The name of the master user for the DB cluster. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 16 alphanumeric characters. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot be a reserved word for the chosen database engine. * </p> * </li> * </ul> * * @param masterUsername * The name of the master user for the DB cluster.</p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 16 alphanumeric characters. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot be a reserved word for the chosen database engine. * </p> * </li> */ public void setMasterUsername(String masterUsername) { this.masterUsername = masterUsername; } /** * <p> * The name of the master user for the DB cluster. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 16 alphanumeric characters. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot be a reserved word for the chosen database engine. * </p> * </li> * </ul> * * @return The name of the master user for the DB cluster.</p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 16 alphanumeric characters. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot be a reserved word for the chosen database engine. * </p> * </li> */ public String getMasterUsername() { return this.masterUsername; } /** * <p> * The name of the master user for the DB cluster. * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 16 alphanumeric characters. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot be a reserved word for the chosen database engine. * </p> * </li> * </ul> * * @param masterUsername * The name of the master user for the DB cluster.</p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be 1 to 16 alphanumeric characters. * </p> * </li> * <li> * <p> * First character must be a letter. * </p> * </li> * <li> * <p> * Cannot be a reserved word for the chosen database engine. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withMasterUsername(String masterUsername) { setMasterUsername(masterUsername); return this; } /** * <p> * The password for the master database user. This password can contain any printable ASCII character except "/", * """, or "@". * </p> * <p> * Constraints: Must contain from 8 to 41 characters. * </p> * * @param masterUserPassword * The password for the master database user. This password can contain any printable ASCII character except * "/", """, or "@".</p> * <p> * Constraints: Must contain from 8 to 41 characters. */ public void setMasterUserPassword(String masterUserPassword) { this.masterUserPassword = masterUserPassword; } /** * <p> * The password for the master database user. This password can contain any printable ASCII character except "/", * """, or "@". * </p> * <p> * Constraints: Must contain from 8 to 41 characters. * </p> * * @return The password for the master database user. This password can contain any printable ASCII character except * "/", """, or "@".</p> * <p> * Constraints: Must contain from 8 to 41 characters. */ public String getMasterUserPassword() { return this.masterUserPassword; } /** * <p> * The password for the master database user. This password can contain any printable ASCII character except "/", * """, or "@". * </p> * <p> * Constraints: Must contain from 8 to 41 characters. * </p> * * @param masterUserPassword * The password for the master database user. This password can contain any printable ASCII character except * "/", """, or "@".</p> * <p> * Constraints: Must contain from 8 to 41 characters. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withMasterUserPassword(String masterUserPassword) { setMasterUserPassword(masterUserPassword); return this; } /** * <p> * A value that indicates that the DB cluster should be associated with the specified option group. * </p> * <p> * Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster * once it is associated with a DB cluster. * </p> * * @param optionGroupName * A value that indicates that the DB cluster should be associated with the specified option group.</p> * <p> * Permanent options cannot be removed from an option group. The option group cannot be removed from a DB * cluster once it is associated with a DB cluster. */ public void setOptionGroupName(String optionGroupName) { this.optionGroupName = optionGroupName; } /** * <p> * A value that indicates that the DB cluster should be associated with the specified option group. * </p> * <p> * Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster * once it is associated with a DB cluster. * </p> * * @return A value that indicates that the DB cluster should be associated with the specified option group.</p> * <p> * Permanent options cannot be removed from an option group. The option group cannot be removed from a DB * cluster once it is associated with a DB cluster. */ public String getOptionGroupName() { return this.optionGroupName; } /** * <p> * A value that indicates that the DB cluster should be associated with the specified option group. * </p> * <p> * Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster * once it is associated with a DB cluster. * </p> * * @param optionGroupName * A value that indicates that the DB cluster should be associated with the specified option group.</p> * <p> * Permanent options cannot be removed from an option group. The option group cannot be removed from a DB * cluster once it is associated with a DB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withOptionGroupName(String optionGroupName) { setOptionGroupName(optionGroupName); return this; } /** * <p> * The daily time range during which automated backups are created if automated backups are enabled using the * <code>BackupRetentionPeriod</code> parameter. * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks * available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be in the format <code>hh24:mi-hh24:mi</code>. * </p> * </li> * <li> * <p> * Times should 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> * * @param preferredBackupWindow * The daily time range during which automated backups are created if automated backups are enabled using the * <code>BackupRetentionPeriod</code> parameter. </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time * blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting * the Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be in the format <code>hh24:mi-hh24:mi</code>. * </p> * </li> * <li> * <p> * Times should 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> */ public void setPreferredBackupWindow(String preferredBackupWindow) { this.preferredBackupWindow = preferredBackupWindow; } /** * <p> * The daily time range during which automated backups are created if automated backups are enabled using the * <code>BackupRetentionPeriod</code> parameter. * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks * available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be in the format <code>hh24:mi-hh24:mi</code>. * </p> * </li> * <li> * <p> * Times should 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> * * @return The daily time range during which automated backups are created if automated backups are enabled using * the <code>BackupRetentionPeriod</code> parameter. </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time * blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> * Adjusting the Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be in the format <code>hh24:mi-hh24:mi</code>. * </p> * </li> * <li> * <p> * Times should 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> */ public String getPreferredBackupWindow() { return this.preferredBackupWindow; } /** * <p> * The daily time range during which automated backups are created if automated backups are enabled using the * <code>BackupRetentionPeriod</code> parameter. * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks * available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be in the format <code>hh24:mi-hh24:mi</code>. * </p> * </li> * <li> * <p> * Times should 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> * * @param preferredBackupWindow * The daily time range during which automated backups are created if automated backups are enabled using the * <code>BackupRetentionPeriod</code> parameter. </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time * blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting * the Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Constraints: * </p> * <ul> * <li> * <p> * Must be in the format <code>hh24:mi-hh24:mi</code>. * </p> * </li> * <li> * <p> * Times should 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> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withPreferredBackupWindow(String preferredBackupWindow) { setPreferredBackupWindow(preferredBackupWindow); return this; } /** * <p> * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * </p> * <p> * Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day * of the week. To see the time blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * </p> * <p> * Constraints: Minimum 30-minute window. * </p> * * @param preferredMaintenanceWindow * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p> * <p> * Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a * random day of the week. To see the time blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting * the Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * </p> * <p> * Constraints: Minimum 30-minute window. */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** * <p> * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * </p> * <p> * Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day * of the week. To see the time blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * </p> * <p> * Constraints: Minimum 30-minute window. * </p> * * @return The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p> * <p> * Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a * random day of the week. To see the time blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> * Adjusting the Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * </p> * <p> * Constraints: Minimum 30-minute window. */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** * <p> * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * </p> * <p> * Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day * of the week. To see the time blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting the * Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * </p> * <p> * Constraints: Minimum 30-minute window. * </p> * * @param preferredMaintenanceWindow * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p> * <p> * Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> * </p> * <p> * Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a * random day of the week. To see the time blocks available, see <a * href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html"> Adjusting * the Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i> * </p> * <p> * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * </p> * <p> * Constraints: Minimum 30-minute window. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** * <p> * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read * Replica. * </p> * * @param replicationSourceIdentifier * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a * Read Replica. */ public void setReplicationSourceIdentifier(String replicationSourceIdentifier) { this.replicationSourceIdentifier = replicationSourceIdentifier; } /** * <p> * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read * Replica. * </p> * * @return The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a * Read Replica. */ public String getReplicationSourceIdentifier() { return this.replicationSourceIdentifier; } /** * <p> * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read * Replica. * </p> * * @param replicationSourceIdentifier * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a * Read Replica. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withReplicationSourceIdentifier(String replicationSourceIdentifier) { setReplicationSourceIdentifier(replicationSourceIdentifier); return this; } /** * @return */ public java.util.List<Tag> getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList<Tag>(); } return tags; } /** * @param tags */ public void setTags(java.util.Collection<Tag> tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList<Tag>(tags); } /** * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. * </p> * * @param tags * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList<Tag>(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** * @param tags * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withTags(java.util.Collection<Tag> tags) { setTags(tags); return this; } /** * <p> * Specifies whether the DB cluster is encrypted. * </p> * * @param storageEncrypted * Specifies whether the DB cluster is encrypted. */ public void setStorageEncrypted(Boolean storageEncrypted) { this.storageEncrypted = storageEncrypted; } /** * <p> * Specifies whether the DB cluster is encrypted. * </p> * * @return Specifies whether the DB cluster is encrypted. */ public Boolean getStorageEncrypted() { return this.storageEncrypted; } /** * <p> * Specifies whether the DB cluster is encrypted. * </p> * * @param storageEncrypted * Specifies whether the DB cluster is encrypted. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withStorageEncrypted(Boolean storageEncrypted) { setStorageEncrypted(storageEncrypted); return this; } /** * <p> * Specifies whether the DB cluster is encrypted. * </p> * * @return Specifies whether the DB cluster is encrypted. */ public Boolean isStorageEncrypted() { return this.storageEncrypted; } /** * <p> * The KMS key identifier for an encrypted DB cluster. * </p> * <p> * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB * cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you * can use the KMS key alias instead of the ARN for the KMS encryption key. * </p> * <p> * If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the * <code>KmsKeyId</code> parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the * default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS * region. * </p> * <p> * If you create a Read Replica of an encrypted DB cluster in another region, you must set <code>KmsKeyId</code> to * a KMS key ID that is valid in the destination region. This key is used to encrypt the Read Replica in that * region. * </p> * * @param kmsKeyId * The KMS key identifier for an encrypted DB cluster.</p> * <p> * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, * then you can use the KMS key alias instead of the ARN for the KMS encryption key. * </p> * <p> * If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the * <code>KmsKeyId</code> parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the * default encryption key for your AWS account. Your AWS account has a different default encryption key for * each AWS region. * </p> * <p> * If you create a Read Replica of an encrypted DB cluster in another region, you must set * <code>KmsKeyId</code> to a KMS key ID that is valid in the destination region. This key is used to encrypt * the Read Replica in that region. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** * <p> * The KMS key identifier for an encrypted DB cluster. * </p> * <p> * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB * cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you * can use the KMS key alias instead of the ARN for the KMS encryption key. * </p> * <p> * If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the * <code>KmsKeyId</code> parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the * default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS * region. * </p> * <p> * If you create a Read Replica of an encrypted DB cluster in another region, you must set <code>KmsKeyId</code> to * a KMS key ID that is valid in the destination region. This key is used to encrypt the Read Replica in that * region. * </p> * * @return The KMS key identifier for an encrypted DB cluster.</p> * <p> * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating * a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB * cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. * </p> * <p> * If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the * <code>KmsKeyId</code> parameter, then Amazon RDS will use your default encryption key. AWS KMS creates * the default encryption key for your AWS account. Your AWS account has a different default encryption key * for each AWS region. * </p> * <p> * If you create a Read Replica of an encrypted DB cluster in another region, you must set * <code>KmsKeyId</code> to a KMS key ID that is valid in the destination region. This key is used to * encrypt the Read Replica in that region. */ public String getKmsKeyId() { return this.kmsKeyId; } /** * <p> * The KMS key identifier for an encrypted DB cluster. * </p> * <p> * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB * cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you * can use the KMS key alias instead of the ARN for the KMS encryption key. * </p> * <p> * If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the * <code>KmsKeyId</code> parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the * default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS * region. * </p> * <p> * If you create a Read Replica of an encrypted DB cluster in another region, you must set <code>KmsKeyId</code> to * a KMS key ID that is valid in the destination region. This key is used to encrypt the Read Replica in that * region. * </p> * * @param kmsKeyId * The KMS key identifier for an encrypted DB cluster.</p> * <p> * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, * then you can use the KMS key alias instead of the ARN for the KMS encryption key. * </p> * <p> * If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the * <code>KmsKeyId</code> parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the * default encryption key for your AWS account. Your AWS account has a different default encryption key for * each AWS region. * </p> * <p> * If you create a Read Replica of an encrypted DB cluster in another region, you must set * <code>KmsKeyId</code> to a KMS key ID that is valid in the destination region. This key is used to encrypt * the Read Replica in that region. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** * <p> * A URL that contains a Signature Version 4 signed request for the <code>CreateDBCluster</code> action to be called * in the source region where the DB cluster will be replicated from. You only need to specify * <code>PreSignedUrl</code> when you are performing cross-region replication from an encrypted DB cluster. * </p> * <p> * The pre-signed URL must be a valid request for the <code>CreateDBCluster</code> API action that can be executed * in the source region that contains the encrypted DB cluster to be copied. * </p> * <p> * The pre-signed URL request must contain the following parameter values: * </p> * <ul> * <li> * <p> * <code>KmsKeyId</code> - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the * destination region. This should refer to the same KMS key for both the <code>CreateDBCluster</code> action that * is called in the destination region, and the action contained in the pre-signed URL. * </p> * </li> * <li> * <p> * <code>DestinationRegion</code> - The name of the region that Aurora Read Replica will be created in. * </p> * </li> * <li> * <p> * <code>ReplicationSourceIdentifier</code> - The DB cluster identifier for the encrypted DB cluster to be copied. * This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are * copying an encrypted DB cluster from the us-west-2 region, then your <code>ReplicationSourceIdentifier</code> * would look like Example: <code>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</code>. * </p> * </li> * </ul> * <p> * To learn how to generate a Signature Version 4 signed request, see <a * href="http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html"> Authenticating Requests: * Using Query Parameters (AWS Signature Version 4)</a> and <a * href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"> Signature Version 4 Signing * Process</a>. * </p> * * @param preSignedUrl * A URL that contains a Signature Version 4 signed request for the <code>CreateDBCluster</code> action to be * called in the source region where the DB cluster will be replicated from. You only need to specify * <code>PreSignedUrl</code> when you are performing cross-region replication from an encrypted DB * cluster.</p> * <p> * The pre-signed URL must be a valid request for the <code>CreateDBCluster</code> API action that can be * executed in the source region that contains the encrypted DB cluster to be copied. * </p> * <p> * The pre-signed URL request must contain the following parameter values: * </p> * <ul> * <li> * <p> * <code>KmsKeyId</code> - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in * the destination region. This should refer to the same KMS key for both the <code>CreateDBCluster</code> * action that is called in the destination region, and the action contained in the pre-signed URL. * </p> * </li> * <li> * <p> * <code>DestinationRegion</code> - The name of the region that Aurora Read Replica will be created in. * </p> * </li> * <li> * <p> * <code>ReplicationSourceIdentifier</code> - The DB cluster identifier for the encrypted DB cluster to be * copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For * example, if you are copying an encrypted DB cluster from the us-west-2 region, then your * <code>ReplicationSourceIdentifier</code> would look like Example: * <code>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</code>. * </p> * </li> * </ul> * <p> * To learn how to generate a Signature Version 4 signed request, see <a * href="http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html"> Authenticating * Requests: Using Query Parameters (AWS Signature Version 4)</a> and <a * href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"> Signature Version 4 Signing * Process</a>. */ public void setPreSignedUrl(String preSignedUrl) { this.preSignedUrl = preSignedUrl; } /** * <p> * A URL that contains a Signature Version 4 signed request for the <code>CreateDBCluster</code> action to be called * in the source region where the DB cluster will be replicated from. You only need to specify * <code>PreSignedUrl</code> when you are performing cross-region replication from an encrypted DB cluster. * </p> * <p> * The pre-signed URL must be a valid request for the <code>CreateDBCluster</code> API action that can be executed * in the source region that contains the encrypted DB cluster to be copied. * </p> * <p> * The pre-signed URL request must contain the following parameter values: * </p> * <ul> * <li> * <p> * <code>KmsKeyId</code> - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the * destination region. This should refer to the same KMS key for both the <code>CreateDBCluster</code> action that * is called in the destination region, and the action contained in the pre-signed URL. * </p> * </li> * <li> * <p> * <code>DestinationRegion</code> - The name of the region that Aurora Read Replica will be created in. * </p> * </li> * <li> * <p> * <code>ReplicationSourceIdentifier</code> - The DB cluster identifier for the encrypted DB cluster to be copied. * This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are * copying an encrypted DB cluster from the us-west-2 region, then your <code>ReplicationSourceIdentifier</code> * would look like Example: <code>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</code>. * </p> * </li> * </ul> * <p> * To learn how to generate a Signature Version 4 signed request, see <a * href="http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html"> Authenticating Requests: * Using Query Parameters (AWS Signature Version 4)</a> and <a * href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"> Signature Version 4 Signing * Process</a>. * </p> * * @return A URL that contains a Signature Version 4 signed request for the <code>CreateDBCluster</code> action to * be called in the source region where the DB cluster will be replicated from. You only need to specify * <code>PreSignedUrl</code> when you are performing cross-region replication from an encrypted DB * cluster.</p> * <p> * The pre-signed URL must be a valid request for the <code>CreateDBCluster</code> API action that can be * executed in the source region that contains the encrypted DB cluster to be copied. * </p> * <p> * The pre-signed URL request must contain the following parameter values: * </p> * <ul> * <li> * <p> * <code>KmsKeyId</code> - The KMS key identifier for the key to use to encrypt the copy of the DB cluster * in the destination region. This should refer to the same KMS key for both the * <code>CreateDBCluster</code> action that is called in the destination region, and the action contained in * the pre-signed URL. * </p> * </li> * <li> * <p> * <code>DestinationRegion</code> - The name of the region that Aurora Read Replica will be created in. * </p> * </li> * <li> * <p> * <code>ReplicationSourceIdentifier</code> - The DB cluster identifier for the encrypted DB cluster to be * copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For * example, if you are copying an encrypted DB cluster from the us-west-2 region, then your * <code>ReplicationSourceIdentifier</code> would look like Example: * <code>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</code>. * </p> * </li> * </ul> * <p> * To learn how to generate a Signature Version 4 signed request, see <a * href="http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html"> Authenticating * Requests: Using Query Parameters (AWS Signature Version 4)</a> and <a * href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"> Signature Version 4 Signing * Process</a>. */ public String getPreSignedUrl() { return this.preSignedUrl; } /** * <p> * A URL that contains a Signature Version 4 signed request for the <code>CreateDBCluster</code> action to be called * in the source region where the DB cluster will be replicated from. You only need to specify * <code>PreSignedUrl</code> when you are performing cross-region replication from an encrypted DB cluster. * </p> * <p> * The pre-signed URL must be a valid request for the <code>CreateDBCluster</code> API action that can be executed * in the source region that contains the encrypted DB cluster to be copied. * </p> * <p> * The pre-signed URL request must contain the following parameter values: * </p> * <ul> * <li> * <p> * <code>KmsKeyId</code> - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the * destination region. This should refer to the same KMS key for both the <code>CreateDBCluster</code> action that * is called in the destination region, and the action contained in the pre-signed URL. * </p> * </li> * <li> * <p> * <code>DestinationRegion</code> - The name of the region that Aurora Read Replica will be created in. * </p> * </li> * <li> * <p> * <code>ReplicationSourceIdentifier</code> - The DB cluster identifier for the encrypted DB cluster to be copied. * This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are * copying an encrypted DB cluster from the us-west-2 region, then your <code>ReplicationSourceIdentifier</code> * would look like Example: <code>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</code>. * </p> * </li> * </ul> * <p> * To learn how to generate a Signature Version 4 signed request, see <a * href="http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html"> Authenticating Requests: * Using Query Parameters (AWS Signature Version 4)</a> and <a * href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"> Signature Version 4 Signing * Process</a>. * </p> * * @param preSignedUrl * A URL that contains a Signature Version 4 signed request for the <code>CreateDBCluster</code> action to be * called in the source region where the DB cluster will be replicated from. You only need to specify * <code>PreSignedUrl</code> when you are performing cross-region replication from an encrypted DB * cluster.</p> * <p> * The pre-signed URL must be a valid request for the <code>CreateDBCluster</code> API action that can be * executed in the source region that contains the encrypted DB cluster to be copied. * </p> * <p> * The pre-signed URL request must contain the following parameter values: * </p> * <ul> * <li> * <p> * <code>KmsKeyId</code> - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in * the destination region. This should refer to the same KMS key for both the <code>CreateDBCluster</code> * action that is called in the destination region, and the action contained in the pre-signed URL. * </p> * </li> * <li> * <p> * <code>DestinationRegion</code> - The name of the region that Aurora Read Replica will be created in. * </p> * </li> * <li> * <p> * <code>ReplicationSourceIdentifier</code> - The DB cluster identifier for the encrypted DB cluster to be * copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For * example, if you are copying an encrypted DB cluster from the us-west-2 region, then your * <code>ReplicationSourceIdentifier</code> would look like Example: * <code>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</code>. * </p> * </li> * </ul> * <p> * To learn how to generate a Signature Version 4 signed request, see <a * href="http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html"> Authenticating * Requests: Using Query Parameters (AWS Signature Version 4)</a> and <a * href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"> Signature Version 4 Signing * Process</a>. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withPreSignedUrl(String preSignedUrl) { setPreSignedUrl(preSignedUrl); return this; } /** * <p> * A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database * accounts, and otherwise false. * </p> * <p> * Default: <code>false</code> * </p> * * @param enableIAMDatabaseAuthentication * A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to * database accounts, and otherwise false.</p> * <p> * Default: <code>false</code> */ public void setEnableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) { this.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication; } /** * <p> * A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database * accounts, and otherwise false. * </p> * <p> * Default: <code>false</code> * </p> * * @return A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to * database accounts, and otherwise false.</p> * <p> * Default: <code>false</code> */ public Boolean getEnableIAMDatabaseAuthentication() { return this.enableIAMDatabaseAuthentication; } /** * <p> * A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database * accounts, and otherwise false. * </p> * <p> * Default: <code>false</code> * </p> * * @param enableIAMDatabaseAuthentication * A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to * database accounts, and otherwise false.</p> * <p> * Default: <code>false</code> * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withEnableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) { setEnableIAMDatabaseAuthentication(enableIAMDatabaseAuthentication); return this; } /** * <p> * A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database * accounts, and otherwise false. * </p> * <p> * Default: <code>false</code> * </p> * * @return A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to * database accounts, and otherwise false.</p> * <p> * Default: <code>false</code> */ public Boolean isEnableIAMDatabaseAuthentication() { return this.enableIAMDatabaseAuthentication; } /** * The region where the source instance is located. * * @param sourceRegion * The region where the source instance is located. */ public void setSourceRegion(String sourceRegion) { this.sourceRegion = sourceRegion; } /** * The region where the source instance is located. * * @return The region where the source instance is located. */ public String getSourceRegion() { return this.sourceRegion; } /** * The region where the source instance is located. * * @param sourceRegion * The region where the source instance is located. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDBClusterRequest withSourceRegion(String sourceRegion) { setSourceRegion(sourceRegion); return this; } /** * Returns a string representation of this object; useful for testing and debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAvailabilityZones() != null) sb.append("AvailabilityZones: ").append(getAvailabilityZones()).append(","); if (getBackupRetentionPeriod() != null) sb.append("BackupRetentionPeriod: ").append(getBackupRetentionPeriod()).append(","); if (getCharacterSetName() != null) sb.append("CharacterSetName: ").append(getCharacterSetName()).append(","); if (getDatabaseName() != null) sb.append("DatabaseName: ").append(getDatabaseName()).append(","); if (getDBClusterIdentifier() != null) sb.append("DBClusterIdentifier: ").append(getDBClusterIdentifier()).append(","); if (getDBClusterParameterGroupName() != null) sb.append("DBClusterParameterGroupName: ").append(getDBClusterParameterGroupName()).append(","); if (getVpcSecurityGroupIds() != null) sb.append("VpcSecurityGroupIds: ").append(getVpcSecurityGroupIds()).append(","); if (getDBSubnetGroupName() != null) sb.append("DBSubnetGroupName: ").append(getDBSubnetGroupName()).append(","); if (getEngine() != null) sb.append("Engine: ").append(getEngine()).append(","); if (getEngineVersion() != null) sb.append("EngineVersion: ").append(getEngineVersion()).append(","); if (getPort() != null) sb.append("Port: ").append(getPort()).append(","); if (getMasterUsername() != null) sb.append("MasterUsername: ").append(getMasterUsername()).append(","); if (getMasterUserPassword() != null) sb.append("MasterUserPassword: ").append(getMasterUserPassword()).append(","); if (getOptionGroupName() != null) sb.append("OptionGroupName: ").append(getOptionGroupName()).append(","); if (getPreferredBackupWindow() != null) sb.append("PreferredBackupWindow: ").append(getPreferredBackupWindow()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getReplicationSourceIdentifier() != null) sb.append("ReplicationSourceIdentifier: ").append(getReplicationSourceIdentifier()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getStorageEncrypted() != null) sb.append("StorageEncrypted: ").append(getStorageEncrypted()).append(","); if (getKmsKeyId() != null) sb.append("KmsKeyId: ").append(getKmsKeyId()).append(","); if (getPreSignedUrl() != null) sb.append("PreSignedUrl: ").append(getPreSignedUrl()).append(","); if (getEnableIAMDatabaseAuthentication() != null) sb.append("EnableIAMDatabaseAuthentication: ").append(getEnableIAMDatabaseAuthentication()).append(","); if (getSourceRegion() != null) sb.append("SourceRegion: ").append(getSourceRegion()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateDBClusterRequest == false) return false; CreateDBClusterRequest other = (CreateDBClusterRequest) obj; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; if (other.getBackupRetentionPeriod() == null ^ this.getBackupRetentionPeriod() == null) return false; if (other.getBackupRetentionPeriod() != null && other.getBackupRetentionPeriod().equals(this.getBackupRetentionPeriod()) == false) return false; if (other.getCharacterSetName() == null ^ this.getCharacterSetName() == null) return false; if (other.getCharacterSetName() != null && other.getCharacterSetName().equals(this.getCharacterSetName()) == false) return false; if (other.getDatabaseName() == null ^ this.getDatabaseName() == null) return false; if (other.getDatabaseName() != null && other.getDatabaseName().equals(this.getDatabaseName()) == false) return false; if (other.getDBClusterIdentifier() == null ^ this.getDBClusterIdentifier() == null) return false; if (other.getDBClusterIdentifier() != null && other.getDBClusterIdentifier().equals(this.getDBClusterIdentifier()) == false) return false; if (other.getDBClusterParameterGroupName() == null ^ this.getDBClusterParameterGroupName() == null) return false; if (other.getDBClusterParameterGroupName() != null && other.getDBClusterParameterGroupName().equals(this.getDBClusterParameterGroupName()) == false) return false; if (other.getVpcSecurityGroupIds() == null ^ this.getVpcSecurityGroupIds() == null) return false; if (other.getVpcSecurityGroupIds() != null && other.getVpcSecurityGroupIds().equals(this.getVpcSecurityGroupIds()) == false) return false; if (other.getDBSubnetGroupName() == null ^ this.getDBSubnetGroupName() == null) return false; if (other.getDBSubnetGroupName() != null && other.getDBSubnetGroupName().equals(this.getDBSubnetGroupName()) == false) return false; if (other.getEngine() == null ^ this.getEngine() == null) return false; if (other.getEngine() != null && other.getEngine().equals(this.getEngine()) == false) return false; if (other.getEngineVersion() == null ^ this.getEngineVersion() == null) return false; if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false) return false; if (other.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getMasterUsername() == null ^ this.getMasterUsername() == null) return false; if (other.getMasterUsername() != null && other.getMasterUsername().equals(this.getMasterUsername()) == false) return false; if (other.getMasterUserPassword() == null ^ this.getMasterUserPassword() == null) return false; if (other.getMasterUserPassword() != null && other.getMasterUserPassword().equals(this.getMasterUserPassword()) == false) return false; if (other.getOptionGroupName() == null ^ this.getOptionGroupName() == null) return false; if (other.getOptionGroupName() != null && other.getOptionGroupName().equals(this.getOptionGroupName()) == false) return false; if (other.getPreferredBackupWindow() == null ^ this.getPreferredBackupWindow() == null) return false; if (other.getPreferredBackupWindow() != null && other.getPreferredBackupWindow().equals(this.getPreferredBackupWindow()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false) return false; if (other.getReplicationSourceIdentifier() == null ^ this.getReplicationSourceIdentifier() == null) return false; if (other.getReplicationSourceIdentifier() != null && other.getReplicationSourceIdentifier().equals(this.getReplicationSourceIdentifier()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getStorageEncrypted() == null ^ this.getStorageEncrypted() == null) return false; if (other.getStorageEncrypted() != null && other.getStorageEncrypted().equals(this.getStorageEncrypted()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false) return false; if (other.getPreSignedUrl() == null ^ this.getPreSignedUrl() == null) return false; if (other.getPreSignedUrl() != null && other.getPreSignedUrl().equals(this.getPreSignedUrl()) == false) return false; if (other.getEnableIAMDatabaseAuthentication() == null ^ this.getEnableIAMDatabaseAuthentication() == null) return false; if (other.getEnableIAMDatabaseAuthentication() != null && other.getEnableIAMDatabaseAuthentication().equals(this.getEnableIAMDatabaseAuthentication()) == false) return false; if (other.getSourceRegion() == null ^ this.getSourceRegion() == null) return false; if (other.getSourceRegion() != null && other.getSourceRegion().equals(this.getSourceRegion()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); hashCode = prime * hashCode + ((getBackupRetentionPeriod() == null) ? 0 : getBackupRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getCharacterSetName() == null) ? 0 : getCharacterSetName().hashCode()); hashCode = prime * hashCode + ((getDatabaseName() == null) ? 0 : getDatabaseName().hashCode()); hashCode = prime * hashCode + ((getDBClusterIdentifier() == null) ? 0 : getDBClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getDBClusterParameterGroupName() == null) ? 0 : getDBClusterParameterGroupName().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroupIds() == null) ? 0 : getVpcSecurityGroupIds().hashCode()); hashCode = prime * hashCode + ((getDBSubnetGroupName() == null) ? 0 : getDBSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getEngine() == null) ? 0 : getEngine().hashCode()); hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode()); hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getMasterUsername() == null) ? 0 : getMasterUsername().hashCode()); hashCode = prime * hashCode + ((getMasterUserPassword() == null) ? 0 : getMasterUserPassword().hashCode()); hashCode = prime * hashCode + ((getOptionGroupName() == null) ? 0 : getOptionGroupName().hashCode()); hashCode = prime * hashCode + ((getPreferredBackupWindow() == null) ? 0 : getPreferredBackupWindow().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getReplicationSourceIdentifier() == null) ? 0 : getReplicationSourceIdentifier().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getStorageEncrypted() == null) ? 0 : getStorageEncrypted().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getPreSignedUrl() == null) ? 0 : getPreSignedUrl().hashCode()); hashCode = prime * hashCode + ((getEnableIAMDatabaseAuthentication() == null) ? 0 : getEnableIAMDatabaseAuthentication().hashCode()); hashCode = prime * hashCode + ((getSourceRegion() == null) ? 0 : getSourceRegion().hashCode()); return hashCode; } @Override public CreateDBClusterRequest clone() { return (CreateDBClusterRequest) super.clone(); } }