You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::RDS::DBInstance

Inherits:
Aws::Resources::Resource show all
Defined in:
(unknown)

Instance Attribute Summary collapse

Attributes inherited from Aws::Resources::Resource

#client, #identifiers

Instance Method Summary collapse

Methods inherited from Aws::Resources::Resource

add_data_attribute, add_identifier, #data, data_attributes, #data_loaded?, identifiers, #load, #wait_until

Methods included from Aws::Resources::OperationMethods

#add_batch_operation, #add_operation, #batch_operation, #batch_operation_names, #batch_operations, #operation, #operation_names, #operations

Constructor Details

#initialize(id, options = {}) ⇒ Object #initialize(options = {}) ⇒ Object

Overloads:

  • #initialize(id, options = {}) ⇒ Object

    Parameters:

    • id (String)

    Options Hash (options):

    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

  • #initialize(options = {}) ⇒ Object

    Options Hash (options):

    • :id (required, String)
    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

Instance Attribute Details

#allocated_storageInteger (readonly)

Specifies the allocated storage size specified in gibibytes.

Returns:

  • (Integer)

    Specifies the allocated storage size specified in gibibytes.

#associated_rolesArray<Types::DBInstanceRole> (readonly)

The AWS Identity and Access Management (IAM) roles associated with the DB instance.

Returns:

  • (Array<Types::DBInstanceRole>)

    The AWS Identity and Access Management (IAM) roles associated with the DB instance.

#auto_minor_version_upgradeBoolean (readonly)

Indicates that minor version patches are applied automatically.

Returns:

  • (Boolean)

    Indicates that minor version patches are applied automatically.

#availability_zoneString (readonly)

Specifies the name of the Availability Zone the DB instance is located in.

Returns:

  • (String)

    Specifies the name of the Availability Zone the DB instance is located in.

#backup_retention_periodInteger (readonly)

Specifies the number of days for which automatic DB snapshots are retained.

Returns:

  • (Integer)

    Specifies the number of days for which automatic DB snapshots are retained.

#ca_certificate_identifierString (readonly)

The identifier of the CA certificate for this DB instance.

Returns:

  • (String)

    The identifier of the CA certificate for this DB instance.

#character_set_nameString (readonly)

If present, specifies the name of the character set that this instance is associated with.

Returns:

  • (String)

    If present, specifies the name of the character set that this instance is associated with.

#copy_tags_to_snapshotBoolean (readonly)

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

Amazon Aurora

Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see DBCluster.

Returns:

  • (Boolean)

    Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

#db_cluster_identifierString (readonly)

If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

Returns:

  • (String)

    If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

#db_instance_arnString (readonly)

The Amazon Resource Name (ARN) for the DB instance.

Returns:

  • (String)

    The Amazon Resource Name (ARN) for the DB instance.

#db_instance_classString (readonly)

Contains the name of the compute and memory capacity class of the DB instance.

Returns:

  • (String)

    Contains the name of the compute and memory capacity class of the DB instance.

#db_instance_identifierString (readonly)

Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

Returns:

  • (String)

    Contains a user-supplied database identifier.

#db_instance_portInteger (readonly)

Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.

Returns:

  • (Integer)

    Specifies the port that the DB instance listens on.

#db_instance_statusString (readonly)

Specifies the current state of this database.

For information about DB instance statuses, see DB Instance Status in the Amazon RDS User Guide.

Returns:

  • (String)

    Specifies the current state of this database.

#db_nameString (readonly)

The meaning of this parameter differs according to the database engine you use.

MySQL, MariaDB, SQL Server, PostgreSQL

Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

Type: String

Oracle

Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

Returns:

  • (String)

    The meaning of this parameter differs according to the database engine you use.

#db_parameter_groupsArray<Types::DBParameterGroupStatus> (readonly)

Provides the list of DB parameter groups applied to this DB instance.

Returns:

#db_security_groupsArray<Types::DBSecurityGroupMembership> (readonly)

A list of DB security group elements containing DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

Returns:

#db_subnet_groupTypes::DBSubnetGroup (readonly)

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

Returns:

  • (Types::DBSubnetGroup)

    Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

#dbi_resource_idString (readonly)

The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

Returns:

  • (String)

    The AWS Region-unique, immutable identifier for the DB instance.

#deletion_protectionBoolean (readonly)

Indicates if the DB instance has deletion protection enabled. The database can\'t be deleted when deletion protection is enabled. For more information, see Deleting a DB Instance.

Returns:

  • (Boolean)

    Indicates if the DB instance has deletion protection enabled.

#domain_membershipsArray<Types::DomainMembership> (readonly)

The Active Directory Domain membership records associated with the DB instance.

Returns:

  • (Array<Types::DomainMembership>)

    The Active Directory Domain membership records associated with the DB instance.

#enabled_cloudwatch_logs_exportsArray<String> (readonly)

A list of log types that this DB instance is configured to export to CloudWatch Logs.

Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon RDS User Guide.

Returns:

  • (Array<String>)

    A list of log types that this DB instance is configured to export to CloudWatch Logs.

#endpointTypes::Endpoint (readonly)

Specifies the connection endpoint.

Returns:

#engineString (readonly)

The name of the database engine to be used for this DB instance.

Returns:

  • (String)

    The name of the database engine to be used for this DB instance.

#engine_versionString (readonly)

Indicates the database engine version.

Returns:

  • (String)

    Indicates the database engine version.

#enhanced_monitoring_resource_arnString (readonly)

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

Returns:

  • (String)

    The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

#iam_database_authentication_enabledBoolean (readonly)

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

IAM database authentication can be enabled for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora 5.6 or higher. To enable IAM database authentication for Aurora, see DBCluster Type.

Returns:

  • (Boolean)

    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

#idString (readonly)

Returns:

  • (String)

#instance_create_timeTime (readonly)

Provides the date and time the DB instance was created.

Returns:

  • (Time)

    Provides the date and time the DB instance was created.

#iopsInteger (readonly)

Specifies the Provisioned IOPS (I/O operations per second) value.

Returns:

  • (Integer)

    Specifies the Provisioned IOPS (I/O operations per second) value.

#kms_key_idString (readonly)

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

Returns:

  • (String)

    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

#latest_restorable_timeTime (readonly)

Specifies the latest time to which a database can be restored with point-in-time restore.

Returns:

  • (Time)

    Specifies the latest time to which a database can be restored with point-in-time restore.

#license_modelString (readonly)

License model information for this DB instance.

Returns:

  • (String)

    License model information for this DB instance.

#listener_endpointTypes::Endpoint (readonly)

Specifies the listener connection endpoint for SQL Server Always On.

Returns:

  • (Types::Endpoint)

    Specifies the listener connection endpoint for SQL Server Always On.

#master_usernameString (readonly)

Contains the master username for the DB instance.

Returns:

  • (String)

    Contains the master username for the DB instance.

#max_allocated_storageInteger (readonly)

The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

Returns:

  • (Integer)

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

#monitoring_intervalInteger (readonly)

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

Returns:

  • (Integer)

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

#monitoring_role_arnString (readonly)

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

Returns:

  • (String)

    The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

#multi_azBoolean (readonly)

Specifies if the DB instance is a Multi-AZ deployment.

Returns:

  • (Boolean)

    Specifies if the DB instance is a Multi-AZ deployment.

#nchar_character_set_nameString (readonly)

The name of the NCHAR character set for the Oracle DB instance. This character set specifies the Unicode encoding for data stored in table columns of type NCHAR, NCLOB, or NVARCHAR2.

Returns:

  • (String)

    The name of the NCHAR character set for the Oracle DB instance.

#option_group_membershipsArray<Types::OptionGroupMembership> (readonly)

Provides the list of option group memberships for this DB instance.

Returns:

#pending_modified_valuesTypes::PendingModifiedValues (readonly)

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

Returns:

#performance_insights_enabledBoolean (readonly)

True if Performance Insights is enabled for the DB instance, and otherwise false.

Returns:

  • (Boolean)

    True if Performance Insights is enabled for the DB instance, and otherwise false.

#performance_insights_kms_key_idString (readonly)

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

Returns:

  • (String)

    The AWS KMS key identifier for encryption of Performance Insights data.

#performance_insights_retention_periodInteger (readonly)

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

Returns:

  • (Integer)

    The amount of time, in days, to retain Performance Insights data.

#preferred_backup_windowString (readonly)

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

Returns:

  • (String)

    Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

#preferred_maintenance_windowString (readonly)

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

Returns:

  • (String)

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

#processor_featuresArray<Types::ProcessorFeature> (readonly)

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

Returns:

  • (Array<Types::ProcessorFeature>)

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

#promotion_tierInteger (readonly)

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 in the Amazon Aurora User Guide.

Returns:

  • (Integer)

    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.

#publicly_accessibleBoolean (readonly)

Specifies the accessibility options for the DB instance.

When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance\'s VPC, and to the public IP address from outside of the DB instance\'s VPC. Access to the DB instance is ultimately controlled by the security group it uses, and that public access is not permitted if the security group assigned to the DB instance doesn\'t permit it.

When the DB instance isn\'t publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

For more information, see CreateDBInstance.

Returns:

  • (Boolean)

    Specifies the accessibility options for the DB instance.

#read_replica_db_cluster_identifiersArray<String> (readonly)

Contains one or more identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. For example, when you create an Aurora read replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster for the Aurora read replica is shown. This output does not contain information about cross region Aurora read replicas.

Currently, each RDS DB instance can have only one Aurora read replica.

Returns:

  • (Array<String>)

    Contains one or more identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica.

#read_replica_db_instance_identifiersArray<String> (readonly)

Contains one or more identifiers of the read replicas associated with this DB instance.

Returns:

  • (Array<String>)

    Contains one or more identifiers of the read replicas associated with this DB instance.

#read_replica_source_db_instance_identifierString (readonly)

Contains the identifier of the source DB instance if this DB instance is a read replica.

Returns:

  • (String)

    Contains the identifier of the source DB instance if this DB instance is a read replica.

#replica_modeString (readonly)

The open mode of an Oracle read replica. The default is open-read-only. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

This attribute is only supported in RDS for Oracle.

Returns:

  • (String)

    The open mode of an Oracle read replica.

#secondary_availability_zoneString (readonly)

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

Returns:

  • (String)

    If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

#status_infosArray<Types::DBInstanceStatusInfo> (readonly)

The status of a read replica. If the instance isn\'t a read replica, this is blank.

Returns:

#storage_encryptedBoolean (readonly)

Specifies whether the DB instance is encrypted.

Returns:

  • (Boolean)

    Specifies whether the DB instance is encrypted.

#storage_typeString (readonly)

Specifies the storage type associated with DB instance.

Returns:

  • (String)

    Specifies the storage type associated with DB instance.

#tag_listArray<Types::Tag> (readonly)

A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

Returns:

#tde_credential_arnString (readonly)

The ARN from the key store with which the instance is associated for TDE encryption.

Returns:

  • (String)

    The ARN from the key store with which the instance is associated for TDE encryption.

#timezoneString (readonly)

The time zone of the DB instance. In most cases, the Timezone element is empty. Timezone content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.

Returns:

  • (String)

    The time zone of the DB instance.

#vpc_security_groupsArray<Types::VpcSecurityGroupMembership> (readonly)

Provides a list of VPC security group elements that the DB instance belongs to.

Returns:

Instance Method Details

#certificateCertificate?

Returns:

#clusterDBCluster?

Returns:

#create(options = {}) ⇒ DBInstance

Examples:

Request syntax example with placeholder values


dbinstance.create({
  db_name: "String",
  allocated_storage: 1,
  db_instance_class: "String", # required
  engine: "String", # required
  master_username: "String",
  master_user_password: "String",
  db_security_groups: ["String"],
  vpc_security_group_ids: ["String"],
  availability_zone: "String",
  db_subnet_group_name: "String",
  preferred_maintenance_window: "String",
  db_parameter_group_name: "String",
  backup_retention_period: 1,
  preferred_backup_window: "String",
  port: 1,
  multi_az: false,
  engine_version: "String",
  auto_minor_version_upgrade: false,
  license_model: "String",
  iops: 1,
  option_group_name: "String",
  character_set_name: "String",
  nchar_character_set_name: "String",
  publicly_accessible: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  db_cluster_identifier: "String",
  storage_type: "String",
  tde_credential_arn: "String",
  tde_credential_password: "String",
  storage_encrypted: false,
  kms_key_id: "String",
  domain: "String",
  copy_tags_to_snapshot: false,
  monitoring_interval: 1,
  monitoring_role_arn: "String",
  domain_iam_role_name: "String",
  promotion_tier: 1,
  timezone: "String",
  enable_iam_database_authentication: false,
  enable_performance_insights: false,
  performance_insights_kms_key_id: "String",
  performance_insights_retention_period: 1,
  enable_cloudwatch_logs_exports: ["String"],
  processor_features: [
    {
      name: "String",
      value: "String",
    },
  ],
  deletion_protection: false,
  max_allocated_storage: 1,
})

Basic usage

dbinstance = dbinstance.create(options)
dbinstance.id
#=> "dbinstance-id"

Options Hash (options):

  • :db_name (String)

    The meaning of this parameter differs according to the database engine you use.

    MySQL

    The name of the database to create when the DB instance is created. If this parameter isn\'t specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 letters or numbers.

    • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

    • Can\'t 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 isn\'t specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 letters or numbers.

    • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

    • Can\'t 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 isn\'t specified, the default \"postgres\" database is created in the DB instance.

    Constraints:

    • Must contain 1 to 63 letters, numbers, or underscores.

    • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

    • Can\'t be a word reserved by the specified database engine

    Oracle

    The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can\'t specify the string NULL, or any other reserved word, for DBName.

    Default: ORCL

    Constraints:

    • Can\'t 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 isn\'t specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 letters or numbers.

    • Can\'t be a word reserved by the specified database engine

  • :allocated_storage (Integer)

    The amount of storage (in gibibytes) to allocate for the DB instance.

    Type: Integer

    Amazon Aurora

    Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

    MySQL

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 5 to 3072.

    MariaDB

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 5 to 3072.

    PostgreSQL

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 5 to 3072.

    Oracle

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 10 to 3072.

    SQL Server

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2):

      • Enterprise and Standard editions: Must be an integer from 200 to

      • Web and Express editions: Must be an integer from 20 to 16384.

    • Provisioned IOPS storage (io1):

      • Enterprise and Standard editions: Must be an integer from 200 to

      • Web and Express editions: Must be an integer from 100 to 16384.

    • Magnetic storage (standard):

      • Enterprise and Standard editions: Must be an integer from 200 to

      • Web and Express editions: Must be an integer from 20 to 1024.

  • :db_instance_class (required, String)

    The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

  • :engine (required, String)

    The name of the database engine to be used for this instance.

    Not every database engine is available for every AWS Region.

    Valid Values:

    • aurora (for MySQL 5.6-compatible Aurora)

    • aurora-mysql (for MySQL 5.7-compatible Aurora)

    • aurora-postgresql

    • mariadb

    • mysql

    • oracle-ee

    • oracle-se2

    • oracle-se1

    • oracle-se

    • postgres

    • sqlserver-ee

    • sqlserver-se

    • sqlserver-ex

    • sqlserver-web

  • :master_username (String)

    The name for the master user.

    Amazon Aurora

    Not applicable. The name for the master user is managed by the DB cluster.

    MariaDB

    Constraints:

    • Required for MariaDB.

    • Must be 1 to 16 letters or numbers.

    • Can\'t be a reserved word for the chosen database engine.

    Microsoft SQL Server

    Constraints:

    • Required for SQL Server.

    • Must be 1 to 128 letters or numbers.

    • The first character must be a letter.

    • Can\'t be a reserved word for the chosen database engine.

    MySQL

    Constraints:

    • Required for MySQL.

    • Must be 1 to 16 letters or numbers.

    • First character must be a letter.

    • Can\'t be a reserved word for the chosen database engine.

    Oracle

    Constraints:

    • Required for Oracle.

    • Must be 1 to 30 letters or numbers.

    • First character must be a letter.

    • Can\'t be a reserved word for the chosen database engine.

    PostgreSQL

    Constraints:

    • Required for PostgreSQL.

    • Must be 1 to 63 letters or numbers.

    • First character must be a letter.

    • Can\'t be a reserved word for the chosen database engine.

  • :master_user_password (String)

    The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

    Amazon Aurora

    Not applicable. The password for the master user is managed by the DB cluster.

    MariaDB

    Constraints: Must contain from 8 to 41 characters.

    Microsoft SQL Server

    Constraints: Must contain from 8 to 128 characters.

    MySQL

    Constraints: Must contain from 8 to 41 characters.

    Oracle

    Constraints: Must contain from 8 to 30 characters.

    PostgreSQL

    Constraints: Must contain from 8 to 128 characters.

  • :db_security_groups (Array<String>)

    A list of DB security groups to associate with this DB instance.

    Default: The default DB security group for the database engine.

  • :vpc_security_group_ids (Array<String>)

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

    Amazon Aurora

    Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster.

    Default: The default EC2 VPC security group for the DB subnet group\'s VPC.

  • :availability_zone (String)

    The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

    Default: A random, system-chosen Availability Zone in the endpoint\'s AWS Region.

    Example: us-east-1d

    Constraint: The AvailabilityZone parameter can\'t be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same AWS Region as the current endpoint.

    If you\'re creating a DB instance in an RDS on VMware environment, specify the identifier of the custom Availability Zone to create the DB instance in.

    For more information about RDS on VMware, see the RDS on VMware User Guide.

  • :db_subnet_group_name (String)

    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.

  • :preferred_maintenance_window (String)

    The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

    Format: ddd:hh24:mi-ddd:hh24:mi

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

    Constraints: Minimum 30-minute window.

  • :db_parameter_group_name (String)

    The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then the default DB parameter group for the specified DB engine and version is used.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

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

  • :backup_retention_period (Integer)

    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.

    Amazon Aurora

    Not applicable. The retention period for automated backups is managed by the DB cluster.

    Default: 1

    Constraints:

    • Must be a value from 0 to 35

    • Can\'t be set to 0 if the DB instance is a source to read replicas

  • :preferred_backup_window (String)

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see The Backup Window in the Amazon RDS User Guide.

    Amazon Aurora

    Not applicable. The daily time range for creating automated backups is managed by the DB cluster.

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide.

    Constraints:

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

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

  • :port (Integer)

    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 1234, 1434, 3260, 3343, 3389, 47001, and 49152-49156.

    Amazon Aurora

    Default: 3306

    Valid values: 1150-65535

    Type: Integer

  • :multi_az (Boolean)

    A value that indicates whether the DB instance is a Multi-AZ deployment. You can\'t set the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

  • :engine_version (String)

    The version number of the database engine to use.

    For a list of valid engine versions, use the DescribeDBEngineVersions action.

    The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.

    Amazon Aurora

    Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.

    MariaDB

    See MariaDB on Amazon RDS Versions in the Amazon RDS User Guide.

    Microsoft SQL Server

    See Microsoft SQL Server Versions on Amazon RDS in the Amazon RDS User Guide.

    MySQL

    See MySQL on Amazon RDS Versions in the Amazon RDS User Guide.

    Oracle

    See Oracle Database Engine Release Notes in the Amazon RDS User Guide.

    PostgreSQL

    See Supported PostgreSQL Database Versions in the Amazon RDS User Guide.

  • :auto_minor_version_upgrade (Boolean)

    A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.

  • :license_model (String)

    License model information for this DB instance.

    Valid values: license-included | bring-your-own-license | general-public-license

  • :iops (Integer)

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must be a multiple between .5 and 50 of the storage amount for the DB instance. For SQL Server DB instances, must be a multiple between 1 and 50 of the storage amount for the DB instance.

  • :option_group_name (String)

    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, can\'t be removed from an option group. Also, that option group can\'t be removed from a DB instance once it is associated with a DB instance

  • :character_set_name (String)

    For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

    Amazon Aurora

    Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.

  • :nchar_character_set_name (String)

    The name of the NCHAR character set for the Oracle DB instance.

  • :publicly_accessible (Boolean)

    A value that indicates whether the DB instance is publicly accessible.

    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance\'s VPC, and to the public IP address from outside of the DB instance\'s VPC. Access to the DB instance is ultimately controlled by the security group it uses, and that public access is not permitted if the security group assigned to the DB instance doesn\'t permit it.

    When the DB instance isn\'t publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

    If DBSubnetGroupName isn\'t specified, and PubliclyAccessible isn\'t specified, the following applies:

    • If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private.

    • If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public.

    If DBSubnetGroupName is specified, and PubliclyAccessible isn\'t specified, the following applies:

    • If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private.

    • If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public.

  • :tags (Array<Types::Tag>)

    Tags to assign to the DB instance.

  • :db_cluster_identifier (String)

    The identifier of the DB cluster that the instance will belong to.

  • :storage_type (String)

    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 gp2

  • :tde_credential_arn (String)

    The ARN from the key store with which to associate the instance for TDE encryption.

  • :tde_credential_password (String)

    The password for the given ARN from the key store in order to access the device.

  • :storage_encrypted (Boolean)

    A value that indicates whether the DB instance is encrypted. By default, it isn\'t encrypted.

    Amazon Aurora

    Not applicable. The encryption for DB instances is managed by the DB cluster.

  • :kms_key_id (String)

    The AWS 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.

    Amazon Aurora

    Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

    If StorageEncrypted is enabled, 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.

  • :domain (String)

    The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

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

  • :copy_tags_to_snapshot (Boolean)

    A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

    Amazon Aurora

    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.

  • :monitoring_interval (Integer)

    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

  • :monitoring_role_arn (String)

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

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

  • :domain_iam_role_name (String)

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

  • :promotion_tier (Integer)

    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 in the Amazon Aurora User Guide.

    Default: 1

    Valid Values: 0 - 15

  • :timezone (String)

    The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

  • :enable_iam_database_authentication (Boolean)

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    This setting doesn\'t apply to Amazon Aurora. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.

    For more information, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

  • :enable_performance_insights (Boolean)

    A value that indicates whether to enable Performance Insights for the DB instance.

    For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

  • :performance_insights_kms_key_id (String)

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses 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.

  • :performance_insights_retention_period (Integer)

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

  • :enable_cloudwatch_logs_exports (Array<String>)

    The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database Service User Guide.

    Amazon Aurora

    Not applicable. CloudWatch Logs exports are managed by the DB cluster.

    MariaDB

    Possible values are audit, error, general, and slowquery.

    Microsoft SQL Server

    Possible values are agent and error.

    MySQL

    Possible values are audit, error, general, and slowquery.

    Oracle

    Possible values are alert, audit, listener, and trace.

    PostgreSQL

    Possible values are postgresql and upgrade.

  • :processor_features (Array<Types::ProcessorFeature>)

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

  • :deletion_protection (Boolean)

    A value that indicates whether the DB instance has deletion protection enabled. The database can\'t be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

    Amazon Aurora

    Not applicable. You can enable or disable deletion protection for the DB cluster. For more information, see CreateDBCluster. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.

  • :max_allocated_storage (Integer)

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

Returns:

See Also:

#create_read_replica(options = {}) ⇒ DBInstance

Examples:

Request syntax example with placeholder values


dbinstance.create_read_replica({
  db_instance_identifier: "String", # required
  db_instance_class: "String",
  availability_zone: "String",
  port: 1,
  multi_az: false,
  auto_minor_version_upgrade: false,
  iops: 1,
  option_group_name: "String",
  db_parameter_group_name: "String",
  publicly_accessible: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  db_subnet_group_name: "String",
  vpc_security_group_ids: ["String"],
  storage_type: "String",
  copy_tags_to_snapshot: false,
  monitoring_interval: 1,
  monitoring_role_arn: "String",
  kms_key_id: "String",
  pre_signed_url: "String",
  enable_iam_database_authentication: false,
  enable_performance_insights: false,
  performance_insights_kms_key_id: "String",
  performance_insights_retention_period: 1,
  enable_cloudwatch_logs_exports: ["String"],
  processor_features: [
    {
      name: "String",
      value: "String",
    },
  ],
  use_default_processor_features: false,
  deletion_protection: false,
  domain: "String",
  domain_iam_role_name: "String",
  replica_mode: "open-read-only", # accepts open-read-only, mounted
  max_allocated_storage: 1,
  destination_region: "String",
  source_region: "String",
})

Basic usage

dbinstance = dbinstance.create_read_replica(options)
dbinstance.id
#=> "dbinstance-id"

Options Hash (options):

  • :db_instance_identifier (required, String)

    The DB instance identifier of the read replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.

  • :db_instance_class (String)

    The compute and memory capacity of the read replica, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    Default: Inherits from the source DB instance.

  • :availability_zone (String)

    The Availability Zone (AZ) where the read replica will be created.

    Default: A random, system-chosen Availability Zone in the endpoint\'s AWS Region.

    Example: us-east-1d

  • :port (Integer)

    The port number that the DB instance uses for connections.

    Default: Inherits from the source DB instance

    Valid Values: 1150-65535

  • :multi_az (Boolean)

    A value that indicates whether the read replica is in a Multi-AZ deployment.

    You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your read replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance.

  • :auto_minor_version_upgrade (Boolean)

    A value that indicates whether minor engine upgrades are applied automatically to the read replica during the maintenance window.

    Default: Inherits from the source DB instance

  • :iops (Integer)

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

  • :option_group_name (String)

    The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

    For SQL Server, you must use the option group associated with the source instance.

  • :db_parameter_group_name (String)

    The name of the DB parameter group to associate with this DB instance.

    If you do not specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of source DB instance for a same region read replica, or the default DBParameterGroup for the specified DB engine for a cross region read replica.

    Currently, specifying a parameter group for this operation is only supported for Oracle DB instances.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

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

  • :publicly_accessible (Boolean)

    A value that indicates whether the DB instance is publicly accessible.

    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance\'s VPC, and to the public IP address from outside of the DB instance\'s VPC. Access to the DB instance is ultimately controlled by the security group it uses, and that public access is not permitted if the security group assigned to the DB instance doesn\'t permit it.

    When the DB instance isn\'t publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

    For more information, see CreateDBInstance.

  • :tags (Array<Types::Tag>)

    A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

  • :db_subnet_group_name (String)

    Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn\'t created in a VPC.

    Constraints:

    • Can only be specified if the source DB instance identifier specifies a DB instance in another AWS Region.

    • If supplied, must match the name of an existing DBSubnetGroup.

    • The specified DB subnet group must be in the same AWS Region in which the operation is running.

    • All read replicas in one AWS Region that are created from the same source DB instance must either:>

      • Specify DB subnet groups from the same VPC. All these read replicas are created in the same VPC.

      • Not specify a DB subnet group. All these read replicas are created outside of any VPC.

    Example: mySubnetgroup

  • :vpc_security_group_ids (Array<String>)

    A list of EC2 VPC security groups to associate with the read replica.

    Default: The default EC2 VPC security group for the DB subnet group\'s VPC.

  • :storage_type (String)

    Specifies the storage type to be associated with the read replica.

    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 gp2

  • :copy_tags_to_snapshot (Boolean)

    A value that indicates whether to copy all tags from the read replica to snapshots of the read replica. By default, tags are not copied.

  • :monitoring_interval (Integer)

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the read replica. 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

  • :monitoring_role_arn (String)

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon 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 in the Amazon RDS User Guide.

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

  • :kms_key_id (String)

    The AWS KMS key ID for an encrypted read replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you create an encrypted read replica in the same AWS Region as the source DB instance, then you do not have to specify a value for this parameter. The read replica is encrypted with the same KMS key as the source DB instance.

    If you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can\'t use encryption keys from one AWS Region in another AWS Region.

    You can\'t create an encrypted read replica from an unencrypted DB instance.

  • :pre_signed_url (String)

    The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance.

    You must specify this parameter when you create an encrypted read replica from another AWS Region by using the Amazon RDS API. Don\'t specify PreSignedUrl when you are creating an encrypted read replica in the same AWS Region.

    The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

    • DestinationRegion - The AWS Region that the encrypted read replica is created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

      For example, if you create an encrypted DB instance in the us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

    • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the read replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL.

    • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted read replica from a DB instance in the us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a presigned URL that is a valid request for the operation that can be executed in the source AWS Region.

    SourceRegion isn\'t supported for SQL Server, because SQL Server on Amazon RDS doesn\'t support cross-region read replicas.

  • :enable_iam_database_authentication (Boolean)

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

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

  • :enable_performance_insights (Boolean)

    A value that indicates whether to enable Performance Insights for the read replica.

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

  • :performance_insights_kms_key_id (String)

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses 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.

  • :performance_insights_retention_period (Integer)

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

  • :enable_cloudwatch_logs_exports (Array<String>)

    The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

  • :processor_features (Array<Types::ProcessorFeature>)

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

  • :use_default_processor_features (Boolean)

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

  • :deletion_protection (Boolean)

    A value that indicates whether the DB instance has deletion protection enabled. The database can\'t be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

  • :domain (String)

    The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

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

  • :domain_iam_role_name (String)

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

  • :replica_mode (String)

    The open mode of the replica database: mounted or read-only.

    This parameter is only supported for Oracle DB instances.

    Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn\'t use Active Data Guard to transmit information to the mounted replica. Because it doesn\'t accept user connections, a mounted replica can\'t serve a read-only workload.

    You can create a combination of mounted and read-only DB replicas for the same primary DB instance. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

  • :max_allocated_storage (Integer)

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

  • :destination_region (String)
  • :source_region (String)

    The region which you are copying an encrypted snapshot from.

    This is a required paramter that allows SDK to compute a pre-signed Url and populate PreSignedURL parameter on your behalf.

Returns:

See Also:

#create_snapshot(options = {}) ⇒ DBSnapshot

Examples:

Request syntax example with placeholder values


dbinstance.create_snapshot({
  db_snapshot_identifier: "String", # required
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Basic usage

dbsnapshot = dbinstance.create_snapshot(options)
dbsnapshot.snapshot_id
#=> "dbsnapshot-snapshot-id"

Options Hash (options):

  • :db_snapshot_identifier (required, String)

    The identifier for the DB snapshot.

    Constraints:

    • Can\'t be null, empty, or blank

    • Must contain from 1 to 255 letters, numbers, or hyphens

    • First character must be a letter

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

    Example: my-snapshot-id

  • :tags (Array<Types::Tag>)

    A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

Returns:

See Also:

#delete(options = {}) ⇒ DBInstance

Examples:

Request syntax example with placeholder values


dbinstance.delete({
  skip_final_snapshot: false,
  final_db_snapshot_identifier: "String",
  delete_automated_backups: false,
})

Basic usage

dbinstance = dbinstance.delete(options)
dbinstance.id
#=> "dbinstance-id"

Options Hash (options):

  • :skip_final_snapshot (Boolean)

    A value that indicates whether to skip the creation of a final DB snapshot before the DB instance is deleted. If skip is specified, no DB snapshot is created. If skip isn\'t specified, a DB snapshot is created before the DB instance is deleted. By default, skip isn\'t specified, and the DB snapshot is created.

    When a DB instance is in a failure state and has a status of \'failed\', \'incompatible-restore\', or \'incompatible-network\', it can only be deleted when skip is specified.

    Specify skip when deleting a read replica.

    The FinalDBSnapshotIdentifier parameter must be specified if skip isn\'t specified.

  • :final_db_snapshot_identifier (String)

    The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot parameter is disabled.

    Specifying this parameter and also specifying to skip final DB snapshot creation in SkipFinalShapshot results in an error.

    Constraints:

    • Must be 1 to 255 letters or numbers.

    • First character must be a letter.

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

    • Can\'t be specified when deleting a read replica.

  • :delete_automated_backups (Boolean)

    A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn\'t case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.

Returns:

See Also:

#events(options = {}) ⇒ Collection<Event>

Returns a Collection of Event resources. No API requests are made until you call an enumerable method on the collection. Client#describe_events will be called multiple times until every Event has been yielded.

Examples:

Request syntax example with placeholder values


dbinstance.events({
  start_time: Time.now,
  end_time: Time.now,
  duration: 1,
  event_categories: ["String"],
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Enumerating Event resources.

dbinstance.events.each do |event|
  # yields each event
end

Enumerating Event resources with a limit.

dbinstance.events.limit(10).each do |event|
  # yields at most 10 events
end

Options Hash (options):

  • :start_time (Time)

    The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

    Example: 2009-07-08T18:00Z

  • :end_time (Time)

    The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

    Example: 2009-07-08T18:00Z

  • :duration (Integer)

    The number of minutes to retrieve events for.

    Default: 60

  • :event_categories (Array<String>)

    A list of event categories that trigger notifications for a event notification subscription.

  • :filters (Array<Types::Filter>)

    This parameter isn\'t currently supported.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#log_files(options = {}) ⇒ Collection<DBLogFile>

Returns a Collection of Aws::RDS::DBLogFile resources. No API requests are made until you call an enumerable method on the collection. Client#describe_db_log_files will be called multiple times until every Aws::RDS::DBLogFile has been yielded.

Examples:

Request syntax example with placeholder values


dbinstance.log_files({
  filename_contains: "String",
  file_last_written: 1,
  file_size: 1,
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Enumerating Aws::RDS::DBLogFile resources.

dbinstance.log_files.each do |dblogfile|
  # yields each dblogfile
end

Enumerating Aws::RDS::DBLogFile resources with a limit.

dbinstance.log_files.limit(10).each do |dblogfile|
  # yields at most 10 log_files
end

Options Hash (options):

  • :filename_contains (String)

    Filters the available log files for log file names that contain the specified string.

  • :file_last_written (Integer)

    Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.

  • :file_size (Integer)

    Filters the available log files for files larger than the specified size.

  • :filters (Array<Types::Filter>)

    This parameter isn\'t currently supported.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

  • :marker (String)

    The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

Returns:

See Also:

#modify(options = {}) ⇒ DBInstance

Examples:

Request syntax example with placeholder values


dbinstance.modify({
  allocated_storage: 1,
  db_instance_class: "String",
  db_subnet_group_name: "String",
  db_security_groups: ["String"],
  vpc_security_group_ids: ["String"],
  apply_immediately: false,
  master_user_password: "String",
  db_parameter_group_name: "String",
  backup_retention_period: 1,
  preferred_backup_window: "String",
  preferred_maintenance_window: "String",
  multi_az: false,
  engine_version: "String",
  allow_major_version_upgrade: false,
  auto_minor_version_upgrade: false,
  license_model: "String",
  iops: 1,
  option_group_name: "String",
  new_db_instance_identifier: "String",
  storage_type: "String",
  tde_credential_arn: "String",
  tde_credential_password: "String",
  ca_certificate_identifier: "String",
  domain: "String",
  copy_tags_to_snapshot: false,
  monitoring_interval: 1,
  db_port_number: 1,
  publicly_accessible: false,
  monitoring_role_arn: "String",
  domain_iam_role_name: "String",
  promotion_tier: 1,
  enable_iam_database_authentication: false,
  enable_performance_insights: false,
  performance_insights_kms_key_id: "String",
  performance_insights_retention_period: 1,
  cloudwatch_logs_export_configuration: {
    enable_log_types: ["String"],
    disable_log_types: ["String"],
  },
  processor_features: [
    {
      name: "String",
      value: "String",
    },
  ],
  use_default_processor_features: false,
  deletion_protection: false,
  max_allocated_storage: 1,
  certificate_rotation_restart: false,
  replica_mode: "open-read-only", # accepts open-read-only, mounted
})

Basic usage

dbinstance = dbinstance.modify(options)
dbinstance.id
#=> "dbinstance-id"

Options Hash (options):

  • :allocated_storage (Integer)

    The new amount of storage (in gibibytes) to allocate for the DB instance.

    For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    For the valid values for allocated storage for each engine, see CreateDBInstance.

  • :db_instance_class (String)

    The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is enabled for this request.

    Default: Uses existing setting

  • :db_subnet_group_name (String)

    The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance isn\'t in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance in the Amazon RDS User Guide.

    Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you enable ApplyImmediately.

    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

    Example: mySubnetGroup

  • :db_security_groups (Array<String>)

    A list of DB security groups to authorize on this DB instance. Changing this setting doesn\'t result in an outage and the change is asynchronously applied as soon as possible.

    Constraints:

    • If supplied, must match existing DBSecurityGroups.

    ^

  • :vpc_security_group_ids (Array<String>)

    A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

    Amazon Aurora

    Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

    Constraints:

    • If supplied, must match existing VpcSecurityGroupIds.

    ^

  • :apply_immediately (Boolean)

    A value that indicates whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance. By default, this parameter is disabled.

    If this parameter is disabled, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance in the Amazon RDS User Guide. to see the impact of enabling or disabling ApplyImmediately for each modified parameter and to determine when the changes are applied.

  • :master_user_password (String)

    The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

    Changing this parameter doesn\'t result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

    Amazon Aurora

    Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster.

    Default: Uses existing setting

    MariaDB

    Constraints: Must contain from 8 to 41 characters.

    Microsoft SQL Server

    Constraints: Must contain from 8 to 128 characters.

    MySQL

    Constraints: Must contain from 8 to 41 characters.

    Oracle

    Constraints: Must contain from 8 to 30 characters.

    PostgreSQL

    Constraints: Must contain from 8 to 128 characters.

    Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

  • :db_parameter_group_name (String)

    The name of the DB parameter group to apply to the DB instance. Changing this setting doesn\'t result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. In this case, the DB instance isn\'t rebooted automatically and the parameter changes isn\'t applied during the next maintenance window.

    Default: Uses existing setting

    Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

  • :backup_retention_period (Integer)

    The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

    Amazon Aurora

    Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

    Default: Uses existing setting

    Constraints:

    • Must be a value from 0 to 35

    • Can be specified for a MySQL read replica only if the source is running MySQL 5.6 or later

    • Can be specified for a PostgreSQL read replica only if the source is running PostgreSQL 9.3.5

    • Can\'t be set to 0 if the DB instance is a source to read replicas

  • :preferred_backup_window (String)

    The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn\'t result in an outage and the change is asynchronously applied as soon as possible.

    Amazon Aurora

    Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

    Constraints:

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

    • Must be in Universal Time Coordinated (UTC)

    • Must not conflict with the preferred maintenance window

    • Must be at least 30 minutes

  • :preferred_maintenance_window (String)

    The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn\'t result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

    Default: Uses existing setting

    Format: ddd:hh24:mi-ddd:hh24:mi

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Must be at least 30 minutes

  • :multi_az (Boolean)

    A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn\'t result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

  • :engine_version (String)

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

    For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

    For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

  • :allow_major_version_upgrade (Boolean)

    A value that indicates whether major version upgrades are allowed. Changing this parameter doesn\'t result in an outage and the change is asynchronously applied as soon as possible.

    Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance\'s current version.

  • :auto_minor_version_upgrade (Boolean)

    A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn\'t result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage results if this parameter is enabled during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

  • :license_model (String)

    The license model for the DB instance.

    Valid values: license-included | bring-your-own-license | general-public-license

  • :iops (Integer)

    The new Provisioned IOPS (I/O operations per second) value for the RDS instance.

    Changing this setting doesn\'t result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

    If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a read replica for the instance, and creating a DB snapshot of the instance.

    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    Default: Uses existing setting

  • :option_group_name (String)

    Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn\'t result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can\'t be removed from an option group, and that option group can\'t be removed from a DB instance once it is associated with a DB instance

  • :new_db_instance_identifier (String)

    The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur during the next maintenance window if you disable Apply Immediately. This value is stored as a lowercase string.

    Constraints:

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

    • The first character must be a letter.

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

    Example: mydbinstance

  • :storage_type (String)

    Specifies the storage type to be associated with the DB instance.

    If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter.

    If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a read replica for the instance, and creating a DB snapshot of the instance.

    Valid values: standard | gp2 | io1

    Default: io1 if the Iops parameter is specified, otherwise gp2

  • :tde_credential_arn (String)

    The ARN from the key store with which to associate the instance for TDE encryption.

  • :tde_credential_password (String)

    The password for the given ARN from the key store in order to access the device.

  • :ca_certificate_identifier (String)

    Indicates the certificate that needs to be associated with the instance.

  • :domain (String)

    The Active Directory directory ID to move the DB instance to. Specify none to remove the instance from its current domain. The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

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

  • :copy_tags_to_snapshot (Boolean)

    A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

    Amazon Aurora

    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see ModifyDBCluster.

  • :monitoring_interval (Integer)

    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

  • :db_port_number (Integer)

    The port number on which the database accepts connections.

    The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

    Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter.

    MySQL

    Default: 3306

    Valid values: 1150-65535

    MariaDB

    Default: 3306

    Valid values: 1150-65535

    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 1234, 1434, 3260, 3343, 3389, 47001, and 49152-49156.

    Amazon Aurora

    Default: 3306

    Valid values: 1150-65535

  • :publicly_accessible (Boolean)

    A value that indicates whether the DB instance is publicly accessible.

    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance\'s VPC, and to the public IP address from outside of the DB instance\'s VPC. Access to the DB instance is ultimately controlled by the security group it uses, and that public access is not permitted if the security group assigned to the DB instance doesn\'t permit it.

    When the DB instance isn\'t publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

    PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

    Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

  • :monitoring_role_arn (String)

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon 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 in the Amazon RDS User Guide.

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

  • :domain_iam_role_name (String)

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

  • :promotion_tier (Integer)

    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 in the Amazon Aurora User Guide.

    Default: 1

    Valid Values: 0 - 15

  • :enable_iam_database_authentication (Boolean)

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    This setting doesn\'t apply to Amazon Aurora. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.

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

  • :enable_performance_insights (Boolean)

    A value that indicates whether to enable Performance Insights for the DB instance.

    For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

  • :performance_insights_kms_key_id (String)

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses 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.

  • :performance_insights_retention_period (Integer)

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

  • :cloudwatch_logs_export_configuration (Types::CloudwatchLogsExportConfiguration)

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

    A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance immediately. Therefore, the ApplyImmediately parameter has no effect.

  • :processor_features (Array<Types::ProcessorFeature>)

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

  • :use_default_processor_features (Boolean)

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

  • :deletion_protection (Boolean)

    A value that indicates whether the DB instance has deletion protection enabled. The database can\'t be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

  • :max_allocated_storage (Integer)

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

  • :certificate_rotation_restart (Boolean)

    A value that indicates whether the DB instance is restarted when you rotate your SSL/TLS certificate.

    By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.

    Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

    If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:

  • :replica_mode (String)

    A value that sets the open mode of a replica database to either mounted or read-only.

    Currently, this parameter is only supported for Oracle DB instances.

    Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn\'t use Active Data Guard to transmit information to the mounted replica. Because it doesn\'t accept user connections, a mounted replica can\'t serve a read-only workload. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

Returns:

See Also:

#option_groupsArray<OptionGroup>?

Returns:

#parameter_groupsArray<DBParameterGroup>?

Returns:

#pending_maintenance_actions(options = {}) ⇒ Collection<PendingMaintenanceAction>

Returns a Collection of PendingMaintenanceAction resources. No API requests are made until you call an enumerable method on the collection. Client#describe_pending_maintenance_actions will be called multiple times until every PendingMaintenanceAction has been yielded.

Examples:

Request syntax example with placeholder values


dbinstance.pending_maintenance_actions({
  resource_identifier: "String",
  marker: "String",
  max_records: 1,
})

Enumerating PendingMaintenanceAction resources.

dbinstance.pending_maintenance_actions.each do |pendingmaintenanceaction|
  # yields each pendingmaintenanceaction
end

Enumerating PendingMaintenanceAction resources with a limit.

dbinstance.pending_maintenance_actions.limit(10).each do |pendingmaintenanceaction|
  # yields at most 10 pending_maintenance_actions
end

Options Hash (options):

  • :resource_identifier (String)

    The ARN of a resource to return pending maintenance actions for.

  • :marker (String)

    An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

Returns:

See Also:

#promote(options = {}) ⇒ DBInstance

Examples:

Request syntax example with placeholder values


dbinstance.promote({
  backup_retention_period: 1,
  preferred_backup_window: "String",
})

Basic usage

dbinstance = dbinstance.promote(options)
dbinstance.id
#=> "dbinstance-id"

Options Hash (options):

  • :backup_retention_period (Integer)

    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.

    • Can\'t be set to 0 if the DB instance is a source to read replicas.

  • :preferred_backup_window (String)

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS 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.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

Returns:

See Also:

#read_replicasArray<DBInstance>?

#reboot(options = {}) ⇒ DBInstance

Examples:

Request syntax example with placeholder values


dbinstance.reboot({
  force_failover: false,
})

Basic usage

dbinstance = dbinstance.reboot(options)
dbinstance.id
#=> "dbinstance-id"

Options Hash (options):

  • :force_failover (Boolean)

    A value that indicates whether the reboot is conducted through a Multi-AZ failover.

    Constraint: You can\'t enable force failover if the instance isn\'t configured for Multi-AZ.

Returns:

See Also:

#restore(options = {}) ⇒ DBInstance

Examples:

Request syntax example with placeholder values


dbinstance.restore({
  target_db_instance_identifier: "String", # required
  restore_time: Time.now,
  use_latest_restorable_time: false,
  db_instance_class: "String",
  port: 1,
  availability_zone: "String",
  db_subnet_group_name: "String",
  multi_az: false,
  publicly_accessible: false,
  auto_minor_version_upgrade: false,
  license_model: "String",
  db_name: "String",
  engine: "String",
  iops: 1,
  option_group_name: "String",
  copy_tags_to_snapshot: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  storage_type: "String",
  tde_credential_arn: "String",
  tde_credential_password: "String",
  vpc_security_group_ids: ["String"],
  domain: "String",
  domain_iam_role_name: "String",
  enable_iam_database_authentication: false,
  enable_cloudwatch_logs_exports: ["String"],
  processor_features: [
    {
      name: "String",
      value: "String",
    },
  ],
  use_default_processor_features: false,
  db_parameter_group_name: "String",
  deletion_protection: false,
  source_dbi_resource_id: "String",
  max_allocated_storage: 1,
})

Basic usage

dbinstance = dbinstance.restore(options)
dbinstance.id
#=> "dbinstance-id"

Options Hash (options):

  • :target_db_instance_identifier (required, String)

    The name of the new DB instance to be created.

    Constraints:

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

    • First character must be a letter

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

  • :restore_time (Time)

    The date and time to restore from.

    Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

    Constraints:

    • Must be before the latest restorable time for the DB instance

    • Can\'t be specified if the UseLatestRestorableTime parameter is enabled

    Example: 2009-09-07T23:45:00Z

  • :use_latest_restorable_time (Boolean)

    A value that indicates whether the DB instance is restored from the latest backup time. By default, the DB instance isn\'t restored from the latest backup time.

    Constraints: Can\'t be specified if the RestoreTime parameter is provided.

  • :db_instance_class (String)

    The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    Default: The same DBInstanceClass as the original DB instance.

  • :port (Integer)

    The port number on which the database accepts connections.

    Constraints: Value must be 1150-65535

    Default: The same port as the original DB instance.

  • :availability_zone (String)

    The Availability Zone (AZ) where the DB instance will be created.

    Default: A random, system-chosen Availability Zone.

    Constraint: You can\'t specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

    Example: us-east-1a

  • :db_subnet_group_name (String)

    The DB subnet group name to use for the new instance.

    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

    Example: mySubnetgroup

  • :multi_az (Boolean)

    A value that indicates whether the DB instance is a Multi-AZ deployment.

    Constraint: You can\'t specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

  • :publicly_accessible (Boolean)

    A value that indicates whether the DB instance is publicly accessible.

    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance\'s VPC, and to the public IP address from outside of the DB instance\'s VPC. Access to the DB instance is ultimately controlled by the security group it uses, and that public access is not permitted if the security group assigned to the DB instance doesn\'t permit it.

    When the DB instance isn\'t publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

    For more information, see CreateDBInstance.

  • :auto_minor_version_upgrade (Boolean)

    A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

  • :license_model (String)

    License model information for the restored DB instance.

    Default: Same as source.

    Valid values: license-included | bring-your-own-license | general-public-license

  • :db_name (String)

    The database name for the restored DB instance.

    This parameter isn\'t used for the MySQL or MariaDB engines.

  • :engine (String)

    The database engine to use for the new instance.

    Default: The same as source

    Constraint: Must be compatible with the engine of the source

    Valid Values:

    • mariadb

    • mysql

    • oracle-ee

    • oracle-se2

    • oracle-se1

    • oracle-se

    • postgres

    • sqlserver-ee

    • sqlserver-se

    • sqlserver-ex

    • sqlserver-web

  • :iops (Integer)

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

    Constraints: Must be an integer greater than 1000.

    SQL Server

    Setting the IOPS value for the SQL Server database engine isn\'t supported.

  • :option_group_name (String)

    The name of the option group to be used for the restored DB instance.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can\'t be removed from an option group, and that option group can\'t be removed from a DB instance once it is associated with a DB instance

  • :copy_tags_to_snapshot (Boolean)

    A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

  • :tags (Array<Types::Tag>)

    A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

  • :storage_type (String)

    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 gp2

  • :tde_credential_arn (String)

    The ARN from the key store with which to associate the instance for TDE encryption.

  • :tde_credential_password (String)

    The password for the given ARN from the key store in order to access the device.

  • :vpc_security_group_ids (Array<String>)

    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.

  • :domain (String)

    Specify the Active Directory directory ID to restore the DB instance in. The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

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

  • :domain_iam_role_name (String)

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

  • :enable_iam_database_authentication (Boolean)

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

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

  • :enable_cloudwatch_logs_exports (Array<String>)

    The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

  • :processor_features (Array<Types::ProcessorFeature>)

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

  • :use_default_processor_features (Boolean)

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

  • :db_parameter_group_name (String)

    The name of the DB parameter group to associate with this DB instance.

    If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used.

    Constraints:

    • If supplied, must match the name of an existing DBParameterGroup.

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter.

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

  • :deletion_protection (Boolean)

    A value that indicates whether the DB instance has deletion protection enabled. The database can\'t be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

  • :source_dbi_resource_id (String)

    The resource ID of the source DB instance from which to restore.

  • :max_allocated_storage (Integer)

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

Returns:

See Also:

#security_groupsArray<DBSecurityGroup>?

Returns:

#snapshots(options = {}) ⇒ Collection<DBSnapshot>

Returns a Collection of Aws::RDS::DBSnapshot resources. No API requests are made until you call an enumerable method on the collection. Client#describe_db_snapshots will be called multiple times until every Aws::RDS::DBSnapshot has been yielded.

Examples:

Request syntax example with placeholder values


dbinstance.snapshots({
  db_snapshot_identifier: "String",
  snapshot_type: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
  include_shared: false,
  include_public: false,
  dbi_resource_id: "String",
})

Enumerating Aws::RDS::DBSnapshot resources.

dbinstance.snapshots.each do |dbsnapshot|
  # yields each dbsnapshot
end

Enumerating Aws::RDS::DBSnapshot resources with a limit.

dbinstance.snapshots.limit(10).each do |dbsnapshot|
  # yields at most 10 snapshots
end

Options Hash (options):

  • :db_snapshot_identifier (String)

    A specific DB snapshot identifier to describe. This parameter can\'t be used in conjunction with DBInstanceIdentifier. This value is stored as a lowercase string.

    Constraints:

    • If supplied, must match the identifier of an existing DBSnapshot.

    • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

  • :snapshot_type (String)

    The type of snapshots to be returned. You can specify one of the following values:

    • automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.

    • manual - Return all DB snapshots that have been taken by my AWS account.

    • shared - Return all manual DB snapshots that have been shared to my AWS account.

    • public - Return all DB snapshots that have been marked as public.

    • awsbackup - Return the DB snapshots managed by the AWS Backup service.

      For information about AWS Backup, see the AWS Backup Developer Guide.

      The awsbackup type does not apply to Aurora.

    If you don\'t specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by enabling the IncludeShared parameter. You can include public snapshots with these results by enabling the IncludePublic parameter.

    The IncludeShared and IncludePublic parameters don\'t apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn\'t apply when SnapshotType is set to shared. The IncludeShared parameter doesn\'t apply when SnapshotType is set to public.

  • :filters (Array<Types::Filter>)

    A filter that specifies one or more DB snapshots to describe.

    Supported filters:

    • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs).

    • db-snapshot-id - Accepts DB snapshot identifiers.

    • dbi-resource-id - Accepts identifiers of source DB instances.

    • snapshot-type - Accepts types of DB snapshots.

    • engine - Accepts names of database engines.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous DescribeDBSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

  • :include_shared (Boolean)

    A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included.

    You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the ModifyDBSnapshotAttribute API action.

  • :include_public (Boolean)

    A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included.

    You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

  • :dbi_resource_id (String)

    A specific DB resource ID to describe.

Returns:

See Also:

#subnet_groupDBSubnetGroup?

Returns:

#subscribe_to(options = {}) ⇒ EventSubscription

Examples:

Request syntax example with placeholder values


dbinstance.subscribe_to({
  subscription_name: "String", # required
})

Basic usage

eventsubscription = dbinstance.subscribe_to(options)
eventsubscription.name
#=> "eventsubscription-name"

Options Hash (options):

  • :subscription_name (required, String)

    The name of the RDS event notification subscription you want to add a source identifier to.

Returns:

See Also:

#unsubscribe_from(options = {}) ⇒ EventSubscription

Examples:

Request syntax example with placeholder values


dbinstance.unsubscribe_from({
  subscription_name: "String", # required
})

Basic usage

eventsubscription = dbinstance.unsubscribe_from(options)
eventsubscription.name
#=> "eventsubscription-name"

Options Hash (options):

  • :subscription_name (required, String)

    The name of the RDS event notification subscription you want to remove a source identifier from.

Returns:

See Also: