Class: Aws::RDS::DBEngineVersion

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

Defined Under Namespace

Classes: Collection

Read-Only Attributes collapse

Associations collapse

Instance Method Summary collapse

Constructor Details

#initialize(engine_name, version, options = {}) ⇒ DBEngineVersion #initialize(options = {}) ⇒ DBEngineVersion

Returns a new instance of DBEngineVersion.

Overloads:

  • #initialize(engine_name, version, options = {}) ⇒ DBEngineVersion

    Parameters:

    • engine_name (String)
    • version (String)

    Options Hash (options):

  • #initialize(options = {}) ⇒ DBEngineVersion

    Options Hash (options):

    • :engine_name (required, String)
    • :version (required, String)
    • :client (Client)


24
25
26
27
28
29
30
31
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 24

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

Instance Method Details

#clientClient

Returns:



323
324
325
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 323

def client
  @client
end

#create_timeTime

The creation time of the DB engine version.

Returns:

  • (Time)


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

def create_time
  data[:create_time]
end

#custom_db_engine_version_manifestString

JSON string that lists the installation files and parameters that RDS Custom uses to create a custom engine version (CEV). RDS Custom applies the patches in the order in which they’re listed in the manifest. You can set the Oracle home, Oracle base, and UNIX/Linux user and group using the installation parameters. For more information, see [JSON fields in the CEV manifest] in the *Amazon RDS User Guide*.

[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.preparing.html#custom-cev.preparing.manifest.fields

Returns:

  • (String)


257
258
259
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 257

def custom_db_engine_version_manifest
  data[:custom_db_engine_version_manifest]
end

#dataTypes::DBEngineVersion

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

Returns:



348
349
350
351
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 348

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.



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

def data_loaded?
  !!@data
end

#database_installation_files_s3_bucket_nameString

The name of the Amazon S3 bucket that contains your database installation files.

Returns:

  • (String)


193
194
195
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 193

def database_installation_files_s3_bucket_name
  data[:database_installation_files_s3_bucket_name]
end

#database_installation_files_s3_prefixString

The Amazon S3 directory that contains the database installation files. If not specified, then no prefix is assumed.

Returns:

  • (String)


200
201
202
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 200

def database_installation_files_s3_prefix
  data[:database_installation_files_s3_prefix]
end

#db_engine_descriptionString

The description of the database engine.

Returns:

  • (String)


55
56
57
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 55

def db_engine_description
  data[:db_engine_description]
end

#db_engine_media_typeString

A value that indicates the source media provider of the AMI based on the usage operation. Applicable for RDS Custom for SQL Server.

Returns:

  • (String)


82
83
84
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 82

def db_engine_media_type
  data[:db_engine_media_type]
end

#db_engine_version_arnString

The ARN of the custom engine version.

Returns:

  • (String)


206
207
208
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 206

def db_engine_version_arn
  data[:db_engine_version_arn]
end

#db_engine_version_descriptionString

The description of the database engine version.

Returns:

  • (String)


61
62
63
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 61

def db_engine_version_description
  data[:db_engine_version_description]
end

#db_parameter_group_familyString

The name of the DB parameter group family for the database engine.

Returns:

  • (String)


49
50
51
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 49

def db_parameter_group_family
  data[:db_parameter_group_family]
end

#default_character_setTypes::CharacterSet

The default character set for new instances of this engine version, if the ‘CharacterSetName` parameter of the CreateDBInstance API isn’t specified.

Returns:



69
70
71
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 69

def default_character_set
  data[:default_character_set]
end

#engine_nameString Also known as: engine

Returns:

  • (String)


36
37
38
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 36

def engine_name
  @engine_name
end

#exportable_log_typesArray<String>

The types of logs that the database engine has available for export to CloudWatch Logs.

Returns:

  • (Array<String>)


117
118
119
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 117

def exportable_log_types
  data[:exportable_log_types]
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.


563
564
565
566
567
568
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 563

def identifiers
  {
    engine_name: @engine_name,
    version: @version
  }
end

#imageTypes::CustomDBEngineVersionAMI

The EC2 image



75
76
77
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 75

def image
  data[:image]
end

#kms_key_idString

The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS Custom, but optional for Amazon RDS.

Returns:

  • (String)


213
214
215
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 213

def kms_key_id
  data[:kms_key_id]
end

#loadself Also known as: reload

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

db_engine_version.reload.data

Returns:

  • (self)


333
334
335
336
337
338
339
340
341
342
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 333

def load
  resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
    @client.describe_db_engine_versions(
    engine: @engine_name,
    engine_version: @version
  )
  end
  @data = resp.db_engine_versions[0]
  self
end

#major_engine_versionString

The major engine version of the CEV.

Returns:

  • (String)


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

def major_engine_version
  data[:major_engine_version]
end

#option_group_options(options = {}) ⇒ OptionGroupOption::Collection

Examples:

Request syntax with placeholder values


option_group_options = db_engine_version.option_group_options({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
})

Parameters:

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

    ({})

Options Hash (options):

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

    This parameter isn’t currently supported.

Returns:



483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 483

def option_group_options(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(
      engine_name: @engine,
      major_engine_version: @version
    )
    resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
      @client.describe_option_group_options(options)
    end
    resp.each_page do |page|
      batch = []
      page.data.option_group_options.each do |o|
        batch << OptionGroupOption.new(
          name: o.name,
          data: o,
          client: @client
        )
      end
      y.yield(batch)
    end
  end
  OptionGroupOption::Collection.new(batches)
end

#option_groups(options = {}) ⇒ OptionGroup::Collection

Examples:

Request syntax with placeholder values


option_groups = db_engine_version.option_groups({
  option_group_name: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
})

Parameters:

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

    ({})

Options Hash (options):

  • :option_group_name (String)

    The name of the option group to describe. Can’t be supplied together with EngineName or MajorEngineVersion.

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

    This parameter isn’t currently supported.

Returns:



525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 525

def option_groups(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(
      engine_name: @engine,
      major_engine_version: @version
    )
    resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
      @client.describe_option_groups(options)
    end
    resp.each_page do |page|
      batch = []
      page.data.option_groups_list.each do |o|
        batch << OptionGroup.new(
          name: o.option_group_name,
          data: o,
          client: @client
        )
      end
      y.yield(batch)
    end
  end
  OptionGroup::Collection.new(batches)
end

#parameter_group_familyDBParameterGroupFamily?

Returns:



550
551
552
553
554
555
556
557
558
559
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 550

def parameter_group_family
  if data[:db_parameter_group_family]
    DBParameterGroupFamily.new(
      name: data[:db_parameter_group_family],
      client: @client
    )
  else
    nil
  end
end

#serverless_v2_features_supportTypes::ServerlessV2FeaturesSupport

Specifies any Aurora Serverless v2 properties or limits that differ between Aurora engine versions. You can test the values of this attribute when deciding which Aurora version to use in a new or upgraded DB cluster. You can also retrieve the version of an existing DB cluster and check whether that version supports certain Aurora Serverless v2 features before you attempt to use those features.



316
317
318
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 316

def serverless_v2_features_support
  data[:serverless_v2_features_support]
end

#statusString

The status of the DB engine version, either ‘available` or `deprecated`.

Returns:

  • (String)


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

def status
  data[:status]
end

#supported_ca_certificate_identifiersArray<String>

A list of the supported CA certificate identifiers.

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

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

Returns:

  • (Array<String>)


287
288
289
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 287

def supported_ca_certificate_identifiers
  data[:supported_ca_certificate_identifiers]
end

#supported_character_setsArray<Types::CharacterSet>

A list of the character sets supported by this engine for the ‘CharacterSetName` parameter of the `CreateDBInstance` operation.

Returns:



89
90
91
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 89

def supported_character_sets
  data[:supported_character_sets]
end

#supported_engine_modesArray<String>

A list of the supported DB engine modes.

Returns:

  • (Array<String>)


136
137
138
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 136

def supported_engine_modes
  data[:supported_engine_modes]
end

#supported_feature_namesArray<String>

A list of features supported by the DB engine.

The supported features vary by DB engine and DB engine version.

To determine the supported features for a specific DB engine and DB engine version using the CLI, use the following command:

‘aws rds describe-db-engine-versions –engine <engine_name> –engine-version <engine_version>`

For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, use the following command:

‘aws rds describe-db-engine-versions –engine postgres –engine-version 13.3`

The supported features are listed under ‘SupportedFeatureNames` in the output.

Returns:

  • (Array<String>)


159
160
161
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 159

def supported_feature_names
  data[:supported_feature_names]
end

#supported_nchar_character_setsArray<Types::CharacterSet>

A list of the character sets supported by the Oracle DB engine for the ‘NcharCharacterSetName` parameter of the `CreateDBInstance` operation.

Returns:



96
97
98
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 96

def supported_nchar_character_sets
  data[:supported_nchar_character_sets]
end

#supported_timezonesArray<Types::Timezone>

A list of the time zones supported by this engine for the ‘Timezone` parameter of the `CreateDBInstance` action.

Returns:



110
111
112
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 110

def supported_timezones
  data[:supported_timezones]
end

#supports_babelfishBoolean

Indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

Returns:

  • (Boolean)


241
242
243
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 241

def supports_babelfish
  data[:supports_babelfish]
end

#supports_certificate_rotation_without_restartBoolean

Indicates whether the engine version supports rotating the server certificate without rebooting the DB instance.

Returns:

  • (Boolean)


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

def supports_certificate_rotation_without_restart
  data[:supports_certificate_rotation_without_restart]
end

#supports_global_databasesBoolean

Indicates whether you can use Aurora global databases with a specific DB engine version.

Returns:

  • (Boolean)


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

def supports_global_databases
  data[:supports_global_databases]
end

#supports_integrationsBoolean

Indicates whether the DB engine version supports zero-ETL integrations with Amazon Redshift.

Returns:

  • (Boolean)


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

def supports_integrations
  data[:supports_integrations]
end

#supports_limitless_databaseBoolean

Indicates whether the DB engine version supports Aurora Limitless Database.

Returns:

  • (Boolean)


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

def supports_limitless_database
  data[:supports_limitless_database]
end

#supports_local_write_forwardingBoolean

Indicates whether the DB engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren’t allowed on reader DB instances.

Valid for: Aurora DB clusters only

Returns:

  • (Boolean)


298
299
300
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 298

def supports_local_write_forwarding
  data[:supports_local_write_forwarding]
end

#supports_log_exports_to_cloudwatch_logsBoolean

Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

Returns:

  • (Boolean)


124
125
126
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 124

def supports_log_exports_to_cloudwatch_logs
  data[:supports_log_exports_to_cloudwatch_logs]
end

#supports_parallel_queryBoolean

Indicates whether you can use Aurora parallel query with a specific DB engine version.

Returns:

  • (Boolean)


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

def supports_parallel_query
  data[:supports_parallel_query]
end

#supports_read_replicaBoolean

Indicates whether the database engine version supports read replicas.

Returns:

  • (Boolean)


130
131
132
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 130

def supports_read_replica
  data[:supports_read_replica]
end

#tag_listArray<Types::Tag>

A list of tags.

For more information, see [Tagging Amazon RDS resources] in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources] in the *Amazon Aurora User Guide*.

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

Returns:



234
235
236
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 234

def tag_list
  data[:tag_list]
end

#valid_upgrade_targetArray<Types::UpgradeTarget>

A list of engine versions that this database engine version can be upgraded to.

Returns:



103
104
105
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 103

def valid_upgrade_target
  data[:valid_upgrade_target]
end

#versionString Also known as: engine_version

Returns:

  • (String)


42
43
44
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 42

def version
  @version
end

#wait_until(options = {}) {|resource| ... } ⇒ Resource

Deprecated.

Use [Aws::RDS::Client] #wait_until instead

Note:

The waiting operation is performed on a copy. The original resource remains unchanged.

Waiter polls an API operation until a resource enters a desired state.

## Basic Usage

Waiter will polls until it is successful, it fails by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop until condition is true
resource.wait_until(options) {|resource| condition}

## Example

instance.wait_until(max_attempts:10, delay:5) do |instance|
  instance.state.name == 'running'
end

## Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. The waiting condition is set by passing a block to #wait_until:

# poll for ~25 seconds
resource.wait_until(max_attempts:5,delay:5) {|resource|...}

## Callbacks

You can be notified before each polling attempt and before each delay. If you throw ‘:success` or `:failure` from these callbacks, it will terminate the waiter.

started_at = Time.now
# poll for 1 hour, instead of a number of attempts
proc = Proc.new do |attempts, response|
  throw :failure if Time.now - started_at > 3600
end

  # disable max attempts
instance.wait_until(before_wait:proc, max_attempts:nil) {...}

## Handling Errors

When a waiter is successful, it returns the Resource. When a waiter fails, it raises an error.

begin
  resource.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

attempts attempt in seconds invoked before each attempt invoked before each wait

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :max_attempts (Integer) — default: 10

    Maximum number of

  • :delay (Integer) — default: 10

    Delay between each

  • :before_attempt (Proc) — default: nil

    Callback

  • :before_wait (Proc) — default: nil

    Callback

Yield Parameters:

  • resource (Resource)

    to be used in the waiting condition.

Returns:

  • (Resource)

    if the waiter was successful

Raises:

  • (Aws::Waiters::Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

    yet successful.

  • (Aws::Waiters::Errors::UnexpectedError)

    Raised when an error is encountered while polling for a resource that is not expected.

  • (NotImplementedError)

    Raised when the resource does not



440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 440

def wait_until(options = {}, &block)
  self_copy = self.dup
  attempts = 0
  options[:max_attempts] = 10 unless options.key?(:max_attempts)
  options[:delay] ||= 10
  options[:poller] = Proc.new do
    attempts += 1
    if block.call(self_copy)
      [:success, self_copy]
    else
      self_copy.reload unless attempts == options[:max_attempts]
      :retry
    end
  end
  Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
    Aws::Waiters::Waiter.new(options).wait({})
  end
end