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:



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

def client
  @client
end

#create_timeTime

The creation time of the DB engine version.

Returns:

  • (Time)


161
162
163
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 161

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)


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

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:



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

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.



380
381
382
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 380

def data_loaded?
  !!@data
end

#database_installation_filesArray<String>

The database installation files (ISO and EXE) that were uploaded to Amazon S3 and used to import the database engine version to Amazon RDS. Returned for RDS for SQL Server engine versions (‘sqlserver-ee`, `sqlserver-se`, and `sqlserver-dev-ee`) created from customer-supplied installation media.

Returns:

  • (Array<String>)


73
74
75
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 73

def database_installation_files
  data[:database_installation_files]
end

#database_installation_files_s3_bucket_nameString

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

Returns:

  • (String)


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

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)


63
64
65
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 63

def database_installation_files_s3_prefix
  data[:database_installation_files_s3_prefix]
end

#db_engine_descriptionString

The description of the database engine.

Returns:

  • (String)


101
102
103
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 101

def db_engine_description
  data[:db_engine_description]
end

#db_engine_media_typeString

The source of the installation media for this engine version. A value of ‘Customer Provided` indicates that the engine version was created from customer-supplied installation media using `CreateCustomDBEngineVersion`. Applicable to RDS Custom for SQL Server and to RDS for SQL Server engine versions (`sqlserver-ee` and `sqlserver-se` with the `bring-your-own-media` license model, and `sqlserver-dev-ee`).

Returns:

  • (String)


148
149
150
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 148

def db_engine_media_type
  data[:db_engine_media_type]
end

#db_engine_version_arnString

The ARN of the custom engine version.

Returns:

  • (String)


107
108
109
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 107

def db_engine_version_arn
  data[:db_engine_version_arn]
end

#db_engine_version_descriptionString

The description of the database engine version.

Returns:

  • (String)


113
114
115
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 113

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)


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

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:



121
122
123
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 121

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


196
197
198
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 196

def exportable_log_types
  data[:exportable_log_types]
end

#failure_reasonString

The reason that the custom engine version creation failed with an ‘incompatible-installation-media` status. Applicable to RDS for SQL Server engine versions (`sqlserver-ee`, `sqlserver-se`, and `sqlserver-dev-ee`).

Returns:

  • (String)


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

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


587
588
589
590
591
592
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 587

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

#imageTypes::CustomDBEngineVersionAMI

The EC2 image



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

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)


155
156
157
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 155

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)


357
358
359
360
361
362
363
364
365
366
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 357

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)


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

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:



507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 507

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:



549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 549

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:



574
575
576
577
578
579
580
581
582
583
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 574

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.



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

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)


245
246
247
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 245

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


311
312
313
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 311

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:



168
169
170
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 168

def supported_character_sets
  data[:supported_character_sets]
end

#supported_engine_modesArray<String>

A list of the supported DB engine modes.

Returns:

  • (Array<String>)


215
216
217
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 215

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


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

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:



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

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:



189
190
191
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 189

def supported_timezones
  data[:supported_timezones]
end

#supports_babelfishBoolean

Indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

Returns:

  • (Boolean)


281
282
283
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 281

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)


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

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)


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

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)


329
330
331
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 329

def supports_integrations
  data[:supports_integrations]
end

#supports_limitless_databaseBoolean

Indicates whether the DB engine version supports Aurora Limitless Database.

Returns:

  • (Boolean)


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

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)


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

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)


203
204
205
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 203

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)


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

def supports_parallel_query
  data[:supports_parallel_query]
end

#supports_read_replicaBoolean

Indicates whether the database engine version supports read replicas.

Returns:

  • (Boolean)


209
210
211
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 209

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:



274
275
276
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 274

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:



182
183
184
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 182

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



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

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