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:



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

def client
  @client
end

#create_timeTime

The creation time of the DB engine version.

Returns:

  • (Time)


153
154
155
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 153

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)


87
88
89
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 87

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:



364
365
366
367
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 364

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.



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

def data_loaded?
  !!@data
end

#database_installation_filesArray<String>

The database installation files (ISO and EXE) uploaded to Amazon S3 for your database engine version to import to Amazon RDS. Required for sqlserver-dev-ee.

Returns:

  • (Array<String>)


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

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)


99
100
101
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 99

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)


140
141
142
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 140

def db_engine_media_type
  data[:db_engine_media_type]
end

#db_engine_version_arnString

The ARN of the custom engine version.

Returns:

  • (String)


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

def db_engine_version_arn
  data[:db_engine_version_arn]
end

#db_engine_version_descriptionString

The description of the database engine version.

Returns:

  • (String)


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

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)


93
94
95
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 93

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:



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

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


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

def exportable_log_types
  data[:exportable_log_types]
end

#failure_reasonString

The reason that the custom engine version creation for sqlserver-dev-ee failed with an incompatible-installation-media status.

Returns:

  • (String)


127
128
129
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 127

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.


579
580
581
582
583
584
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 579

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

#imageTypes::CustomDBEngineVersionAMI

The EC2 image



133
134
135
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 133

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)


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

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)


349
350
351
352
353
354
355
356
357
358
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 349

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:



499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 499

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:



541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 541

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:



566
567
568
569
570
571
572
573
574
575
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 566

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.



332
333
334
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 332

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)


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

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


303
304
305
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 303

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:



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

def supported_character_sets
  data[:supported_character_sets]
end

#supported_engine_modesArray<String>

A list of the supported DB engine modes.

Returns:

  • (Array<String>)


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

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


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

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:



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

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:



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

def supported_timezones
  data[:supported_timezones]
end

#supports_babelfishBoolean

Indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

Returns:

  • (Boolean)


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

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)


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

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)


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

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)


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

def supports_integrations
  data[:supports_integrations]
end

#supports_limitless_databaseBoolean

Indicates whether the DB engine version supports Aurora Limitless Database.

Returns:

  • (Boolean)


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

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)


314
315
316
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 314

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)


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

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)


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

def supports_parallel_query
  data[:supports_parallel_query]
end

#supports_read_replicaBoolean

Indicates whether the database engine version supports read replicas.

Returns:

  • (Boolean)


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

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:



266
267
268
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 266

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:



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

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



456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
# File 'lib/aws-sdk-rds/db_engine_version.rb', line 456

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