com.amazonaws.services.rds.model.CreateDBInstanceRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
 * Copyright 2010-2016 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 com.amazonaws.AmazonWebServiceRequest;
/**
 * 
 */
public class CreateDBInstanceRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {
    /**
     * 
     * The meaning of this parameter differs according to the database engine
     * you use.
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, the default "postgres" database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 63 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Must begin with a letter or an underscore. Subsequent characters can be
     * letters, underscores, or digits (0-9).
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * Oracle
     * 
     * 
     * The Oracle System ID (SID) of the created DB instance.
     * 
     * 
     * Default: ORCL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Cannot be longer than 8 characters
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Not applicable. Must be null.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * The name of the database to create when the primary instance of the DB
     * cluster is created. If this parameter is not specified, no database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     */
    private String dBName;
    /**
     * 
     * The DB instance identifier. This parameter is stored as a lowercase
     * string.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for
     * SQL Server).
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens.
     * 
     *  
     * 
     * 
     * Example: mydbinstance
     * 
     */
    private String dBInstanceIdentifier;
    /**
     * 
     * The amount of storage (in gigabytes) to be initially allocated for the
     * database instance.
     * 
     * 
     * Type: Integer
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must be an integer from 10 to 6144.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must be an integer from 200 to 4096 (Standard Edition and
     * Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)
     * 
     */
    private Integer allocatedStorage;
    /**
     * 
     * The compute and memory capacity of the DB instance.
     * 
     * 
     * Valid Values:
     * db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     * 
     */
    private String dBInstanceClass;
    /**
     * 
     * The name of the database engine to be used for this instance.
     * 
     * 
     * Valid Values: MySQL | mariadb |
     * oracle-se1 | oracle-se | oracle-ee
     * | sqlserver-ee | sqlserver-se |
     * sqlserver-ex | sqlserver-web |
     * postgres | aurora
     * 
     * 
     * Not every database engine is available for every AWS region.
     * 
     */
    private String engine;
    /**
     * 
     * The name of master user for the client DB instance.
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * Type: String
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 30 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 128 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 63 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     */
    private String masterUsername;
    /**
     * 
     * The password for the master database user. Can be any printable ASCII
     * character except "/", """, or "@".
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must contain from 8 to 30 characters.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     */
    private String masterUserPassword;
    /**
     * 
     * A list of DB security groups to associate with this DB instance.
     * 
     * 
     * Default: The default DB security group for the database engine.
     * 
     */
    private com.amazonaws.internal.SdkInternalList dBSecurityGroups;
    /**
     * 
     * A list of EC2 VPC security groups to associate with this DB instance.
     * 
     * 
     * Default: The default EC2 VPC security group for the DB subnet group's
     * VPC.
     * 
     */
    private com.amazonaws.internal.SdkInternalList vpcSecurityGroupIds;
    /**
     * 
     * The EC2 Availability Zone that the database instance will be created in.
     * For information on regions and Availability Zones, see Regions and Availability Zones.
     * 
     * 
     * Default: A random, system-chosen Availability Zone in the endpoint's
     * region.
     * 
     * 
     * Example: us-east-1d
     * 
     * 
     * Constraint: The AvailabilityZone parameter cannot be specified if the
     * MultiAZ parameter is set to true. The specified Availability
     * Zone must be in the same region as the current endpoint.
     * 
     */
    private String availabilityZone;
    /**
     * 
     * A DB subnet group to associate with this DB instance.
     * 
     * 
     * If there is no DB subnet group, then it is a non-VPC DB instance.
     * 
     */
    private String dBSubnetGroupName;
    /**
     * 
     * The weekly time range during which system maintenance can occur, in
     * Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance.
     * 
     * 
     * Format: ddd:hh24:mi-ddd:hh24:mi
     * 
     * 
     * 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  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
     * 
     * 
     * Constraints: Minimum 30-minute window.
     * 
     */
    private String preferredMaintenanceWindow;
    /**
     * 
     * The name of the DB parameter group to associate with this DB instance. If
     * this argument is omitted, the default DBParameterGroup for the specified
     * engine will be used.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 255 alphanumeric characters
     * 
     *  
     * - 
     * 
     * First character must be a letter
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens
     * 
     *  
     * 
     */
    private String dBParameterGroupName;
    /**
     * 
     * The number of days for which automated backups are retained. Setting this
     * parameter to a positive number enables backups. Setting this parameter to
     * 0 disables automated backups.
     * 
     * 
     * Default: 1
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be a value from 0 to 35
     * 
     *  
     * - 
     * 
     * Cannot be set to 0 if the DB instance is a source to Read Replicas
     * 
     *  
     * 
     */
    private Integer backupRetentionPeriod;
    /**
     * 
     * The daily time range during which automated backups are created if
     * automated backups are enabled, using the
     * BackupRetentionPeriod parameter. For more information, see
     * DB Instance Backups.
     * 
     * 
     * Default: A 30-minute window selected at random from an 8-hour block of
     * time per region. To see the time blocks available, see  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be in the format hh24:mi-hh24:mi.
     * 
     *  
     * - 
     * 
     * Times should be in Universal Coordinated Time (UTC).
     * 
     *  
     * - 
     * 
     * Must not conflict with the preferred maintenance window.
     * 
     *  
     * - 
     * 
     * Must be at least 30 minutes.
     * 
     *  
     * 
     */
    private String preferredBackupWindow;
    /**
     * 
     * The port number on which the database accepts connections.
     * 
     * 
     * MySQL
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * MariaDB
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Default: 5432
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * Oracle
     * 
     * 
     * Default: 1521
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * SQL Server
     * 
     * 
     * Default: 1433
     * 
     * 
     * Valid Values: 1150-65535 except for 1434,
     * 3389, 47001, 49152, and
     * 49152 through 49156.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     */
    private Integer port;
    /**
     * 
     * Specifies if the DB instance is a Multi-AZ deployment. You cannot set the
     * AvailabilityZone parameter if the MultiAZ parameter is set to true. Do
     * not set this value if you want a Multi-AZ deployment for a SQL Server DB
     * instance. Multi-AZ for SQL Server is set using the Mirroring option in an
     * option group.
     * 
     */
    private Boolean multiAZ;
    /**
     * 
     * The version number of the database engine to use.
     * 
     * 
     * The following are the database engines and major and minor versions that
     * are available with Amazon RDS. Not every database engine is available for
     * every AWS region.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * - 
     * 
     * Version 5.6 (only available in AWS regions ap-northeast-1,
     * ap-northeast-2, ap-southeast-2, eu-west-1, us-east-1, us-west-2):
     *  5.6.10a
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * - 
     * 
     * Version 10.0 (available in all AWS regions):
     *  10.0.17 | 10.0.24
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Enterprise Edition (sqlserver-ee)
     * 
     * 
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Express Edition (sqlserver-ex)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Standard Edition (sqlserver-se)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Web Edition (sqlserver-web)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * MySQL
     * 
     * 
     * - 
     * 
     * Version 5.7 (available in all AWS regions):
     *  5.7.10 | 5.7.11
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions except ap-northeast-2):
     *  5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions):
     *  5.6.23 | 5.6.27 | 5.6.29
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.5.40 | 5.5.40a
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except ap-northeast-2):
     *  5.5.40b | 5.5.41
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions):
     *  5.5.42 | 5.5.46
     * 
     *  
     * - 
     * 
     * Version 5.1 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.1.73a | 5.1.73b
     * 
     *  
     * 
     * 
     * Oracle Database Enterprise Edition (oracle-ee)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions):
     *  12.1.0.2.v1
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition (oracle-se)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition One (oracle-se1)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition Two (oracle-se2)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * - 
     * 
     * Version 9.5 (available in all AWS regions except us-gov-west-1):
     *  9.5.2
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions):
     *  9.4.1 | 9.4.4 | 9.4.5
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions except us-gov-west-1):
     *  9.4.7
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  9.3.1 | 9.3.2
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2):
     *  9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  9.3.12
     * 
     *  
     * 
     */
    private String engineVersion;
    /**
     * 
     * Indicates that minor engine upgrades will be applied automatically to the
     * DB instance during the maintenance window.
     * 
     * 
     * Default: true
     * 
     */
    private Boolean autoMinorVersionUpgrade;
    /**
     * 
     * License model information for this DB instance.
     * 
     * 
     * Valid values: license-included |
     * bring-your-own-license | general-public-license
     * 
     */
    private String licenseModel;
    /**
     * 
     * The amount of Provisioned IOPS (input/output operations per second) to be
     * initially allocated for the DB instance.
     * 
     * 
     * Constraints: Must be a multiple between 3 and 10 of the storage amount
     * for the DB instance. Must also be an integer multiple of 1000. For
     * example, if the size of your DB instance is 500 GB, then your
     * Iops value can be 2000, 3000, 4000, or 5000.
     * 
     */
    private Integer iops;
    /**
     * 
     * Indicates that the DB instance should be associated with the specified
     * option group.
     * 
     * 
     * Permanent options, such as the TDE option for Oracle Advanced Security
     * TDE, cannot be removed from an option group, and that option group cannot
     * be removed from a DB instance once it is associated with a DB instance
     * 
     */
    private String optionGroupName;
    /**
     * 
     * For supported engines, indicates that the DB instance should be
     * associated with the specified CharacterSet.
     * 
     */
    private String characterSetName;
    /**
     * 
     * Specifies the accessibility options for the DB instance. A value of true
     * specifies an Internet-facing instance with a publicly resolvable DNS
     * name, which resolves to a public IP address. A value of false specifies
     * an internal instance with a DNS name that resolves to a private IP
     * address.
     * 
     * 
     * Default: The default behavior varies depending on whether a VPC has been
     * requested or not. The following list shows the default behavior in each
     * case.
     * 
     * 
     * - 
     * 
     * Default VPC: true
     * 
     *  
     * - 
     * 
     * VPC: false
     * 
     *  
     * 
     * 
     * If no DB subnet group has been specified as part of the request and the
     * PubliclyAccessible value has not been set, the DB instance will be
     * publicly accessible. If a specific DB subnet group has been specified as
     * part of the request and the PubliclyAccessible value has not been set,
     * the DB instance will be private.
     * 
     */
    private Boolean publiclyAccessible;
    private com.amazonaws.internal.SdkInternalList tags;
    /**
     * 
     * The identifier of the DB cluster that the instance will belong to.
     * 
     * 
     * For information on creating a DB cluster, see CreateDBCluster.
     * 
     * 
     * Type: String
     * 
     */
    private String dBClusterIdentifier;
    /**
     * 
     * Specifies the storage type to be associated with the DB instance.
     * 
     * 
     * Valid values: standard | gp2 | io1
     * 
     * 
     * If you specify io1, you must also include a value for the
     * Iops parameter.
     * 
     * 
     * Default: io1 if the Iops parameter is
     * specified; otherwise standard
     * 
     */
    private String storageType;
    /**
     * 
     * The ARN from the Key Store with which to associate the instance for TDE
     * encryption.
     * 
     */
    private String tdeCredentialArn;
    /**
     * 
     * The password for the given ARN from the Key Store in order to access the
     * device.
     * 
     */
    private String tdeCredentialPassword;
    /**
     * 
     * Specifies whether the DB instance is encrypted.
     * 
     * 
     * Default: false
     * 
     */
    private Boolean storageEncrypted;
    /**
     * 
     * The KMS key identifier for an encrypted DB instance.
     * 
     * 
     * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
     * encryption key. If you are creating a DB instance with the same AWS
     * account that owns the KMS encryption key used to encrypt the new DB
     * instance, then you can use the KMS key alias instead of the ARN for the
     * KM encryption key.
     * 
     * 
     * If the StorageEncrypted parameter is true, and you do not
     * specify a value for the KmsKeyId 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.
     * 
     */
    private String kmsKeyId;
    /**
     * 
     * Specify the Active Directory Domain to create the instance in.
     * 
     */
    private String domain;
    /**
     * 
     * True to copy all tags from the DB instance to snapshots of the DB
     * instance; otherwise false. The default is false.
     * 
     */
    private Boolean copyTagsToSnapshot;
    /**
     * 
     * The interval, in seconds, between points when Enhanced Monitoring metrics
     * are collected for the DB instance. To disable collecting Enhanced
     * Monitoring metrics, specify 0. The default is 0.
     * 
     * 
     * If MonitoringRoleArn is specified, then you must also set
     * MonitoringInterval to a value other than 0.
     * 
     * 
     * Valid Values: 0, 1, 5, 10, 15, 30, 60
     * 
     */
    private Integer monitoringInterval;
    /**
     * 
     * The ARN for the IAM role that permits RDS to send enhanced monitoring
     * metrics to CloudWatch Logs. For example,
     * arn:aws:iam:123456789012:role/emaccess. For information on
     * creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.
     * 
     * 
     * If MonitoringInterval is set to a value other than 0, then
     * you must supply a MonitoringRoleArn value.
     * 
     */
    private String monitoringRoleArn;
    /**
     * 
     * Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.
     * 
     */
    private String domainIAMRoleName;
    /**
     * 
     * A value that specifies the order in which an Aurora Replica is promoted
     * to the primary instance after a failure of the existing primary instance.
     * For more information, see  Fault Tolerance for an Aurora DB Cluster.
     * 
     * 
     * Default: 1
     * 
     * 
     * Valid Values: 0 - 15
     * 
     */
    private Integer promotionTier;
    /**
     * Default constructor for CreateDBInstanceRequest object. Callers should
     * use the setter or fluent setter (with...) methods to initialize the
     * object after creating it.
     */
    public CreateDBInstanceRequest() {
    }
    /**
     * Constructs a new CreateDBInstanceRequest object. Callers should use the
     * setter or fluent setter (with...) methods to initialize any additional
     * object members.
     * 
     * @param dBInstanceIdentifier
     *        The DB instance identifier. This parameter is stored as a
     *        lowercase string.
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain from 1 to 63 alphanumeric characters or hyphens (1 to
     *        15 for SQL Server).
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot end with a hyphen or contain two consecutive hyphens.
     *        
     *         
     *        
     *        
     *        Example: mydbinstance
     * @param allocatedStorage
     *        The amount of storage (in gigabytes) to be initially allocated for
     *        the database instance.
     *        
     *        
     *        Type: Integer
     *        
     *        
     *        MySQL
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints: Must be an integer from 10 to 6144.
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints: Must be an integer from 200 to 4096 (Standard Edition
     *        and Enterprise Edition) or from 20 to 4096 (Express Edition and
     *        Web Edition)
     * @param dBInstanceClass
     *        The compute and memory capacity of the DB instance.
     *        
     *        
     *        Valid Values:
     *        db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     * @param engine
     *        The name of the database engine to be used for this instance.
     *        
     *        
     *        Valid Values: MySQL | mariadb |
     *        oracle-se1 | oracle-se |
     *        oracle-ee | sqlserver-ee |
     *        sqlserver-se | sqlserver-ex |
     *        sqlserver-web | postgres |
     *        aurora
     *        
     *        
     *        Not every database engine is available for every AWS region.
     * @param masterUsername
     *        The name of master user for the client DB instance.
     *        
     *        
     *        MySQL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 16 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 16 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        Type: String
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 30 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 128 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 63 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     * @param masterUserPassword
     *        The password for the master database user. Can be any printable
     *        ASCII character except "/", """, or "@".
     *        
     *        Type: String
     *        
     *        
     *        MySQL
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints: Must contain from 8 to 30 characters.
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints: Must contain from 8 to 128 characters.
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints: Must contain from 8 to 128 characters.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     */
    public CreateDBInstanceRequest(String dBInstanceIdentifier,
            Integer allocatedStorage, String dBInstanceClass, String engine,
            String masterUsername, String masterUserPassword) {
        setDBInstanceIdentifier(dBInstanceIdentifier);
        setAllocatedStorage(allocatedStorage);
        setDBInstanceClass(dBInstanceClass);
        setEngine(engine);
        setMasterUsername(masterUsername);
        setMasterUserPassword(masterUserPassword);
    }
    /**
     * 
     * The meaning of this parameter differs according to the database engine
     * you use.
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, the default "postgres" database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 63 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Must begin with a letter or an underscore. Subsequent characters can be
     * letters, underscores, or digits (0-9).
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * Oracle
     * 
     * 
     * The Oracle System ID (SID) of the created DB instance.
     * 
     * 
     * Default: ORCL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Cannot be longer than 8 characters
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Not applicable. Must be null.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * The name of the database to create when the primary instance of the DB
     * cluster is created. If this parameter is not specified, no database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * @param dBName
     *        The meaning of this parameter differs according to the database
     *        engine you use.
     *        
     *        Type: String
     *        
     *        
     *        MySQL
     *        
     *        
     *        The name of the database to create when the DB instance is
     *        created. If this parameter is not specified, no database is
     *        created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 64 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     *        
     *        
     *        MariaDB
     *        
     *        
     *        The name of the database to create when the DB instance is
     *        created. If this parameter is not specified, no database is
     *        created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 64 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        The name of the database to create when the DB instance is
     *        created. If this parameter is not specified, the default
     *        "postgres" database is created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 63 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Must begin with a letter or an underscore. Subsequent characters
     *        can be letters, underscores, or digits (0-9).
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     *        
     *        
     *        Oracle
     *        
     *        
     *        The Oracle System ID (SID) of the created DB instance.
     *        
     *        
     *        Default: ORCL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Cannot be longer than 8 characters
     *        
     *         
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Not applicable. Must be null.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        The name of the database to create when the primary instance of
     *        the DB cluster is created. If this parameter is not specified, no
     *        database is created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 64 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     */
    public void setDBName(String dBName) {
        this.dBName = dBName;
    }
    /**
     * 
     * The meaning of this parameter differs according to the database engine
     * you use.
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, the default "postgres" database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 63 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Must begin with a letter or an underscore. Subsequent characters can be
     * letters, underscores, or digits (0-9).
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * Oracle
     * 
     * 
     * The Oracle System ID (SID) of the created DB instance.
     * 
     * 
     * Default: ORCL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Cannot be longer than 8 characters
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Not applicable. Must be null.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * The name of the database to create when the primary instance of the DB
     * cluster is created. If this parameter is not specified, no database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * @return The meaning of this parameter differs according to the database
     *         engine you use.
     *         
     *         Type: String
     *         
     *         
     *         MySQL
     *         
     *         
     *         The name of the database to create when the DB instance is
     *         created. If this parameter is not specified, no database is
     *         created in the DB instance.
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must contain 1 to 64 alphanumeric characters
     *         
     *          
     *         - 
     *         
     *         Cannot be a word reserved by the specified database engine
     *         
     *          
     *         
     *         
     *         MariaDB
     *         
     *         
     *         The name of the database to create when the DB instance is
     *         created. If this parameter is not specified, no database is
     *         created in the DB instance.
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must contain 1 to 64 alphanumeric characters
     *         
     *          
     *         - 
     *         
     *         Cannot be a word reserved by the specified database engine
     *         
     *          
     *         
     *         
     *         PostgreSQL
     *         
     *         
     *         The name of the database to create when the DB instance is
     *         created. If this parameter is not specified, the default
     *         "postgres" database is created in the DB instance.
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must contain 1 to 63 alphanumeric characters
     *         
     *          
     *         - 
     *         
     *         Must begin with a letter or an underscore. Subsequent characters
     *         can be letters, underscores, or digits (0-9).
     *         
     *          
     *         - 
     *         
     *         Cannot be a word reserved by the specified database engine
     *         
     *          
     *         
     *         
     *         Oracle
     *         
     *         
     *         The Oracle System ID (SID) of the created DB instance.
     *         
     *         
     *         Default: ORCL
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Cannot be longer than 8 characters
     *         
     *          
     *         
     *         
     *         SQL Server
     *         
     *         
     *         Not applicable. Must be null.
     *         
     *         
     *         Amazon Aurora
     *         
     *         
     *         The name of the database to create when the primary instance of
     *         the DB cluster is created. If this parameter is not specified, no
     *         database is created in the DB instance.
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must contain 1 to 64 alphanumeric characters
     *         
     *          
     *         - 
     *         
     *         Cannot be a word reserved by the specified database engine
     *         
     *          
     */
    public String getDBName() {
        return this.dBName;
    }
    /**
     * 
     * The meaning of this parameter differs according to the database engine
     * you use.
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, no database is created in the DB
     * instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * The name of the database to create when the DB instance is created. If
     * this parameter is not specified, the default "postgres" database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 63 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Must begin with a letter or an underscore. Subsequent characters can be
     * letters, underscores, or digits (0-9).
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * Oracle
     * 
     * 
     * The Oracle System ID (SID) of the created DB instance.
     * 
     * 
     * Default: ORCL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Cannot be longer than 8 characters
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Not applicable. Must be null.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * The name of the database to create when the primary instance of the DB
     * cluster is created. If this parameter is not specified, no database is
     * created in the DB instance.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain 1 to 64 alphanumeric characters
     * 
     *  
     * - 
     * 
     * Cannot be a word reserved by the specified database engine
     * 
     *  
     * 
     * 
     * @param dBName
     *        The meaning of this parameter differs according to the database
     *        engine you use.
     *        
     *        Type: String
     *        
     *        
     *        MySQL
     *        
     *        
     *        The name of the database to create when the DB instance is
     *        created. If this parameter is not specified, no database is
     *        created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 64 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     *        
     *        
     *        MariaDB
     *        
     *        
     *        The name of the database to create when the DB instance is
     *        created. If this parameter is not specified, no database is
     *        created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 64 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        The name of the database to create when the DB instance is
     *        created. If this parameter is not specified, the default
     *        "postgres" database is created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 63 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Must begin with a letter or an underscore. Subsequent characters
     *        can be letters, underscores, or digits (0-9).
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     *        
     *        
     *        Oracle
     *        
     *        
     *        The Oracle System ID (SID) of the created DB instance.
     *        
     *        
     *        Default: ORCL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Cannot be longer than 8 characters
     *        
     *         
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Not applicable. Must be null.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        The name of the database to create when the primary instance of
     *        the DB cluster is created. If this parameter is not specified, no
     *        database is created in the DB instance.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain 1 to 64 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        Cannot be a word reserved by the specified database engine
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBName(String dBName) {
        setDBName(dBName);
        return this;
    }
    /**
     * 
     * The DB instance identifier. This parameter is stored as a lowercase
     * string.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for
     * SQL Server).
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens.
     * 
     *  
     * 
     * 
     * Example: mydbinstance
     * 
     * 
     * @param dBInstanceIdentifier
     *        The DB instance identifier. This parameter is stored as a
     *        lowercase string.
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain from 1 to 63 alphanumeric characters or hyphens (1 to
     *        15 for SQL Server).
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot end with a hyphen or contain two consecutive hyphens.
     *        
     *         
     *        
     *        
     *        Example: mydbinstance
     */
    public void setDBInstanceIdentifier(String dBInstanceIdentifier) {
        this.dBInstanceIdentifier = dBInstanceIdentifier;
    }
    /**
     * 
     * The DB instance identifier. This parameter is stored as a lowercase
     * string.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for
     * SQL Server).
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens.
     * 
     *  
     * 
     * 
     * Example: mydbinstance
     * 
     * 
     * @return The DB instance identifier. This parameter is stored as a
     *         lowercase string.
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must contain from 1 to 63 alphanumeric characters or hyphens (1
     *         to 15 for SQL Server).
     *         
     *          
     *         - 
     *         
     *         First character must be a letter.
     *         
     *          
     *         - 
     *         
     *         Cannot end with a hyphen or contain two consecutive hyphens.
     *         
     *          
     *         
     *         
     *         Example: mydbinstance
     */
    public String getDBInstanceIdentifier() {
        return this.dBInstanceIdentifier;
    }
    /**
     * 
     * The DB instance identifier. This parameter is stored as a lowercase
     * string.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for
     * SQL Server).
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens.
     * 
     *  
     * 
     * 
     * Example: mydbinstance
     * 
     * 
     * @param dBInstanceIdentifier
     *        The DB instance identifier. This parameter is stored as a
     *        lowercase string.
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must contain from 1 to 63 alphanumeric characters or hyphens (1 to
     *        15 for SQL Server).
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot end with a hyphen or contain two consecutive hyphens.
     *        
     *         
     *        
     *        
     *        Example: mydbinstance
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBInstanceIdentifier(
            String dBInstanceIdentifier) {
        setDBInstanceIdentifier(dBInstanceIdentifier);
        return this;
    }
    /**
     * 
     * The amount of storage (in gigabytes) to be initially allocated for the
     * database instance.
     * 
     * 
     * Type: Integer
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must be an integer from 10 to 6144.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must be an integer from 200 to 4096 (Standard Edition and
     * Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)
     * 
     * 
     * @param allocatedStorage
     *        The amount of storage (in gigabytes) to be initially allocated for
     *        the database instance.
     *        
     *        Type: Integer
     *        
     *        
     *        MySQL
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints: Must be an integer from 10 to 6144.
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints: Must be an integer from 200 to 4096 (Standard Edition
     *        and Enterprise Edition) or from 20 to 4096 (Express Edition and
     *        Web Edition)
     */
    public void setAllocatedStorage(Integer allocatedStorage) {
        this.allocatedStorage = allocatedStorage;
    }
    /**
     * 
     * The amount of storage (in gigabytes) to be initially allocated for the
     * database instance.
     * 
     * 
     * Type: Integer
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must be an integer from 10 to 6144.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must be an integer from 200 to 4096 (Standard Edition and
     * Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)
     * 
     * 
     * @return The amount of storage (in gigabytes) to be initially allocated
     *         for the database instance.
     *         
     *         Type: Integer
     *         
     *         
     *         MySQL
     *         
     *         
     *         Constraints: Must be an integer from 5 to 6144.
     *         
     *         
     *         MariaDB
     *         
     *         
     *         Constraints: Must be an integer from 5 to 6144.
     *         
     *         
     *         PostgreSQL
     *         
     *         
     *         Constraints: Must be an integer from 5 to 6144.
     *         
     *         
     *         Oracle
     *         
     *         
     *         Constraints: Must be an integer from 10 to 6144.
     *         
     *         
     *         SQL Server
     *         
     *         
     *         Constraints: Must be an integer from 200 to 4096 (Standard
     *         Edition and Enterprise Edition) or from 20 to 4096 (Express
     *         Edition and Web Edition)
     */
    public Integer getAllocatedStorage() {
        return this.allocatedStorage;
    }
    /**
     * 
     * The amount of storage (in gigabytes) to be initially allocated for the
     * database instance.
     * 
     * 
     * Type: Integer
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must be an integer from 5 to 6144.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must be an integer from 10 to 6144.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must be an integer from 200 to 4096 (Standard Edition and
     * Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)
     * 
     * 
     * @param allocatedStorage
     *        The amount of storage (in gigabytes) to be initially allocated for
     *        the database instance.
     *        
     *        Type: Integer
     *        
     *        
     *        MySQL
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints: Must be an integer from 5 to 6144.
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints: Must be an integer from 10 to 6144.
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints: Must be an integer from 200 to 4096 (Standard Edition
     *        and Enterprise Edition) or from 20 to 4096 (Express Edition and
     *        Web Edition)
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withAllocatedStorage(Integer allocatedStorage) {
        setAllocatedStorage(allocatedStorage);
        return this;
    }
    /**
     * 
     * The compute and memory capacity of the DB instance.
     * 
     * 
     * Valid Values:
     * db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     * 
     * 
     * @param dBInstanceClass
     *        The compute and memory capacity of the DB instance.
     *        
     *        Valid Values:
     *        db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     */
    public void setDBInstanceClass(String dBInstanceClass) {
        this.dBInstanceClass = dBInstanceClass;
    }
    /**
     * 
     * The compute and memory capacity of the DB instance.
     * 
     * 
     * Valid Values:
     * db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     * 
     * 
     * @return The compute and memory capacity of the DB instance.
     *         
     *         Valid Values:
     *         db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     */
    public String getDBInstanceClass() {
        return this.dBInstanceClass;
    }
    /**
     * 
     * The compute and memory capacity of the DB instance.
     * 
     * 
     * Valid Values:
     * db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     * 
     * 
     * @param dBInstanceClass
     *        The compute and memory capacity of the DB instance.
     *        
     *        Valid Values:
     *        db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBInstanceClass(String dBInstanceClass) {
        setDBInstanceClass(dBInstanceClass);
        return this;
    }
    /**
     * 
     * The name of the database engine to be used for this instance.
     * 
     * 
     * Valid Values: MySQL | mariadb |
     * oracle-se1 | oracle-se | oracle-ee
     * | sqlserver-ee | sqlserver-se |
     * sqlserver-ex | sqlserver-web |
     * postgres | aurora
     * 
     * 
     * Not every database engine is available for every AWS region.
     * 
     * 
     * @param engine
     *        The name of the database engine to be used for this instance.
     *        
     *        Valid Values: MySQL | mariadb |
     *        oracle-se1 | oracle-se |
     *        oracle-ee | sqlserver-ee |
     *        sqlserver-se | sqlserver-ex |
     *        sqlserver-web | postgres |
     *        aurora
     *        
     *        
     *        Not every database engine is available for every AWS region.
     */
    public void setEngine(String engine) {
        this.engine = engine;
    }
    /**
     * 
     * The name of the database engine to be used for this instance.
     * 
     * 
     * Valid Values: MySQL | mariadb |
     * oracle-se1 | oracle-se | oracle-ee
     * | sqlserver-ee | sqlserver-se |
     * sqlserver-ex | sqlserver-web |
     * postgres | aurora
     * 
     * 
     * Not every database engine is available for every AWS region.
     * 
     * 
     * @return The name of the database engine to be used for this instance.
     *         
     *         Valid Values: MySQL | mariadb |
     *         oracle-se1 | oracle-se |
     *         oracle-ee | sqlserver-ee |
     *         sqlserver-se | sqlserver-ex |
     *         sqlserver-web | postgres |
     *         aurora
     *         
     *         
     *         Not every database engine is available for every AWS region.
     */
    public String getEngine() {
        return this.engine;
    }
    /**
     * 
     * The name of the database engine to be used for this instance.
     * 
     * 
     * Valid Values: MySQL | mariadb |
     * oracle-se1 | oracle-se | oracle-ee
     * | sqlserver-ee | sqlserver-se |
     * sqlserver-ex | sqlserver-web |
     * postgres | aurora
     * 
     * 
     * Not every database engine is available for every AWS region.
     * 
     * 
     * @param engine
     *        The name of the database engine to be used for this instance.
     *        
     *        Valid Values: MySQL | mariadb |
     *        oracle-se1 | oracle-se |
     *        oracle-ee | sqlserver-ee |
     *        sqlserver-se | sqlserver-ex |
     *        sqlserver-web | postgres |
     *        aurora
     *        
     *        
     *        Not every database engine is available for every AWS region.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withEngine(String engine) {
        setEngine(engine);
        return this;
    }
    /**
     * 
     * The name of master user for the client DB instance.
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * Type: String
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 30 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 128 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 63 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * @param masterUsername
     *        The name of master user for the client DB instance.
     *        
     *        MySQL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 16 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 16 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        Type: String
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 30 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 128 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 63 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     */
    public void setMasterUsername(String masterUsername) {
        this.masterUsername = masterUsername;
    }
    /**
     * 
     * The name of master user for the client DB instance.
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * Type: String
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 30 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 128 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 63 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * @return The name of master user for the client DB instance.
     *         
     *         MySQL
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be 1 to 16 alphanumeric characters.
     *         
     *          
     *         - 
     *         
     *         First character must be a letter.
     *         
     *          
     *         - 
     *         
     *         Cannot be a reserved word for the chosen database engine.
     *         
     *          
     *         
     *         
     *         MariaDB
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be 1 to 16 alphanumeric characters.
     *         
     *          
     *         - 
     *         
     *         Cannot be a reserved word for the chosen database engine.
     *         
     *          
     *         
     *         
     *         Type: String
     *         
     *         
     *         Oracle
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be 1 to 30 alphanumeric characters.
     *         
     *          
     *         - 
     *         
     *         First character must be a letter.
     *         
     *          
     *         - 
     *         
     *         Cannot be a reserved word for the chosen database engine.
     *         
     *          
     *         
     *         
     *         SQL Server
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be 1 to 128 alphanumeric characters.
     *         
     *          
     *         - 
     *         
     *         First character must be a letter.
     *         
     *          
     *         - 
     *         
     *         Cannot be a reserved word for the chosen database engine.
     *         
     *          
     *         
     *         
     *         PostgreSQL
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be 1 to 63 alphanumeric characters.
     *         
     *          
     *         - 
     *         
     *         First character must be a letter.
     *         
     *          
     *         - 
     *         
     *         Cannot be a reserved word for the chosen database engine.
     *         
     *          
     */
    public String getMasterUsername() {
        return this.masterUsername;
    }
    /**
     * 
     * The name of master user for the client DB instance.
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 16 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * Type: String
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 30 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 128 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 63 alphanumeric characters.
     * 
     *  
     * - 
     * 
     * First character must be a letter.
     * 
     *  
     * - 
     * 
     * Cannot be a reserved word for the chosen database engine.
     * 
     *  
     * 
     * 
     * @param masterUsername
     *        The name of master user for the client DB instance.
     *        
     *        MySQL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 16 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 16 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        Type: String
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 30 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 128 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 63 alphanumeric characters.
     *        
     *         
     *        - 
     *        
     *        First character must be a letter.
     *        
     *         
     *        - 
     *        
     *        Cannot be a reserved word for the chosen database engine.
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withMasterUsername(String masterUsername) {
        setMasterUsername(masterUsername);
        return this;
    }
    /**
     * 
     * The password for the master database user. Can be any printable ASCII
     * character except "/", """, or "@".
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must contain from 8 to 30 characters.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * @param masterUserPassword
     *        The password for the master database user. Can be any printable
     *        ASCII character except "/", """, or "@".
     *        
     *        Type: String
     *        
     *        
     *        MySQL
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints: Must contain from 8 to 30 characters.
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints: Must contain from 8 to 128 characters.
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints: Must contain from 8 to 128 characters.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     */
    public void setMasterUserPassword(String masterUserPassword) {
        this.masterUserPassword = masterUserPassword;
    }
    /**
     * 
     * The password for the master database user. Can be any printable ASCII
     * character except "/", """, or "@".
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must contain from 8 to 30 characters.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * @return The password for the master database user. Can be any printable
     *         ASCII character except "/", """, or "@".
     *         
     *         Type: String
     *         
     *         
     *         MySQL
     *         
     *         
     *         Constraints: Must contain from 8 to 41 characters.
     *         
     *         
     *         MariaDB
     *         
     *         
     *         Constraints: Must contain from 8 to 41 characters.
     *         
     *         
     *         Oracle
     *         
     *         
     *         Constraints: Must contain from 8 to 30 characters.
     *         
     *         
     *         SQL Server
     *         
     *         
     *         Constraints: Must contain from 8 to 128 characters.
     *         
     *         
     *         PostgreSQL
     *         
     *         
     *         Constraints: Must contain from 8 to 128 characters.
     *         
     *         
     *         Amazon Aurora
     *         
     *         
     *         Constraints: Must contain from 8 to 41 characters.
     */
    public String getMasterUserPassword() {
        return this.masterUserPassword;
    }
    /**
     * 
     * The password for the master database user. Can be any printable ASCII
     * character except "/", """, or "@".
     * 
     * 
     * Type: String
     * 
     * 
     * MySQL
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * MariaDB
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * Oracle
     * 
     * 
     * Constraints: Must contain from 8 to 30 characters.
     * 
     * 
     * SQL Server
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Constraints: Must contain from 8 to 128 characters.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Constraints: Must contain from 8 to 41 characters.
     * 
     * 
     * @param masterUserPassword
     *        The password for the master database user. Can be any printable
     *        ASCII character except "/", """, or "@".
     *        
     *        Type: String
     *        
     *        
     *        MySQL
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     *        
     *        
     *        Oracle
     *        
     *        
     *        Constraints: Must contain from 8 to 30 characters.
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Constraints: Must contain from 8 to 128 characters.
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Constraints: Must contain from 8 to 128 characters.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        Constraints: Must contain from 8 to 41 characters.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withMasterUserPassword(
            String masterUserPassword) {
        setMasterUserPassword(masterUserPassword);
        return this;
    }
    /**
     * 
     * A list of DB security groups to associate with this DB instance.
     * 
     * 
     * Default: The default DB security group for the database engine.
     * 
     * 
     * @return A list of DB security groups to associate with this DB
     *         instance.
     *         
     *         Default: The default DB security group for the database engine.
     */
    public java.util.List getDBSecurityGroups() {
        if (dBSecurityGroups == null) {
            dBSecurityGroups = new com.amazonaws.internal.SdkInternalList();
        }
        return dBSecurityGroups;
    }
    /**
     * 
     * A list of DB security groups to associate with this DB instance.
     * 
     * 
     * Default: The default DB security group for the database engine.
     * 
     * 
     * @param dBSecurityGroups
     *        A list of DB security groups to associate with this DB
     *        instance.  
     *        
     *        Default: The default DB security group for the database engine.
     */
    public void setDBSecurityGroups(
            java.util.Collection dBSecurityGroups) {
        if (dBSecurityGroups == null) {
            this.dBSecurityGroups = null;
            return;
        }
        this.dBSecurityGroups = new com.amazonaws.internal.SdkInternalList(
                dBSecurityGroups);
    }
    /**
     * 
     * A list of DB security groups to associate with this DB instance.
     * 
     * 
     * Default: The default DB security group for the database engine.
     * 
     * 
     * NOTE: This method appends the values to the existing list (if
     * any). Use {@link #setDBSecurityGroups(java.util.Collection)} or
     * {@link #withDBSecurityGroups(java.util.Collection)} if you want to
     * override the existing values.
     * 
     * 
     * @param dBSecurityGroups
     *        A list of DB security groups to associate with this DB
     *        instance.  
     *        
     *        Default: The default DB security group for the database engine.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBSecurityGroups(
            String... dBSecurityGroups) {
        if (this.dBSecurityGroups == null) {
            setDBSecurityGroups(new com.amazonaws.internal.SdkInternalList(
                    dBSecurityGroups.length));
        }
        for (String ele : dBSecurityGroups) {
            this.dBSecurityGroups.add(ele);
        }
        return this;
    }
    /**
     * 
     * A list of DB security groups to associate with this DB instance.
     * 
     * 
     * Default: The default DB security group for the database engine.
     * 
     * 
     * @param dBSecurityGroups
     *        A list of DB security groups to associate with this DB
     *        instance. 
     *        
     *        Default: The default DB security group for the database engine.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBSecurityGroups(
            java.util.Collection dBSecurityGroups) {
        setDBSecurityGroups(dBSecurityGroups);
        return this;
    }
    /**
     * 
     * A list of EC2 VPC security groups to associate with this DB instance.
     * 
     * 
     * Default: The default EC2 VPC security group for the DB subnet group's
     * VPC.
     * 
     * 
     * @return A list of EC2 VPC security groups to associate with this DB
     *         instance. 
     *         
     *         Default: The default EC2 VPC security group for the DB subnet
     *         group's VPC.
     */
    public java.util.List getVpcSecurityGroupIds() {
        if (vpcSecurityGroupIds == null) {
            vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList();
        }
        return vpcSecurityGroupIds;
    }
    /**
     * 
     * A list of EC2 VPC security groups to associate with this DB instance.
     * 
     * 
     * Default: The default EC2 VPC security group for the DB subnet group's
     * VPC.
     * 
     * 
     * @param vpcSecurityGroupIds
     *        A list of EC2 VPC security groups to associate with this DB
     *        instance.  
     *        
     *        Default: The default EC2 VPC security group for the DB subnet
     *        group's VPC.
     */
    public void setVpcSecurityGroupIds(
            java.util.Collection vpcSecurityGroupIds) {
        if (vpcSecurityGroupIds == null) {
            this.vpcSecurityGroupIds = null;
            return;
        }
        this.vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList(
                vpcSecurityGroupIds);
    }
    /**
     * 
     * A list of EC2 VPC security groups to associate with this DB instance.
     * 
     * 
     * Default: The default EC2 VPC security group for the DB subnet group's
     * VPC.
     * 
     * 
     * NOTE: 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.
     * 
     * 
     * @param vpcSecurityGroupIds
     *        A list of EC2 VPC security groups to associate with this DB
     *        instance.  
     *        
     *        Default: The default EC2 VPC security group for the DB subnet
     *        group's VPC.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withVpcSecurityGroupIds(
            String... vpcSecurityGroupIds) {
        if (this.vpcSecurityGroupIds == null) {
            setVpcSecurityGroupIds(new com.amazonaws.internal.SdkInternalList(
                    vpcSecurityGroupIds.length));
        }
        for (String ele : vpcSecurityGroupIds) {
            this.vpcSecurityGroupIds.add(ele);
        }
        return this;
    }
    /**
     * 
     * A list of EC2 VPC security groups to associate with this DB instance.
     * 
     * 
     * Default: The default EC2 VPC security group for the DB subnet group's
     * VPC.
     * 
     * 
     * @param vpcSecurityGroupIds
     *        A list of EC2 VPC security groups to associate with this DB
     *        instance. 
     *        
     *        Default: The default EC2 VPC security group for the DB subnet
     *        group's VPC.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withVpcSecurityGroupIds(
            java.util.Collection vpcSecurityGroupIds) {
        setVpcSecurityGroupIds(vpcSecurityGroupIds);
        return this;
    }
    /**
     * 
     * The EC2 Availability Zone that the database instance will be created in.
     * For information on regions and Availability Zones, see Regions and Availability Zones.
     * 
     * 
     * Default: A random, system-chosen Availability Zone in the endpoint's
     * region.
     * 
     * 
     * Example: us-east-1d
     * 
     * 
     * Constraint: The AvailabilityZone parameter cannot be specified if the
     * MultiAZ parameter is set to true. The specified Availability
     * Zone must be in the same region as the current endpoint.
     * 
     * 
     * @param availabilityZone
     *        The EC2 Availability Zone that the database instance will be
     *        created in. For information on regions and Availability Zones, see
     *        Regions and Availability Zones.  
     *        
     *        Default: A random, system-chosen Availability Zone in the
     *        endpoint's region.
     *        
     *        
     *        Example: us-east-1d
     *        
     *        
     *        Constraint: The AvailabilityZone parameter cannot be specified if
     *        the MultiAZ parameter is set to true. The specified
     *        Availability Zone must be in the same region as the current
     *        endpoint.
     */
    public void setAvailabilityZone(String availabilityZone) {
        this.availabilityZone = availabilityZone;
    }
    /**
     * 
     * The EC2 Availability Zone that the database instance will be created in.
     * For information on regions and Availability Zones, see Regions and Availability Zones.
     * 
     * 
     * Default: A random, system-chosen Availability Zone in the endpoint's
     * region.
     * 
     * 
     * Example: us-east-1d
     * 
     * 
     * Constraint: The AvailabilityZone parameter cannot be specified if the
     * MultiAZ parameter is set to true. The specified Availability
     * Zone must be in the same region as the current endpoint.
     * 
     * 
     * @return The EC2 Availability Zone that the database instance will be
     *         created in. For information on regions and Availability Zones,
     *         see Regions and Availability Zones. 
     *         
     *         Default: A random, system-chosen Availability Zone in the
     *         endpoint's region.
     *         
     *         
     *         Example: us-east-1d
     *         
     *         
     *         Constraint: The AvailabilityZone parameter cannot be specified if
     *         the MultiAZ parameter is set to true. The specified
     *         Availability Zone must be in the same region as the current
     *         endpoint.
     */
    public String getAvailabilityZone() {
        return this.availabilityZone;
    }
    /**
     * 
     * The EC2 Availability Zone that the database instance will be created in.
     * For information on regions and Availability Zones, see Regions and Availability Zones.
     * 
     * 
     * Default: A random, system-chosen Availability Zone in the endpoint's
     * region.
     * 
     * 
     * Example: us-east-1d
     * 
     * 
     * Constraint: The AvailabilityZone parameter cannot be specified if the
     * MultiAZ parameter is set to true. The specified Availability
     * Zone must be in the same region as the current endpoint.
     * 
     * 
     * @param availabilityZone
     *        The EC2 Availability Zone that the database instance will be
     *        created in. For information on regions and Availability Zones, see
     *        Regions and Availability Zones. 
     *        
     *        Default: A random, system-chosen Availability Zone in the
     *        endpoint's region.
     *        
     *        
     *        Example: us-east-1d
     *        
     *        
     *        Constraint: The AvailabilityZone parameter cannot be specified if
     *        the MultiAZ parameter is set to true. The specified
     *        Availability Zone must be in the same region as the current
     *        endpoint.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withAvailabilityZone(String availabilityZone) {
        setAvailabilityZone(availabilityZone);
        return this;
    }
    /**
     * 
     * A DB subnet group to associate with this DB instance.
     * 
     * 
     * If there is no DB subnet group, then it is a non-VPC DB instance.
     * 
     * 
     * @param dBSubnetGroupName
     *        A DB subnet group to associate with this DB instance.
     *        
     *        If there is no DB subnet group, then it is a non-VPC DB instance.
     */
    public void setDBSubnetGroupName(String dBSubnetGroupName) {
        this.dBSubnetGroupName = dBSubnetGroupName;
    }
    /**
     * 
     * A DB subnet group to associate with this DB instance.
     * 
     * 
     * If there is no DB subnet group, then it is a non-VPC DB instance.
     * 
     * 
     * @return A DB subnet group to associate with this DB instance.
     *         
     *         If there is no DB subnet group, then it is a non-VPC DB instance.
     */
    public String getDBSubnetGroupName() {
        return this.dBSubnetGroupName;
    }
    /**
     * 
     * A DB subnet group to associate with this DB instance.
     * 
     * 
     * If there is no DB subnet group, then it is a non-VPC DB instance.
     * 
     * 
     * @param dBSubnetGroupName
     *        A DB subnet group to associate with this DB instance.
     *        
     *        If there is no DB subnet group, then it is a non-VPC DB instance.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBSubnetGroupName(
            String dBSubnetGroupName) {
        setDBSubnetGroupName(dBSubnetGroupName);
        return this;
    }
    /**
     * 
     * The weekly time range during which system maintenance can occur, in
     * Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance.
     * 
     * 
     * Format: ddd:hh24:mi-ddd:hh24:mi
     * 
     * 
     * 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  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
     * 
     * 
     * Constraints: Minimum 30-minute window.
     * 
     * 
     * @param preferredMaintenanceWindow
     *        The weekly time range during which system maintenance can occur,
     *        in Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance. 
     *        
     *        Format: ddd:hh24:mi-ddd:hh24:mi
     *        
     *        
     *        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  Adjusting the Preferred Maintenance Window in the Amazon
     *        RDS User Guide.
     *        
     *        
     *        Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
     *        
     *        
     *        Constraints: Minimum 30-minute window.
     */
    public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
        this.preferredMaintenanceWindow = preferredMaintenanceWindow;
    }
    /**
     * 
     * The weekly time range during which system maintenance can occur, in
     * Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance.
     * 
     * 
     * Format: ddd:hh24:mi-ddd:hh24:mi
     * 
     * 
     * 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  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
     * 
     * 
     * Constraints: Minimum 30-minute window.
     * 
     * 
     * @return The weekly time range during which system maintenance can occur,
     *         in Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance. 
     *         
     *         Format: ddd:hh24:mi-ddd:hh24:mi
     *         
     *         
     *         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  Adjusting the Preferred Maintenance Window in the Amazon
     *         RDS User Guide.
     *         
     *         
     *         Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
     *         
     *         
     *         Constraints: Minimum 30-minute window.
     */
    public String getPreferredMaintenanceWindow() {
        return this.preferredMaintenanceWindow;
    }
    /**
     * 
     * The weekly time range during which system maintenance can occur, in
     * Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance.
     * 
     * 
     * Format: ddd:hh24:mi-ddd:hh24:mi
     * 
     * 
     * 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  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
     * 
     * 
     * Constraints: Minimum 30-minute window.
     * 
     * 
     * @param preferredMaintenanceWindow
     *        The weekly time range during which system maintenance can occur,
     *        in Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance. 
     *        
     *        Format: ddd:hh24:mi-ddd:hh24:mi
     *        
     *        
     *        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  Adjusting the Preferred Maintenance Window in the Amazon
     *        RDS User Guide.
     *        
     *        
     *        Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
     *        
     *        
     *        Constraints: Minimum 30-minute window.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withPreferredMaintenanceWindow(
            String preferredMaintenanceWindow) {
        setPreferredMaintenanceWindow(preferredMaintenanceWindow);
        return this;
    }
    /**
     * 
     * The name of the DB parameter group to associate with this DB instance. If
     * this argument is omitted, the default DBParameterGroup for the specified
     * engine will be used.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 255 alphanumeric characters
     * 
     *  
     * - 
     * 
     * First character must be a letter
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens
     * 
     *  
     * 
     * 
     * @param dBParameterGroupName
     *        The name of the DB parameter group to associate with this DB
     *        instance. If this argument is omitted, the default
     *        DBParameterGroup for the specified engine will be used.
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 255 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        First character must be a letter
     *        
     *         
     *        - 
     *        
     *        Cannot end with a hyphen or contain two consecutive hyphens
     *        
     *         
     */
    public void setDBParameterGroupName(String dBParameterGroupName) {
        this.dBParameterGroupName = dBParameterGroupName;
    }
    /**
     * 
     * The name of the DB parameter group to associate with this DB instance. If
     * this argument is omitted, the default DBParameterGroup for the specified
     * engine will be used.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 255 alphanumeric characters
     * 
     *  
     * - 
     * 
     * First character must be a letter
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens
     * 
     *  
     * 
     * 
     * @return The name of the DB parameter group to associate with this DB
     *         instance. If this argument is omitted, the default
     *         DBParameterGroup for the specified engine will be used.
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be 1 to 255 alphanumeric characters
     *         
     *          
     *         - 
     *         
     *         First character must be a letter
     *         
     *          
     *         - 
     *         
     *         Cannot end with a hyphen or contain two consecutive hyphens
     *         
     *          
     */
    public String getDBParameterGroupName() {
        return this.dBParameterGroupName;
    }
    /**
     * 
     * The name of the DB parameter group to associate with this DB instance. If
     * this argument is omitted, the default DBParameterGroup for the specified
     * engine will be used.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be 1 to 255 alphanumeric characters
     * 
     *  
     * - 
     * 
     * First character must be a letter
     * 
     *  
     * - 
     * 
     * Cannot end with a hyphen or contain two consecutive hyphens
     * 
     *  
     * 
     * 
     * @param dBParameterGroupName
     *        The name of the DB parameter group to associate with this DB
     *        instance. If this argument is omitted, the default
     *        DBParameterGroup for the specified engine will be used.
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be 1 to 255 alphanumeric characters
     *        
     *         
     *        - 
     *        
     *        First character must be a letter
     *        
     *         
     *        - 
     *        
     *        Cannot end with a hyphen or contain two consecutive hyphens
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBParameterGroupName(
            String dBParameterGroupName) {
        setDBParameterGroupName(dBParameterGroupName);
        return this;
    }
    /**
     * 
     * The number of days for which automated backups are retained. Setting this
     * parameter to a positive number enables backups. Setting this parameter to
     * 0 disables automated backups.
     * 
     * 
     * Default: 1
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be a value from 0 to 35
     * 
     *  
     * - 
     * 
     * Cannot be set to 0 if the DB instance is a source to Read Replicas
     * 
     *  
     * 
     * 
     * @param backupRetentionPeriod
     *        The number of days for which automated backups are retained.
     *        Setting this parameter to a positive number enables backups.
     *        Setting this parameter to 0 disables automated backups.
     *        
     *        Default: 1
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be a value from 0 to 35
     *        
     *         
     *        - 
     *        
     *        Cannot be set to 0 if the DB instance is a source to Read Replicas
     *        
     *         
     */
    public void setBackupRetentionPeriod(Integer backupRetentionPeriod) {
        this.backupRetentionPeriod = backupRetentionPeriod;
    }
    /**
     * 
     * The number of days for which automated backups are retained. Setting this
     * parameter to a positive number enables backups. Setting this parameter to
     * 0 disables automated backups.
     * 
     * 
     * Default: 1
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be a value from 0 to 35
     * 
     *  
     * - 
     * 
     * Cannot be set to 0 if the DB instance is a source to Read Replicas
     * 
     *  
     * 
     * 
     * @return The number of days for which automated backups are retained.
     *         Setting this parameter to a positive number enables backups.
     *         Setting this parameter to 0 disables automated backups.
     *         
     *         Default: 1
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be a value from 0 to 35
     *         
     *          
     *         - 
     *         
     *         Cannot be set to 0 if the DB instance is a source to Read
     *         Replicas
     *         
     *          
     */
    public Integer getBackupRetentionPeriod() {
        return this.backupRetentionPeriod;
    }
    /**
     * 
     * The number of days for which automated backups are retained. Setting this
     * parameter to a positive number enables backups. Setting this parameter to
     * 0 disables automated backups.
     * 
     * 
     * Default: 1
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be a value from 0 to 35
     * 
     *  
     * - 
     * 
     * Cannot be set to 0 if the DB instance is a source to Read Replicas
     * 
     *  
     * 
     * 
     * @param backupRetentionPeriod
     *        The number of days for which automated backups are retained.
     *        Setting this parameter to a positive number enables backups.
     *        Setting this parameter to 0 disables automated backups.
     *        
     *        Default: 1
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be a value from 0 to 35
     *        
     *         
     *        - 
     *        
     *        Cannot be set to 0 if the DB instance is a source to Read Replicas
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withBackupRetentionPeriod(
            Integer backupRetentionPeriod) {
        setBackupRetentionPeriod(backupRetentionPeriod);
        return this;
    }
    /**
     * 
     * The daily time range during which automated backups are created if
     * automated backups are enabled, using the
     * BackupRetentionPeriod parameter. For more information, see
     * DB Instance Backups.
     * 
     * 
     * Default: A 30-minute window selected at random from an 8-hour block of
     * time per region. To see the time blocks available, see  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be in the format hh24:mi-hh24:mi.
     * 
     *  
     * - 
     * 
     * Times should be in Universal Coordinated Time (UTC).
     * 
     *  
     * - 
     * 
     * Must not conflict with the preferred maintenance window.
     * 
     *  
     * - 
     * 
     * Must be at least 30 minutes.
     * 
     *  
     * 
     * 
     * @param preferredBackupWindow
     *        The daily time range during which automated backups are created if
     *        automated backups are enabled, using the
     *        BackupRetentionPeriod parameter. For more
     *        information, see DB Instance Backups. 
     *        
     *        Default: A 30-minute window selected at random from an 8-hour
     *        block of time per region. To see the time blocks available, see  Adjusting the Preferred Maintenance Window in the Amazon
     *        RDS User Guide.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be in the format hh24:mi-hh24:mi.
     *        
     *         
     *        - 
     *        
     *        Times should be in Universal Coordinated Time (UTC).
     *        
     *         
     *        - 
     *        
     *        Must not conflict with the preferred maintenance window.
     *        
     *         
     *        - 
     *        
     *        Must be at least 30 minutes.
     *        
     *         
     */
    public void setPreferredBackupWindow(String preferredBackupWindow) {
        this.preferredBackupWindow = preferredBackupWindow;
    }
    /**
     * 
     * The daily time range during which automated backups are created if
     * automated backups are enabled, using the
     * BackupRetentionPeriod parameter. For more information, see
     * DB Instance Backups.
     * 
     * 
     * Default: A 30-minute window selected at random from an 8-hour block of
     * time per region. To see the time blocks available, see  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be in the format hh24:mi-hh24:mi.
     * 
     *  
     * - 
     * 
     * Times should be in Universal Coordinated Time (UTC).
     * 
     *  
     * - 
     * 
     * Must not conflict with the preferred maintenance window.
     * 
     *  
     * - 
     * 
     * Must be at least 30 minutes.
     * 
     *  
     * 
     * 
     * @return The daily time range during which automated backups are created
     *         if automated backups are enabled, using the
     *         BackupRetentionPeriod parameter. For more
     *         information, see DB Instance Backups. 
     *         
     *         Default: A 30-minute window selected at random from an 8-hour
     *         block of time per region. To see the time blocks available, see
     *          Adjusting the Preferred Maintenance Window in the Amazon
     *         RDS User Guide.
     *         
     *         
     *         Constraints:
     *         
     *         
     *         - 
     *         
     *         Must be in the format hh24:mi-hh24:mi.
     *         
     *          
     *         - 
     *         
     *         Times should be in Universal Coordinated Time (UTC).
     *         
     *          
     *         - 
     *         
     *         Must not conflict with the preferred maintenance window.
     *         
     *          
     *         - 
     *         
     *         Must be at least 30 minutes.
     *         
     *          
     */
    public String getPreferredBackupWindow() {
        return this.preferredBackupWindow;
    }
    /**
     * 
     * The daily time range during which automated backups are created if
     * automated backups are enabled, using the
     * BackupRetentionPeriod parameter. For more information, see
     * DB Instance Backups.
     * 
     * 
     * Default: A 30-minute window selected at random from an 8-hour block of
     * time per region. To see the time blocks available, see  Adjusting the Preferred Maintenance Window in the Amazon RDS
     * User Guide.
     * 
     * 
     * Constraints:
     * 
     * 
     * - 
     * 
     * Must be in the format hh24:mi-hh24:mi.
     * 
     *  
     * - 
     * 
     * Times should be in Universal Coordinated Time (UTC).
     * 
     *  
     * - 
     * 
     * Must not conflict with the preferred maintenance window.
     * 
     *  
     * - 
     * 
     * Must be at least 30 minutes.
     * 
     *  
     * 
     * 
     * @param preferredBackupWindow
     *        The daily time range during which automated backups are created if
     *        automated backups are enabled, using the
     *        BackupRetentionPeriod parameter. For more
     *        information, see DB Instance Backups. 
     *        
     *        Default: A 30-minute window selected at random from an 8-hour
     *        block of time per region. To see the time blocks available, see  Adjusting the Preferred Maintenance Window in the Amazon
     *        RDS User Guide.
     *        
     *        
     *        Constraints:
     *        
     *        
     *        - 
     *        
     *        Must be in the format hh24:mi-hh24:mi.
     *        
     *         
     *        - 
     *        
     *        Times should be in Universal Coordinated Time (UTC).
     *        
     *         
     *        - 
     *        
     *        Must not conflict with the preferred maintenance window.
     *        
     *         
     *        - 
     *        
     *        Must be at least 30 minutes.
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withPreferredBackupWindow(
            String preferredBackupWindow) {
        setPreferredBackupWindow(preferredBackupWindow);
        return this;
    }
    /**
     * 
     * The port number on which the database accepts connections.
     * 
     * 
     * MySQL
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * MariaDB
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Default: 5432
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * Oracle
     * 
     * 
     * Default: 1521
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * SQL Server
     * 
     * 
     * Default: 1433
     * 
     * 
     * Valid Values: 1150-65535 except for 1434,
     * 3389, 47001, 49152, and
     * 49152 through 49156.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * @param port
     *        The port number on which the database accepts connections.
     *        
     *        MySQL
     *        
     *        
     *        Default: 3306
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Default: 3306
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Default: 5432
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     *        
     *        
     *        Oracle
     *        
     *        
     *        Default: 1521
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Default: 1433
     *        
     *        
     *        Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and
     *        49152 through 49156.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        Default: 3306
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     */
    public void setPort(Integer port) {
        this.port = port;
    }
    /**
     * 
     * The port number on which the database accepts connections.
     * 
     * 
     * MySQL
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * MariaDB
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Default: 5432
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * Oracle
     * 
     * 
     * Default: 1521
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * SQL Server
     * 
     * 
     * Default: 1433
     * 
     * 
     * Valid Values: 1150-65535 except for 1434,
     * 3389, 47001, 49152, and
     * 49152 through 49156.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * @return The port number on which the database accepts connections.
     *         
     *         MySQL
     *         
     *         
     *         Default: 3306
     *         
     *         
     *         Valid Values: 1150-65535
     *         
     *         
     *         Type: Integer
     *         
     *         
     *         MariaDB
     *         
     *         
     *         Default: 3306
     *         
     *         
     *         Valid Values: 1150-65535
     *         
     *         
     *         Type: Integer
     *         
     *         
     *         PostgreSQL
     *         
     *         
     *         Default: 5432
     *         
     *         
     *         Valid Values: 1150-65535
     *         
     *         
     *         Type: Integer
     *         
     *         
     *         Oracle
     *         
     *         
     *         Default: 1521
     *         
     *         
     *         Valid Values: 1150-65535
     *         
     *         
     *         SQL Server
     *         
     *         
     *         Default: 1433
     *         
     *         
     *         Valid Values: 1150-65535 except for
     *         1434, 3389, 47001,
     *         49152, and 49152 through
     *         49156.
     *         
     *         
     *         Amazon Aurora
     *         
     *         
     *         Default: 3306
     *         
     *         
     *         Valid Values: 1150-65535
     *         
     *         
     *         Type: Integer
     */
    public Integer getPort() {
        return this.port;
    }
    /**
     * 
     * The port number on which the database accepts connections.
     * 
     * 
     * MySQL
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * MariaDB
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * PostgreSQL
     * 
     * 
     * Default: 5432
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * Oracle
     * 
     * 
     * Default: 1521
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * SQL Server
     * 
     * 
     * Default: 1433
     * 
     * 
     * Valid Values: 1150-65535 except for 1434,
     * 3389, 47001, 49152, and
     * 49152 through 49156.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * Default: 3306
     * 
     * 
     * Valid Values: 1150-65535
     * 
     * 
     * Type: Integer
     * 
     * 
     * @param port
     *        The port number on which the database accepts connections.
     *        
     *        MySQL
     *        
     *        
     *        Default: 3306
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     *        
     *        
     *        MariaDB
     *        
     *        
     *        Default: 3306
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        Default: 5432
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     *        
     *        
     *        Oracle
     *        
     *        
     *        Default: 1521
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        SQL Server
     *        
     *        
     *        Default: 1433
     *        
     *        
     *        Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and
     *        49152 through 49156.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        Default: 3306
     *        
     *        
     *        Valid Values: 1150-65535
     *        
     *        
     *        Type: Integer
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withPort(Integer port) {
        setPort(port);
        return this;
    }
    /**
     * 
     * Specifies if the DB instance is a Multi-AZ deployment. You cannot set the
     * AvailabilityZone parameter if the MultiAZ parameter is set to true. Do
     * not set this value if you want a Multi-AZ deployment for a SQL Server DB
     * instance. Multi-AZ for SQL Server is set using the Mirroring option in an
     * option group.
     * 
     * 
     * @param multiAZ
     *        Specifies if the DB instance is a Multi-AZ deployment. You cannot
     *        set the AvailabilityZone parameter if the MultiAZ parameter is set
     *        to true. Do not set this value if you want a Multi-AZ deployment
     *        for a SQL Server DB instance. Multi-AZ for SQL Server is set using
     *        the Mirroring option in an option group.
     */
    public void setMultiAZ(Boolean multiAZ) {
        this.multiAZ = multiAZ;
    }
    /**
     * 
     * Specifies if the DB instance is a Multi-AZ deployment. You cannot set the
     * AvailabilityZone parameter if the MultiAZ parameter is set to true. Do
     * not set this value if you want a Multi-AZ deployment for a SQL Server DB
     * instance. Multi-AZ for SQL Server is set using the Mirroring option in an
     * option group.
     * 
     * 
     * @return Specifies if the DB instance is a Multi-AZ deployment. You cannot
     *         set the AvailabilityZone parameter if the MultiAZ parameter is
     *         set to true. Do not set this value if you want a Multi-AZ
     *         deployment for a SQL Server DB instance. Multi-AZ for SQL Server
     *         is set using the Mirroring option in an option group.
     */
    public Boolean getMultiAZ() {
        return this.multiAZ;
    }
    /**
     * 
     * Specifies if the DB instance is a Multi-AZ deployment. You cannot set the
     * AvailabilityZone parameter if the MultiAZ parameter is set to true. Do
     * not set this value if you want a Multi-AZ deployment for a SQL Server DB
     * instance. Multi-AZ for SQL Server is set using the Mirroring option in an
     * option group.
     * 
     * 
     * @param multiAZ
     *        Specifies if the DB instance is a Multi-AZ deployment. You cannot
     *        set the AvailabilityZone parameter if the MultiAZ parameter is set
     *        to true. Do not set this value if you want a Multi-AZ deployment
     *        for a SQL Server DB instance. Multi-AZ for SQL Server is set using
     *        the Mirroring option in an option group.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withMultiAZ(Boolean multiAZ) {
        setMultiAZ(multiAZ);
        return this;
    }
    /**
     * 
     * Specifies if the DB instance is a Multi-AZ deployment. You cannot set the
     * AvailabilityZone parameter if the MultiAZ parameter is set to true. Do
     * not set this value if you want a Multi-AZ deployment for a SQL Server DB
     * instance. Multi-AZ for SQL Server is set using the Mirroring option in an
     * option group.
     * 
     * 
     * @return Specifies if the DB instance is a Multi-AZ deployment. You cannot
     *         set the AvailabilityZone parameter if the MultiAZ parameter is
     *         set to true. Do not set this value if you want a Multi-AZ
     *         deployment for a SQL Server DB instance. Multi-AZ for SQL Server
     *         is set using the Mirroring option in an option group.
     */
    public Boolean isMultiAZ() {
        return this.multiAZ;
    }
    /**
     * 
     * The version number of the database engine to use.
     * 
     * 
     * The following are the database engines and major and minor versions that
     * are available with Amazon RDS. Not every database engine is available for
     * every AWS region.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * - 
     * 
     * Version 5.6 (only available in AWS regions ap-northeast-1,
     * ap-northeast-2, ap-southeast-2, eu-west-1, us-east-1, us-west-2):
     *  5.6.10a
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * - 
     * 
     * Version 10.0 (available in all AWS regions):
     *  10.0.17 | 10.0.24
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Enterprise Edition (sqlserver-ee)
     * 
     * 
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Express Edition (sqlserver-ex)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Standard Edition (sqlserver-se)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Web Edition (sqlserver-web)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * MySQL
     * 
     * 
     * - 
     * 
     * Version 5.7 (available in all AWS regions):
     *  5.7.10 | 5.7.11
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions except ap-northeast-2):
     *  5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions):
     *  5.6.23 | 5.6.27 | 5.6.29
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.5.40 | 5.5.40a
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except ap-northeast-2):
     *  5.5.40b | 5.5.41
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions):
     *  5.5.42 | 5.5.46
     * 
     *  
     * - 
     * 
     * Version 5.1 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.1.73a | 5.1.73b
     * 
     *  
     * 
     * 
     * Oracle Database Enterprise Edition (oracle-ee)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions):
     *  12.1.0.2.v1
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition (oracle-se)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition One (oracle-se1)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition Two (oracle-se2)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * - 
     * 
     * Version 9.5 (available in all AWS regions except us-gov-west-1):
     *  9.5.2
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions):
     *  9.4.1 | 9.4.4 | 9.4.5
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions except us-gov-west-1):
     *  9.4.7
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  9.3.1 | 9.3.2
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2):
     *  9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  9.3.12
     * 
     *  
     * 
     * 
     * @param engineVersion
     *        The version number of the database engine to use.
     *        
     *        The following are the database engines and major and minor
     *        versions that are available with Amazon RDS. Not every database
     *        engine is available for every AWS region.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        - 
     *        
     *        Version 5.6 (only available in AWS regions ap-northeast-1,
     *        ap-northeast-2, ap-southeast-2, eu-west-1, us-east-1,
     *        us-west-2):  5.6.10a
     *        
     *         
     *        
     *        
     *        MariaDB
     *        
     *        
     *        - 
     *        
     *        Version 10.0 (available in all AWS regions):
     *         10.0.17 | 10.0.24
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Enterprise Edition (sqlserver-ee)
     *        
     *        
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Express Edition (sqlserver-ex)
     *        
     *        
     *        - 
     *        
     *        Version 12.00 (available in all AWS regions):
     *         12.00.4422.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Standard Edition (sqlserver-se)
     *        
     *        
     *        - 
     *        
     *        Version 12.00 (available in all AWS regions):
     *         12.00.4422.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Web Edition (sqlserver-web)
     *        
     *        
     *        - 
     *        
     *        Version 12.00 (available in all AWS regions):
     *         12.00.4422.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        MySQL
     *        
     *        
     *        - 
     *        
     *        Version 5.7 (available in all AWS regions):
     *         5.7.10 | 5.7.11
     *        
     *         
     *        - 
     *        
     *        Version 5.6 (available in all AWS regions except
     *        ap-northeast-2):
     *         5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22
     *        
     *         
     *        - 
     *        
     *        Version 5.6 (available in all AWS regions):
     *         5.6.23 | 5.6.27 | 5.6.29
     *        
     *         
     *        - 
     *        
     *        Version 5.5 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):  5.5.40 | 5.5.40a
     *        
     *         
     *        - 
     *        
     *        Version 5.5 (available in all AWS regions except
     *        ap-northeast-2):  5.5.40b | 5.5.41
     *        
     *         
     *        - 
     *        
     *        Version 5.5 (available in all AWS regions):
     *         5.5.42 | 5.5.46
     *        
     *         
     *        - 
     *        
     *        Version 5.1 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):  5.1.73a | 5.1.73b
     *        
     *         
     *        
     *        
     *        Oracle Database Enterprise Edition (oracle-ee)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):
     *         12.1.0.1.v3 | 12.1.0.1.v4
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions):
     *         12.1.0.2.v1
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        us-gov-west-1):  12.1.0.2.v2 | 12.1.0.2.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):
     *         11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2):
     *         11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions):
     *         11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        us-gov-west-1):
     *         11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *        
     *         
     *        
     *        
     *        Oracle Database Standard Edition (oracle-se)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):
     *         12.1.0.1.v3 | 12.1.0.1.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):
     *         11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2):
     *         11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions):
     *         11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        us-gov-west-1):
     *         11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *        
     *         
     *        
     *        
     *        Oracle Database Standard Edition One (oracle-se1)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):
     *         12.1.0.1.v3 | 12.1.0.1.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):
     *         11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2):
     *         11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions):
     *         11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        us-gov-west-1):
     *         11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *        
     *         
     *        
     *        
     *        Oracle Database Standard Edition Two (oracle-se2)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        us-gov-west-1):  12.1.0.2.v2 | 12.1.0.2.v3
     *        
     *         
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        - 
     *        
     *        Version 9.5 (available in all AWS regions except
     *        us-gov-west-1):  9.5.2
     *        
     *         
     *        - 
     *        
     *        Version 9.4 (available in all AWS regions):
     *         9.4.1 | 9.4.4 | 9.4.5
     *        
     *         
     *        - 
     *        
     *        Version 9.4 (available in all AWS regions except
     *        us-gov-west-1):  9.4.7
     *        
     *         
     *        - 
     *        
     *        Version 9.3 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):  9.3.1 | 9.3.2
     *        
     *         
     *        - 
     *        
     *        Version 9.3 (available in all AWS regions except
     *        ap-northeast-2):
     *         9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9
     *        
     *         
     *        - 
     *        
     *        Version 9.3 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  9.3.12
     *        
     *         
     */
    public void setEngineVersion(String engineVersion) {
        this.engineVersion = engineVersion;
    }
    /**
     * 
     * The version number of the database engine to use.
     * 
     * 
     * The following are the database engines and major and minor versions that
     * are available with Amazon RDS. Not every database engine is available for
     * every AWS region.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * - 
     * 
     * Version 5.6 (only available in AWS regions ap-northeast-1,
     * ap-northeast-2, ap-southeast-2, eu-west-1, us-east-1, us-west-2):
     *  5.6.10a
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * - 
     * 
     * Version 10.0 (available in all AWS regions):
     *  10.0.17 | 10.0.24
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Enterprise Edition (sqlserver-ee)
     * 
     * 
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Express Edition (sqlserver-ex)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Standard Edition (sqlserver-se)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Web Edition (sqlserver-web)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * MySQL
     * 
     * 
     * - 
     * 
     * Version 5.7 (available in all AWS regions):
     *  5.7.10 | 5.7.11
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions except ap-northeast-2):
     *  5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions):
     *  5.6.23 | 5.6.27 | 5.6.29
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.5.40 | 5.5.40a
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except ap-northeast-2):
     *  5.5.40b | 5.5.41
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions):
     *  5.5.42 | 5.5.46
     * 
     *  
     * - 
     * 
     * Version 5.1 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.1.73a | 5.1.73b
     * 
     *  
     * 
     * 
     * Oracle Database Enterprise Edition (oracle-ee)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions):
     *  12.1.0.2.v1
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition (oracle-se)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition One (oracle-se1)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition Two (oracle-se2)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * - 
     * 
     * Version 9.5 (available in all AWS regions except us-gov-west-1):
     *  9.5.2
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions):
     *  9.4.1 | 9.4.4 | 9.4.5
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions except us-gov-west-1):
     *  9.4.7
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  9.3.1 | 9.3.2
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2):
     *  9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  9.3.12
     * 
     *  
     * 
     * 
     * @return The version number of the database engine to use.
     *         
     *         The following are the database engines and major and minor
     *         versions that are available with Amazon RDS. Not every database
     *         engine is available for every AWS region.
     *         
     *         
     *         Amazon Aurora
     *         
     *         
     *         - 
     *         
     *         Version 5.6 (only available in AWS regions ap-northeast-1,
     *         ap-northeast-2, ap-southeast-2, eu-west-1, us-east-1,
     *         us-west-2):  5.6.10a
     *         
     *          
     *         
     *         
     *         MariaDB
     *         
     *         
     *         - 
     *         
     *         Version 10.0 (available in all AWS regions):
     *          10.0.17 | 10.0.24
     *         
     *          
     *         
     *         
     *         Microsoft SQL Server Enterprise Edition (sqlserver-ee)
     *         
     *         
     *         - 
     *         
     *         Version 11.00 (available in all AWS regions):
     *          11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *         
     *          
     *         - 
     *         
     *         Version 10.50 (available in all AWS regions):
     *          10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *         
     *          
     *         
     *         
     *         Microsoft SQL Server Express Edition (sqlserver-ex)
     *         
     *         
     *         - 
     *         
     *         Version 12.00 (available in all AWS regions):
     *          12.00.4422.0.v1
     *         
     *          
     *         - 
     *         
     *         Version 11.00 (available in all AWS regions):
     *          11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *         
     *          
     *         - 
     *         
     *         Version 10.50 (available in all AWS regions):
     *          10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *         
     *          
     *         
     *         
     *         Microsoft SQL Server Standard Edition (sqlserver-se)
     *         
     *         
     *         - 
     *         
     *         Version 12.00 (available in all AWS regions):
     *          12.00.4422.0.v1
     *         
     *          
     *         - 
     *         
     *         Version 11.00 (available in all AWS regions):
     *          11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *         
     *          
     *         - 
     *         
     *         Version 10.50 (available in all AWS regions):
     *          10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *         
     *          
     *         
     *         
     *         Microsoft SQL Server Web Edition (sqlserver-web)
     *         
     *         
     *         - 
     *         
     *         Version 12.00 (available in all AWS regions):
     *          12.00.4422.0.v1
     *         
     *          
     *         - 
     *         
     *         Version 11.00 (available in all AWS regions):
     *          11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *         
     *          
     *         - 
     *         
     *         Version 10.50 (available in all AWS regions):
     *          10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *         
     *          
     *         
     *         
     *         MySQL
     *         
     *         
     *         - 
     *         
     *         Version 5.7 (available in all AWS regions):
     *          5.7.10 | 5.7.11
     *         
     *          
     *         - 
     *         
     *         Version 5.6 (available in all AWS regions except
     *         ap-northeast-2):
     *          5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22
     *         
     *          
     *         - 
     *         
     *         Version 5.6 (available in all AWS regions):
     *          5.6.23 | 5.6.27 | 5.6.29
     *         
     *          
     *         - 
     *         
     *         Version 5.5 (available in all AWS regions except eu-central-1,
     *         ap-northeast-2):  5.5.40 | 5.5.40a
     *         
     *          
     *         - 
     *         
     *         Version 5.5 (available in all AWS regions except
     *         ap-northeast-2):  5.5.40b | 5.5.41
     *         
     *          
     *         - 
     *         
     *         Version 5.5 (available in all AWS regions):
     *          5.5.42 | 5.5.46
     *         
     *          
     *         - 
     *         
     *         Version 5.1 (available in all AWS regions except eu-central-1,
     *         ap-northeast-2):  5.1.73a | 5.1.73b
     *         
     *          
     *         
     *         
     *         Oracle Database Enterprise Edition (oracle-ee)
     *         
     *         
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *         
     *          
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         ap-northeast-2, us-gov-west-1):
     *          12.1.0.1.v3 | 12.1.0.1.v4
     *         
     *          
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions):
     *          12.1.0.2.v1
     *         
     *          
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         us-gov-west-1):  12.1.0.2.v2 | 12.1.0.2.v3
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         eu-central-1, ap-northeast-2):
     *          11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         ap-northeast-2):
     *          11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions):
     *          11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         us-gov-west-1):
     *          11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *         
     *          
     *         
     *         
     *         Oracle Database Standard Edition (oracle-se)
     *         
     *         
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *         
     *          
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         ap-northeast-2, us-gov-west-1):
     *          12.1.0.1.v3 | 12.1.0.1.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         eu-central-1, ap-northeast-2):
     *          11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         ap-northeast-2):
     *          11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions):
     *          11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         us-gov-west-1):
     *          11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *         
     *          
     *         
     *         
     *         Oracle Database Standard Edition One (oracle-se1)
     *         
     *         
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *         
     *          
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         ap-northeast-2, us-gov-west-1):
     *          12.1.0.1.v3 | 12.1.0.1.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         eu-central-1, ap-northeast-2):
     *          11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         ap-northeast-2):
     *          11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions):
     *          11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *         
     *          
     *         - 
     *         
     *         Version 11.2 (available in all AWS regions except
     *         us-gov-west-1):
     *          11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *         
     *          
     *         
     *         
     *         Oracle Database Standard Edition Two (oracle-se2)
     *         
     *         
     *         - 
     *         
     *         Version 12.1 (available in all AWS regions except
     *         us-gov-west-1):  12.1.0.2.v2 | 12.1.0.2.v3
     *         
     *          
     *         
     *         
     *         PostgreSQL
     *         
     *         
     *         - 
     *         
     *         Version 9.5 (available in all AWS regions except
     *         us-gov-west-1):  9.5.2
     *         
     *          
     *         - 
     *         
     *         Version 9.4 (available in all AWS regions):
     *          9.4.1 | 9.4.4 | 9.4.5
     *         
     *          
     *         - 
     *         
     *         Version 9.4 (available in all AWS regions except
     *         us-gov-west-1):  9.4.7
     *         
     *          
     *         - 
     *         
     *         Version 9.3 (available in all AWS regions except eu-central-1,
     *         ap-northeast-2):  9.3.1 | 9.3.2
     *         
     *          
     *         - 
     *         
     *         Version 9.3 (available in all AWS regions except
     *         ap-northeast-2):
     *          9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9
     *         
     *          
     *         - 
     *         
     *         Version 9.3 (available in all AWS regions except
     *         ap-northeast-2, us-gov-west-1):  9.3.12
     *         
     *          
     */
    public String getEngineVersion() {
        return this.engineVersion;
    }
    /**
     * 
     * The version number of the database engine to use.
     * 
     * 
     * The following are the database engines and major and minor versions that
     * are available with Amazon RDS. Not every database engine is available for
     * every AWS region.
     * 
     * 
     * Amazon Aurora
     * 
     * 
     * - 
     * 
     * Version 5.6 (only available in AWS regions ap-northeast-1,
     * ap-northeast-2, ap-southeast-2, eu-west-1, us-east-1, us-west-2):
     *  5.6.10a
     * 
     *  
     * 
     * 
     * MariaDB
     * 
     * 
     * - 
     * 
     * Version 10.0 (available in all AWS regions):
     *  10.0.17 | 10.0.24
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Enterprise Edition (sqlserver-ee)
     * 
     * 
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Express Edition (sqlserver-ex)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Standard Edition (sqlserver-se)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * Microsoft SQL Server Web Edition (sqlserver-web)
     * 
     * 
     * - 
     * 
     * Version 12.00 (available in all AWS regions):
     *  12.00.4422.0.v1
     * 
     *  
     * - 
     * 
     * Version 11.00 (available in all AWS regions):
     *  11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     * 
     *  
     * - 
     * 
     * Version 10.50 (available in all AWS regions):
     *  10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     * 
     *  
     * 
     * 
     * MySQL
     * 
     * 
     * - 
     * 
     * Version 5.7 (available in all AWS regions):
     *  5.7.10 | 5.7.11
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions except ap-northeast-2):
     *  5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22
     * 
     *  
     * - 
     * 
     * Version 5.6 (available in all AWS regions):
     *  5.6.23 | 5.6.27 | 5.6.29
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.5.40 | 5.5.40a
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions except ap-northeast-2):
     *  5.5.40b | 5.5.41
     * 
     *  
     * - 
     * 
     * Version 5.5 (available in all AWS regions):
     *  5.5.42 | 5.5.46
     * 
     *  
     * - 
     * 
     * Version 5.1 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  5.1.73a | 5.1.73b
     * 
     *  
     * 
     * 
     * Oracle Database Enterprise Edition (oracle-ee)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions):
     *  12.1.0.2.v1
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition (oracle-se)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition One (oracle-se1)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2):
     *  12.1.0.1.v1 | 12.1.0.1.v2
     * 
     *  
     * - 
     * 
     * Version 12.1 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  12.1.0.1.v3 | 12.1.0.1.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):
     *  11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2):
     *  11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  11.2.0.3.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions):
     *  11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     * 
     *  
     * - 
     * 
     * Version 11.2 (available in all AWS regions except us-gov-west-1):
     *  11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     * 
     *  
     * 
     * 
     * Oracle Database Standard Edition Two (oracle-se2)
     * 
     * 
     * - 
     * 
     * Version 12.1 (available in all AWS regions except us-gov-west-1):
     *  12.1.0.2.v2 | 12.1.0.2.v3
     * 
     *  
     * 
     * 
     * PostgreSQL
     * 
     * 
     * - 
     * 
     * Version 9.5 (available in all AWS regions except us-gov-west-1):
     *  9.5.2
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions):
     *  9.4.1 | 9.4.4 | 9.4.5
     * 
     *  
     * - 
     * 
     * Version 9.4 (available in all AWS regions except us-gov-west-1):
     *  9.4.7
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except eu-central-1,
     * ap-northeast-2):  9.3.1 | 9.3.2
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2):
     *  9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9
     * 
     *  
     * - 
     * 
     * Version 9.3 (available in all AWS regions except ap-northeast-2,
     * us-gov-west-1):  9.3.12
     * 
     *  
     * 
     * 
     * @param engineVersion
     *        The version number of the database engine to use.
     *        
     *        The following are the database engines and major and minor
     *        versions that are available with Amazon RDS. Not every database
     *        engine is available for every AWS region.
     *        
     *        
     *        Amazon Aurora
     *        
     *        
     *        - 
     *        
     *        Version 5.6 (only available in AWS regions ap-northeast-1,
     *        ap-northeast-2, ap-southeast-2, eu-west-1, us-east-1,
     *        us-west-2):  5.6.10a
     *        
     *         
     *        
     *        
     *        MariaDB
     *        
     *        
     *        - 
     *        
     *        Version 10.0 (available in all AWS regions):
     *         10.0.17 | 10.0.24
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Enterprise Edition (sqlserver-ee)
     *        
     *        
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Express Edition (sqlserver-ex)
     *        
     *        
     *        - 
     *        
     *        Version 12.00 (available in all AWS regions):
     *         12.00.4422.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Standard Edition (sqlserver-se)
     *        
     *        
     *        - 
     *        
     *        Version 12.00 (available in all AWS regions):
     *         12.00.4422.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        Microsoft SQL Server Web Edition (sqlserver-web)
     *        
     *        
     *        - 
     *        
     *        Version 12.00 (available in all AWS regions):
     *         12.00.4422.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 11.00 (available in all AWS regions):
     *         11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1
     *        
     *         
     *        - 
     *        
     *        Version 10.50 (available in all AWS regions):
     *         10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1
     *        
     *         
     *        
     *        
     *        MySQL
     *        
     *        
     *        - 
     *        
     *        Version 5.7 (available in all AWS regions):
     *         5.7.10 | 5.7.11
     *        
     *         
     *        - 
     *        
     *        Version 5.6 (available in all AWS regions except
     *        ap-northeast-2):
     *         5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22
     *        
     *         
     *        - 
     *        
     *        Version 5.6 (available in all AWS regions):
     *         5.6.23 | 5.6.27 | 5.6.29
     *        
     *         
     *        - 
     *        
     *        Version 5.5 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):  5.5.40 | 5.5.40a
     *        
     *         
     *        - 
     *        
     *        Version 5.5 (available in all AWS regions except
     *        ap-northeast-2):  5.5.40b | 5.5.41
     *        
     *         
     *        - 
     *        
     *        Version 5.5 (available in all AWS regions):
     *         5.5.42 | 5.5.46
     *        
     *         
     *        - 
     *        
     *        Version 5.1 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):  5.1.73a | 5.1.73b
     *        
     *         
     *        
     *        
     *        Oracle Database Enterprise Edition (oracle-ee)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):
     *         12.1.0.1.v3 | 12.1.0.1.v4
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions):
     *         12.1.0.2.v1
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        us-gov-west-1):  12.1.0.2.v2 | 12.1.0.2.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):
     *         11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2):
     *         11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions):
     *         11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        us-gov-west-1):
     *         11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *        
     *         
     *        
     *        
     *        Oracle Database Standard Edition (oracle-se)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):
     *         12.1.0.1.v3 | 12.1.0.1.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):
     *         11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2):
     *         11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions):
     *         11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        us-gov-west-1):
     *         11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *        
     *         
     *        
     *        
     *        Oracle Database Standard Edition One (oracle-se1)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2):  12.1.0.1.v1 | 12.1.0.1.v2
     *        
     *         
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):
     *         12.1.0.1.v3 | 12.1.0.1.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):
     *         11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2):
     *         11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  11.2.0.3.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions):
     *         11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4
     *        
     *         
     *        - 
     *        
     *        Version 11.2 (available in all AWS regions except
     *        us-gov-west-1):
     *         11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7
     *        
     *         
     *        
     *        
     *        Oracle Database Standard Edition Two (oracle-se2)
     *        
     *        
     *        - 
     *        
     *        Version 12.1 (available in all AWS regions except
     *        us-gov-west-1):  12.1.0.2.v2 | 12.1.0.2.v3
     *        
     *         
     *        
     *        
     *        PostgreSQL
     *        
     *        
     *        - 
     *        
     *        Version 9.5 (available in all AWS regions except
     *        us-gov-west-1):  9.5.2
     *        
     *         
     *        - 
     *        
     *        Version 9.4 (available in all AWS regions):
     *         9.4.1 | 9.4.4 | 9.4.5
     *        
     *         
     *        - 
     *        
     *        Version 9.4 (available in all AWS regions except
     *        us-gov-west-1):  9.4.7
     *        
     *         
     *        - 
     *        
     *        Version 9.3 (available in all AWS regions except eu-central-1,
     *        ap-northeast-2):  9.3.1 | 9.3.2
     *        
     *         
     *        - 
     *        
     *        Version 9.3 (available in all AWS regions except
     *        ap-northeast-2):
     *         9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9
     *        
     *         
     *        - 
     *        
     *        Version 9.3 (available in all AWS regions except
     *        ap-northeast-2, us-gov-west-1):  9.3.12
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withEngineVersion(String engineVersion) {
        setEngineVersion(engineVersion);
        return this;
    }
    /**
     * 
     * Indicates that minor engine upgrades will be applied automatically to the
     * DB instance during the maintenance window.
     * 
     * 
     * Default: true
     * 
     * 
     * @param autoMinorVersionUpgrade
     *        Indicates that minor engine upgrades will be applied automatically
     *        to the DB instance during the maintenance window.
     *        
     *        Default: true
     */
    public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
        this.autoMinorVersionUpgrade = autoMinorVersionUpgrade;
    }
    /**
     * 
     * Indicates that minor engine upgrades will be applied automatically to the
     * DB instance during the maintenance window.
     * 
     * 
     * Default: true
     * 
     * 
     * @return Indicates that minor engine upgrades will be applied
     *         automatically to the DB instance during the maintenance
     *         window.
     *         
     *         Default: true
     */
    public Boolean getAutoMinorVersionUpgrade() {
        return this.autoMinorVersionUpgrade;
    }
    /**
     * 
     * Indicates that minor engine upgrades will be applied automatically to the
     * DB instance during the maintenance window.
     * 
     * 
     * Default: true
     * 
     * 
     * @param autoMinorVersionUpgrade
     *        Indicates that minor engine upgrades will be applied automatically
     *        to the DB instance during the maintenance window.
     *        
     *        Default: true
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withAutoMinorVersionUpgrade(
            Boolean autoMinorVersionUpgrade) {
        setAutoMinorVersionUpgrade(autoMinorVersionUpgrade);
        return this;
    }
    /**
     * 
     * Indicates that minor engine upgrades will be applied automatically to the
     * DB instance during the maintenance window.
     * 
     * 
     * Default: true
     * 
     * 
     * @return Indicates that minor engine upgrades will be applied
     *         automatically to the DB instance during the maintenance
     *         window.
     *         
     *         Default: true
     */
    public Boolean isAutoMinorVersionUpgrade() {
        return this.autoMinorVersionUpgrade;
    }
    /**
     * 
     * License model information for this DB instance.
     * 
     * 
     * Valid values: license-included |
     * bring-your-own-license | general-public-license
     * 
     * 
     * @param licenseModel
     *        License model information for this DB instance.
     *        
     *        Valid values: license-included |
     *        bring-your-own-license |
     *        general-public-license
     */
    public void setLicenseModel(String licenseModel) {
        this.licenseModel = licenseModel;
    }
    /**
     * 
     * License model information for this DB instance.
     * 
     * 
     * Valid values: license-included |
     * bring-your-own-license | general-public-license
     * 
     * 
     * @return License model information for this DB instance.
     *         
     *         Valid values: license-included |
     *         bring-your-own-license |
     *         general-public-license
     */
    public String getLicenseModel() {
        return this.licenseModel;
    }
    /**
     * 
     * License model information for this DB instance.
     * 
     * 
     * Valid values: license-included |
     * bring-your-own-license | general-public-license
     * 
     * 
     * @param licenseModel
     *        License model information for this DB instance.
     *        
     *        Valid values: license-included |
     *        bring-your-own-license |
     *        general-public-license
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withLicenseModel(String licenseModel) {
        setLicenseModel(licenseModel);
        return this;
    }
    /**
     * 
     * The amount of Provisioned IOPS (input/output operations per second) to be
     * initially allocated for the DB instance.
     * 
     * 
     * Constraints: Must be a multiple between 3 and 10 of the storage amount
     * for the DB instance. Must also be an integer multiple of 1000. For
     * example, if the size of your DB instance is 500 GB, then your
     * Iops value can be 2000, 3000, 4000, or 5000.
     * 
     * 
     * @param iops
     *        The amount of Provisioned IOPS (input/output operations per
     *        second) to be initially allocated for the DB instance.
     *        
     *        Constraints: Must be a multiple between 3 and 10 of the storage
     *        amount for the DB instance. Must also be an integer multiple of
     *        1000. For example, if the size of your DB instance is 500 GB, then
     *        your Iops value can be 2000, 3000, 4000, or 5000.
     */
    public void setIops(Integer iops) {
        this.iops = iops;
    }
    /**
     * 
     * The amount of Provisioned IOPS (input/output operations per second) to be
     * initially allocated for the DB instance.
     * 
     * 
     * Constraints: Must be a multiple between 3 and 10 of the storage amount
     * for the DB instance. Must also be an integer multiple of 1000. For
     * example, if the size of your DB instance is 500 GB, then your
     * Iops value can be 2000, 3000, 4000, or 5000.
     * 
     * 
     * @return The amount of Provisioned IOPS (input/output operations per
     *         second) to be initially allocated for the DB instance.
     *         
     *         Constraints: Must be a multiple between 3 and 10 of the storage
     *         amount for the DB instance. Must also be an integer multiple of
     *         1000. For example, if the size of your DB instance is 500 GB,
     *         then your Iops value can be 2000, 3000, 4000, or
     *         5000.
     */
    public Integer getIops() {
        return this.iops;
    }
    /**
     * 
     * The amount of Provisioned IOPS (input/output operations per second) to be
     * initially allocated for the DB instance.
     * 
     * 
     * Constraints: Must be a multiple between 3 and 10 of the storage amount
     * for the DB instance. Must also be an integer multiple of 1000. For
     * example, if the size of your DB instance is 500 GB, then your
     * Iops value can be 2000, 3000, 4000, or 5000.
     * 
     * 
     * @param iops
     *        The amount of Provisioned IOPS (input/output operations per
     *        second) to be initially allocated for the DB instance.
     *        
     *        Constraints: Must be a multiple between 3 and 10 of the storage
     *        amount for the DB instance. Must also be an integer multiple of
     *        1000. For example, if the size of your DB instance is 500 GB, then
     *        your Iops value can be 2000, 3000, 4000, or 5000.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withIops(Integer iops) {
        setIops(iops);
        return this;
    }
    /**
     * 
     * Indicates that the DB instance should be associated with the specified
     * option group.
     * 
     * 
     * Permanent options, such as the TDE option for Oracle Advanced Security
     * TDE, cannot be removed from an option group, and that option group cannot
     * be removed from a DB instance once it is associated with a DB instance
     * 
     * 
     * @param optionGroupName
     *        Indicates that the DB instance should be associated with the
     *        specified option group.
     *        
     *        Permanent options, such as the TDE option for Oracle Advanced
     *        Security TDE, cannot be removed from an option group, and that
     *        option group cannot be removed from a DB instance once it is
     *        associated with a DB instance
     */
    public void setOptionGroupName(String optionGroupName) {
        this.optionGroupName = optionGroupName;
    }
    /**
     * 
     * Indicates that the DB instance should be associated with the specified
     * option group.
     * 
     * 
     * Permanent options, such as the TDE option for Oracle Advanced Security
     * TDE, cannot be removed from an option group, and that option group cannot
     * be removed from a DB instance once it is associated with a DB instance
     * 
     * 
     * @return Indicates that the DB instance should be associated with the
     *         specified option group.
     *         
     *         Permanent options, such as the TDE option for Oracle Advanced
     *         Security TDE, cannot be removed from an option group, and that
     *         option group cannot be removed from a DB instance once it is
     *         associated with a DB instance
     */
    public String getOptionGroupName() {
        return this.optionGroupName;
    }
    /**
     * 
     * Indicates that the DB instance should be associated with the specified
     * option group.
     * 
     * 
     * Permanent options, such as the TDE option for Oracle Advanced Security
     * TDE, cannot be removed from an option group, and that option group cannot
     * be removed from a DB instance once it is associated with a DB instance
     * 
     * 
     * @param optionGroupName
     *        Indicates that the DB instance should be associated with the
     *        specified option group.
     *        
     *        Permanent options, such as the TDE option for Oracle Advanced
     *        Security TDE, cannot be removed from an option group, and that
     *        option group cannot be removed from a DB instance once it is
     *        associated with a DB instance
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withOptionGroupName(String optionGroupName) {
        setOptionGroupName(optionGroupName);
        return this;
    }
    /**
     * 
     * For supported engines, indicates that the DB instance should be
     * associated with the specified CharacterSet.
     * 
     * 
     * @param characterSetName
     *        For supported engines, indicates that the DB instance should be
     *        associated with the specified CharacterSet.
     */
    public void setCharacterSetName(String characterSetName) {
        this.characterSetName = characterSetName;
    }
    /**
     * 
     * For supported engines, indicates that the DB instance should be
     * associated with the specified CharacterSet.
     * 
     * 
     * @return For supported engines, indicates that the DB instance should be
     *         associated with the specified CharacterSet.
     */
    public String getCharacterSetName() {
        return this.characterSetName;
    }
    /**
     * 
     * For supported engines, indicates that the DB instance should be
     * associated with the specified CharacterSet.
     * 
     * 
     * @param characterSetName
     *        For supported engines, indicates that the DB instance should be
     *        associated with the specified CharacterSet.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withCharacterSetName(String characterSetName) {
        setCharacterSetName(characterSetName);
        return this;
    }
    /**
     * 
     * Specifies the accessibility options for the DB instance. A value of true
     * specifies an Internet-facing instance with a publicly resolvable DNS
     * name, which resolves to a public IP address. A value of false specifies
     * an internal instance with a DNS name that resolves to a private IP
     * address.
     * 
     * 
     * Default: The default behavior varies depending on whether a VPC has been
     * requested or not. The following list shows the default behavior in each
     * case.
     * 
     * 
     * - 
     * 
     * Default VPC: true
     * 
     *  
     * - 
     * 
     * VPC: false
     * 
     *  
     * 
     * 
     * If no DB subnet group has been specified as part of the request and the
     * PubliclyAccessible value has not been set, the DB instance will be
     * publicly accessible. If a specific DB subnet group has been specified as
     * part of the request and the PubliclyAccessible value has not been set,
     * the DB instance will be private.
     * 
     * 
     * @param publiclyAccessible
     *        Specifies the accessibility options for the DB instance. A value
     *        of true specifies an Internet-facing instance with a publicly
     *        resolvable DNS name, which resolves to a public IP address. A
     *        value of false specifies an internal instance with a DNS name that
     *        resolves to a private IP address.
     *        
     *        Default: The default behavior varies depending on whether a VPC
     *        has been requested or not. The following list shows the default
     *        behavior in each case.
     *        
     *        
     *        - 
     *        
     *        Default VPC: true
     *        
     *         
     *        - 
     *        
     *        VPC: false
     *        
     *         
     *        
     *        
     *        If no DB subnet group has been specified as part of the request
     *        and the PubliclyAccessible value has not been set, the DB instance
     *        will be publicly accessible. If a specific DB subnet group has
     *        been specified as part of the request and the PubliclyAccessible
     *        value has not been set, the DB instance will be private.
     */
    public void setPubliclyAccessible(Boolean publiclyAccessible) {
        this.publiclyAccessible = publiclyAccessible;
    }
    /**
     * 
     * Specifies the accessibility options for the DB instance. A value of true
     * specifies an Internet-facing instance with a publicly resolvable DNS
     * name, which resolves to a public IP address. A value of false specifies
     * an internal instance with a DNS name that resolves to a private IP
     * address.
     * 
     * 
     * Default: The default behavior varies depending on whether a VPC has been
     * requested or not. The following list shows the default behavior in each
     * case.
     * 
     * 
     * - 
     * 
     * Default VPC: true
     * 
     *  
     * - 
     * 
     * VPC: false
     * 
     *  
     * 
     * 
     * If no DB subnet group has been specified as part of the request and the
     * PubliclyAccessible value has not been set, the DB instance will be
     * publicly accessible. If a specific DB subnet group has been specified as
     * part of the request and the PubliclyAccessible value has not been set,
     * the DB instance will be private.
     * 
     * 
     * @return Specifies the accessibility options for the DB instance. A value
     *         of true specifies an Internet-facing instance with a publicly
     *         resolvable DNS name, which resolves to a public IP address. A
     *         value of false specifies an internal instance with a DNS name
     *         that resolves to a private IP address.
     *         
     *         Default: The default behavior varies depending on whether a VPC
     *         has been requested or not. The following list shows the default
     *         behavior in each case.
     *         
     *         
     *         - 
     *         
     *         Default VPC: true
     *         
     *          
     *         - 
     *         
     *         VPC: false
     *         
     *          
     *         
     *         
     *         If no DB subnet group has been specified as part of the request
     *         and the PubliclyAccessible value has not been set, the DB
     *         instance will be publicly accessible. If a specific DB subnet
     *         group has been specified as part of the request and the
     *         PubliclyAccessible value has not been set, the DB instance will
     *         be private.
     */
    public Boolean getPubliclyAccessible() {
        return this.publiclyAccessible;
    }
    /**
     * 
     * Specifies the accessibility options for the DB instance. A value of true
     * specifies an Internet-facing instance with a publicly resolvable DNS
     * name, which resolves to a public IP address. A value of false specifies
     * an internal instance with a DNS name that resolves to a private IP
     * address.
     * 
     * 
     * Default: The default behavior varies depending on whether a VPC has been
     * requested or not. The following list shows the default behavior in each
     * case.
     * 
     * 
     * - 
     * 
     * Default VPC: true
     * 
     *  
     * - 
     * 
     * VPC: false
     * 
     *  
     * 
     * 
     * If no DB subnet group has been specified as part of the request and the
     * PubliclyAccessible value has not been set, the DB instance will be
     * publicly accessible. If a specific DB subnet group has been specified as
     * part of the request and the PubliclyAccessible value has not been set,
     * the DB instance will be private.
     * 
     * 
     * @param publiclyAccessible
     *        Specifies the accessibility options for the DB instance. A value
     *        of true specifies an Internet-facing instance with a publicly
     *        resolvable DNS name, which resolves to a public IP address. A
     *        value of false specifies an internal instance with a DNS name that
     *        resolves to a private IP address.
     *        
     *        Default: The default behavior varies depending on whether a VPC
     *        has been requested or not. The following list shows the default
     *        behavior in each case.
     *        
     *        
     *        - 
     *        
     *        Default VPC: true
     *        
     *         
     *        - 
     *        
     *        VPC: false
     *        
     *         
     *        
     *        
     *        If no DB subnet group has been specified as part of the request
     *        and the PubliclyAccessible value has not been set, the DB instance
     *        will be publicly accessible. If a specific DB subnet group has
     *        been specified as part of the request and the PubliclyAccessible
     *        value has not been set, the DB instance will be private.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withPubliclyAccessible(
            Boolean publiclyAccessible) {
        setPubliclyAccessible(publiclyAccessible);
        return this;
    }
    /**
     * 
     * Specifies the accessibility options for the DB instance. A value of true
     * specifies an Internet-facing instance with a publicly resolvable DNS
     * name, which resolves to a public IP address. A value of false specifies
     * an internal instance with a DNS name that resolves to a private IP
     * address.
     * 
     * 
     * Default: The default behavior varies depending on whether a VPC has been
     * requested or not. The following list shows the default behavior in each
     * case.
     * 
     * 
     * - 
     * 
     * Default VPC: true
     * 
     *  
     * - 
     * 
     * VPC: false
     * 
     *  
     * 
     * 
     * If no DB subnet group has been specified as part of the request and the
     * PubliclyAccessible value has not been set, the DB instance will be
     * publicly accessible. If a specific DB subnet group has been specified as
     * part of the request and the PubliclyAccessible value has not been set,
     * the DB instance will be private.
     * 
     * 
     * @return Specifies the accessibility options for the DB instance. A value
     *         of true specifies an Internet-facing instance with a publicly
     *         resolvable DNS name, which resolves to a public IP address. A
     *         value of false specifies an internal instance with a DNS name
     *         that resolves to a private IP address.
     *         
     *         Default: The default behavior varies depending on whether a VPC
     *         has been requested or not. The following list shows the default
     *         behavior in each case.
     *         
     *         
     *         - 
     *         
     *         Default VPC: true
     *         
     *          
     *         - 
     *         
     *         VPC: false
     *         
     *          
     *         
     *         
     *         If no DB subnet group has been specified as part of the request
     *         and the PubliclyAccessible value has not been set, the DB
     *         instance will be publicly accessible. If a specific DB subnet
     *         group has been specified as part of the request and the
     *         PubliclyAccessible value has not been set, the DB instance will
     *         be private.
     */
    public Boolean isPubliclyAccessible() {
        return this.publiclyAccessible;
    }
    /**
     * @return
     */
    public java.util.List getTags() {
        if (tags == null) {
            tags = new com.amazonaws.internal.SdkInternalList();
        }
        return tags;
    }
    /**
     * @param tags
     */
    public void setTags(java.util.Collection tags) {
        if (tags == null) {
            this.tags = null;
            return;
        }
        this.tags = new com.amazonaws.internal.SdkInternalList(tags);
    }
    /**
     * 
     * NOTE: 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.
     * 
     * 
     * @param tags
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withTags(Tag... tags) {
        if (this.tags == null) {
            setTags(new com.amazonaws.internal.SdkInternalList(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 CreateDBInstanceRequest withTags(java.util.Collection tags) {
        setTags(tags);
        return this;
    }
    /**
     * 
     * The identifier of the DB cluster that the instance will belong to.
     * 
     * 
     * For information on creating a DB cluster, see CreateDBCluster.
     * 
     * 
     * Type: String
     * 
     * 
     * @param dBClusterIdentifier
     *        The identifier of the DB cluster that the instance will belong
     *        to.      
     *        
     *        For information on creating a DB cluster, see
     *        CreateDBCluster.
     *        
     *        
     *        Type: String
     */
    public void setDBClusterIdentifier(String dBClusterIdentifier) {
        this.dBClusterIdentifier = dBClusterIdentifier;
    }
    /**
     * 
     * The identifier of the DB cluster that the instance will belong to.
     * 
     * 
     * For information on creating a DB cluster, see CreateDBCluster.
     * 
     * 
     * Type: String
     * 
     * 
     * @return The identifier of the DB cluster that the instance will belong
     *         to.
     *         
     *         For information on creating a DB cluster, see
     *         CreateDBCluster.
     *         
     *         
     *         Type: String
     */
    public String getDBClusterIdentifier() {
        return this.dBClusterIdentifier;
    }
    /**
     * 
     * The identifier of the DB cluster that the instance will belong to.
     * 
     * 
     * For information on creating a DB cluster, see CreateDBCluster.
     * 
     * 
     * Type: String
     * 
     * 
     * @param dBClusterIdentifier
     *        The identifier of the DB cluster that the instance will belong
     *        to.
     *        
     *        For information on creating a DB cluster, see
     *        CreateDBCluster.
     *        
     *        
     *        Type: String
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDBClusterIdentifier(
            String dBClusterIdentifier) {
        setDBClusterIdentifier(dBClusterIdentifier);
        return this;
    }
    /**
     * 
     * Specifies the storage type to be associated with the DB instance.
     * 
     * 
     * Valid values: standard | gp2 | io1
     * 
     * 
     * If you specify io1, you must also include a value for the
     * Iops parameter.
     * 
     * 
     * Default: io1 if the Iops parameter is
     * specified; otherwise standard
     * 
     * 
     * @param storageType
     *        Specifies the storage type to be associated with the DB
     *        instance.
     *        
     *        Valid values: standard | gp2 | io1
     *        
     *        
     *        If you specify io1, you must also include a value for
     *        the Iops parameter.
     *        
     *        
     *        Default: io1 if the Iops parameter is
     *        specified; otherwise standard
     */
    public void setStorageType(String storageType) {
        this.storageType = storageType;
    }
    /**
     * 
     * Specifies the storage type to be associated with the DB instance.
     * 
     * 
     * Valid values: standard | gp2 | io1
     * 
     * 
     * If you specify io1, you must also include a value for the
     * Iops parameter.
     * 
     * 
     * Default: io1 if the Iops parameter is
     * specified; otherwise standard
     * 
     * 
     * @return Specifies the storage type to be associated with the DB
     *         instance.
     *         
     *         Valid values: standard | gp2 | io1
     *         
     *         
     *         If you specify io1, you must also include a value
     *         for the Iops parameter.
     *         
     *         
     *         Default: io1 if the Iops parameter is
     *         specified; otherwise standard
     */
    public String getStorageType() {
        return this.storageType;
    }
    /**
     * 
     * Specifies the storage type to be associated with the DB instance.
     * 
     * 
     * Valid values: standard | gp2 | io1
     * 
     * 
     * If you specify io1, you must also include a value for the
     * Iops parameter.
     * 
     * 
     * Default: io1 if the Iops parameter is
     * specified; otherwise standard
     * 
     * 
     * @param storageType
     *        Specifies the storage type to be associated with the DB
     *        instance.
     *        
     *        Valid values: standard | gp2 | io1
     *        
     *        
     *        If you specify io1, you must also include a value for
     *        the Iops parameter.
     *        
     *        
     *        Default: io1 if the Iops parameter is
     *        specified; otherwise standard
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withStorageType(String storageType) {
        setStorageType(storageType);
        return this;
    }
    /**
     * 
     * The ARN from the Key Store with which to associate the instance for TDE
     * encryption.
     * 
     * 
     * @param tdeCredentialArn
     *        The ARN from the Key Store with which to associate the instance
     *        for TDE encryption.
     */
    public void setTdeCredentialArn(String tdeCredentialArn) {
        this.tdeCredentialArn = tdeCredentialArn;
    }
    /**
     * 
     * The ARN from the Key Store with which to associate the instance for TDE
     * encryption.
     * 
     * 
     * @return The ARN from the Key Store with which to associate the instance
     *         for TDE encryption.
     */
    public String getTdeCredentialArn() {
        return this.tdeCredentialArn;
    }
    /**
     * 
     * The ARN from the Key Store with which to associate the instance for TDE
     * encryption.
     * 
     * 
     * @param tdeCredentialArn
     *        The ARN from the Key Store with which to associate the instance
     *        for TDE encryption.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withTdeCredentialArn(String tdeCredentialArn) {
        setTdeCredentialArn(tdeCredentialArn);
        return this;
    }
    /**
     * 
     * The password for the given ARN from the Key Store in order to access the
     * device.
     * 
     * 
     * @param tdeCredentialPassword
     *        The password for the given ARN from the Key Store in order to
     *        access the device.
     */
    public void setTdeCredentialPassword(String tdeCredentialPassword) {
        this.tdeCredentialPassword = tdeCredentialPassword;
    }
    /**
     * 
     * The password for the given ARN from the Key Store in order to access the
     * device.
     * 
     * 
     * @return The password for the given ARN from the Key Store in order to
     *         access the device.
     */
    public String getTdeCredentialPassword() {
        return this.tdeCredentialPassword;
    }
    /**
     * 
     * The password for the given ARN from the Key Store in order to access the
     * device.
     * 
     * 
     * @param tdeCredentialPassword
     *        The password for the given ARN from the Key Store in order to
     *        access the device.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withTdeCredentialPassword(
            String tdeCredentialPassword) {
        setTdeCredentialPassword(tdeCredentialPassword);
        return this;
    }
    /**
     * 
     * Specifies whether the DB instance is encrypted.
     * 
     * 
     * Default: false
     * 
     * 
     * @param storageEncrypted
     *        Specifies whether the DB instance is encrypted.
     *        
     *        Default: false
     */
    public void setStorageEncrypted(Boolean storageEncrypted) {
        this.storageEncrypted = storageEncrypted;
    }
    /**
     * 
     * Specifies whether the DB instance is encrypted.
     * 
     * 
     * Default: false
     * 
     * 
     * @return Specifies whether the DB instance is encrypted.
     *         
     *         Default: false
     */
    public Boolean getStorageEncrypted() {
        return this.storageEncrypted;
    }
    /**
     * 
     * Specifies whether the DB instance is encrypted.
     * 
     * 
     * Default: false
     * 
     * 
     * @param storageEncrypted
     *        Specifies whether the DB instance is encrypted.
     *        
     *        Default: false
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withStorageEncrypted(Boolean storageEncrypted) {
        setStorageEncrypted(storageEncrypted);
        return this;
    }
    /**
     * 
     * Specifies whether the DB instance is encrypted.
     * 
     * 
     * Default: false
     * 
     * 
     * @return Specifies whether the DB instance is encrypted.
     *         
     *         Default: false
     */
    public Boolean isStorageEncrypted() {
        return this.storageEncrypted;
    }
    /**
     * 
     * The KMS key identifier for an encrypted DB instance.
     * 
     * 
     * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
     * encryption key. If you are creating a DB instance with the same AWS
     * account that owns the KMS encryption key used to encrypt the new DB
     * instance, then you can use the KMS key alias instead of the ARN for the
     * KM encryption key.
     * 
     * 
     * If the StorageEncrypted parameter is true, and you do not
     * specify a value for the KmsKeyId 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.
     * 
     * 
     * @param kmsKeyId
     *        The KMS key identifier for an encrypted DB instance.
     *        
     *        The KMS key identifier is the Amazon Resource Name (ARN) for the
     *        KMS encryption key. If you are creating a DB instance with the
     *        same AWS account that owns the KMS encryption key used to encrypt
     *        the new DB instance, then you can use the KMS key alias instead of
     *        the ARN for the KM encryption key.
     *        
     *        
     *        If the StorageEncrypted parameter is true, and you do
     *        not specify a value for the KmsKeyId 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.
     */
    public void setKmsKeyId(String kmsKeyId) {
        this.kmsKeyId = kmsKeyId;
    }
    /**
     * 
     * The KMS key identifier for an encrypted DB instance.
     * 
     * 
     * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
     * encryption key. If you are creating a DB instance with the same AWS
     * account that owns the KMS encryption key used to encrypt the new DB
     * instance, then you can use the KMS key alias instead of the ARN for the
     * KM encryption key.
     * 
     * 
     * If the StorageEncrypted parameter is true, and you do not
     * specify a value for the KmsKeyId 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.
     * 
     * 
     * @return The KMS key identifier for an encrypted DB instance.
     *         
     *         The KMS key identifier is the Amazon Resource Name (ARN) for the
     *         KMS encryption key. If you are creating a DB instance with the
     *         same AWS account that owns the KMS encryption key used to encrypt
     *         the new DB instance, then you can use the KMS key alias instead
     *         of the ARN for the KM encryption key.
     *         
     *         
     *         If the StorageEncrypted parameter is true, and you
     *         do not specify a value for the KmsKeyId 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.
     */
    public String getKmsKeyId() {
        return this.kmsKeyId;
    }
    /**
     * 
     * The KMS key identifier for an encrypted DB instance.
     * 
     * 
     * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
     * encryption key. If you are creating a DB instance with the same AWS
     * account that owns the KMS encryption key used to encrypt the new DB
     * instance, then you can use the KMS key alias instead of the ARN for the
     * KM encryption key.
     * 
     * 
     * If the StorageEncrypted parameter is true, and you do not
     * specify a value for the KmsKeyId 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.
     * 
     * 
     * @param kmsKeyId
     *        The KMS key identifier for an encrypted DB instance.
     *        
     *        The KMS key identifier is the Amazon Resource Name (ARN) for the
     *        KMS encryption key. If you are creating a DB instance with the
     *        same AWS account that owns the KMS encryption key used to encrypt
     *        the new DB instance, then you can use the KMS key alias instead of
     *        the ARN for the KM encryption key.
     *        
     *        
     *        If the StorageEncrypted parameter is true, and you do
     *        not specify a value for the KmsKeyId 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.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withKmsKeyId(String kmsKeyId) {
        setKmsKeyId(kmsKeyId);
        return this;
    }
    /**
     * 
     * Specify the Active Directory Domain to create the instance in.
     * 
     * 
     * @param domain
     *        Specify the Active Directory Domain to create the instance in.
     */
    public void setDomain(String domain) {
        this.domain = domain;
    }
    /**
     * 
     * Specify the Active Directory Domain to create the instance in.
     * 
     * 
     * @return Specify the Active Directory Domain to create the instance in.
     */
    public String getDomain() {
        return this.domain;
    }
    /**
     * 
     * Specify the Active Directory Domain to create the instance in.
     * 
     * 
     * @param domain
     *        Specify the Active Directory Domain to create the instance in.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDomain(String domain) {
        setDomain(domain);
        return this;
    }
    /**
     * 
     * True to copy all tags from the DB instance to snapshots of the DB
     * instance; otherwise false. The default is false.
     * 
     * 
     * @param copyTagsToSnapshot
     *        True to copy all tags from the DB instance to snapshots of the DB
     *        instance; otherwise false. The default is false.
     */
    public void setCopyTagsToSnapshot(Boolean copyTagsToSnapshot) {
        this.copyTagsToSnapshot = copyTagsToSnapshot;
    }
    /**
     * 
     * True to copy all tags from the DB instance to snapshots of the DB
     * instance; otherwise false. The default is false.
     * 
     * 
     * @return True to copy all tags from the DB instance to snapshots of the DB
     *         instance; otherwise false. The default is false.
     */
    public Boolean getCopyTagsToSnapshot() {
        return this.copyTagsToSnapshot;
    }
    /**
     * 
     * True to copy all tags from the DB instance to snapshots of the DB
     * instance; otherwise false. The default is false.
     * 
     * 
     * @param copyTagsToSnapshot
     *        True to copy all tags from the DB instance to snapshots of the DB
     *        instance; otherwise false. The default is false.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withCopyTagsToSnapshot(
            Boolean copyTagsToSnapshot) {
        setCopyTagsToSnapshot(copyTagsToSnapshot);
        return this;
    }
    /**
     * 
     * True to copy all tags from the DB instance to snapshots of the DB
     * instance; otherwise false. The default is false.
     * 
     * 
     * @return True to copy all tags from the DB instance to snapshots of the DB
     *         instance; otherwise false. The default is false.
     */
    public Boolean isCopyTagsToSnapshot() {
        return this.copyTagsToSnapshot;
    }
    /**
     * 
     * The interval, in seconds, between points when Enhanced Monitoring metrics
     * are collected for the DB instance. To disable collecting Enhanced
     * Monitoring metrics, specify 0. The default is 0.
     * 
     * 
     * If MonitoringRoleArn is specified, then you must also set
     * MonitoringInterval to a value other than 0.
     * 
     * 
     * Valid Values: 0, 1, 5, 10, 15, 30, 60
     * 
     * 
     * @param monitoringInterval
     *        The interval, in seconds, between points when Enhanced Monitoring
     *        metrics are collected for the DB instance. To disable collecting
     *        Enhanced Monitoring metrics, specify 0. The default is 0.
     *        
     *        If MonitoringRoleArn is specified, then you must also
     *        set MonitoringInterval to a value other than 0.
     *        
     *        
     *        Valid Values: 0, 1, 5, 10, 15, 30, 60
     */
    public void setMonitoringInterval(Integer monitoringInterval) {
        this.monitoringInterval = monitoringInterval;
    }
    /**
     * 
     * The interval, in seconds, between points when Enhanced Monitoring metrics
     * are collected for the DB instance. To disable collecting Enhanced
     * Monitoring metrics, specify 0. The default is 0.
     * 
     * 
     * If MonitoringRoleArn is specified, then you must also set
     * MonitoringInterval to a value other than 0.
     * 
     * 
     * Valid Values: 0, 1, 5, 10, 15, 30, 60
     * 
     * 
     * @return The interval, in seconds, between points when Enhanced Monitoring
     *         metrics are collected for the DB instance. To disable collecting
     *         Enhanced Monitoring metrics, specify 0. The default is 0.
     *         
     *         If MonitoringRoleArn is specified, then you must
     *         also set MonitoringInterval to a value other than 0.
     *         
     *         
     *         Valid Values: 0, 1, 5, 10, 15, 30, 60
     */
    public Integer getMonitoringInterval() {
        return this.monitoringInterval;
    }
    /**
     * 
     * The interval, in seconds, between points when Enhanced Monitoring metrics
     * are collected for the DB instance. To disable collecting Enhanced
     * Monitoring metrics, specify 0. The default is 0.
     * 
     * 
     * If MonitoringRoleArn is specified, then you must also set
     * MonitoringInterval to a value other than 0.
     * 
     * 
     * Valid Values: 0, 1, 5, 10, 15, 30, 60
     * 
     * 
     * @param monitoringInterval
     *        The interval, in seconds, between points when Enhanced Monitoring
     *        metrics are collected for the DB instance. To disable collecting
     *        Enhanced Monitoring metrics, specify 0. The default is 0.
     *        
     *        If MonitoringRoleArn is specified, then you must also
     *        set MonitoringInterval to a value other than 0.
     *        
     *        
     *        Valid Values: 0, 1, 5, 10, 15, 30, 60
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withMonitoringInterval(
            Integer monitoringInterval) {
        setMonitoringInterval(monitoringInterval);
        return this;
    }
    /**
     * 
     * The ARN for the IAM role that permits RDS to send enhanced monitoring
     * metrics to CloudWatch Logs. For example,
     * arn:aws:iam:123456789012:role/emaccess. For information on
     * creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.
     * 
     * 
     * If MonitoringInterval is set to a value other than 0, then
     * you must supply a MonitoringRoleArn value.
     * 
     * 
     * @param monitoringRoleArn
     *        The ARN for the IAM role that permits RDS to send enhanced
     *        monitoring metrics to CloudWatch Logs. For example,
     *        arn:aws:iam:123456789012:role/emaccess. For
     *        information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.
     *        
     *        If MonitoringInterval is set to a value other than 0,
     *        then you must supply a MonitoringRoleArn value.
     */
    public void setMonitoringRoleArn(String monitoringRoleArn) {
        this.monitoringRoleArn = monitoringRoleArn;
    }
    /**
     * 
     * The ARN for the IAM role that permits RDS to send enhanced monitoring
     * metrics to CloudWatch Logs. For example,
     * arn:aws:iam:123456789012:role/emaccess. For information on
     * creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.
     * 
     * 
     * If MonitoringInterval is set to a value other than 0, then
     * you must supply a MonitoringRoleArn value.
     * 
     * 
     * @return The ARN for the IAM role that permits RDS to send enhanced
     *         monitoring metrics to CloudWatch Logs. For example,
     *         arn:aws:iam:123456789012:role/emaccess. For
     *         information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced
     *         Monitoring.
     *         
     *         If MonitoringInterval is set to a value other than
     *         0, then you must supply a MonitoringRoleArn value.
     */
    public String getMonitoringRoleArn() {
        return this.monitoringRoleArn;
    }
    /**
     * 
     * The ARN for the IAM role that permits RDS to send enhanced monitoring
     * metrics to CloudWatch Logs. For example,
     * arn:aws:iam:123456789012:role/emaccess. For information on
     * creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.
     * 
     * 
     * If MonitoringInterval is set to a value other than 0, then
     * you must supply a MonitoringRoleArn value.
     * 
     * 
     * @param monitoringRoleArn
     *        The ARN for the IAM role that permits RDS to send enhanced
     *        monitoring metrics to CloudWatch Logs. For example,
     *        arn:aws:iam:123456789012:role/emaccess. For
     *        information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.
     *        
     *        If MonitoringInterval is set to a value other than 0,
     *        then you must supply a MonitoringRoleArn value.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withMonitoringRoleArn(
            String monitoringRoleArn) {
        setMonitoringRoleArn(monitoringRoleArn);
        return this;
    }
    /**
     * 
     * Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.
     * 
     * 
     * @param domainIAMRoleName
     *        Specify the name of the IAM role to be used when making API calls
     *        to the Directory Service.
     */
    public void setDomainIAMRoleName(String domainIAMRoleName) {
        this.domainIAMRoleName = domainIAMRoleName;
    }
    /**
     * 
     * Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.
     * 
     * 
     * @return Specify the name of the IAM role to be used when making API calls
     *         to the Directory Service.
     */
    public String getDomainIAMRoleName() {
        return this.domainIAMRoleName;
    }
    /**
     * 
     * Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.
     * 
     * 
     * @param domainIAMRoleName
     *        Specify the name of the IAM role to be used when making API calls
     *        to the Directory Service.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withDomainIAMRoleName(
            String domainIAMRoleName) {
        setDomainIAMRoleName(domainIAMRoleName);
        return this;
    }
    /**
     * 
     * A value that specifies the order in which an Aurora Replica is promoted
     * to the primary instance after a failure of the existing primary instance.
     * For more information, see  Fault Tolerance for an Aurora DB Cluster.
     * 
     * 
     * Default: 1
     * 
     * 
     * Valid Values: 0 - 15
     * 
     * 
     * @param promotionTier
     *        A value that specifies the order in which an Aurora Replica is
     *        promoted to the primary instance after a failure of the existing
     *        primary instance. For more information, see  Fault Tolerance for an Aurora DB Cluster. 
     *        
     *        Default: 1
     *        
     *        
     *        Valid Values: 0 - 15
     */
    public void setPromotionTier(Integer promotionTier) {
        this.promotionTier = promotionTier;
    }
    /**
     * 
     * A value that specifies the order in which an Aurora Replica is promoted
     * to the primary instance after a failure of the existing primary instance.
     * For more information, see  Fault Tolerance for an Aurora DB Cluster.
     * 
     * 
     * Default: 1
     * 
     * 
     * Valid Values: 0 - 15
     * 
     * 
     * @return A value that specifies the order in which an Aurora Replica is
     *         promoted to the primary instance after a failure of the existing
     *         primary instance. For more information, see  Fault Tolerance for an Aurora DB Cluster. 
     *         
     *         Default: 1
     *         
     *         
     *         Valid Values: 0 - 15
     */
    public Integer getPromotionTier() {
        return this.promotionTier;
    }
    /**
     * 
     * A value that specifies the order in which an Aurora Replica is promoted
     * to the primary instance after a failure of the existing primary instance.
     * For more information, see  Fault Tolerance for an Aurora DB Cluster.
     * 
     * 
     * Default: 1
     * 
     * 
     * Valid Values: 0 - 15
     * 
     * 
     * @param promotionTier
     *        A value that specifies the order in which an Aurora Replica is
     *        promoted to the primary instance after a failure of the existing
     *        primary instance. For more information, see  Fault Tolerance for an Aurora DB Cluster. 
     *        
     *        Default: 1
     *        
     *        
     *        Valid Values: 0 - 15
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDBInstanceRequest withPromotionTier(Integer promotionTier) {
        setPromotionTier(promotionTier);
        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 (getDBName() != null)
            sb.append("DBName: " + getDBName() + ",");
        if (getDBInstanceIdentifier() != null)
            sb.append("DBInstanceIdentifier: " + getDBInstanceIdentifier()
                    + ",");
        if (getAllocatedStorage() != null)
            sb.append("AllocatedStorage: " + getAllocatedStorage() + ",");
        if (getDBInstanceClass() != null)
            sb.append("DBInstanceClass: " + getDBInstanceClass() + ",");
        if (getEngine() != null)
            sb.append("Engine: " + getEngine() + ",");
        if (getMasterUsername() != null)
            sb.append("MasterUsername: " + getMasterUsername() + ",");
        if (getMasterUserPassword() != null)
            sb.append("MasterUserPassword: " + getMasterUserPassword() + ",");
        if (getDBSecurityGroups() != null)
            sb.append("DBSecurityGroups: " + getDBSecurityGroups() + ",");
        if (getVpcSecurityGroupIds() != null)
            sb.append("VpcSecurityGroupIds: " + getVpcSecurityGroupIds() + ",");
        if (getAvailabilityZone() != null)
            sb.append("AvailabilityZone: " + getAvailabilityZone() + ",");
        if (getDBSubnetGroupName() != null)
            sb.append("DBSubnetGroupName: " + getDBSubnetGroupName() + ",");
        if (getPreferredMaintenanceWindow() != null)
            sb.append("PreferredMaintenanceWindow: "
                    + getPreferredMaintenanceWindow() + ",");
        if (getDBParameterGroupName() != null)
            sb.append("DBParameterGroupName: " + getDBParameterGroupName()
                    + ",");
        if (getBackupRetentionPeriod() != null)
            sb.append("BackupRetentionPeriod: " + getBackupRetentionPeriod()
                    + ",");
        if (getPreferredBackupWindow() != null)
            sb.append("PreferredBackupWindow: " + getPreferredBackupWindow()
                    + ",");
        if (getPort() != null)
            sb.append("Port: " + getPort() + ",");
        if (getMultiAZ() != null)
            sb.append("MultiAZ: " + getMultiAZ() + ",");
        if (getEngineVersion() != null)
            sb.append("EngineVersion: " + getEngineVersion() + ",");
        if (getAutoMinorVersionUpgrade() != null)
            sb.append("AutoMinorVersionUpgrade: "
                    + getAutoMinorVersionUpgrade() + ",");
        if (getLicenseModel() != null)
            sb.append("LicenseModel: " + getLicenseModel() + ",");
        if (getIops() != null)
            sb.append("Iops: " + getIops() + ",");
        if (getOptionGroupName() != null)
            sb.append("OptionGroupName: " + getOptionGroupName() + ",");
        if (getCharacterSetName() != null)
            sb.append("CharacterSetName: " + getCharacterSetName() + ",");
        if (getPubliclyAccessible() != null)
            sb.append("PubliclyAccessible: " + getPubliclyAccessible() + ",");
        if (getTags() != null)
            sb.append("Tags: " + getTags() + ",");
        if (getDBClusterIdentifier() != null)
            sb.append("DBClusterIdentifier: " + getDBClusterIdentifier() + ",");
        if (getStorageType() != null)
            sb.append("StorageType: " + getStorageType() + ",");
        if (getTdeCredentialArn() != null)
            sb.append("TdeCredentialArn: " + getTdeCredentialArn() + ",");
        if (getTdeCredentialPassword() != null)
            sb.append("TdeCredentialPassword: " + getTdeCredentialPassword()
                    + ",");
        if (getStorageEncrypted() != null)
            sb.append("StorageEncrypted: " + getStorageEncrypted() + ",");
        if (getKmsKeyId() != null)
            sb.append("KmsKeyId: " + getKmsKeyId() + ",");
        if (getDomain() != null)
            sb.append("Domain: " + getDomain() + ",");
        if (getCopyTagsToSnapshot() != null)
            sb.append("CopyTagsToSnapshot: " + getCopyTagsToSnapshot() + ",");
        if (getMonitoringInterval() != null)
            sb.append("MonitoringInterval: " + getMonitoringInterval() + ",");
        if (getMonitoringRoleArn() != null)
            sb.append("MonitoringRoleArn: " + getMonitoringRoleArn() + ",");
        if (getDomainIAMRoleName() != null)
            sb.append("DomainIAMRoleName: " + getDomainIAMRoleName() + ",");
        if (getPromotionTier() != null)
            sb.append("PromotionTier: " + getPromotionTier());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof CreateDBInstanceRequest == false)
            return false;
        CreateDBInstanceRequest other = (CreateDBInstanceRequest) obj;
        if (other.getDBName() == null ^ this.getDBName() == null)
            return false;
        if (other.getDBName() != null
                && other.getDBName().equals(this.getDBName()) == false)
            return false;
        if (other.getDBInstanceIdentifier() == null
                ^ this.getDBInstanceIdentifier() == null)
            return false;
        if (other.getDBInstanceIdentifier() != null
                && other.getDBInstanceIdentifier().equals(
                        this.getDBInstanceIdentifier()) == false)
            return false;
        if (other.getAllocatedStorage() == null
                ^ this.getAllocatedStorage() == null)
            return false;
        if (other.getAllocatedStorage() != null
                && other.getAllocatedStorage().equals(
                        this.getAllocatedStorage()) == false)
            return false;
        if (other.getDBInstanceClass() == null
                ^ this.getDBInstanceClass() == null)
            return false;
        if (other.getDBInstanceClass() != null
                && other.getDBInstanceClass().equals(this.getDBInstanceClass()) == 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.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.getDBSecurityGroups() == null
                ^ this.getDBSecurityGroups() == null)
            return false;
        if (other.getDBSecurityGroups() != null
                && other.getDBSecurityGroups().equals(
                        this.getDBSecurityGroups()) == 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.getAvailabilityZone() == null
                ^ this.getAvailabilityZone() == null)
            return false;
        if (other.getAvailabilityZone() != null
                && other.getAvailabilityZone().equals(
                        this.getAvailabilityZone()) == 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.getPreferredMaintenanceWindow() == null
                ^ this.getPreferredMaintenanceWindow() == null)
            return false;
        if (other.getPreferredMaintenanceWindow() != null
                && other.getPreferredMaintenanceWindow().equals(
                        this.getPreferredMaintenanceWindow()) == false)
            return false;
        if (other.getDBParameterGroupName() == null
                ^ this.getDBParameterGroupName() == null)
            return false;
        if (other.getDBParameterGroupName() != null
                && other.getDBParameterGroupName().equals(
                        this.getDBParameterGroupName()) == 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.getPreferredBackupWindow() == null
                ^ this.getPreferredBackupWindow() == null)
            return false;
        if (other.getPreferredBackupWindow() != null
                && other.getPreferredBackupWindow().equals(
                        this.getPreferredBackupWindow()) == 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.getMultiAZ() == null ^ this.getMultiAZ() == null)
            return false;
        if (other.getMultiAZ() != null
                && other.getMultiAZ().equals(this.getMultiAZ()) == 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.getAutoMinorVersionUpgrade() == null
                ^ this.getAutoMinorVersionUpgrade() == null)
            return false;
        if (other.getAutoMinorVersionUpgrade() != null
                && other.getAutoMinorVersionUpgrade().equals(
                        this.getAutoMinorVersionUpgrade()) == false)
            return false;
        if (other.getLicenseModel() == null ^ this.getLicenseModel() == null)
            return false;
        if (other.getLicenseModel() != null
                && other.getLicenseModel().equals(this.getLicenseModel()) == false)
            return false;
        if (other.getIops() == null ^ this.getIops() == null)
            return false;
        if (other.getIops() != null
                && other.getIops().equals(this.getIops()) == 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.getCharacterSetName() == null
                ^ this.getCharacterSetName() == null)
            return false;
        if (other.getCharacterSetName() != null
                && other.getCharacterSetName().equals(
                        this.getCharacterSetName()) == false)
            return false;
        if (other.getPubliclyAccessible() == null
                ^ this.getPubliclyAccessible() == null)
            return false;
        if (other.getPubliclyAccessible() != null
                && other.getPubliclyAccessible().equals(
                        this.getPubliclyAccessible()) == 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.getDBClusterIdentifier() == null
                ^ this.getDBClusterIdentifier() == null)
            return false;
        if (other.getDBClusterIdentifier() != null
                && other.getDBClusterIdentifier().equals(
                        this.getDBClusterIdentifier()) == false)
            return false;
        if (other.getStorageType() == null ^ this.getStorageType() == null)
            return false;
        if (other.getStorageType() != null
                && other.getStorageType().equals(this.getStorageType()) == false)
            return false;
        if (other.getTdeCredentialArn() == null
                ^ this.getTdeCredentialArn() == null)
            return false;
        if (other.getTdeCredentialArn() != null
                && other.getTdeCredentialArn().equals(
                        this.getTdeCredentialArn()) == false)
            return false;
        if (other.getTdeCredentialPassword() == null
                ^ this.getTdeCredentialPassword() == null)
            return false;
        if (other.getTdeCredentialPassword() != null
                && other.getTdeCredentialPassword().equals(
                        this.getTdeCredentialPassword()) == 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.getDomain() == null ^ this.getDomain() == null)
            return false;
        if (other.getDomain() != null
                && other.getDomain().equals(this.getDomain()) == false)
            return false;
        if (other.getCopyTagsToSnapshot() == null
                ^ this.getCopyTagsToSnapshot() == null)
            return false;
        if (other.getCopyTagsToSnapshot() != null
                && other.getCopyTagsToSnapshot().equals(
                        this.getCopyTagsToSnapshot()) == false)
            return false;
        if (other.getMonitoringInterval() == null
                ^ this.getMonitoringInterval() == null)
            return false;
        if (other.getMonitoringInterval() != null
                && other.getMonitoringInterval().equals(
                        this.getMonitoringInterval()) == false)
            return false;
        if (other.getMonitoringRoleArn() == null
                ^ this.getMonitoringRoleArn() == null)
            return false;
        if (other.getMonitoringRoleArn() != null
                && other.getMonitoringRoleArn().equals(
                        this.getMonitoringRoleArn()) == false)
            return false;
        if (other.getDomainIAMRoleName() == null
                ^ this.getDomainIAMRoleName() == null)
            return false;
        if (other.getDomainIAMRoleName() != null
                && other.getDomainIAMRoleName().equals(
                        this.getDomainIAMRoleName()) == false)
            return false;
        if (other.getPromotionTier() == null ^ this.getPromotionTier() == null)
            return false;
        if (other.getPromotionTier() != null
                && other.getPromotionTier().equals(this.getPromotionTier()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime * hashCode
                + ((getDBName() == null) ? 0 : getDBName().hashCode());
        hashCode = prime
                * hashCode
                + ((getDBInstanceIdentifier() == null) ? 0
                        : getDBInstanceIdentifier().hashCode());
        hashCode = prime
                * hashCode
                + ((getAllocatedStorage() == null) ? 0 : getAllocatedStorage()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getDBInstanceClass() == null) ? 0 : getDBInstanceClass()
                        .hashCode());
        hashCode = prime * hashCode
                + ((getEngine() == null) ? 0 : getEngine().hashCode());
        hashCode = prime
                * hashCode
                + ((getMasterUsername() == null) ? 0 : getMasterUsername()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getMasterUserPassword() == null) ? 0
                        : getMasterUserPassword().hashCode());
        hashCode = prime
                * hashCode
                + ((getDBSecurityGroups() == null) ? 0 : getDBSecurityGroups()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getVpcSecurityGroupIds() == null) ? 0
                        : getVpcSecurityGroupIds().hashCode());
        hashCode = prime
                * hashCode
                + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getDBSubnetGroupName() == null) ? 0
                        : getDBSubnetGroupName().hashCode());
        hashCode = prime
                * hashCode
                + ((getPreferredMaintenanceWindow() == null) ? 0
                        : getPreferredMaintenanceWindow().hashCode());
        hashCode = prime
                * hashCode
                + ((getDBParameterGroupName() == null) ? 0
                        : getDBParameterGroupName().hashCode());
        hashCode = prime
                * hashCode
                + ((getBackupRetentionPeriod() == null) ? 0
                        : getBackupRetentionPeriod().hashCode());
        hashCode = prime
                * hashCode
                + ((getPreferredBackupWindow() == null) ? 0
                        : getPreferredBackupWindow().hashCode());
        hashCode = prime * hashCode
                + ((getPort() == null) ? 0 : getPort().hashCode());
        hashCode = prime * hashCode
                + ((getMultiAZ() == null) ? 0 : getMultiAZ().hashCode());
        hashCode = prime
                * hashCode
                + ((getEngineVersion() == null) ? 0 : getEngineVersion()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getAutoMinorVersionUpgrade() == null) ? 0
                        : getAutoMinorVersionUpgrade().hashCode());
        hashCode = prime
                * hashCode
                + ((getLicenseModel() == null) ? 0 : getLicenseModel()
                        .hashCode());
        hashCode = prime * hashCode
                + ((getIops() == null) ? 0 : getIops().hashCode());
        hashCode = prime
                * hashCode
                + ((getOptionGroupName() == null) ? 0 : getOptionGroupName()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getCharacterSetName() == null) ? 0 : getCharacterSetName()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getPubliclyAccessible() == null) ? 0
                        : getPubliclyAccessible().hashCode());
        hashCode = prime * hashCode
                + ((getTags() == null) ? 0 : getTags().hashCode());
        hashCode = prime
                * hashCode
                + ((getDBClusterIdentifier() == null) ? 0
                        : getDBClusterIdentifier().hashCode());
        hashCode = prime
                * hashCode
                + ((getStorageType() == null) ? 0 : getStorageType().hashCode());
        hashCode = prime
                * hashCode
                + ((getTdeCredentialArn() == null) ? 0 : getTdeCredentialArn()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getTdeCredentialPassword() == null) ? 0
                        : getTdeCredentialPassword().hashCode());
        hashCode = prime
                * hashCode
                + ((getStorageEncrypted() == null) ? 0 : getStorageEncrypted()
                        .hashCode());
        hashCode = prime * hashCode
                + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
        hashCode = prime * hashCode
                + ((getDomain() == null) ? 0 : getDomain().hashCode());
        hashCode = prime
                * hashCode
                + ((getCopyTagsToSnapshot() == null) ? 0
                        : getCopyTagsToSnapshot().hashCode());
        hashCode = prime
                * hashCode
                + ((getMonitoringInterval() == null) ? 0
                        : getMonitoringInterval().hashCode());
        hashCode = prime
                * hashCode
                + ((getMonitoringRoleArn() == null) ? 0
                        : getMonitoringRoleArn().hashCode());
        hashCode = prime
                * hashCode
                + ((getDomainIAMRoleName() == null) ? 0
                        : getDomainIAMRoleName().hashCode());
        hashCode = prime
                * hashCode
                + ((getPromotionTier() == null) ? 0 : getPromotionTier()
                        .hashCode());
        return hashCode;
    }
    @Override
    public CreateDBInstanceRequest clone() {
        return (CreateDBInstanceRequest) super.clone();
    }
}