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)


19
20
21
22
23
24
# File 'lib/aws-sdk-rds/db_instance.rb', line 19

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

Instance Method Details

#allocated_storageInteger

Specifies the allocated storage size specified in gigabytes.

Returns:

  • (Integer)


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

def allocated_storage
  data.allocated_storage
end

#auto_minor_version_upgradeBoolean

Indicates that minor version patches are applied automatically.

Returns:

  • (Boolean)


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

def auto_minor_version_upgrade
  data.auto_minor_version_upgrade
end

#availability_zoneString

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

Returns:

  • (String)


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

def availability_zone
  data.availability_zone
end

#backup_retention_periodInteger

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

Returns:

  • (Integer)


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

def backup_retention_period
  data.backup_retention_period
end

#ca_certificate_identifierString

The identifier of the CA certificate for this DB instance.

Returns:

  • (String)


326
327
328
# File 'lib/aws-sdk-rds/db_instance.rb', line 326

def ca_certificate_identifier
  data.ca_certificate_identifier
end

#certificateCertificate?

Returns:



2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
# File 'lib/aws-sdk-rds/db_instance.rb', line 2534

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

#character_set_nameString

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

Returns:

  • (String)


233
234
235
# File 'lib/aws-sdk-rds/db_instance.rb', line 233

def character_set_name
  data.character_set_name
end

#clientClient

Returns:



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

def client
  @client
end

#clusterDBCluster?

Returns:



2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
# File 'lib/aws-sdk-rds/db_instance.rb', line 2546

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

#copy_tags_to_snapshotBoolean

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

Returns:

  • (Boolean)


340
341
342
# File 'lib/aws-sdk-rds/db_instance.rb', line 340

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",
  publicly_accessible: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  db_cluster_identifier: "String",
  storage_type: "String",
  tde_credential_arn: "String",
  tde_credential_password: "String",
  storage_encrypted: false,
  kms_key_id: "String",
  domain: "String",
  copy_tags_to_snapshot: false,
  monitoring_interval: 1,
  monitoring_role_arn: "String",
  domain_iam_role_name: "String",
  promotion_tier: 1,
  timezone: "String",
  enable_iam_database_authentication: false,
})

Parameters:

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

    ({})

Options Hash (options):

  • :db_name (String)

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

    Type: String

    MySQL

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

    Constraints:

    • Must contain 1 to 64 alphanumeric characters

    • Cannot be a word reserved by the specified database engine

    MariaDB

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

    Constraints:

    • Must contain 1 to 64 alphanumeric characters

    • Cannot be a word reserved by the specified database engine

    PostgreSQL

    The name of the database to create when the DB instance is created. If this parameter is not specified, the default “postgres” database is created in the DB instance.

    Constraints:

    • Must contain 1 to 63 alphanumeric characters

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

    • Cannot be a word reserved by the specified database engine

    Oracle

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

    Default: ‘ORCL`

    Constraints:

    • Cannot be longer than 8 characters

    ^

    **SQL Server**

    Not applicable. Must be null.

    **Amazon Aurora**

    The name of the database to create when the primary instance of the DB cluster is created. If this parameter is not specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 alphanumeric characters

    • Cannot be a word reserved by the specified database engine

  • :allocated_storage (Integer)

    The amount of storage (in gigabytes) to be initially allocated for the database instance.

    Type: Integer

    **Amazon Aurora**

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

    MySQL

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

    • General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144.

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

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

    MariaDB

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

    • General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144.

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

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

    PostgreSQL

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

    • General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144.

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

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

    Oracle

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

    • General Purpose (SSD) storage (gp2): Must be an integer from 10 to 6144.

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

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

    **SQL Server**

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

    • General Purpose (SSD) storage (gp2):

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

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

    • Provisioned IOPS storage (io1):

      • Enterprise and Standard editions: Must be an integer from 200 to 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 200 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. Note that not all instance classes are available in all regions for all DB engines.

    Valid Values: ‘db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large`

  • :engine (required, String)

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

    Not every database engine is available for every AWS Region.

    Valid Values:

    • ‘aurora`

    • ‘mariadb`

    • ‘mysql`

    • ‘oracle-ee`

    • ‘oracle-se2`

    • ‘oracle-se1`

    • ‘oracle-se`

    • ‘postgres`

    • ‘sqlserver-ee`

    • ‘sqlserver-se`

    • ‘sqlserver-ex`

    • ‘sqlserver-web`

  • :master_username (String)

    The name for the master user.

    **Amazon Aurora**

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

    MariaDB

    Constraints:

    • Must be 1 to 16 alphanumeric characters.

    • Cannot be a reserved word for the chosen database engine.

    **Microsoft SQL Server**

    Constraints:

    • Must be 1 to 128 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    MySQL

    Constraints:

    • Must be 1 to 16 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    Oracle

    Constraints:

    • Must be 1 to 30 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    PostgreSQL

    Constraints:

    • Must be 1 to 63 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

  • :master_user_password (String)

    The password for the master user. Can be any printable ASCII character except “/”, “”“, or ”@“.

    **Amazon Aurora**

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

    MariaDB

    Constraints: Must contain from 8 to 41 characters.

    **Microsoft SQL Server**

    Constraints: Must contain from 8 to 128 characters.

    MySQL

    Constraints: Must contain from 8 to 41 characters.

    Oracle

    Constraints: Must contain from 8 to 30 characters.

    PostgreSQL

    Constraints: Must contain from 8 to 128 characters.

  • :db_security_groups (Array<String>)

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

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

  • :vpc_security_group_ids (Array<String>)

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

    **Amazon Aurora**

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

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

  • :availability_zone (String)

    The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see [Regions and Availability Zones].

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

    Example: ‘us-east-1d`

    Constraint: The AvailabilityZone parameter cannot be specified if the MultiAZ parameter is set to ‘true`. The specified Availability Zone must be in the same AWS Region as the current endpoint.

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

    If there is no DB subnet group, then it is a non-VPC DB instance.

  • :preferred_maintenance_window (String)

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see [DB Instance Maintenance].

    Format: ‘ddd:hh24:mi-ddd:hh24:mi`

    Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. To see the time blocks available, see [ Adjusting the Preferred Maintenance Window] in the *Amazon RDS User Guide.*

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

    Constraints: Minimum 30-minute window.

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

  • :db_parameter_group_name (String)

    The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine will be used.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

  • :backup_retention_period (Integer)

    The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    **Amazon Aurora**

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

    Default: 1

    Constraints:

    • Must be a value from 0 to 35

    • Cannot be set to 0 if the DB instance is a source to Read Replicas

  • :preferred_backup_window (String)

    The daily time range during which automated backups are created if automated backups are enabled, using the ‘BackupRetentionPeriod` parameter. For more information, see [DB Instance Backups].

    **Amazon Aurora**

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

    Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see [ Adjusting the Preferred DB Instance Maintenance Window].

    Constraints:

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

    • Times should be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    [1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.BackingUpAndRestoringAmazonRDSInstances.html [2]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow

  • :port (Integer)

    The port number on which the database accepts connections.

    MySQL

    Default: ‘3306`

    Valid Values: ‘1150-65535`

    Type: Integer

    MariaDB

    Default: ‘3306`

    Valid Values: ‘1150-65535`

    Type: Integer

    PostgreSQL

    Default: ‘5432`

    Valid Values: ‘1150-65535`

    Type: Integer

    Oracle

    Default: ‘1521`

    Valid Values: ‘1150-65535`

    **SQL Server**

    Default: ‘1433`

    Valid Values: ‘1150-65535` except for `1434`, `3389`, `47001`, `49152`, and `49152` through `49156`.

    **Amazon Aurora**

    Default: ‘3306`

    Valid Values: ‘1150-65535`

    Type: Integer

  • :multi_az (Boolean)

    Specifies if the DB instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

  • :engine_version (String)

    The version number of the database engine to use.

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

    **Amazon Aurora**

    Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster. For more information, see CreateDBCluster.

    MariaDB

    • ‘10.1.23` (supported in all AWS regions)

    • ‘10.1.19` (supported in all AWS regions)

    • ‘10.1.14` (supported in all regions except us-east-2)

    • ‘10.0.31` (supported in all AWS regions)

    • ‘10.0.28` (supported in all AWS regions)

    • ‘10.0.24` (supported in all AWS regions)

    • ‘10.0.17` (supported in all regions except us-east-2, ca-central-1, eu-west-2)

    **Microsoft SQL Server 2016**

    • ‘13.00.4422.0.v1` (supported for all editions, and all AWS regions)

    • ‘13.00.2164.0.v1` (supported for all editions, and all AWS regions)

    **Microsoft SQL Server 2014**

    • ‘12.00.5546.0.v1` (supported for all editions, and all AWS regions)

    • ‘12.00.5000.0.v1` (supported for all editions, and all AWS regions)

    • ‘12.00.4422.0.v1` (supported for all editions except Enterprise Edition, and all AWS regions except ca-central-1 and eu-west-2)

    **Microsoft SQL Server 2012**

    • ‘11.00.6594.0.v1` (supported for all editions, and all AWS regions)

    • ‘11.00.6020.0.v1` (supported for all editions, and all AWS regions)

    • ‘11.00.5058.0.v1` (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

    • ‘11.00.2100.60.v1` (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

    **Microsoft SQL Server 2008 R2**

    • ‘10.50.6529.0.v1` (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

    • ‘10.50.6000.34.v1` (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

    • ‘10.50.2789.0.v1` (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

    MySQL

    • ‘5.7.17` (supported in all AWS regions)

    • ‘5.7.16` (supported in all AWS regions)

    • ‘5.7.11` (supported in all AWS regions)

    • ‘5.6.35` (supported in all AWS regions)

    • ‘5.6.34` (supported in all AWS regions)

    • ‘5.6.29` (supported in all AWS regions)

    • ‘5.6.27` (supported in all regions except us-east-2, ca-central-1, eu-west-2)

    • ‘5.5.54` (supported in all AWS regions)

    • ‘5.5.53` (supported in all AWS regions)

    • ‘5.5.46` (supported in all AWS regions)

    **Oracle 12c**

    • ‘12.1.0.2.v8` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    • ‘12.1.0.2.v7` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    • ‘12.1.0.2.v6` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    • ‘12.1.0.2.v5` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    • ‘12.1.0.2.v4` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    • ‘12.1.0.2.v3` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    • ‘12.1.0.2.v2` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    • ‘12.1.0.2.v1` (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

    **Oracle 11g**

    • ‘11.2.0.4.v12` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v11` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v10` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v9` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v8` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v7` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v6` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v5` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v4` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v3` (supported for EE, SE1, and SE, in all AWS regions)

    • ‘11.2.0.4.v1` (supported for EE, SE1, and SE, in all AWS regions)

    PostgreSQL

    • **Version 9.6.x:** ‘ 9.6.1 | 9.6.2`

    • **Version 9.5.x:** ‘9.5.6 | 9.5.4 | 9.5.2`

    • **Version 9.4.x:** ‘9.4.11 | 9.4.9 | 9.4.7`

    • **Version 9.3.x:** ‘9.3.16 | 9.3.14 | 9.3.12`

  • :auto_minor_version_upgrade (Boolean)

    Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.

    Default: ‘true`

  • :license_model (String)

    License model information for this DB instance.

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

  • :iops (Integer)

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

    Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your ‘Iops` value can be 2000, 3000, 4000, or 5000.

  • :option_group_name (String)

    Indicates that the DB instance should be associated with the specified option group.

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

  • :character_set_name (String)

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

    **Amazon Aurora**

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

  • :publicly_accessible (Boolean)

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • **Default VPC:** true

    • VPC: false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

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

    A list of tags.

  • :db_cluster_identifier (String)

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

    For information on creating a DB cluster, see CreateDBCluster.

    Type: String

  • :storage_type (String)

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

    Valid values: ‘standard | gp2 | io1`

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

    Default: ‘io1` if the `Iops` parameter is specified; otherwise `standard`

  • :tde_credential_arn (String)

    The ARN from the Key Store with which to associate the instance for TDE encryption.

  • :tde_credential_password (String)

    The password for the given ARN from the Key Store in order to access the device.

  • :storage_encrypted (Boolean)

    Specifies whether the DB instance is encrypted.

    **Amazon Aurora**

    Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see CreateDBCluster.

    Default: false

  • :kms_key_id (String)

    The KMS key identifier for an encrypted DB instance.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

    **Amazon Aurora**

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

    If the ‘StorageEncrypted` parameter is true, and you do not specify a value for the `KmsKeyId` parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

  • :domain (String)

    Specify the Active Directory Domain to create the instance in.

  • :copy_tags_to_snapshot (Boolean)

    True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.

  • :monitoring_interval (Integer)

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

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

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

  • :monitoring_role_arn (String)

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

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

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

  • :domain_iam_role_name (String)

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

  • :promotion_tier (Integer)

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [ Fault Tolerance for an Aurora DB Cluster].

    Default: 1

    Valid Values: 0 - 15

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

  • :timezone (String)

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

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

  • :enable_iam_database_authentication (Boolean)

    True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

    You can enable IAM database authentication for the following database engines:

    **Amazon Aurora**

    Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see CreateDBCluster.

    MySQL

    • For MySQL 5.6, minor version 5.6.34 or higher

    • For MySQL 5.7, minor version 5.7.16 or higher

    Default: ‘false`

Returns:



1273
1274
1275
1276
1277
1278
1279
1280
1281
# File 'lib/aws-sdk-rds/db_instance.rb', line 1273

def create(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = @client.create_db_instance(options)
  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,
  auto_minor_version_upgrade: false,
  iops: 1,
  option_group_name: "String",
  publicly_accessible: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  db_subnet_group_name: "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,
  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. Note that not all instance classes are available in all regions for all DB engines.

    Valid Values: ‘db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large`

    Default: Inherits from the source DB instance.

  • :availability_zone (String)

    The Amazon EC2 Availability Zone that the Read Replica will be created in.

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

    Example: ‘us-east-1d`

  • :port (Integer)

    The port number that the DB instance uses for connections.

    Default: Inherits from the source DB instance

    Valid Values: ‘1150-65535`

  • :auto_minor_version_upgrade (Boolean)

    Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window.

    Default: Inherits from the source DB instance

  • :iops (Integer)

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

  • :option_group_name (String)

    The option group the DB instance will be associated with. If omitted, the default option group for the engine specified will be used.

  • :publicly_accessible (Boolean)

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • **Default VPC:**true

    • **VPC:**false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

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

    A list of tags.

  • :db_subnet_group_name (String)

    Specifies a DB subnet group for the DB instance. The new DB instance will be created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance is not created in a VPC.

    Constraints:

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

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

    • All Read Replicas in one AWS Region that are created from the same source DB instance must either:&gt;

      • Specify DB subnet groups from the same VPC. All these Read Replicas will be created in the same VPC.

      • Not specify a DB subnet group. All these Read Replicas will be created outside of any VPC.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: ‘mySubnetgroup`

  • :storage_type (String)

    Specifies the storage type to be associated with the Read Replica.

    Valid values: ‘standard | gp2 | io1`

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

    Default: ‘io1` if the `Iops` parameter is specified; otherwise `standard`

  • :copy_tags_to_snapshot (Boolean)

    True to copy all tags from the Read Replica to snapshots of the Read Replica; otherwise false. The default is false.

  • :monitoring_interval (Integer)

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

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

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

  • :monitoring_role_arn (String)

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, ‘arn:aws:iam:123456789012:role/emaccess`. For information on creating a monitoring role, go to [To create an IAM role for Amazon RDS Enhanced Monitoring].

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

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

  • :kms_key_id (String)

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

    If you specify this parameter when you create a Read Replica from an unencrypted DB instance, the Read Replica is encrypted.

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

    If you create an encrypted Read Replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you cannot use encryption keys from one AWS Region in another AWS Region.

  • :pre_signed_url (String)

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

    You must specify this parameter when you create an encrypted Read Replica from another AWS Region by using the Amazon RDS API. You can specify the source region option instead of this parameter when you create an encrypted Read Replica from another AWS Region by using the AWS CLI.

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

    • ‘DestinationRegion` - The AWS Region that the encrypted Read Replica will be created in. This AWS Region is the same one where the `CreateDBInstanceReadReplica` action is called that contains this presigned URL.

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

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

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

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

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

    True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

    You can enable IAM database authentication for the following database engines

    • For MySQL 5.6, minor version 5.6.34 or higher

    • For MySQL 5.7, minor version 5.7.16 or higher

    • Aurora 5.6 or higher.

    Default: ‘false`

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

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

Returns:



1525
1526
1527
1528
1529
1530
1531
1532
1533
# File 'lib/aws-sdk-rds/db_instance.rb', line 1525

def create_read_replica(options = {})
  options = options.merge(source_db_instance_identifier: @id)
  resp = @client.create_db_instance_read_replica(options)
  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:

    • Cannot be null, empty, or blank

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: ‘my-snapshot-id`

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

    A list of tags.

Returns:



1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
# File 'lib/aws-sdk-rds/db_instance.rb', line 1564

def create_snapshot(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = @client.create_db_snapshot(options)
  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

#dataTypes::DBInstance

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

Returns:



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

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.



441
442
443
# File 'lib/aws-sdk-rds/db_instance.rb', line 441

def data_loaded?
  !!@data
end

#db_cluster_identifierString

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

Returns:

  • (String)


299
300
301
# File 'lib/aws-sdk-rds/db_instance.rb', line 299

def db_cluster_identifier
  data.db_cluster_identifier
end

#db_instance_arnString

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

Returns:

  • (String)


381
382
383
# File 'lib/aws-sdk-rds/db_instance.rb', line 381

def db_instance_arn
  data.db_instance_arn
end

#db_instance_classString

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

Returns:

  • (String)


37
38
39
# File 'lib/aws-sdk-rds/db_instance.rb', line 37

def db_instance_class
  data.db_instance_class
end

#db_instance_portInteger

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

Returns:

  • (Integer)


292
293
294
# File 'lib/aws-sdk-rds/db_instance.rb', line 292

def db_instance_port
  data.db_instance_port
end

#db_instance_statusString

Specifies the current state of this database.

Returns:

  • (String)


50
51
52
# File 'lib/aws-sdk-rds/db_instance.rb', line 50

def db_instance_status
  data.db_instance_status
end

#db_nameString

The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines.

**MySQL, MariaDB, SQL Server, PostgreSQL**

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

Type: String

Oracle

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

Returns:

  • (String)


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

def db_name
  data.db_name
end

#db_parameter_groupsArray<Types::DBParameterGroupStatus>

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

Returns:



132
133
134
# File 'lib/aws-sdk-rds/db_instance.rb', line 132

def db_parameter_groups
  data.db_parameter_groups
end

#db_security_groupsArray<Types::DBSecurityGroupMembership>

Provides List of DB security group elements containing only ‘DBSecurityGroup.Name` and `DBSecurityGroup.Status` subelements.



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

def db_security_groups
  data.db_security_groups
end

#db_subnet_groupTypes::DBSubnetGroup

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



147
148
149
# File 'lib/aws-sdk-rds/db_instance.rb', line 147

def db_subnet_group
  data.db_subnet_group
end

#dbi_resource_idString

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

Returns:

  • (String)


320
321
322
# File 'lib/aws-sdk-rds/db_instance.rb', line 320

def dbi_resource_id
  data.dbi_resource_id
end

#delete(options = {}) ⇒ DBInstance

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (options):

  • :skip_final_snapshot (Boolean)

    Determines whether a final DB snapshot is created before the DB instance is deleted. If ‘true` is specified, no DBSnapshot is created. If `false` is specified, a DB snapshot is created before the DB instance is deleted.

    Note that when a DB instance is in a failure state and has a status of ‘failed’, ‘incompatible-restore’, or ‘incompatible-network’, it can only be deleted when the SkipFinalSnapshot parameter is set to “true”.

    Specify ‘true` when deleting a Read Replica.

    <note markdown=“1”> The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is ‘false`.

    </note>
    

    Default: ‘false`

  • :final_db_snapshot_identifier (String)

    The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to ‘false`.

    <note markdown=“1”> Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

    </note>
    

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    • Cannot be specified when deleting a Read Replica.

Returns:



1620
1621
1622
1623
1624
1625
1626
1627
1628
# File 'lib/aws-sdk-rds/db_instance.rb', line 1620

def delete(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = @client.delete_db_instance(options)
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#domain_membershipsArray<Types::DomainMembership>

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

Returns:



333
334
335
# File 'lib/aws-sdk-rds/db_instance.rb', line 333

def domain_memberships
  data.domain_memberships
end

#endpointTypes::Endpoint

Specifies the connection endpoint.

Returns:



85
86
87
# File 'lib/aws-sdk-rds/db_instance.rb', line 85

def endpoint
  data.endpoint
end

#engineString

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

Returns:

  • (String)


44
45
46
# File 'lib/aws-sdk-rds/db_instance.rb', line 44

def engine
  data.engine
end

#engine_versionString

Indicates the database engine version.

Returns:

  • (String)


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

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)


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

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 is not currently supported.

Returns:



2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
# File 'lib/aws-sdk-rds/db_instance.rb', line 2602

def events(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(
      source_type: "db-instance",
      source_identifier: @id
    )
    resp = @client.describe_events(options)
    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

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

IAM database authentication can be enabled for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

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

Returns:

  • (Boolean)


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

def iam_database_authentication_enabled
  data.iam_database_authentication_enabled
end

#idString Also known as: db_instance_identifier

Returns:

  • (String)


29
30
31
# File 'lib/aws-sdk-rds/db_instance.rb', line 29

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.


2907
2908
2909
# File 'lib/aws-sdk-rds/db_instance.rb', line 2907

def identifiers
  { id: @id }
end

#instance_create_timeTime

Provides the date and time the DB instance was created.

Returns:

  • (Time)


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

def instance_create_time
  data.instance_create_time
end

#iopsInteger

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

Returns:

  • (Integer)


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

def iops
  data.iops
end

#kms_key_idString

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

Returns:

  • (String)


312
313
314
# File 'lib/aws-sdk-rds/db_instance.rb', line 312

def kms_key_id
  data.kms_key_id
end

#latest_restorable_timeTime

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

Returns:

  • (Time)


169
170
171
# File 'lib/aws-sdk-rds/db_instance.rb', line 169

def latest_restorable_time
  data.latest_restorable_time
end

#license_modelString

License model information for this DB instance.

Returns:

  • (String)


214
215
216
# File 'lib/aws-sdk-rds/db_instance.rb', line 214

def license_model
  data.license_model
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)


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

def load
  resp = @client.describe_db_instances(db_instance_identifier: @id)
  @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 is not currently supported.

Returns:



2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
# File 'lib/aws-sdk-rds/db_instance.rb', line 2651

def log_files(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(db_instance_identifier: @id)
    resp = @client.describe_db_log_files(options)
    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_usernameString

Contains the master username for the DB instance.

Returns:

  • (String)


56
57
58
# File 'lib/aws-sdk-rds/db_instance.rb', line 56

def master_username
  data.master_username
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",
  copy_tags_to_snapshot: false,
  monitoring_interval: 1,
  db_port_number: 1,
  publicly_accessible: false,
  monitoring_role_arn: "String",
  domain_iam_role_name: "String",
  promotion_tier: 1,
  enable_iam_database_authentication: false,
})

Parameters:

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

    ({})

Options Hash (options):

  • :allocated_storage (Integer)

    The new storage capacity of the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless ‘ApplyImmediately` is set to `true` for this request.

    MySQL

    Default: Uses existing setting

    Valid Values: 5-6144

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

    Type: Integer

    MariaDB

    Default: Uses existing setting

    Valid Values: 5-6144

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

    Type: Integer

    PostgreSQL

    Default: Uses existing setting

    Valid Values: 5-6144

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

    Type: Integer

    Oracle

    Default: Uses existing setting

    Valid Values: 10-6144

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

    **SQL Server**

    Cannot be modified.

    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 will be available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance will be 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.

  • :db_instance_class (String)

    The new compute and memory capacity of the DB instance. To determine the instance classes that are available for a particular DB engine, use the DescribeOrderableDBInstanceOptions action. Note that not all instance classes are available in all regions for all DB engines.

    Passing a value for this setting causes an outage during the change and is applied during the next maintenance window, unless ‘ApplyImmediately` is specified as `true` for this request.

    Default: Uses existing setting

    Valid Values: ‘db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large`

  • :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 is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see [Updating the VPC for a DB Instance].

    Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify ‘true` for the `ApplyImmediately` parameter.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens.

    Example: ‘mySubnetGroup`

    [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 does not result in an outage and the change is asynchronously applied as soon as possible.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

  • :vpc_security_group_ids (Array<String>)

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

    **Amazon Aurora**

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

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

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

    If this parameter is set to ‘false`, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and will be applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in [Modifying a DB Instance and Using the Apply Immediately Parameter] to see the impact that setting `ApplyImmediately` to `true` or `false` has for each modified parameter and to determine when the changes will be applied.

    Default: ‘false`

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

  • :master_user_password (String)

    The new password for the master user. Can be any printable ASCII character except “/”, “”“, or ”@“.

    Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the ‘MasterUserPassword` element exists in the `PendingModifiedValues` element of the operation response.

    **Amazon Aurora**

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

    Default: Uses existing setting

    Constraints: Must be 8 to 41 alphanumeric characters (MySQL, MariaDB, and Amazon Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).

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

    </note>
    
  • :db_parameter_group_name (String)

    The name of the DB parameter group to apply to the DB instance. Changing this setting does not 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. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

    Default: Uses existing setting

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

  • :backup_retention_period (Integer)

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

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

    **Amazon Aurora**

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

    Default: Uses existing setting

    Constraints:

    • Must be a value from 0 to 35

    • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6

    • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5

    • Cannot be set to 0 if the DB instance is a source to Read Replicas

  • :preferred_backup_window (String)

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

    **Amazon Aurora**

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

    Constraints:

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

    • Times should be in Universal Time Coordinated (UTC)

    • Must not conflict with the preferred maintenance window

    • Must be at least 30 minutes

  • :preferred_maintenance_window (String)

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

    Default: Uses existing setting

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

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

    Constraints: Must be at least 30 minutes

  • :multi_az (Boolean)

    Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ‘ApplyImmediately` parameter is set to `true` for this request.

    Constraints: Cannot be specified if the DB instance is a Read Replica.

  • :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 set to `true` for this request.

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

    For a list of valid engine versions, see CreateDBInstance.

  • :allow_major_version_upgrade (Boolean)

    Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

    Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB instance’s current version.

  • :auto_minor_version_upgrade (Boolean)

    Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to ‘true` during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

  • :license_model (String)

    The license model for the DB instance.

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

  • :iops (Integer)

    The new Provisioned IOPS (I/O operations per second) value for the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless the ‘ApplyImmediately` parameter is set to `true` for this request.

    Default: Uses existing setting

    Constraints: 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. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

    **SQL Server**

    Setting the IOPS value for the SQL Server database engine is not supported.

    Type: Integer

    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 will be available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance will be 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.

  • :option_group_name (String)

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

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

  • :new_db_instance_identifier (String)

    The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set ‘Apply Immediately` to true, or will occur during the next maintenance window if `Apply Immediately` to false. This value is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

  • :storage_type (String)

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

    Valid values: ‘standard | gp2 | io1`

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

    Default: ‘io1` if the `Iops` parameter is specified; otherwise `standard`

  • :tde_credential_arn (String)

    The ARN from the Key Store with which to associate the instance for TDE encryption.

  • :tde_credential_password (String)

    The password for the given ARN from the Key Store in order to access the device.

  • :ca_certificate_identifier (String)

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

  • :domain (String)

    The Active Directory Domain to move the instance to. Specify ‘none` to remove the instance from its current domain. The domain must be created prior to this operation. Currently only a Microsoft SQL Server instance can be created in a Active Directory Domain.

  • :copy_tags_to_snapshot (Boolean)

    True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.

  • :monitoring_interval (Integer)

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

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

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

  • :db_port_number (Integer)

    The port number on which the database accepts connections.

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

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

    MySQL

    Default: ‘3306`

    Valid Values: ‘1150-65535`

    MariaDB

    Default: ‘3306`

    Valid Values: ‘1150-65535`

    PostgreSQL

    Default: ‘5432`

    Valid Values: ‘1150-65535`

    Type: Integer

    Oracle

    Default: ‘1521`

    Valid Values: ‘1150-65535`

    **SQL Server**

    Default: ‘1433`

    Valid Values: ‘1150-65535` except for `1434`, `3389`, `47001`, `49152`, and `49152` through `49156`.

    **Amazon Aurora**

    Default: ‘3306`

    Valid Values: ‘1150-65535`

  • :publicly_accessible (Boolean)

    Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to ‘True` to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to `False` to make the DB instance internal 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 true in order for it to be publicly accessible.

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

    Default: false

  • :monitoring_role_arn (String)

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, ‘arn:aws:iam:123456789012:role/emaccess`. For information on creating a monitoring role, go to [To create an IAM role for Amazon RDS Enhanced Monitoring].

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

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

  • :promotion_tier (Integer)

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [ Fault Tolerance for an Aurora DB Cluster].

    Default: 1

    Valid Values: 0 - 15

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

  • :enable_iam_database_authentication (Boolean)

    True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

    You can enable IAM database authentication for the following database engines

    **Amazon Aurora**

    Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.

    MySQL

    • For MySQL 5.6, minor version 5.6.34 or higher

    • For MySQL 5.7, minor version 5.7.16 or higher

    Default: ‘false`

Returns:



2190
2191
2192
2193
2194
2195
2196
2197
2198
# File 'lib/aws-sdk-rds/db_instance.rb', line 2190

def modify(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = @client.modify_db_instance(options)
  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)


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

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 CloudWatch Logs.

Returns:

  • (String)


362
363
364
# File 'lib/aws-sdk-rds/db_instance.rb', line 362

def monitoring_role_arn
  data.monitoring_role_arn
end

#multi_azBoolean

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

Returns:

  • (Boolean)


175
176
177
# File 'lib/aws-sdk-rds/db_instance.rb', line 175

def multi_az
  data.multi_az
end

#option_group_membershipsArray<Types::OptionGroupMembership>

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

Returns:



226
227
228
# File 'lib/aws-sdk-rds/db_instance.rb', line 226

def option_group_memberships
  data.option_group_memberships
end

#option_groupsOptionGroup::Collection



2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
# File 'lib/aws-sdk-rds/db_instance.rb', line 2672

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

#parameter_groupsDBParameterGroup::Collection



2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
# File 'lib/aws-sdk-rds/db_instance.rb', line 2684

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
    },
  ],
  marker: "String",
  max_records: 1,
})

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 will only include 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 will only include pending maintenance actions for the DB instances identified by these ARNs.

  • :marker (String)

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

  • :max_records (Integer)

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

    Default: 100

    Constraints: Minimum 20, maximum 100.

Returns:



2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
# File 'lib/aws-sdk-rds/db_instance.rb', line 2740

def pending_maintenance_actions(options = {})
  batches = Enumerator.new do |y|
    batch = []
    options = Aws::Util.deep_merge(options, filters: [{
      name: "db-instance-id",
      values: [@id]
    }])
    resp = @client.describe_pending_maintenance_actions(options)
    resp.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
  PendingMaintenanceAction::Collection.new(batches)
end

#pending_modified_valuesTypes::PendingModifiedValues

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



162
163
164
# File 'lib/aws-sdk-rds/db_instance.rb', line 162

def pending_modified_values
  data.pending_modified_values
end

#preferred_backup_windowString

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

Returns:

  • (String)


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

def preferred_backup_window
  data.preferred_backup_window
end

#preferred_maintenance_windowString

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

Returns:

  • (String)


154
155
156
# File 'lib/aws-sdk-rds/db_instance.rb', line 154

def preferred_maintenance_window
  data.preferred_maintenance_window
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 to retain automated backups. 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 8

    ^

  • :preferred_backup_window (String)

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

    Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see [ Adjusting the Preferred Maintenance Window] in the *Amazon RDS User Guide.*

    Constraints:

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

    • Times should 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:



2242
2243
2244
2245
2246
2247
2248
2249
2250
# File 'lib/aws-sdk-rds/db_instance.rb', line 2242

def promote(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = @client.promote_read_replica(options)
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#promotion_tierInteger

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [ Fault Tolerance for an Aurora DB Cluster].

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

Returns:

  • (Integer)


375
376
377
# File 'lib/aws-sdk-rds/db_instance.rb', line 375

def promotion_tier
  data.promotion_tier
end

#publicly_accessibleBoolean

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • **Default VPC:**true

  • **VPC:**false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

Returns:

  • (Boolean)


264
265
266
# File 'lib/aws-sdk-rds/db_instance.rb', line 264

def publicly_accessible
  data.publicly_accessible
end

#read_replica_db_cluster_identifiersArray<String>

Contains one or more identifiers of Aurora DB clusters that are Read Replicas of this DB instance.

Returns:

  • (Array<String>)


208
209
210
# File 'lib/aws-sdk-rds/db_instance.rb', line 208

def read_replica_db_cluster_identifiers
  data.read_replica_db_cluster_identifiers
end

#read_replica_db_instance_identifiersArray<String>

Contains one or more identifiers of the Read Replicas associated with this DB instance.

Returns:

  • (Array<String>)


201
202
203
# File 'lib/aws-sdk-rds/db_instance.rb', line 201

def read_replica_db_instance_identifiers
  data.read_replica_db_instance_identifiers
end

#read_replica_source_db_instance_identifierString

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

Returns:

  • (String)


194
195
196
# File 'lib/aws-sdk-rds/db_instance.rb', line 194

def read_replica_source_db_instance_identifier
  data.read_replica_source_db_instance_identifier
end

#read_replicasDBInstance::Collection



2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
# File 'lib/aws-sdk-rds/db_instance.rb', line 2762

def read_replicas
  batch = []
  data.read_replica_db_instance_identifiers.each do |r|
    batch << DBInstance.new(
      id: r,
      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)

    When ‘true`, the reboot will be conducted through a MultiAZ failover.

    Constraint: You cannot specify ‘true` if the instance is not configured for MultiAZ.

Returns:



2264
2265
2266
2267
2268
2269
2270
2271
2272
# File 'lib/aws-sdk-rds/db_instance.rb', line 2264

def reboot(options = {})
  options = options.merge(db_instance_identifier: @id)
  resp = @client.reboot_db_instance(options)
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
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",
  domain: "String",
  domain_iam_role_name: "String",
  enable_iam_database_authentication: false,
})

Parameters:

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

    ({})

Options Hash (options):

  • :target_db_instance_identifier (required, String)

    The name of the new database instance to be created.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

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

    The date and time to restore from.

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

    Constraints:

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

    • Cannot be specified if UseLatestRestorableTime parameter is true

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

  • :use_latest_restorable_time (Boolean)

    Specifies whether (‘true`) or not (`false`) the DB instance is restored from the latest backup time.

    Default: ‘false`

    Constraints: Cannot be specified if RestoreTime parameter is provided.

  • :db_instance_class (String)

    The compute and memory capacity of the Amazon RDS DB instance.

    Valid Values: ‘db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large`

    Default: The same DBInstanceClass as the original DB instance.

  • :port (Integer)

    The port number on which the database accepts connections.

    Constraints: Value must be ‘1150-65535`

    Default: The same port as the original DB instance.

  • :availability_zone (String)

    The EC2 Availability Zone that the database instance will be created in.

    Default: A random, system-chosen Availability Zone.

    Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

    Example: ‘us-east-1a`

  • :db_subnet_group_name (String)

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

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: ‘mySubnetgroup`

  • :multi_az (Boolean)

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

    Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to ‘true`.

  • :publicly_accessible (Boolean)

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • **Default VPC:**true

    • **VPC:**false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

  • :auto_minor_version_upgrade (Boolean)

    Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window.

  • :license_model (String)

    License model information for the restored DB instance.

    Default: Same as source.

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

  • :db_name (String)

    The database name for the restored DB instance.

    <note markdown=“1”> This parameter is not used for the MySQL or MariaDB engines.

    </note>
    
  • :engine (String)

    The database engine to use for the new instance.

    Default: The same as source

    Constraint: Must be compatible with the engine of the source

    Valid Values: ‘MySQL` | `mariadb` | `oracle-se1` | `oracle-se` | `oracle-ee` | `sqlserver-ee` | `sqlserver-se` | `sqlserver-ex` | `sqlserver-web` | `postgres` | `aurora`

  • :iops (Integer)

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

    Constraints: Must be an integer greater than 1000.

    **SQL Server**

    Setting the IOPS value for the SQL Server database engine is not supported.

  • :option_group_name (String)

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

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

  • :copy_tags_to_snapshot (Boolean)

    True to copy all tags from the restored DB instance to snapshots of the DB instance; otherwise false. The default is false.

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

    A list of tags.

  • :storage_type (String)

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

    Valid values: ‘standard | gp2 | io1`

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

    Default: ‘io1` if the `Iops` parameter is specified; otherwise `standard`

  • :tde_credential_arn (String)

    The ARN from the Key Store with which to associate the instance for TDE encryption.

  • :tde_credential_password (String)

    The password for the given ARN from the Key Store in order to access the device.

  • :domain (String)

    Specify the Active Directory Domain to restore the instance in.

  • :domain_iam_role_name (String)

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

  • :enable_iam_database_authentication (Boolean)

    True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

    You can enable IAM database authentication for the following database engines

    • For MySQL 5.6, minor version 5.6.34 or higher

    • For MySQL 5.7, minor version 5.7.16 or higher

    • Aurora 5.6 or higher.

    Default: ‘false`

Returns:



2481
2482
2483
2484
2485
2486
2487
2488
2489
# File 'lib/aws-sdk-rds/db_instance.rb', line 2481

def restore(options = {})
  options = options.merge(source_db_instance_identifier: @id)
  resp = @client.restore_db_instance_to_point_in_time(options)
  DBInstance.new(
    id: resp.data.db_instance.db_instance_identifier,
    data: resp.data.db_instance,
    client: @client
  )
end

#secondary_availability_zoneString

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

Returns:

  • (String)


240
241
242
# File 'lib/aws-sdk-rds/db_instance.rb', line 240

def secondary_availability_zone
  data.secondary_availability_zone
end

#security_groupsDBSecurityGroup::Collection



2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
# File 'lib/aws-sdk-rds/db_instance.rb', line 2774

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,
})

Parameters:

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

    ({})

Options Hash (options):

  • :db_snapshot_identifier (String)

    A specific DB snapshot identifier to describe. This parameter cannot be used in conjunction with ‘DBInstanceIdentifier`. This value is stored as a lowercase string.

    Constraints:

    • Must be 1 to 255 alphanumeric characters.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

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

  • :snapshot_type (String)

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

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

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

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

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

    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 setting the `IncludeShared` parameter to `true`. You can include public snapshots with these results by setting the `IncludePublic` parameter to `true`.

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

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

    This parameter is not currently supported.

  • :include_shared (Boolean)

    Set this value to ‘true` to include shared manual DB snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to `false`. The default is `false`.

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

  • :include_public (Boolean)

    Set this value to ‘true` to include manual DB snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to `false`. The default is `false`.

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

Returns:



2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
# File 'lib/aws-sdk-rds/db_instance.rb', line 2861

def snapshots(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(db_instance_identifier: @id)
    resp = @client.describe_db_snapshots(options)
    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:



2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
# File 'lib/aws-sdk-rds/db_instance.rb', line 2882

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 instance is not a Read Replica, this will be blank.

Returns:



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

def status_infos
  data.status_infos
end

#storage_encryptedBoolean

Specifies whether the DB instance is encrypted.

Returns:

  • (Boolean)


305
306
307
# File 'lib/aws-sdk-rds/db_instance.rb', line 305

def storage_encrypted
  data.storage_encrypted
end

#storage_typeString

Specifies the storage type associated with DB instance.

Returns:

  • (String)


277
278
279
# File 'lib/aws-sdk-rds/db_instance.rb', line 277

def storage_type
  data.storage_type
end

#subnet_groupDBSubnetGroup?

Returns:



2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
# File 'lib/aws-sdk-rds/db_instance.rb', line 2894

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:



2501
2502
2503
2504
2505
2506
2507
2508
2509
# File 'lib/aws-sdk-rds/db_instance.rb', line 2501

def subscribe_to(options = {})
  options = options.merge(source_identifier: @id)
  resp = @client.add_source_identifier_to_subscription(options)
  EventSubscription.new(
    name: resp.data.event_subscription.cust_subscription_id,
    data: resp.data.event_subscription,
    client: @client
  )
end

#tde_credential_arnString

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

Returns:

  • (String)


284
285
286
# File 'lib/aws-sdk-rds/db_instance.rb', line 284

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 Microsoft SQL Server DB instances that were created with a time zone specified.

Returns:

  • (String)


389
390
391
# File 'lib/aws-sdk-rds/db_instance.rb', line 389

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:



2521
2522
2523
2524
2525
2526
2527
2528
2529
# File 'lib/aws-sdk-rds/db_instance.rb', line 2521

def unsubscribe_from(options = {})
  options = options.merge(source_identifier: @id)
  resp = @client.remove_source_identifier_from_subscription(options)
  EventSubscription.new(
    name: resp.data.event_subscription.cust_subscription_id,
    data: resp.data.event_subscription,
    client: @client
  )
end

#vpc_security_groupsArray<Types::VpcSecurityGroupMembership>

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



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

def vpc_security_groups
  data.vpc_security_groups
end