Class: Aws::RDS::DBEngineVersion

Inherits:
Object
  • Object
show all
Defined in:
gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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:



301
302
303
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 301

def client
  @client
end

#create_timeTime

The creation time of the DB engine version.

Returns:

  • (Time)


219
220
221
# File 'gems/aws-sdk-rds/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.

Returns:

  • (String)


253
254
255
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 253

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:



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

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.



334
335
336
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 334

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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 117

def exportable_log_types
  data[:exportable_log_types]
end

#imageTypes::CustomDBEngineVersionAMI

The EC2 image



75
76
77
# File 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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)


311
312
313
314
315
316
317
318
319
320
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 311

def load
  resp = Aws::Plugins::UserAgent.feature('resource') 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 'gems/aws-sdk-rds/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:



461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 461

def option_group_options(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(
      engine_name: @engine,
      major_engine_version: @version
    )
    resp = Aws::Plugins::UserAgent.feature('resource') 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:



503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 503

def option_groups(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(
      engine_name: @engine,
      major_engine_version: @version
    )
    resp = Aws::Plugins::UserAgent.feature('resource') 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:



528
529
530
531
532
533
534
535
536
537
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 528

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

#statusString

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

Returns:

  • (String)


166
167
168
# File 'gems/aws-sdk-rds/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.

Returns:

  • (Array<String>)


276
277
278
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 276

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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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)


237
238
239
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 237

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)


260
261
262
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 260

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 'gems/aws-sdk-rds/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)


294
295
296
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 294

def supports_integrations
  data[:supports_integrations]
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)


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

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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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.

Returns:



230
231
232
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 230

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 'gems/aws-sdk-rds/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 'gems/aws-sdk-rds/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



418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 418

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