Class: Aws::RDS::DBInstance

Inherits:
Object
  • Object
show all
Extended by:
Deprecations
Defined in:
lib/aws-sdk-rds/db_instance.rb

Defined Under Namespace

Classes: Collection

Read-Only Attributes collapse

Actions collapse

Associations collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of DBInstance.

Overloads:

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

    Parameters:

    • id (String)

    Options Hash (options):

  • #initialize(options = {}) ⇒ DBInstance

    Options Hash (options):

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


22
23
24
25
26
27
28
# File 'lib/aws-sdk-rds/db_instance.rb', line 22

def initialize(*args)
  options = Hash === args.last ? args.pop.dup : {}
  @id = extract_id(args, options)
  @data = options.delete(:data)
  @client = options.delete(:client) || Client.new(options)
  @waiter_block_warned = false
end

Instance Method Details

#activity_stream_engine_native_audit_fields_includedBoolean

Indicates whether engine-native audit fields are included in the database activity stream.

Returns:

  • (Boolean)


634
635
636
# File 'lib/aws-sdk-rds/db_instance.rb', line 634

def activity_stream_engine_native_audit_fields_included
  data[:activity_stream_engine_native_audit_fields_included]
end

#activity_stream_kinesis_stream_nameString

The name of the Amazon Kinesis data stream used for the database activity stream.

Returns:

  • (String)


619
620
621
# File 'lib/aws-sdk-rds/db_instance.rb', line 619

def activity_stream_kinesis_stream_name
  data[:activity_stream_kinesis_stream_name]
end

#activity_stream_kms_key_idString

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

Returns:

  • (String)


612
613
614
# File 'lib/aws-sdk-rds/db_instance.rb', line 612

def activity_stream_kms_key_id
  data[:activity_stream_kms_key_id]
end

#activity_stream_modeString

The mode of the database activity stream. Database events such as a change or access generate an activity stream event. RDS for Oracle always handles these events asynchronously.

Returns:

  • (String)


627
628
629
# File 'lib/aws-sdk-rds/db_instance.rb', line 627

def activity_stream_mode
  data[:activity_stream_mode]
end

#activity_stream_policy_statusString

The status of the policy state of the activity stream.

Returns:

  • (String)


708
709
710
# File 'lib/aws-sdk-rds/db_instance.rb', line 708

def activity_stream_policy_status
  data[:activity_stream_policy_status]
end

#activity_stream_statusString

The status of the database activity stream.

Returns:

  • (String)


603
604
605
# File 'lib/aws-sdk-rds/db_instance.rb', line 603

def activity_stream_status
  data[:activity_stream_status]
end

#allocated_storageInteger

The amount of storage in gibibytes (GiB) allocated for the DB instance.

Returns:

  • (Integer)


98
99
100
# File 'lib/aws-sdk-rds/db_instance.rb', line 98

def allocated_storage
  data[:allocated_storage]
end

#associated_rolesArray<Types::DBInstanceRole>

The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB instance.

Returns:



534
535
536
# File 'lib/aws-sdk-rds/db_instance.rb', line 534

def associated_roles
  data[:associated_roles]
end

#auto_minor_version_upgradeBoolean

Indicates whether minor version patches are applied automatically.

Returns:

  • (Boolean)


192
193
194
# File 'lib/aws-sdk-rds/db_instance.rb', line 192

def auto_minor_version_upgrade
  data[:auto_minor_version_upgrade]
end

#automatic_restart_timeTime

The time when a stopped DB instance is restarted automatically.

Returns:

  • (Time)


65
66
67
# File 'lib/aws-sdk-rds/db_instance.rb', line 65

def automatic_restart_time
  data[:automatic_restart_time]
end

#automation_modeString

The automation mode of the RDS Custom DB instance: ‘full` or `all paused`. If `full`, the DB instance automates monitoring and instance recovery. If `all paused`, the instance pauses automation for the duration set by `–resume-full-automation-mode-minutes`.

Returns:

  • (String)


643
644
645
# File 'lib/aws-sdk-rds/db_instance.rb', line 643

def automation_mode
  data[:automation_mode]
end

#availability_zoneString

The name of the Availability Zone where the DB instance is located.

Returns:

  • (String)


144
145
146
# File 'lib/aws-sdk-rds/db_instance.rb', line 144

def availability_zone
  data[:availability_zone]
end

#aws_backup_recovery_point_arnString

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

Returns:

  • (String)


597
598
599
# File 'lib/aws-sdk-rds/db_instance.rb', line 597

def aws_backup_recovery_point_arn
  data[:aws_backup_recovery_point_arn]
end

#backup_retention_periodInteger

The number of days for which automatic DB snapshots are retained.

Returns:

  • (Integer)


118
119
120
# File 'lib/aws-sdk-rds/db_instance.rb', line 118

def backup_retention_period
  data[:backup_retention_period]
end

#backup_targetString

The location where automated backups and manual snapshots are stored: Amazon Web Services Outposts or the Amazon Web Services Region.

Returns:

  • (String)


681
682
683
# File 'lib/aws-sdk-rds/db_instance.rb', line 681

def backup_target
  data[:backup_target]
end

#ca_certificate_identifierString

The identifier of the CA certificate for this DB instance.

For more information, see [Using SSL/TLS to encrypt a connection to a DB instance] in the *Amazon RDS User Guide* and [ Using SSL/TLS to encrypt a connection to a DB cluster] in the *Amazon Aurora User Guide*.

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html

Returns:

  • (String)


372
373
374
# File 'lib/aws-sdk-rds/db_instance.rb', line 372

def ca_certificate_identifier
  data[:ca_certificate_identifier]
end

#certificateCertificate?

Returns:



4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
# File 'lib/aws-sdk-rds/db_instance.rb', line 4726

def certificate
  if data[:ca_certificate_identifier]
    Certificate.new(
      id: data[:ca_certificate_identifier],
      client: @client
    )
  else
    nil
  end
end

#certificate_detailsTypes::CertificateDetails

The details of the DB instance’s server certificate.



744
745
746
# File 'lib/aws-sdk-rds/db_instance.rb', line 744

def certificate_details
  data[:certificate_details]
end

#character_set_nameString

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

Returns:

  • (String)


262
263
264
# File 'lib/aws-sdk-rds/db_instance.rb', line 262

def character_set_name
  data[:character_set_name]
end

#clientClient

Returns:



792
793
794
# File 'lib/aws-sdk-rds/db_instance.rb', line 792

def client
  @client
end

#clusterDBCluster?

Returns:



4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
# File 'lib/aws-sdk-rds/db_instance.rb', line 4738

def cluster
  if data[:db_cluster_identifier]
    DBCluster.new(
      id: data[:db_cluster_identifier],
      client: @client
    )
  else
    nil
  end
end

#copy_tags_to_snapshotBoolean

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

This setting doesn’t apply to Amazon Aurora DB instances. 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)


391
392
393
# File 'lib/aws-sdk-rds/db_instance.rb', line 391

def copy_tags_to_snapshot
  data[:copy_tags_to_snapshot]
end

#create(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


dbinstance = db_instance.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",
  domain_fqdn: "String",
  domain_ou: "String",
  domain_auth_secret_arn: "String",
  domain_dns_ips: ["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,
  enable_customer_owned_ip: false,
  custom_iam_instance_profile: "String",
  backup_target: "String",
  network_type: "String",
  storage_throughput: 1,
  manage_master_user_password: false,
  master_user_secret_kms_key_id: "String",
  ca_certificate_identifier: "String",
  db_system_id: "String",
  dedicated_log_volume: false,
  multi_tenant: false,
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :db_name (String)

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

    Amazon Aurora MySQL

    : The name of the database to create when the primary DB instance of

    the Aurora MySQL DB cluster is created. If this parameter isn't
    specified for an Aurora MySQL DB cluster, no database is created in
    the DB cluster.
    
    Constraints:
    
    * Must contain 1 to 64 alphanumeric characters.
    
    * Can't be a word reserved by the database engine.
    

    Amazon Aurora PostgreSQL

    : The name of the database to create when the primary DB instance of

    the Aurora PostgreSQL DB cluster is created. If this parameter
    isn't specified for an Aurora PostgreSQL DB cluster, a database
    named `postgres` is created in the DB cluster.
    
    Constraints:
    
    * It must contain 1 to 63 alphanumeric characters.
    
    * Must begin with a letter. Subsequent characters can be letters,
      underscores, or digits (0 to 9).
    
    * Can't be a word reserved by the database engine.
    

    Amazon RDS Custom for Oracle

    : The Oracle System ID (SID) of the created RDS Custom DB instance. If

    you don't specify a value, the default value is `ORCL` for non-CDBs
    and `RDSCDB` for CDBs.
    
    Default: `ORCL`
    
    Constraints:
    
    * Must contain 1 to 8 alphanumeric characters.
    
    * Must contain a letter.
    
    * Can't be a word reserved by the database engine.
    

    Amazon RDS Custom for SQL Server

    : Not applicable. Must be null.

    RDS for Db2

    : 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. In some cases, we recommend that you don't add a database
    name. For more information, see [Additional considerations][1] in
    the *Amazon RDS User Guide*.
    
    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.
    

    RDS for 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.
    

    RDS for 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.
    

    RDS for Oracle

    : The Oracle System ID (SID) of the created DB instance. If you don’t

    specify a value, the default value is `ORCL`. You can't specify the
    string `null`, or any other reserved word, for `DBName`.
    
    Default: `ORCL`
    
    Constraints:
    
    * Can't be longer than 8 characters.
    
    ^
    

    RDS for PostgreSQL

    : The name of the database to create when the DB instance is created.

    If this parameter isn't specified, a database named `postgres` 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.
    

    RDS for SQL Server

    : Not applicable. Must be null.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-db-instance-prereqs.html#db2-prereqs-additional-considerations

  • :allocated_storage (Integer)

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

    This setting doesn’t apply to Amazon Aurora DB instances. 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.

    Amazon RDS Custom

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

    following:
    
    * General Purpose (SSD) storage (gp2, gp3): Must be an integer from
      40 to 65536 for RDS Custom for Oracle, 16384 for RDS Custom for
      SQL Server.
    
    * Provisioned IOPS storage (io1, io2): Must be an integer from 40 to
      65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL
      Server.
    

    RDS for Db2

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

    following:
    
    * General Purpose (SSD) storage (gp3): Must be an integer from 20 to
      65536.
    
    * Provisioned IOPS storage (io1, io2): Must be an integer from 100
      to 65536.
    

    RDS for MariaDB

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

    following:
    
    * General Purpose (SSD) storage (gp2, gp3): Must be an integer from
      20 to 65536.
    
    * Provisioned IOPS storage (io1, io2): Must be an integer from 100
      to 65536.
    
    * Magnetic storage (standard): Must be an integer from 5 to 3072.
    

    RDS for MySQL

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

    following:
    
    * General Purpose (SSD) storage (gp2, gp3): Must be an integer from
      20 to 65536.
    
    * Provisioned IOPS storage (io1, io2): Must be an integer from 100
      to 65536.
    
    * Magnetic storage (standard): Must be an integer from 5 to 3072.
    

    RDS for Oracle

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

    following:
    
    * General Purpose (SSD) storage (gp2, gp3): Must be an integer from
      20 to 65536.
    
    * Provisioned IOPS storage (io1, io2): Must be an integer from 100
      to 65536.
    
    * Magnetic storage (standard): Must be an integer from 10 to 3072.
    

    RDS for PostgreSQL

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

    following:
    
    * General Purpose (SSD) storage (gp2, gp3): Must be an integer from
      20 to 65536.
    
    * Provisioned IOPS storage (io1, io2): Must be an integer from 100
      to 65536.
    
    * Magnetic storage (standard): Must be an integer from 5 to 3072.
    

    RDS for SQL Server

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

    following:
    
    * General Purpose (SSD) storage (gp2, gp3):
    
      * Enterprise and Standard editions: Must be an integer from 20 to
        16384.
    
      * Web and Express editions: Must be an integer from 20 to 16384.
    
    * Provisioned IOPS storage (io1, io2):
    
      * Enterprise and Standard editions: Must be an integer from 100 to
        16384.
    
      * Web and Express editions: Must be an integer from 100 to 16384.
    
    * Magnetic storage (standard):
    
      * Enterprise and Standard editions: Must be an integer from 20 to
        1024.
    
      * 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.m5.large`. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes] in the *Amazon RDS User Guide* or [Aurora DB instance classes] in the *Amazon Aurora User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html

  • :engine (required, String)

    The database engine to use for this DB instance.

    Not every database engine is available in every Amazon Web Services Region.

    Valid Values:

    • ‘aurora-mysql` (for Aurora MySQL DB instances)

    • ‘aurora-postgresql` (for Aurora PostgreSQL DB instances)

    • ‘custom-oracle-ee` (for RDS Custom for Oracle DB instances)

    • ‘custom-oracle-ee-cdb` (for RDS Custom for Oracle DB instances)

    • ‘custom-oracle-se2` (for RDS Custom for Oracle DB instances)

    • ‘custom-oracle-se2-cdb` (for RDS Custom for Oracle DB instances)

    • ‘custom-sqlserver-ee` (for RDS Custom for SQL Server DB instances)

    • ‘custom-sqlserver-se` (for RDS Custom for SQL Server DB instances)

    • ‘custom-sqlserver-web` (for RDS Custom for SQL Server DB instances)

    • ‘db2-ae`

    • ‘db2-se`

    • ‘mariadb`

    • ‘mysql`

    • ‘oracle-ee`

    • ‘oracle-ee-cdb`

    • ‘oracle-se2`

    • ‘oracle-se2-cdb`

    • ‘postgres`

    • ‘sqlserver-ee`

    • ‘sqlserver-se`

    • ‘sqlserver-ex`

    • ‘sqlserver-web`

  • :master_username (String)

    The name for the master user.

    This setting doesn’t apply to Amazon Aurora DB instances. The name for the master user is managed by the DB cluster.

    This setting is required for RDS DB instances.

    Constraints:

    • Must be 1 to 16 letters, numbers, or underscores.

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

    This setting doesn’t apply to Amazon Aurora DB instances. The password for the master user is managed by the DB cluster.

    Constraints:

    • Can’t be specified if ‘ManageMasterUserPassword` is turned on.

    • Can include any printable ASCII character except “/”, “”“, or ”@“. For RDS for Oracle, can’t include the ”&amp;“ (ampersand) or the ”‘“ (single quotes) character.

    Length Constraints:

    • RDS for Db2 - Must contain from 8 to 255 characters.

    • RDS for MariaDB - Must contain from 8 to 41 characters.

    • RDS for Microsoft SQL Server - Must contain from 8 to 128 characters.

    • RDS for MySQL - Must contain from 8 to 41 characters.

    • RDS for Oracle - Must contain from 8 to 30 characters.

    • RDS for PostgreSQL - Must contain from 8 to 128 characters.

  • :db_security_groups (Array<String>)

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

    This setting applies to the legacy EC2-Classic platform, which is no longer used to create new DB instances. Use the ‘VpcSecurityGroupIds` setting instead.

  • :vpc_security_group_ids (Array<String>)

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

    This setting doesn’t apply to Amazon Aurora DB instances. 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 Amazon Web Services Regions and Availability Zones, see [Regions and Availability Zones].

    For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don’t specify one.

    Default: A random, system-chosen Availability Zone in the endpoint’s Amazon Web Services Region.

    Constraints:

    • 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 Amazon Web Services Region as the current endpoint.

    Example: ‘us-east-1d`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html

  • :db_subnet_group_name (String)

    A DB subnet group to associate with this DB instance.

    Constraints:

    • Must match the name of an existing DB subnet group.

    • Must not be ‘default`.

    Example: ‘mydbsubnetgroup`

  • :preferred_maintenance_window (String)

    The time range each week during which system maintenance can occur. For more information, see [Amazon RDS Maintenance Window] in the *Amazon RDS User Guide.*

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

    Constraints:

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

    • The day values must be ‘mon | tue | wed | thu | fri | sat | sun`.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred backup window.

    • Must be at least 30 minutes.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance

  • :db_parameter_group_name (String)

    The name of the DB parameter group to associate with this DB instance. If you don’t specify a value, then Amazon RDS uses the default DB parameter group for the specified DB engine and version.

    This setting doesn’t apply to RDS Custom DB instances.

    Constraints:

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

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

    This setting doesn’t apply to Amazon Aurora DB instances. 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.

    • Can’t be set to 0 for an RDS Custom for Oracle DB instance.

  • :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 Amazon Web Services Region. For more information, see [Backup window] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to Amazon Aurora DB instances. The daily time range for creating automated backups is managed by the DB cluster.

    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.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow

  • :port (Integer)

    The port number on which the database accepts connections.

    This setting doesn’t apply to Aurora DB instances. The port number is managed by the cluster.

    Valid Values: ‘1150-65535`

    Default:

    • RDS for Db2 - ‘50000`

    • RDS for MariaDB - ‘3306`

    • RDS for Microsoft SQL Server - ‘1433`

    • RDS for MySQL - ‘3306`

    • RDS for Oracle - ‘1521`

    • RDS for PostgreSQL - ‘5432`

    Constraints:

    • For RDS for Microsoft SQL Server, the value can’t be ‘1234`, `1434`, `3260`, `3343`, `3389`, `47001`, or `49152-49156`.

    ^

  • :multi_az (Boolean)

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

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (DB instance Availability Zones (AZs) are managed by the DB cluster.)

    • RDS Custom

  • :engine_version (String)

    The version number of the database engine to use.

    This setting doesn’t apply to Amazon Aurora DB instances. The version number of the database engine the DB instance uses is managed by the DB cluster.

    For a list of valid engine versions, use the ‘DescribeDBEngineVersions` operation.

    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 Amazon Web Services Region.

    Amazon RDS Custom for Oracle

    : A custom engine version (CEV) that you have previously created. This

    setting is required for RDS Custom for Oracle. The CEV name has the
    following format: 19.*customized\_string*. A valid CEV name is
    `19.my_cev1`. For more information, see [ Creating an RDS Custom for
    Oracle DB instance][1] in the *Amazon RDS User Guide*.
    

    Amazon RDS Custom for SQL Server

    : See [RDS Custom for SQL Server general requirements] in the

    *Amazon RDS User Guide*.
    

    RDS for Db2

    : For information, see [Db2 on Amazon RDS versions] in the *Amazon

    RDS User Guide*.
    

    RDS for MariaDB

    : For information, see [MariaDB on Amazon RDS versions] in the

    *Amazon RDS User Guide*.
    

    RDS for Microsoft SQL Server

    : For information, see [Microsoft SQL Server versions on Amazon

    RDS][5] in the *Amazon RDS User Guide*.
    

    RDS for MySQL

    : For information, see [MySQL on Amazon RDS versions] in the

    *Amazon RDS User Guide*.
    

    RDS for Oracle

    : For information, see [Oracle Database Engine release notes] in

    the *Amazon RDS User Guide*.
    

    RDS for PostgreSQL

    : For information, see [Amazon RDS for PostgreSQL versions and

    extensions][8] in the *Amazon RDS User Guide*.
    

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.create [2]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html [3]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt [4]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt [5]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport [6]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt [7]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html [8]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts

  • :auto_minor_version_upgrade (Boolean)

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

    If you create an RDS Custom DB instance, you must set ‘AutoMinorVersionUpgrade` to `false`.

  • :license_model (String)

    The license model information for this DB instance.

    This setting doesn’t apply to Amazon Aurora or RDS Custom DB instances.

    Valid Values:

    • RDS for Db2 - ‘bring-your-own-license`

    • RDS for MariaDB - ‘general-public-license`

    • RDS for Microsoft SQL Server - ‘license-included`

    • RDS for MySQL - ‘general-public-license`

    • RDS for Oracle - ‘bring-your-own-license | license-included`

    • RDS for PostgreSQL - ‘postgresql-license`

  • :iops (Integer)

    The amount of Provisioned IOPS (input/output operations per second) to initially allocate for the DB instance. For information about valid IOPS values, see [Amazon RDS DB instance storage] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.

    Constraints:

    • For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.

    • For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html

  • :option_group_name (String)

    The option group to associate the DB instance with.

    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 after it is associated with a DB instance.

    This setting doesn’t apply to Amazon Aurora or RDS Custom DB instances.

  • :character_set_name (String)

    For supported engines, the character set (‘CharacterSet`) to associate the DB instance with.

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora - The character set is managed by the DB cluster. For more information, see ‘CreateDBCluster`.

    • RDS Custom - However, if you need to change the character set, you can change it on the database itself.

  • :nchar_character_set_name (String)

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :publicly_accessible (Boolean)

    Specifies whether the DB instance is publicly accessible.

    When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance’s virtual private cloud (VPC). It resolves 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. 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 this DB instance will belong to.

    This setting doesn’t apply to RDS Custom DB instances.

  • :storage_type (String)

    The storage type to associate with the DB instance.

    If you specify ‘io1`, `io2`, or `gp3`, you must also include a value for the `Iops` parameter.

    This setting doesn’t apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.

    Valid Values: ‘gp2 | gp3 | io1 | io2 | standard`

    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.

    This setting doesn’t apply to Amazon Aurora or RDS Custom DB instances.

  • :tde_credential_password (String)

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :storage_encrypted (Boolean)

    Specifes whether the DB instance is encrypted. By default, it isn’t encrypted.

    For RDS Custom DB instances, either enable this setting or leave it unset. Otherwise, Amazon RDS reports an error.

    This setting doesn’t apply to Amazon Aurora DB instances. The encryption for DB instances is managed by the DB cluster.

  • :kms_key_id (String)

    The Amazon Web Services KMS key identifier for an encrypted DB instance.

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

    This setting doesn’t apply to Amazon Aurora DB instances. The Amazon Web Services 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 uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

    For Amazon RDS Custom, a KMS key is required for DB instances. For most RDS engines, if you leave this parameter empty while enabling ‘StorageEncrypted`, the engine uses the default KMS key. However, RDS Custom doesn’t use the default key when this parameter is empty. You must explicitly specify a key.

  • :domain (String)

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

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

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (The domain is managed by the DB cluster.)

    • RDS Custom

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html

  • :domain_fqdn (String)

    The fully qualified domain name (FQDN) of an Active Directory domain.

    Constraints:

    • Can’t be longer than 64 characters.

    ^

    Example: ‘mymanagedADtest.mymanagedAD.mydomain`

  • :domain_ou (String)

    The Active Directory organizational unit for your DB instance to join.

    Constraints:

    • Must be in the distinguished name format.

    • Can’t be longer than 64 characters.

    Example: ‘OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`

  • :domain_auth_secret_arn (String)

    The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

    Example: ‘arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`

  • :domain_dns_ips (Array<String>)

    The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

    Constraints:

    • Two IP addresses must be provided. If there isn’t a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.

    ^

    Example: ‘123.124.125.126,234.235.236.237`

  • :copy_tags_to_snapshot (Boolean)

    Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

    This setting doesn’t apply to Amazon Aurora DB instances. 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 collection of Enhanced Monitoring metrics, specify ‘0`.

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

    This setting doesn’t apply to RDS Custom DB instances.

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

    Default: ‘0`

  • :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, see [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.

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling

  • :domain_iam_role_name (String)

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

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (The domain is managed by the DB cluster.)

    • RDS Custom

  • :promotion_tier (Integer)

    The order of priority 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*.

    This setting doesn’t apply to RDS Custom DB instances.

    Default: ‘1`

    Valid Values: ‘0 - 15`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance

  • :timezone (String)

    The time zone of the DB instance. The time zone parameter is currently supported only by [RDS for Db2] and [RDS for SQL Server].

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone [2]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone

  • :enable_iam_database_authentication (Boolean)

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

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

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB cluster.)

    • RDS Custom

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html

  • :enable_performance_insights (Boolean)

    Specifies whether to enable Performance Insights for the DB instance. For more information, see [Using Amazon Performance Insights] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html

  • :performance_insights_kms_key_id (String)

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

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

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :performance_insights_retention_period (Integer)

    The number of days to retain Performance Insights data.

    This setting doesn’t apply to RDS Custom DB instances.

    Valid Values:

    • ‘7`

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

    • ‘731`

    Default: ‘7` days

    If you specify a retention period that isn’t valid, such as ‘94`, Amazon RDS returns an error.

  • :enable_cloudwatch_logs_exports (Array<String>)

    The list of log types to enable for exporting to CloudWatch Logs. For more information, see [ Publishing Database Logs to Amazon CloudWatch Logs] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (CloudWatch Logs exports are managed by the DB cluster.)

    • RDS Custom

    The following values are valid for each DB engine:

    • RDS for Db2 - ‘diag.log | notify.log`

    • RDS for MariaDB - ‘audit | error | general | slowquery`

    • RDS for Microsoft SQL Server - ‘agent | error`

    • RDS for MySQL - ‘audit | error | general | slowquery`

    • RDS for Oracle - ‘alert | audit | listener | trace | oemagent`

    • RDS for PostgreSQL - ‘postgresql | upgrade`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch

  • :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.

    This setting doesn’t apply to Amazon Aurora or RDS Custom DB instances.

  • :deletion_protection (Boolean)

    Specifies whether the DB instance has deletion protection enabled. The database can’t be deleted when deletion protection is enabled. By default, deletion protection isn’t enabled. For more information, see [ Deleting a DB Instance].

    This setting doesn’t apply to Amazon Aurora DB instances. 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.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html

  • :max_allocated_storage (Integer)

    The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

    For more information about this setting, including limitations that apply to it, see [ Managing capacity automatically with Amazon RDS storage autoscaling] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (Storage is managed by the DB cluster.)

    • RDS Custom

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling

  • :enable_customer_owned_ip (Boolean)

    Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

    A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

    For more information about RDS on Outposts, see [Working with Amazon RDS on Amazon Web Services Outposts] in the *Amazon RDS User Guide*.

    For more information about CoIPs, see [Customer-owned IP addresses] in the *Amazon Web Services Outposts User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html [2]: docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing

  • :custom_iam_instance_profile (String)

    The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.

    This setting is required for RDS Custom.

    Constraints:

    • The profile must exist in your account.

    • The profile must have an IAM role that Amazon EC2 has permissions to assume.

    • The instance profile name and the associated IAM role name must start with the prefix ‘AWSRDSCustom`.

    For the list of permissions required for the IAM role, see [ Configure IAM and your VPC] in the *Amazon RDS User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc

  • :backup_target (String)

    The location for storing automated backups and manual snapshots.

    Valid Values:

    • ‘outposts` (Amazon Web Services Outposts)

    • ‘region` (Amazon Web Services Region)

    Default: ‘region`

    For more information, see [Working with Amazon RDS on Amazon Web Services Outposts] in the *Amazon RDS User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html

  • :network_type (String)

    The network type of the DB instance.

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

    For more information, see [ Working with a DB instance in a VPC] in the *Amazon RDS User Guide.*

    Valid Values: ‘IPV4 | DUAL`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html

  • :storage_throughput (Integer)

    The storage throughput value for the DB instance.

    This setting applies only to the ‘gp3` storage type.

    This setting doesn’t apply to Amazon Aurora or RDS Custom DB instances.

  • :manage_master_user_password (Boolean)

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

    For more information, see [Password management with Amazon Web Services Secrets Manager] in the *Amazon RDS User Guide.*

    Constraints:

    • Can’t manage the master user password with Amazon Web Services Secrets Manager if ‘MasterUserPassword` is specified.

    ^

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html

  • :master_user_secret_kms_key_id (String)

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

    This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB instance.

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

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

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

  • :ca_certificate_identifier (String)

    The CA certificate identifier to use for the DB instance’s server certificate.

    This setting doesn’t apply to RDS Custom DB instances.

    For more information, see [Using SSL/TLS to encrypt a connection to a DB instance] in the *Amazon RDS User Guide* and [ Using SSL/TLS to encrypt a connection to a DB cluster] in the *Amazon Aurora User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html

  • :db_system_id (String)

    The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term “Oracle database instance” refers exclusively to the system global area (SGA) and Oracle background processes. If you don’t specify a SID, the value defaults to ‘RDSCDB`. The Oracle SID is also the name of your CDB.

  • :dedicated_log_volume (Boolean)

    Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

  • :multi_tenant (Boolean)

    Specifies whether to use the multi-tenant configuration or the single-tenant configuration (default). This parameter only applies to RDS for Oracle container database (CDB) engines.

    Note the following restrictions:

    • The DB engine that you specify in the request must support the multi-tenant configuration. If you attempt to enable the multi-tenant configuration on a DB engine that doesn’t support it, the request fails.

    • If you specify the multi-tenant configuration when you create your DB instance, you can’t later modify this DB instance to use the single-tenant configuration.

Returns:



2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
# File 'lib/aws-sdk-rds/db_instance.rb', line 2174

def create(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.create_db_instance(options)
  end
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#create_read_replica(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


dbinstance = db_instance.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",
  domain_fqdn: "String",
  domain_ou: "String",
  domain_auth_secret_arn: "String",
  domain_dns_ips: ["String"],
  replica_mode: "open-read-only", # accepts open-read-only, mounted
  max_allocated_storage: 1,
  custom_iam_instance_profile: "String",
  network_type: "String",
  storage_throughput: 1,
  enable_customer_owned_ip: false,
  allocated_storage: 1,
  source_db_cluster_identifier: "String",
  dedicated_log_volume: false,
  upgrade_storage_config: false,
  ca_certificate_identifier: "String",
  source_region: "String",
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

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 Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB Instance Class] in the *Amazon RDS User Guide*.

    Default: Inherits the value from the source DB instance.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html

  • :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 Amazon Web Services Region.

    Example: ‘us-east-1d`

  • :port (Integer)

    The port number that the DB instance uses for connections.

    Valid Values: ‘1150-65535`

    Default: Inherits the value from the source DB instance.

  • :multi_az (Boolean)

    Specifies 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 is a Multi-AZ DB instance or a Multi-AZ DB cluster.

    This setting doesn’t apply to RDS Custom DB instances.

  • :auto_minor_version_upgrade (Boolean)

    Specifies whether to automatically apply minor engine upgrades to the read replica during the maintenance window.

    This setting doesn’t apply to RDS Custom DB instances.

    Default: Inherits the value from the source DB instance.

  • :iops (Integer)

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

  • :option_group_name (String)

    The option group to associate the DB instance with. If not specified, RDS uses the option group associated with the source DB instance or cluster.

    <note markdown=“1”> For SQL Server, you must use the option group associated with the source.

    </note>
    

    This setting doesn’t apply to RDS Custom DB instances.

  • :db_parameter_group_name (String)

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

    If you don’t specify a value for ‘DBParameterGroupName`, then Amazon RDS uses the `DBParameterGroup` of the source DB instance for a same Region read replica, or the default `DBParameterGroup` for the specified DB engine for a cross-Region read replica.

    Specifying a parameter group for this operation is only supported for MySQL DB instances for cross-Region read replicas and for Oracle DB instances. It isn’t supported for MySQL DB instances for same Region read replicas or for RDS Custom.

    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)

    Specifies whether the DB instance is publicly accessible.

    When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster’s virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster’s VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn’t permitted if the security group assigned to the DB cluster 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.*

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html

  • :db_subnet_group_name (String)

    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:

    • If supplied, must match the name of an existing DB subnet group.

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

    • All read replicas in one Amazon Web Services 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: ‘mydbsubnetgroup`

  • :vpc_security_group_ids (Array<String>)

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

    This setting doesn’t apply to RDS Custom DB instances.

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

  • :storage_type (String)

    The storage type to associate with the read replica.

    If you specify ‘io1`, `io2`, or `gp3`, you must also include a value for the `Iops` parameter.

    Valid Values: ‘gp2 | gp3 | io1 | io2 | standard`

    Default: ‘io1` if the `Iops` parameter is specified. Otherwise, `gp2`.

  • :copy_tags_to_snapshot (Boolean)

    Specifies whether to copy all tags from the read replica to snapshots of the read replica. By default, tags aren’t copied.

  • :monitoring_interval (Integer)

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the read replica. To disable collection of Enhanced Monitoring metrics, specify ‘0`. The default is `0`.

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

    This setting doesn’t apply to RDS Custom DB instances.

    Valid Values: ‘0, 1, 5, 10, 15, 30, 60`

    Default: ‘0`

  • :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.

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole

  • :kms_key_id (String)

    The Amazon Web Services KMS key identifier for an encrypted read replica.

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

    If you create an encrypted read replica in the same Amazon Web Services Region as the source DB instance or Multi-AZ DB cluster, don’t specify a value for this parameter. A read replica in the same Amazon Web Services Region is always encrypted with the same KMS key as the source DB instance or cluster.

    If you create an encrypted read replica in a different Amazon Web Services Region, then you must specify a KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region that they are created in, and you can’t use KMS keys from one Amazon Web Services Region in another Amazon Web Services Region.

    You can’t create an encrypted read replica from an unencrypted DB instance or Multi-AZ DB cluster.

    This setting doesn’t apply to RDS Custom, which uses the same KMS key as the primary replica.

  • :pre_signed_url (String)

    When you are creating a read replica from one Amazon Web Services GovCloud (US) Region to another or from one China Amazon Web Services Region to another, the URL that contains a Signature Version 4 signed request for the ‘CreateDBInstanceReadReplica` API operation in the source Amazon Web Services Region that contains the source DB instance.

    This setting applies only to Amazon Web Services GovCloud (US) Regions and China Amazon Web Services Regions. It’s ignored in other Amazon Web Services Regions.

    This setting applies only when replicating from a source DB instance. Source DB clusters aren’t supported in Amazon Web Services GovCloud (US) Regions and China Amazon Web Services Regions.

    You must specify this parameter when you create an encrypted read replica from another Amazon Web Services Region by using the Amazon RDS API. Don’t specify ‘PreSignedUrl` when you are creating an encrypted read replica in the same Amazon Web Services Region.

    The presigned URL must be a valid request for the ‘CreateDBInstanceReadReplica` API operation that can run in the source Amazon Web Services Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

    • ‘DestinationRegion` - The Amazon Web Services Region that the encrypted read replica is created in. This Amazon Web Services Region is the same one where the `CreateDBInstanceReadReplica` operation is called that contains this presigned URL.

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

    • ‘KmsKeyId` - The KMS key identifier for the key to use to encrypt the read replica in the destination Amazon Web Services Region. This is the same identifier for both the `CreateDBInstanceReadReplica` operation that is called in the destination Amazon Web Services Region, and the operation 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 Amazon Web Services Region. For example, if you are creating an encrypted read replica from a DB instance in the us-west-2 Amazon Web Services 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 (Amazon Web Services Signature Version 4)] and [Signature Version 4 Signing Process].

    <note markdown=“1”> If you are using an Amazon Web Services SDK tool or the CLI, you can specify ‘SourceRegion` (or `–source-region` for the CLI) instead of specifying `PreSignedUrl` manually. Specifying `SourceRegion` autogenerates a presigned URL that is a valid request for the operation that can run in the source Amazon Web Services Region.

    `SourceRegion` isn't supported for SQL Server, because Amazon RDS for
    

    SQL Server doesn’t support cross-Region read replicas.

    </note>
    

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html [2]: docs.aws.amazon.com/general/latest/gr/signature-version-4.html

  • :enable_iam_database_authentication (Boolean)

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

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

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html

  • :enable_performance_insights (Boolean)

    Specifies whether to enable Performance Insights for the read replica.

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

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html

  • :performance_insights_kms_key_id (String)

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

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

    If you do not specify a value for ‘PerformanceInsightsKMSKeyId`, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

    This setting doesn’t apply to RDS Custom DB instances.

  • :performance_insights_retention_period (Integer)

    The number of days to retain Performance Insights data.

    This setting doesn’t apply to RDS Custom DB instances.

    Valid Values:

    • ‘7`

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

    • ‘731`

    Default: ‘7` days

    If you specify a retention period that isn’t valid, such as ‘94`, Amazon RDS returns an error.

  • :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 ][1] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch

  • :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.

    This setting doesn’t apply to RDS Custom DB instances.

  • :use_default_processor_features (Boolean)

    Specifies whether the DB instance class of the DB instance uses its default processor features.

    This setting doesn’t apply to RDS Custom DB instances.

  • :deletion_protection (Boolean)

    Specifies whether to enable deletion protection for the DB instance. The database can’t be deleted when deletion protection is enabled. By default, deletion protection isn’t enabled. For more information, see [ Deleting a DB Instance].

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html

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

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html

  • :domain_iam_role_name (String)

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :domain_fqdn (String)

    The fully qualified domain name (FQDN) of an Active Directory domain.

    Constraints:

    • Can’t be longer than 64 characters.

    ^

    Example: ‘mymanagedADtest.mymanagedAD.mydomain`

  • :domain_ou (String)

    The Active Directory organizational unit for your DB instance to join.

    Constraints:

    • Must be in the distinguished name format.

    • Can’t be longer than 64 characters.

    Example: ‘OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`

  • :domain_auth_secret_arn (String)

    The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

    Example: ‘arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`

  • :domain_dns_ips (Array<String>)

    The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

    Constraints:

    • Two IP addresses must be provided. If there isn’t a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.

    ^

    Example: ‘123.124.125.126,234.235.236.237`

  • :replica_mode (String)

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

    <note markdown=“1”> This parameter is only supported for Oracle DB instances.

    </note>
    

    Mounted DB replicas are included in Oracle Database 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*.

    For RDS Custom, you must specify this parameter and set it to ‘mounted`. The value won’t be set by default. After replica creation, you can manage the open mode manually.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html

  • :max_allocated_storage (Integer)

    The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

    For more information about this setting, including limitations that apply to it, see [ Managing capacity automatically with Amazon RDS storage autoscaling] in the *Amazon RDS User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling

  • :custom_iam_instance_profile (String)

    The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The instance profile must meet the following requirements:

    • The profile must exist in your account.

    • The profile must have an IAM role that Amazon EC2 has permissions to assume.

    • The instance profile name and the associated IAM role name must start with the prefix ‘AWSRDSCustom`.

    For the list of permissions required for the IAM role, see [ Configure IAM and your VPC] in the *Amazon RDS User Guide*.

    This setting is required for RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc

  • :network_type (String)

    The network type of the DB instance.

    Valid Values:

    • ‘IPV4`

    • ‘DUAL`

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

    For more information, see [ Working with a DB instance in a VPC] in the *Amazon RDS User Guide.*

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html

  • :storage_throughput (Integer)

    Specifies the storage throughput value for the read replica.

    This setting doesn’t apply to RDS Custom or Amazon Aurora DB instances.

  • :enable_customer_owned_ip (Boolean)

    Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts read replica.

    A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the read replica from outside of its virtual private cloud (VPC) on your local network.

    For more information about RDS on Outposts, see [Working with Amazon RDS on Amazon Web Services Outposts] in the *Amazon RDS User Guide*.

    For more information about CoIPs, see [Customer-owned IP addresses] in the *Amazon Web Services Outposts User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html [2]: docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing

  • :allocated_storage (Integer)

    The amount of storage (in gibibytes) to allocate initially for the read replica. Follow the allocation rules specified in ‘CreateDBInstance`.

    <note markdown=“1”> Be sure to allocate enough storage for your read replica so that the create operation can succeed. You can also allocate additional storage for future growth.

    </note>
    
  • :source_db_cluster_identifier (String)

    The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.

    Constraints:

    • Must be the identifier of an existing Multi-AZ DB cluster.

    • Can’t be specified if the ‘SourceDBInstanceIdentifier` parameter is also specified.

    • The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.

    • The source DB cluster must be in the same Amazon Web Services Region as the read replica. Cross-Region replication isn’t supported.

  • :dedicated_log_volume (Boolean)

    Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

  • :upgrade_storage_config (Boolean)

    Whether to upgrade the storage file system configuration on the read replica. This option migrates the read replica from the old storage file system layout to the preferred layout.

  • :ca_certificate_identifier (String)

    The CA certificate identifier to use for the read replica’s server certificate.

    This setting doesn’t apply to RDS Custom DB instances.

    For more information, see [Using SSL/TLS to encrypt a connection to a DB instance] in the *Amazon RDS User Guide* and [ Using SSL/TLS to encrypt a connection to a DB cluster] in the *Amazon Aurora User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html

  • :source_region (String)

    The source region of the snapshot. This is only needed when the shapshot is encrypted and in a different region.

Returns:



2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
# File 'lib/aws-sdk-rds/db_instance.rb', line 2820

def create_read_replica(options = {})
  options = options.merge(source_db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.create_db_instance_read_replica(options)
  end
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#create_snapshot(options = {}) ⇒ DBSnapshot

Examples:

Request syntax with placeholder values


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

Parameters:

  • options (Hash) (defaults to: {})

    ({})

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

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html

Returns:



2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
# File 'lib/aws-sdk-rds/db_instance.rb', line 2866

def create_snapshot(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.create_db_snapshot(options)
  end
  DBSnapshot.new(
    instance_id: resp.data.db_snapshot.db_instance_identifier,
    snapshot_id: resp.data.db_snapshot.db_snapshot_identifier,
    data: resp.data.db_snapshot,
    client: @client
  )
end

#custom_iam_instance_profileString

The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The instance profile must meet the following requirements:

  • The profile must exist in your account.

  • The profile must have an IAM role that Amazon EC2 has permissions to assume.

  • The instance profile name and the associated IAM role name must start with the prefix ‘AWSRDSCustom`.

For the list of permissions required for the IAM role, see [ Configure IAM and your VPC] in the *Amazon RDS User Guide*.

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc

Returns:

  • (String)


674
675
676
# File 'lib/aws-sdk-rds/db_instance.rb', line 674

def custom_iam_instance_profile
  data[:custom_iam_instance_profile]
end

#customer_owned_ip_enabledBoolean

Indicates whether a customer-owned IP address (CoIP) is enabled for an RDS on Outposts DB instance.

A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

For more information about RDS on Outposts, see [Working with Amazon RDS on Amazon Web Services Outposts] in the *Amazon RDS User Guide*.

For more information about CoIPs, see [Customer-owned IP addresses] in the *Amazon Web Services Outposts User Guide*.

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html [2]: docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing

Returns:

  • (Boolean)


590
591
592
# File 'lib/aws-sdk-rds/db_instance.rb', line 590

def customer_owned_ip_enabled
  data[:customer_owned_ip_enabled]
end

#dataTypes::DBInstance

Returns the data for this Aws::RDS::DBInstance. Calls Client#describe_db_instances if #data_loaded? is ‘false`.

Returns:



814
815
816
817
# File 'lib/aws-sdk-rds/db_instance.rb', line 814

def data
  load unless @data
  @data
end

#data_loaded?Boolean

Returns ‘true` if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.

Returns:

  • (Boolean)

    Returns ‘true` if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.



822
823
824
# File 'lib/aws-sdk-rds/db_instance.rb', line 822

def data_loaded?
  !!@data
end

#db_cluster_identifierString

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

Returns:

  • (String)


331
332
333
# File 'lib/aws-sdk-rds/db_instance.rb', line 331

def db_cluster_identifier
  data[:db_cluster_identifier]
end

#db_instance_arnString

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

Returns:

  • (String)


432
433
434
# File 'lib/aws-sdk-rds/db_instance.rb', line 432

def db_instance_arn
  data[:db_instance_arn]
end

#db_instance_automated_backups_replicationsArray<Types::DBInstanceAutomatedBackupsReplication>

The list of replicated automated backups associated with the DB instance.



565
566
567
# File 'lib/aws-sdk-rds/db_instance.rb', line 565

def db_instance_automated_backups_replications
  data[:db_instance_automated_backups_replications]
end

#db_instance_classString

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

Returns:

  • (String)


40
41
42
# File 'lib/aws-sdk-rds/db_instance.rb', line 40

def db_instance_class
  data[:db_instance_class]
end

#db_instance_portInteger

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)


324
325
326
# File 'lib/aws-sdk-rds/db_instance.rb', line 324

def db_instance_port
  data[:db_instance_port]
end

#db_instance_statusString

The current state of this database.

For information about DB instance statuses, see [Viewing DB instance status] in the *Amazon RDS User Guide.*

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/accessing-monitoring.html#Overview.DBInstance.Status

Returns:

  • (String)


59
60
61
# File 'lib/aws-sdk-rds/db_instance.rb', line 59

def db_instance_status
  data[:db_instance_status]
end

#db_nameString

The initial database name that you provided (if required) when you created the DB instance. This name is returned for the life of your DB instance. For an RDS for Oracle CDB instance, the name identifies the PDB rather than the CDB.

Returns:

  • (String)


80
81
82
# File 'lib/aws-sdk-rds/db_instance.rb', line 80

def db_name
  data[:db_name]
end

#db_parameter_groupsArray<Types::DBParameterGroupStatus>

The list of DB parameter groups applied to this DB instance.

Returns:



138
139
140
# File 'lib/aws-sdk-rds/db_instance.rb', line 138

def db_parameter_groups
  data[:db_parameter_groups]
end

#db_security_groupsArray<Types::DBSecurityGroupMembership>

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



125
126
127
# File 'lib/aws-sdk-rds/db_instance.rb', line 125

def db_security_groups
  data[:db_security_groups]
end

#db_subnet_groupTypes::DBSubnetGroup

Information about the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.



151
152
153
# File 'lib/aws-sdk-rds/db_instance.rb', line 151

def db_subnet_group
  data[:db_subnet_group]
end

#db_system_idString

The Oracle system ID (Oracle SID) for a container database (CDB). The Oracle SID is also the name of the CDB. This setting is only valid for RDS Custom DB instances.

Returns:

  • (String)


724
725
726
# File 'lib/aws-sdk-rds/db_instance.rb', line 724

def db_system_id
  data[:db_system_id]
end

#dbi_resource_idString

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

Returns:

  • (String)


356
357
358
# File 'lib/aws-sdk-rds/db_instance.rb', line 356

def dbi_resource_id
  data[:dbi_resource_id]
end

#dedicated_log_volumeBoolean

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

Returns:

  • (Boolean)


764
765
766
# File 'lib/aws-sdk-rds/db_instance.rb', line 764

def dedicated_log_volume
  data[:dedicated_log_volume]
end

#delete(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


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

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :skip_final_snapshot (Boolean)

    Specifies whether to skip the creation of a final DB snapshot before deleting the instance. If you enable this parameter, RDS doesn’t create a DB snapshot. If you don’t enable this parameter, RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn’t enabled, and the DB snapshot is created.

    <note markdown=“1”> If you don’t enable this parameter, you must specify the ‘FinalDBSnapshotIdentifier` parameter.

    </note>
    

    When a DB instance is in a failure state and has a status of ‘failed`, `incompatible-restore`, or `incompatible-network`, RDS can delete the instance only if you enable this parameter.

    If you delete a read replica or an RDS Custom instance, you must enable this setting.

    This setting is required for RDS Custom.

  • :final_db_snapshot_identifier (String)

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

    <note markdown=“1”> If you enable this parameter and also enable SkipFinalShapshot, the command results in an error.

    </note>
    

    This setting doesn’t apply to RDS Custom.

    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)

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



2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
# File 'lib/aws-sdk-rds/db_instance.rb', line 2933

def delete(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.delete_db_instance(options)
  end
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#deletion_protectionBoolean

Indicates whether 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].

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html

Returns:

  • (Boolean)


527
528
529
# File 'lib/aws-sdk-rds/db_instance.rb', line 527

def deletion_protection
  data[:deletion_protection]
end

#domain_membershipsArray<Types::DomainMembership>

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

Returns:



379
380
381
# File 'lib/aws-sdk-rds/db_instance.rb', line 379

def domain_memberships
  data[:domain_memberships]
end

#enabled_cloudwatch_logs_exportsArray<String>

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 [Monitoring Amazon RDS log files] in the *Amazon RDS User Guide.*

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html

Returns:

  • (Array<String>)


508
509
510
# File 'lib/aws-sdk-rds/db_instance.rb', line 508

def enabled_cloudwatch_logs_exports
  data[:enabled_cloudwatch_logs_exports]
end

#endpointTypes::Endpoint

The connection endpoint for the DB instance.

<note markdown=“1”> The endpoint might not be shown for instances with the status of ‘creating`.

</note>

Returns:



91
92
93
# File 'lib/aws-sdk-rds/db_instance.rb', line 91

def endpoint
  data[:endpoint]
end

#engineString

The database engine used for this DB instance.

Returns:

  • (String)


46
47
48
# File 'lib/aws-sdk-rds/db_instance.rb', line 46

def engine
  data[:engine]
end

#engine_versionString

The version of the database engine.

Returns:

  • (String)


186
187
188
# File 'lib/aws-sdk-rds/db_instance.rb', line 186

def engine_version
  data[:engine_version]
end

#enhanced_monitoring_resource_arnString

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)


406
407
408
# File 'lib/aws-sdk-rds/db_instance.rb', line 406

def enhanced_monitoring_resource_arn
  data[:enhanced_monitoring_resource_arn]
end

#events(options = {}) ⇒ Event::Collection

Examples:

Request syntax with placeholder values


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

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :start_time (Time, DateTime, Date, Integer, String)

    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.][1

    Example: 2009-07-08T18:00Z

    [1]: en.wikipedia.org/wiki/ISO_8601

  • :end_time (Time, DateTime, Date, Integer, String)

    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.][1

    Example: 2009-07-08T18:00Z

    [1]: en.wikipedia.org/wiki/ISO_8601

  • :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.

Returns:



4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
# File 'lib/aws-sdk-rds/db_instance.rb', line 4794

def events(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(
      source_type: "db-instance",
      source_identifier: @id
    )
    resp = Aws::Plugins::UserAgent.feature('resource') do
      @client.describe_events(options)
    end
    resp.each_page do |page|
      batch = []
      page.data.events.each do |e|
        batch << Event.new(
          source_id: e.source_identifier,
          date: e.date,
          data: e,
          client: @client
        )
      end
      y.yield(batch)
    end
  end
  Event::Collection.new(batches)
end

#iam_database_authentication_enabledBoolean

Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled for the DB instance.

For a list of engine versions that support IAM database authentication, see [IAM database authentication] in the *Amazon RDS User Guide* and [IAM database authentication in Aurora] in the *Amazon Aurora User Guide*.

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDS_Fea_Regions_DB-eng.Feature.IamDatabaseAuthentication.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.IAMdbauth.html

Returns:

  • (Boolean)


459
460
461
# File 'lib/aws-sdk-rds/db_instance.rb', line 459

def iam_database_authentication_enabled
  data[:iam_database_authentication_enabled]
end

#idString Also known as: db_instance_identifier

Returns:

  • (String)


33
34
35
# File 'lib/aws-sdk-rds/db_instance.rb', line 33

def id
  @id
end

#identifiersObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


5119
5120
5121
# File 'lib/aws-sdk-rds/db_instance.rb', line 5119

def identifiers
  { id: @id }
end

#instance_create_timeTime

The date and time when the DB instance was created.

Returns:

  • (Time)


104
105
106
# File 'lib/aws-sdk-rds/db_instance.rb', line 104

def instance_create_time
  data[:instance_create_time]
end

#iopsInteger

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

Returns:

  • (Integer)


249
250
251
# File 'lib/aws-sdk-rds/db_instance.rb', line 249

def iops
  data[:iops]
end

#is_storage_config_upgrade_availableBoolean

Indicates whether an upgrade is recommended for the storage file system configuration on the DB instance. To migrate to the preferred configuration, you can either create a blue/green deployment, or create a read replica from the DB instance. For more information, see [Upgrading the storage file system for a DB instance].

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.UpgradeFileSystem

Returns:

  • (Boolean)


778
779
780
# File 'lib/aws-sdk-rds/db_instance.rb', line 778

def is_storage_config_upgrade_available
  data[:is_storage_config_upgrade_available]
end

#kms_key_idString

If ‘StorageEncrypted` is enabled, the Amazon Web Services KMS key identifier for the encrypted DB instance.

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

Returns:

  • (String)


347
348
349
# File 'lib/aws-sdk-rds/db_instance.rb', line 347

def kms_key_id
  data[:kms_key_id]
end

#latest_restorable_timeTime

The latest time to which a database in this DB instance can be restored with point-in-time restore.

Returns:

  • (Time)


173
174
175
# File 'lib/aws-sdk-rds/db_instance.rb', line 173

def latest_restorable_time
  data[:latest_restorable_time]
end

#license_modelString

The license model information for this DB instance. This setting doesn’t apply to RDS Custom DB instances.

Returns:

  • (String)


242
243
244
# File 'lib/aws-sdk-rds/db_instance.rb', line 242

def license_model
  data[:license_model]
end

#listener_endpointTypes::Endpoint

The listener connection endpoint for SQL Server Always On.

Returns:



540
541
542
# File 'lib/aws-sdk-rds/db_instance.rb', line 540

def listener_endpoint
  data[:listener_endpoint]
end

#loadself Also known as: reload

Loads, or reloads #data for the current Aws::RDS::DBInstance. Returns ‘self` making it possible to chain methods.

db_instance.reload.data

Returns:

  • (self)


802
803
804
805
806
807
808
# File 'lib/aws-sdk-rds/db_instance.rb', line 802

def load
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.describe_db_instances(db_instance_identifier: @id)
  end
  @data = resp.db_instances[0]
  self
end

#log_files(options = {}) ⇒ DBLogFile::Collection

Examples:

Request syntax with placeholder values


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

Parameters:

  • options (Hash) (defaults to: {})

    ({})

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.

Returns:



4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
# File 'lib/aws-sdk-rds/db_instance.rb', line 4845

def log_files(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(db_instance_identifier: @id)
    resp = Aws::Plugins::UserAgent.feature('resource') do
      @client.describe_db_log_files(options)
    end
    resp.each_page do |page|
      batch = []
      page.data.describe_db_log_files.each do |d|
        batch << DBLogFile.new(
          instance_id: @id,
          name: d.log_file_name,
          data: d,
          client: @client
        )
      end
      y.yield(batch)
    end
  end
  DBLogFile::Collection.new(batches)
end

#master_user_secretTypes::MasterUserSecret

The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.

For more information, see [Password management with Amazon Web Services Secrets Manager] in the *Amazon RDS User Guide.*

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html



738
739
740
# File 'lib/aws-sdk-rds/db_instance.rb', line 738

def master_user_secret
  data[:master_user_secret]
end

#master_usernameString

The master username for the DB instance.

Returns:

  • (String)


71
72
73
# File 'lib/aws-sdk-rds/db_instance.rb', line 71

def master_username
  data[:master_username]
end

#max_allocated_storageInteger

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

Returns:

  • (Integer)


547
548
549
# File 'lib/aws-sdk-rds/db_instance.rb', line 547

def max_allocated_storage
  data[:max_allocated_storage]
end

#modify(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


dbinstance = db_instance.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",
  domain_fqdn: "String",
  domain_ou: "String",
  domain_auth_secret_arn: "String",
  domain_dns_ips: ["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",
  disable_domain: false,
  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
  enable_customer_owned_ip: false,
  aws_backup_recovery_point_arn: "AwsBackupRecoveryPointArn",
  automation_mode: "full", # accepts full, all-paused
  resume_full_automation_mode_minutes: 1,
  network_type: "String",
  storage_throughput: 1,
  manage_master_user_password: false,
  rotate_master_user_password: false,
  master_user_secret_kms_key_id: "String",
  engine: "String",
  dedicated_log_volume: false,
  multi_tenant: false,
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :allocated_storage (Integer)

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

    For RDS for Db2, MariaDB, RDS for MySQL, RDS for Oracle, and RDS for 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`.

    Constraints:

    • When you increase the allocated storage for a DB instance that uses Provisioned IOPS (‘gp3`, `io1`, or `io2` storage type), you must also specify the `Iops` parameter. You can use the current value for `Iops`.

    ^

  • :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 Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB Instance Class] in the *Amazon RDS User Guide* or [Aurora DB instance classes] in the *Amazon Aurora User Guide*. For RDS Custom, see [DB instance class support for RDS Custom for Oracle] and [ DB instance class support for RDS Custom for SQL Server].

    If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ‘ApplyImmediately` in your request.

    Default: Uses existing setting

    Constraints:

    • If you are modifying the DB instance class and upgrading the engine version at the same time, the currently running engine version must be supported on the specified DB instance class. Otherwise, the operation returns an error. In this case, first run the operation to upgrade the engine version, and then run it again to modify the DB instance class.

    ^

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html [3]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits.html#custom-reqs-limits.instances [4]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html#custom-reqs-limits.instancesMS

  • :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 [Working with a DB instance in a VPC] 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`.

    This setting doesn’t apply to RDS Custom DB instances.

    Constraints:

    • If supplied, must match existing DB subnet group.

    ^

    Example: ‘mydbsubnetgroup`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC

  • :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.

    This setting doesn’t apply to RDS Custom DB instances.

    Constraints:

    • If supplied, must match existing DB security groups.

    ^

  • :vpc_security_group_ids (Array<String>)

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

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ‘ModifyDBCluster`.)

    • RDS Custom

    Constraints:

    • If supplied, must match existing VPC security group IDs.

    ^

  • :apply_immediately (Boolean)

    Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the ‘PreferredMaintenanceWindow` setting for the DB 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.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html

  • :master_user_password (String)

    The new password for the master user.

    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.

    <note markdown=“1”> Amazon RDS API operations never return the password, so this operation 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.

    </note>
    

    This setting doesn’t apply to the following DB instances:

    • Amazon Aurora (The password for the master user is managed by the DB cluster. For more information, see ‘ModifyDBCluster`.)

    • RDS Custom

    Default: Uses existing setting

    Constraints:

    • Can’t be specified if ‘ManageMasterUserPassword` is turned on.

    • Can include any printable ASCII character except “/”, “”“, or ”@“. For RDS for Oracle, can’t include the ”&amp;“ (ampersand) or the ”‘“ (single quotes) character.

    Length Constraints:

    • RDS for Db2 - Must contain from 8 to 255 characters.

    • RDS for MariaDB - Must contain from 8 to 41 characters.

    • RDS for Microsoft SQL Server - Must contain from 8 to 128 characters.

    • RDS for MySQL - Must contain from 8 to 41 characters.

    • RDS for Oracle - Must contain from 8 to 30 characters.

    • RDS for PostgreSQL - Must contain from 8 to 128 characters.

  • :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 aren’t applied during the next maintenance window. However, if you modify dynamic parameters in the newly associated DB parameter group, these changes are applied immediately without a reboot.

    This setting doesn’t apply to RDS Custom DB instances.

    Default: Uses existing setting

    Constraints:

    • Must be in the same DB parameter group family as the 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.

    <note markdown=“1”> Enabling and disabling backups can result in a brief I/O suspension that lasts from a few seconds to a few minutes, depending on the size and class of your DB instance.

    </note>
    

    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.

    This setting doesn’t apply to Amazon Aurora DB instances. 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’t be set to 0 if the DB instance is a source to read replicas.

    • Can’t be set to 0 for an RDS Custom for Oracle DB instance.

  • :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. The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. For more information, see [Backup window] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to Amazon Aurora DB instances. 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 Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow

  • :preferred_maintenance_window (String)

    The weekly time range 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 causes a reboot of the DB instance. If you change 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.

    For more information, see [Amazon RDS Maintenance Window] in the *Amazon RDS User Guide.*

    Default: Uses existing setting

    Constraints:

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

    • The day values must be ‘mon | tue | wed | thu | fri | sat | sun`.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred backup window.

    • Must be at least 30 minutes.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance

  • :multi_az (Boolean)

    Specifies whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn’t result in an outage. The change is applied during the next maintenance window unless the ‘ApplyImmediately` parameter is enabled for this request.

    This setting doesn’t apply to RDS Custom DB instances.

  • :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.

    If you specify only a major version, Amazon RDS updates the DB instance to the default minor version if the current minor version is lower. For information about valid engine versions, see ‘CreateDBInstance`, or call `DescribeDBEngineVersions`.

    If the instance that you’re modifying is acting as a read replica, the engine version that you specify must be the same or higher than the version that the source DB instance or cluster is running.

    In RDS Custom for Oracle, this parameter is supported for read replicas only if they are in the ‘PATCH_DB_FAILURE` lifecycle.

    Constraints:

    • If you are upgrading the engine version and modifying the DB instance class at the same time, the currently running engine version must be supported on the specified DB instance class. Otherwise, the operation returns an error. In this case, first run the operation to upgrade the engine version, and then run it again to modify the DB instance class.

    ^

  • :allow_major_version_upgrade (Boolean)

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

    This setting doesn’t apply to RDS Custom DB instances.

    Constraints:

    • Major version upgrades must be allowed when specifying a value for the ‘EngineVersion` parameter that’s a different major version than the DB instance’s current version.

    ^

  • :auto_minor_version_upgrade (Boolean)

    Specifies whether minor version upgrades are applied automatically to the DB instance during the maintenance window. An outage occurs when all the following conditions are met:

    • The automatic upgrade is enabled for the maintenance window.

    • A newer minor version is available.

    • RDS has enabled automatic patching for the engine version.

    If any of the preceding conditions isn’t met, Amazon RDS applies the change as soon as possible and doesn’t cause an outage.

    For an RDS Custom DB instance, don’t enable this setting. Otherwise, the operation returns an error.

  • :license_model (String)

    The license model for the DB instance.

    This setting doesn’t apply to Amazon Aurora or RDS Custom DB instances.

    Valid Values:

    • RDS for Db2 - ‘bring-your-own-license`

    • RDS for MariaDB - ‘general-public-license`

    • RDS for Microsoft SQL Server - ‘license-included`

    • RDS for MySQL - ‘general-public-license`

    • RDS for Oracle - ‘bring-your-own-license | license-included`

    • RDS for PostgreSQL - ‘postgresql-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

    1. 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 RDS for MariaDB, RDS for MySQL, RDS for Oracle, and RDS for 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.

    • When you increase the Provisioned IOPS, you must also specify the ‘AllocatedStorage` parameter. You can use the current value for `AllocatedStorage`.

    Default: Uses existing setting

  • :option_group_name (String)

    The option group to associate the DB instance with.

    Changing this parameter doesn’t result in an outage, with one exception. If the parameter change results in an option group that enables OEM, it can cause a brief period, lasting less than a second, during which new connections are rejected but existing connections aren’t interrupted.

    The change is applied during the next maintenance window unless the ‘ApplyImmediately` parameter is enabled for this request.

    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 after it is associated with a DB instance.

    This setting doesn’t apply to RDS Custom DB instances.

  • :new_db_instance_identifier (String)

    The new 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 `ApplyImmediately`. This value is stored as a lowercase string.

    This setting doesn’t apply to RDS Custom DB instances.

    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)

    The storage type to associate with the DB instance.

    If you specify ‘io1`, `io2`, or `gp3` 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: ‘gp2 | gp3 | io1 | io2 | standard`

    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.

    This setting doesn’t apply to RDS Custom DB instances.

  • :tde_credential_password (String)

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :ca_certificate_identifier (String)

    The CA certificate identifier to use for the DB instance’s server certificate.

    This setting doesn’t apply to RDS Custom DB instances.

    For more information, see [Using SSL/TLS to encrypt a connection to a DB instance] in the *Amazon RDS User Guide* and [ Using SSL/TLS to encrypt a connection to a DB cluster] in the *Amazon Aurora User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html

  • :domain (String)

    The Active Directory directory ID to move the DB instance to. Specify ‘none` to remove the instance from its current domain. You must create the domain before this operation. Currently, you can create only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

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

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html

  • :domain_fqdn (String)

    The fully qualified domain name (FQDN) of an Active Directory domain.

    Constraints:

    • Can’t be longer than 64 characters.

    ^

    Example: ‘mymanagedADtest.mymanagedAD.mydomain`

  • :domain_ou (String)

    The Active Directory organizational unit for your DB instance to join.

    Constraints:

    • Must be in the distinguished name format.

    • Can’t be longer than 64 characters.

    Example: ‘OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`

  • :domain_auth_secret_arn (String)

    The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

    Example: ‘arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`

  • :domain_dns_ips (Array<String>)

    The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

    Constraints:

    • Two IP addresses must be provided. If there isn’t a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.

    ^

    Example: ‘123.124.125.126,234.235.236.237`

  • :copy_tags_to_snapshot (Boolean)

    Specifies whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags aren’t copied.

    This setting doesn’t apply to Amazon Aurora DB instances. 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 collection of Enhanced Monitoring metrics, specify ‘0`.

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

    This setting doesn’t apply to RDS Custom DB instances.

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

    Default: ‘0`

  • :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.

    If you change the ‘DBPortNumber` value, your database restarts regardless of the value of the `ApplyImmediately` parameter.

    This setting doesn’t apply to RDS Custom DB instances.

    Valid Values: ‘1150-65535`

    Default:

    • Amazon Aurora - ‘3306`

    • RDS for Db2 - ‘50000`

    • RDS for MariaDB - ‘3306`

    • RDS for Microsoft SQL Server - ‘1433`

    • RDS for MySQL - ‘3306`

    • RDS for Oracle - ‘1521`

    • RDS for PostgreSQL - ‘5432`

    Constraints:

    • For RDS for Microsoft SQL Server, the value can’t be ‘1234`, `1434`, `3260`, `3343`, `3389`, `47001`, or `49152-49156`.

    ^

  • :publicly_accessible (Boolean)

    Specifies whether the DB instance is publicly accessible.

    When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster’s virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster’s VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn’t permitted if the security group assigned to the DB cluster 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, see [To create an IAM role for Amazon RDS Enhanced Monitoring] in the *Amazon RDS User Guide.*

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

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole

  • :domain_iam_role_name (String)

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :disable_domain (Boolean)

    Specifies whether to remove the DB instance from the Active Directory domain.

  • :promotion_tier (Integer)

    The order of priority 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*.

    This setting doesn’t apply to RDS Custom DB instances.

    Default: ‘1`

    Valid Values: ‘0 - 15`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance

  • :enable_iam_database_authentication (Boolean)

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

    This setting doesn’t apply to Amazon Aurora. Mapping Amazon Web Services 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.*

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html

  • :enable_performance_insights (Boolean)

    Specifies whether to enable Performance Insights for the DB instance.

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

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html

  • :performance_insights_kms_key_id (String)

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

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

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :performance_insights_retention_period (Integer)

    The number of days to retain Performance Insights data.

    This setting doesn’t apply to RDS Custom DB instances.

    Valid Values:

    • ‘7`

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

    • ‘731`

    Default: ‘7` days

    If you specify a retention period that isn’t valid, such as ‘94`, Amazon RDS returns an error.

  • :cloudwatch_logs_export_configuration (Types::CloudwatchLogsExportConfiguration)

    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.

    This setting doesn’t apply to RDS Custom DB instances.

  • :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.

    This setting doesn’t apply to RDS Custom DB instances.

  • :use_default_processor_features (Boolean)

    Specifies whether the DB instance class of the DB instance uses its default processor features.

    This setting doesn’t apply to RDS Custom DB instances.

  • :deletion_protection (Boolean)

    Specifies whether the DB instance has deletion protection enabled. The database can’t be deleted when deletion protection is enabled. By default, deletion protection isn’t enabled. For more information, see [ Deleting a DB Instance].

    This setting doesn’t apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. For more information, see ‘ModifyDBCluster`. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html

  • :max_allocated_storage (Integer)

    The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

    For more information about this setting, including limitations that apply to it, see [ Managing capacity automatically with Amazon RDS storage autoscaling] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling

  • :certificate_rotation_restart (Boolean)

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

    • For more information about rotating your SSL/TLS certificate for RDS DB engines, see [ Rotating Your SSL/TLS Certificate.] in the *Amazon RDS User Guide.*

    • For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [ Rotating Your SSL/TLS Certificate] in the *Amazon Aurora User Guide*.

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html

  • :replica_mode (String)

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

    <note markdown=“1”> Currently, this parameter is only supported for Oracle DB instances.

    </note>
    

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

    This setting doesn’t apply to RDS Custom DB instances.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html

  • :enable_customer_owned_ip (Boolean)

    Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

    A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

    For more information about RDS on Outposts, see [Working with Amazon RDS on Amazon Web Services Outposts] in the *Amazon RDS User Guide*.

    For more information about CoIPs, see [Customer-owned IP addresses] in the *Amazon Web Services Outposts User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html [2]: docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing

  • :aws_backup_recovery_point_arn (String)

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :automation_mode (String)

    The automation mode of the RDS Custom DB instance. If ‘full`, the DB instance automates monitoring and instance recovery. If `all paused`, the instance pauses automation for the duration set by `ResumeFullAutomationModeMinutes`.

  • :resume_full_automation_mode_minutes (Integer)

    The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation.

    Default: ‘60`

    Constraints:

    • Must be at least 60.

    • Must be no more than 1,440.

  • :network_type (String)

    The network type of the DB instance.

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

    For more information, see [ Working with a DB instance in a VPC] in the *Amazon RDS User Guide.*

    Valid Values: ‘IPV4 | DUAL`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html

  • :storage_throughput (Integer)

    The storage throughput value for the DB instance.

    This setting applies only to the ‘gp3` storage type.

    This setting doesn’t apply to Amazon Aurora or RDS Custom DB instances.

  • :manage_master_user_password (Boolean)

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

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

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

    For more information, see [Password management with Amazon Web Services Secrets Manager] in the *Amazon RDS User Guide.*

    Constraints:

    • Can’t manage the master user password with Amazon Web Services Secrets Manager if ‘MasterUserPassword` is specified.

    ^

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html

  • :rotate_master_user_password (Boolean)

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

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

    For more information, see [Password management with Amazon Web Services Secrets Manager] in the *Amazon RDS User Guide.*

    Constraints:

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

    ^

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html

  • :master_user_secret_kms_key_id (String)

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

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

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

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

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

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

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

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

  • :engine (String)

    The target Oracle DB engine when you convert a non-CDB to a CDB. This intermediate step is necessary to upgrade an Oracle Database 19c non-CDB to an Oracle Database 21c CDB.

    Note the following requirements:

    • Make sure that you specify ‘oracle-ee-cdb` or `oracle-se2-cdb`.

    • Make sure that your DB engine runs Oracle Database 19c with an April 2021 or later RU.

    Note the following limitations:

    • You can’t convert a CDB to a non-CDB.

    • You can’t convert a replica database.

    • You can’t convert a non-CDB to a CDB and upgrade the engine version in the same command.

    • You can’t convert the existing custom parameter or option group when it has options or parameters that are permanent or persistent. In this situation, the DB instance reverts to the default option and parameter group. To avoid reverting to the default, specify a new parameter group with ‘–db-parameter-group-name` and a new option group with `–option-group-name`.

  • :dedicated_log_volume (Boolean)

    Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

  • :multi_tenant (Boolean)

    Specifies whether the to convert your DB instance from the single-tenant configuration to the multi-tenant configuration. This parameter is supported only for RDS for Oracle CDB instances.

    During the conversion, RDS creates an initial tenant database and associates the DB name, master user name, character set, and national character set metadata with this database. The tags associated with the instance also propagate to the initial tenant database. You can add more tenant databases to your DB instance by using the ‘CreateTenantDatabase` operation.

    The conversion to the multi-tenant configuration is permanent and irreversible, so you can’t later convert back to the single-tenant configuration. When you specify this parameter, you must also specify ‘ApplyImmediately`.

Returns:



4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
# File 'lib/aws-sdk-rds/db_instance.rb', line 4029

def modify(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.modify_db_instance(options)
  end
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#monitoring_intervalInteger

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

Returns:

  • (Integer)


398
399
400
# File 'lib/aws-sdk-rds/db_instance.rb', line 398

def monitoring_interval
  data[:monitoring_interval]
end

#monitoring_role_arnString

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

Returns:

  • (String)


413
414
415
# File 'lib/aws-sdk-rds/db_instance.rb', line 413

def monitoring_role_arn
  data[:monitoring_role_arn]
end

#multi_azBoolean

Indicates whether the DB instance is a Multi-AZ deployment. This setting doesn’t apply to RDS Custom DB instances.

Returns:

  • (Boolean)


180
181
182
# File 'lib/aws-sdk-rds/db_instance.rb', line 180

def multi_az
  data[:multi_az]
end

#multi_tenantBoolean

Specifies whether the DB instance is in the multi-tenant configuration (TRUE) or the single-tenant configuration (FALSE).

Returns:

  • (Boolean)


785
786
787
# File 'lib/aws-sdk-rds/db_instance.rb', line 785

def multi_tenant
  data[:multi_tenant]
end

#nchar_character_set_nameString

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)


270
271
272
# File 'lib/aws-sdk-rds/db_instance.rb', line 270

def nchar_character_set_name
  data[:nchar_character_set_name]
end

#network_typeString

The network type of the DB instance.

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

For more information, see [ Working with a DB instance in a VPC] in the *Amazon RDS User Guide* and [ Working with a DB instance in a VPC] in the *Amazon Aurora User Guide.*

Valid Values: ‘IPV4 | DUAL`

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html

Returns:

  • (String)


702
703
704
# File 'lib/aws-sdk-rds/db_instance.rb', line 702

def network_type
  data[:network_type]
end

#option_group_membershipsArray<Types::OptionGroupMembership>

The list of option group memberships for this DB instance.

Returns:



255
256
257
# File 'lib/aws-sdk-rds/db_instance.rb', line 255

def option_group_memberships
  data[:option_group_memberships]
end

#option_groupsOptionGroup::Collection



4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
# File 'lib/aws-sdk-rds/db_instance.rb', line 4868

def option_groups
  batch = []
  data[:option_group_memberships].each do |d|
    batch << OptionGroup.new(
      name: d[:option_group_name],
      client: @client
    )
  end
  OptionGroup::Collection.new([batch], size: batch.size)
end

#parameter_groupsDBParameterGroup::Collection



4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
# File 'lib/aws-sdk-rds/db_instance.rb', line 4880

def parameter_groups
  batch = []
  data[:db_parameter_groups].each do |d|
    batch << DBParameterGroup.new(
      name: d[:db_parameter_group_name],
      client: @client
    )
  end
  DBParameterGroup::Collection.new([batch], size: batch.size)
end

#pending_maintenance_actions(options = {}) ⇒ PendingMaintenanceAction::Collection

Examples:

Request syntax with placeholder values


pending_maintenance_actions = db_instance.pending_maintenance_actions({
  resource_identifier: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :resource_identifier (String)

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

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

    A filter that specifies one or more resources to return pending maintenance actions for.

    Supported filters:

    • ‘db-cluster-id` - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list only includes pending maintenance actions for the DB clusters identified by these ARNs.

    • ‘db-instance-id` - Accepts DB instance identifiers and DB instance ARNs. The results list only includes pending maintenance actions for the DB instances identified by these ARNs.

Returns:



4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
# File 'lib/aws-sdk-rds/db_instance.rb', line 4919

def pending_maintenance_actions(options = {})
  batches = Enumerator.new do |y|
    options = Aws::Util.deep_merge(options, filters: [{
      name: "db-instance-id",
      values: [@id]
    }])
    resp = Aws::Plugins::UserAgent.feature('resource') do
      @client.describe_pending_maintenance_actions(options)
    end
    resp.each_page do |page|
      batch = []
      page.data.pending_maintenance_actions_0.pending_maintenance_action_details.each do |p|
        batch << PendingMaintenanceAction.new(
          target_arn: resp.data.pending_maintenance_actions[0].resource_identifier,
          name: p.action,
          data: p,
          client: @client
        )
      end
      y.yield(batch)
    end
  end
  PendingMaintenanceAction::Collection.new(batches)
end

#pending_modified_valuesTypes::PendingModifiedValues

Information about pending changes to the DB instance. This information is returned only when there are pending changes. Specific changes are identified by subelements.



166
167
168
# File 'lib/aws-sdk-rds/db_instance.rb', line 166

def pending_modified_values
  data[:pending_modified_values]
end

#percent_progressString

The progress of the storage optimization operation as a percentage.

Returns:

  • (String)


757
758
759
# File 'lib/aws-sdk-rds/db_instance.rb', line 757

def percent_progress
  data[:percent_progress]
end

#performance_insights_enabledBoolean

Indicates whether Performance Insights is enabled for the DB instance.

Returns:

  • (Boolean)


465
466
467
# File 'lib/aws-sdk-rds/db_instance.rb', line 465

def performance_insights_enabled
  data[:performance_insights_enabled]
end

#performance_insights_kms_key_idString

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

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

Returns:

  • (String)


475
476
477
# File 'lib/aws-sdk-rds/db_instance.rb', line 475

def performance_insights_kms_key_id
  data[:performance_insights_kms_key_id]
end

#performance_insights_retention_periodInteger

The number of days to retain Performance Insights data.

Valid Values:

  • ‘7`

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

  • ‘731`

Default: ‘7` days

Returns:

  • (Integer)


493
494
495
# File 'lib/aws-sdk-rds/db_instance.rb', line 493

def performance_insights_retention_period
  data[:performance_insights_retention_period]
end

#preferred_backup_windowString

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

Returns:

  • (String)


112
113
114
# File 'lib/aws-sdk-rds/db_instance.rb', line 112

def preferred_backup_window
  data[:preferred_backup_window]
end

#preferred_maintenance_windowString

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

Returns:

  • (String)


158
159
160
# File 'lib/aws-sdk-rds/db_instance.rb', line 158

def preferred_maintenance_window
  data[:preferred_maintenance_window]
end

#processor_featuresArray<Types::ProcessorFeature>

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

Returns:



515
516
517
# File 'lib/aws-sdk-rds/db_instance.rb', line 515

def processor_features
  data[:processor_features]
end

#promote(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


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

Parameters:

  • options (Hash) (defaults to: {})

    ({})

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 Amazon Web Services 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.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html

Returns:



4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
# File 'lib/aws-sdk-rds/db_instance.rb', line 4084

def promote(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.promote_read_replica(options)
  end
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#promotion_tierInteger

The order of priority 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*.

[1]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance

Returns:

  • (Integer)


426
427
428
# File 'lib/aws-sdk-rds/db_instance.rb', line 426

def promotion_tier
  data[:promotion_tier]
end

#publicly_accessibleBoolean

Indicates whether the DB instance is publicly accessible.

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster’s virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster’s VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn’t permitted if the security group assigned to the DB cluster 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)


296
297
298
# File 'lib/aws-sdk-rds/db_instance.rb', line 296

def publicly_accessible
  data[:publicly_accessible]
end

#read_replica_db_cluster_identifiersArray<String>

The 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 for MySQL DB instance, the Aurora MySQL DB cluster for the Aurora read replica is shown. This output doesn’t contain information about cross-Region Aurora read replicas.

<note markdown=“1”> Currently, each RDS DB instance can have only one Aurora read replica.

</note>

Returns:

  • (Array<String>)


219
220
221
# File 'lib/aws-sdk-rds/db_instance.rb', line 219

def read_replica_db_cluster_identifiers
  data[:read_replica_db_cluster_identifiers]
end

#read_replica_db_instance_identifiersArray<String>

The identifiers of the read replicas associated with this DB instance.

Returns:

  • (Array<String>)


205
206
207
# File 'lib/aws-sdk-rds/db_instance.rb', line 205

def read_replica_db_instance_identifiers
  data[:read_replica_db_instance_identifiers]
end

#read_replica_source_db_cluster_identifierString

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

Returns:

  • (String)


751
752
753
# File 'lib/aws-sdk-rds/db_instance.rb', line 751

def read_replica_source_db_cluster_identifier
  data[:read_replica_source_db_cluster_identifier]
end

#read_replica_source_db_instance_identifierString

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

Returns:

  • (String)


199
200
201
# File 'lib/aws-sdk-rds/db_instance.rb', line 199

def read_replica_source_db_instance_identifier
  data[:read_replica_source_db_instance_identifier]
end

#read_replicasDBInstance::Collection



4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
# File 'lib/aws-sdk-rds/db_instance.rb', line 4945

def read_replicas
  batch = []
  data[:read_replica_db_instance_identifiers].each do |d|
    batch << DBInstance.new(
      id: d,
      client: @client
    )
  end
  DBInstance::Collection.new([batch], size: batch.size)
end

#reboot(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


dbinstance = db_instance.reboot({
  force_failover: false,
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :force_failover (Boolean)

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



4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
# File 'lib/aws-sdk-rds/db_instance.rb', line 4108

def reboot(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.reboot_db_instance(options)
  end
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#replica_modeString

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

<note markdown=“1”> This attribute is only supported in RDS for Oracle.

</note>

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html

Returns:

  • (String)


235
236
237
# File 'lib/aws-sdk-rds/db_instance.rb', line 235

def replica_mode
  data[:replica_mode]
end

#restore(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


dbinstance = db_instance.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",
  domain_fqdn: "String",
  domain_ou: "String",
  domain_auth_secret_arn: "String",
  domain_dns_ips: ["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,
  source_db_instance_automated_backups_arn: "String",
  enable_customer_owned_ip: false,
  custom_iam_instance_profile: "String",
  backup_target: "String",
  network_type: "String",
  storage_throughput: 1,
  allocated_storage: 1,
  dedicated_log_volume: false,
  ca_certificate_identifier: "String",
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :target_db_instance_identifier (required, String)

    The name of the new DB instance to create.

    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, DateTime, Date, Integer, String)

    The date and time to restore from.

    Constraints:

    • Must be a time in Universal Coordinated Time (UTC) format.

    • 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)

    Specifies 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 Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB Instance Class] in the *Amazon RDS User Guide*.

    Default: The same DB instance class as the original DB instance.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html

  • :port (Integer)

    The port number on which the database accepts connections.

    Default: The same port as the original DB instance.

    Constraints:

    • The value must be ‘1150-65535`.

    ^

  • :availability_zone (String)

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

    Default: A random, system-chosen Availability Zone.

    Constraints:

    • 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 DB subnet group.

    ^

    Example: ‘mydbsubnetgroup`

  • :multi_az (Boolean)

    Secifies whether the DB instance is a Multi-AZ deployment.

    This setting doesn’t apply to RDS Custom.

    Constraints:

    • You can’t specify the ‘AvailabilityZone` parameter if the DB instance is a Multi-AZ deployment.

    ^

  • :publicly_accessible (Boolean)

    Specifies whether the DB instance is publicly accessible.

    When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster’s virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster’s VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn’t permitted if the security group assigned to the DB cluster 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)

    Specifies whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

    This setting doesn’t apply to RDS Custom.

  • :license_model (String)

    The license model information for the restored DB instance.

    This setting doesn’t apply to RDS Custom.

    Valid Values: ‘license-included` | `bring-your-own-license` | `general-public-license`

    Default: Same as the source.

  • :db_name (String)

    The database name for the restored DB instance.

    This parameter doesn’t apply to the following DB instances:

    • RDS Custom

    • RDS for Db2

    • RDS for MariaDB

    • RDS for MySQL

  • :engine (String)

    The database engine to use for the new instance.

    This setting doesn’t apply to RDS Custom.

    Valid Values:

    • ‘db2-ae`

    • ‘db2-se`

    • ‘mariadb`

    • ‘mysql`

    • ‘oracle-ee`

    • ‘oracle-ee-cdb`

    • ‘oracle-se2`

    • ‘oracle-se2-cdb`

    • ‘postgres`

    • ‘sqlserver-ee`

    • ‘sqlserver-se`

    • ‘sqlserver-ex`

    • ‘sqlserver-web`

    Default: The same as source

    Constraints:

    • Must be compatible with the engine of the source.

    ^

  • :iops (Integer)

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

    This setting doesn’t apply to SQL Server.

    Constraints:

    • Must be an integer greater than 1000.

    ^

  • :option_group_name (String)

    The name of the option group to use 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 after it is associated with a DB instance

    This setting doesn’t apply to RDS Custom.

  • :copy_tags_to_snapshot (Boolean)

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

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html

  • :storage_type (String)

    The storage type to associate with the DB instance.

    Valid Values: ‘gp2 | gp3 | io1 | io2 | standard`

    Default: ‘io1`, if the `Iops` parameter is specified. Otherwise, `gp2`.

    Constraints:

    • If you specify ‘io1`, `io2`, or `gp3`, you must also include a value for the `Iops` parameter.

    ^

  • :tde_credential_arn (String)

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

    This setting doesn’t apply to RDS Custom.

  • :tde_credential_password (String)

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

    This setting doesn’t apply to RDS Custom.

  • :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)

    The Active Directory directory ID to restore the DB instance in. Create the domain before running this command. Currently, you can create only the MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

    This setting doesn’t apply to RDS Custom.

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

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html

  • :domain_iam_role_name (String)

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

    This setting doesn’t apply to RDS Custom DB instances.

  • :domain_fqdn (String)

    The fully qualified domain name (FQDN) of an Active Directory domain.

    Constraints:

    • Can’t be longer than 64 characters.

    ^

    Example: ‘mymanagedADtest.mymanagedAD.mydomain`

  • :domain_ou (String)

    The Active Directory organizational unit for your DB instance to join.

    Constraints:

    • Must be in the distinguished name format.

    • Can’t be longer than 64 characters.

    Example: ‘OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`

  • :domain_auth_secret_arn (String)

    The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

    Constraints:

    • Can’t be longer than 64 characters.

    ^

    Example: ‘arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`

  • :domain_dns_ips (Array<String>)

    The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

    Constraints:

    • Two IP addresses must be provided. If there isn’t a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.

    ^

    Example: ‘123.124.125.126,234.235.236.237`

  • :enable_iam_database_authentication (Boolean)

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

    This setting doesn’t apply to RDS Custom.

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

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html

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

    This setting doesn’t apply to RDS Custom.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch

  • :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.

    This setting doesn’t apply to RDS Custom.

  • :use_default_processor_features (Boolean)

    Specifies whether the DB instance class of the DB instance uses its default processor features.

    This setting doesn’t apply to RDS Custom.

  • :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.

    This setting doesn’t apply to RDS Custom.

    Constraints:

    • If supplied, must match the name of an existing DB parameter group.

    • 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)

    Specifies whether the DB instance has deletion protection enabled. The database can’t be deleted when deletion protection is enabled. By default, deletion protection isn’t enabled. For more information, see [ Deleting a DB Instance].

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html

  • :source_dbi_resource_id (String)

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

  • :max_allocated_storage (Integer)

    The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

    For more information about this setting, including limitations that apply to it, see [ Managing capacity automatically with Amazon RDS storage autoscaling] in the *Amazon RDS User Guide*.

    This setting doesn’t apply to RDS Custom.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling

  • :source_db_instance_automated_backups_arn (String)

    The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, ‘arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE`.

    This setting doesn’t apply to RDS Custom.

  • :enable_customer_owned_ip (Boolean)

    Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

    A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

    This setting doesn’t apply to RDS Custom.

    For more information about RDS on Outposts, see [Working with Amazon RDS on Amazon Web Services Outposts] in the *Amazon RDS User Guide*.

    For more information about CoIPs, see [Customer-owned IP addresses] in the *Amazon Web Services Outposts User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html [2]: docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing

  • :custom_iam_instance_profile (String)

    The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The instance profile must meet the following requirements:

    • The profile must exist in your account.

    • The profile must have an IAM role that Amazon EC2 has permissions to assume.

    • The instance profile name and the associated IAM role name must start with the prefix ‘AWSRDSCustom`.

    For the list of permissions required for the IAM role, see [ Configure IAM and your VPC] in the *Amazon RDS User Guide*.

    This setting is required for RDS Custom.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc

  • :backup_target (String)

    The location for storing automated backups and manual snapshots for the restored DB instance.

    Valid Values:

    • ‘outposts` (Amazon Web Services Outposts)

    • ‘region` (Amazon Web Services Region)

    Default: ‘region`

    For more information, see [Working with Amazon RDS on Amazon Web Services Outposts] in the *Amazon RDS User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html

  • :network_type (String)

    The network type of the DB instance.

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

    For more information, see [ Working with a DB instance in a VPC] in the *Amazon RDS User Guide.*

    Valid Values:

    • ‘IPV4`

    • ‘DUAL`

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html

  • :storage_throughput (Integer)

    The storage throughput value for the DB instance.

    This setting doesn’t apply to RDS Custom or Amazon Aurora.

  • :allocated_storage (Integer)

    The amount of storage (in gibibytes) to allocate initially for the DB instance. Follow the allocation rules specified in ‘CreateDBInstance`.

    <note markdown=“1”> Be sure to allocate enough storage for your new DB instance so that the restore operation can succeed. You can also allocate additional storage for future growth.

    </note>
    
  • :dedicated_log_volume (Boolean)

    Specifies whether to enable a dedicated log volume (DLV) for the DB instance.

  • :ca_certificate_identifier (String)

    The CA certificate identifier to use for the DB instance’s server certificate.

    This setting doesn’t apply to RDS Custom DB instances.

    For more information, see [Using SSL/TLS to encrypt a connection to a DB instance] in the *Amazon RDS User Guide* and [ Using SSL/TLS to encrypt a connection to a DB cluster] in the *Amazon Aurora User Guide*.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html [2]: docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html

Returns:



4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
# File 'lib/aws-sdk-rds/db_instance.rb', line 4667

def restore(options = {})
  options = options.merge(source_db_instance_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.restore_db_instance_to_point_in_time(options)
  end
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#resume_full_automation_mode_timeTime

The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. The minimum value is 60 (default). The maximum value is 1,440.

Returns:

  • (Time)


651
652
653
# File 'lib/aws-sdk-rds/db_instance.rb', line 651

def resume_full_automation_mode_time
  data[:resume_full_automation_mode_time]
end

#secondary_availability_zoneString

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

Returns:

  • (String)


277
278
279
# File 'lib/aws-sdk-rds/db_instance.rb', line 277

def secondary_availability_zone
  data[:secondary_availability_zone]
end

#security_groupsDBSecurityGroup::Collection



4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
# File 'lib/aws-sdk-rds/db_instance.rb', line 4957

def security_groups
  batch = []
  data[:db_security_groups].each do |d|
    batch << DBSecurityGroup.new(
      name: d[:db_security_group_name],
      client: @client
    )
  end
  DBSecurityGroup::Collection.new([batch], size: batch.size)
end

#snapshots(options = {}) ⇒ DBSnapshot::Collection

Examples:

Request syntax with placeholder values


snapshots = db_instance.snapshots({
  db_snapshot_identifier: "String",
  snapshot_type: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  include_shared: false,
  include_public: false,
  dbi_resource_id: "String",
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :db_snapshot_identifier (String)

    A specific DB snapshot identifier to describe. 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 Amazon Web Services account.

    • ‘manual` - Return all DB snapshots that have been taken by my Amazon Web Services account.

    • ‘shared` - Return all manual DB snapshots that have been shared to my Amazon Web Services account.

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

    • ‘awsbackup` - Return the DB snapshots managed by the Amazon Web Services Backup service.

      For information about Amazon Web Services Backup, see the [ *Amazon Web Services Backup Developer Guide.* ][1]

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

    [1]: docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html

  • :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.

  • :include_shared (Boolean)

    Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

    You can give an Amazon Web Services account permission to restore a manual DB snapshot from another Amazon Web Services account by using the ‘ModifyDBSnapshotAttribute` API action.

    This setting doesn’t apply to RDS Custom.

  • :include_public (Boolean)

    Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

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

    This setting doesn’t apply to RDS Custom.

  • :dbi_resource_id (String)

    A specific DB resource ID to describe.

Returns:



5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
# File 'lib/aws-sdk-rds/db_instance.rb', line 5071

def snapshots(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(db_instance_identifier: @id)
    resp = Aws::Plugins::UserAgent.feature('resource') do
      @client.describe_db_snapshots(options)
    end
    resp.each_page do |page|
      batch = []
      page.data.db_snapshots.each do |d|
        batch << DBSnapshot.new(
          instance_id: options[:db_instance_identifier],
          snapshot_id: d.db_snapshot_identifier,
          data: d,
          client: @client
        )
      end
      y.yield(batch)
    end
  end
  DBSnapshot::Collection.new(batches)
end

#sourceDBInstance?

Returns:



5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
# File 'lib/aws-sdk-rds/db_instance.rb', line 5094

def source
  if data[:read_replica_source_db_instance_identifier]
    DBInstance.new(
      id: data[:read_replica_source_db_instance_identifier],
      client: @client
    )
  else
    nil
  end
end

#status_infosArray<Types::DBInstanceStatusInfo>

The status of a read replica. If the DB instance isn’t a read replica, the value is blank.

Returns:



303
304
305
# File 'lib/aws-sdk-rds/db_instance.rb', line 303

def status_infos
  data[:status_infos]
end

#storage_encryptedBoolean

Indicates whether the DB instance is encrypted.

Returns:

  • (Boolean)


337
338
339
# File 'lib/aws-sdk-rds/db_instance.rb', line 337

def storage_encrypted
  data[:storage_encrypted]
end

#storage_throughputInteger

The storage throughput for the DB instance.

This setting applies only to the ‘gp3` storage type.

Returns:

  • (Integer)


716
717
718
# File 'lib/aws-sdk-rds/db_instance.rb', line 716

def storage_throughput
  data[:storage_throughput]
end

#storage_typeString

The storage type associated with the DB instance.

Returns:

  • (String)


309
310
311
# File 'lib/aws-sdk-rds/db_instance.rb', line 309

def storage_type
  data[:storage_type]
end

#subnet_groupDBSubnetGroup?

Returns:



5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
# File 'lib/aws-sdk-rds/db_instance.rb', line 5106

def subnet_group
  if data[:db_subnet_group][:db_subnet_group_name]
    DBSubnetGroup.new(
      name: data[:db_subnet_group][:db_subnet_group_name],
      client: @client
    )
  else
    nil
  end
end

#subscribe_to(options = {}) ⇒ EventSubscription

Examples:

Request syntax with placeholder values


eventsubscription = db_instance.subscribe_to({
  subscription_name: "String", # required
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :subscription_name (required, String)

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

Returns:



4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
# File 'lib/aws-sdk-rds/db_instance.rb', line 4689

def subscribe_to(options = {})
  options = options.merge(source_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.add_source_identifier_to_subscription(options)
  end
  EventSubscription.new(
    name: resp.data.event_subscription.cust_subscription_id,
    data: resp.data.event_subscription,
    client: @client
  )
end

#tag_listArray<Types::Tag>

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

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html

Returns:



558
559
560
# File 'lib/aws-sdk-rds/db_instance.rb', line 558

def tag_list
  data[:tag_list]
end

#tde_credential_arnString

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

Returns:

  • (String)


316
317
318
# File 'lib/aws-sdk-rds/db_instance.rb', line 316

def tde_credential_arn
  data[:tde_credential_arn]
end

#timezoneString

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

Returns:

  • (String)


441
442
443
# File 'lib/aws-sdk-rds/db_instance.rb', line 441

def timezone
  data[:timezone]
end

#unsubscribe_from(options = {}) ⇒ EventSubscription

Examples:

Request syntax with placeholder values


eventsubscription = db_instance.unsubscribe_from({
  subscription_name: "String", # required
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :subscription_name (required, String)

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

Returns:



4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
# File 'lib/aws-sdk-rds/db_instance.rb', line 4711

def unsubscribe_from(options = {})
  options = options.merge(source_identifier: @id)
  resp = Aws::Plugins::UserAgent.feature('resource') do
    @client.remove_source_identifier_from_subscription(options)
  end
  EventSubscription.new(
    name: resp.data.event_subscription.cust_subscription_id,
    data: resp.data.event_subscription,
    client: @client
  )
end

#vpc_security_groupsArray<Types::VpcSecurityGroupMembership>

The list of Amazon EC2 VPC security groups that the DB instance belongs to.



132
133
134
# File 'lib/aws-sdk-rds/db_instance.rb', line 132

def vpc_security_groups
  data[:vpc_security_groups]
end

#wait_until(options = {}) {|resource| ... } ⇒ Resource

Deprecated.

Use [Aws::RDS::Client] #wait_until instead

Note:

The waiting operation is performed on a copy. The original resource remains unchanged.

Waiter polls an API operation until a resource enters a desired state.

## Basic Usage

Waiter will polls until it is successful, it fails by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop until condition is true
resource.wait_until(options) {|resource| condition}

## Example

instance.wait_until(max_attempts:10, delay:5) do |instance|
  instance.state.name == 'running'
end

## Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. The waiting condition is set by passing a block to #wait_until:

# poll for ~25 seconds
resource.wait_until(max_attempts:5,delay:5) {|resource|...}

## Callbacks

You can be notified before each polling attempt and before each delay. If you throw ‘:success` or `:failure` from these callbacks, it will terminate the waiter.

started_at = Time.now
# poll for 1 hour, instead of a number of attempts
proc = Proc.new do |attempts, response|
  throw :failure if Time.now - started_at > 3600
end

  # disable max attempts
instance.wait_until(before_wait:proc, max_attempts:nil) {...}

## Handling Errors

When a waiter is successful, it returns the Resource. When a waiter fails, it raises an error.

begin
  resource.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

attempts attempt in seconds invoked before each attempt invoked before each wait

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :max_attempts (Integer) — default: 10

    Maximum number of

  • :delay (Integer) — default: 10

    Delay between each

  • :before_attempt (Proc) — default: nil

    Callback

  • :before_wait (Proc) — default: nil

    Callback

Yield Parameters:

  • resource (Resource)

    to be used in the waiting condition.

Returns:

  • (Resource)

    if the waiter was successful

Raises:

  • (Aws::Waiters::Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

    yet successful.

  • (Aws::Waiters::Errors::UnexpectedError)

    Raised when an error is encountered while polling for a resource that is not expected.

  • (NotImplementedError)

    Raised when the resource does not



906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
# File 'lib/aws-sdk-rds/db_instance.rb', line 906

def wait_until(options = {}, &block)
  self_copy = self.dup
  attempts = 0
  options[:max_attempts] = 10 unless options.key?(:max_attempts)
  options[:delay] ||= 10
  options[:poller] = Proc.new do
    attempts += 1
    if block.call(self_copy)
      [:success, self_copy]
    else
      self_copy.reload unless attempts == options[:max_attempts]
      :retry
    end
  end
  Aws::Plugins::UserAgent.feature('resource') do
    Aws::Waiters::Waiter.new(options).wait({})
  end
end