Class: Aws::RDS::DBEngineVersion
- Inherits:
-
Object
- Object
- Aws::RDS::DBEngineVersion
- Defined in:
- gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
-
#create_time ⇒ Time
The creation time of the DB engine version.
-
#database_installation_files_s3_bucket_name ⇒ String
The name of the Amazon S3 bucket that contains your database installation files.
-
#database_installation_files_s3_prefix ⇒ String
The Amazon S3 directory that contains the database installation files.
-
#db_engine_description ⇒ String
The description of the database engine.
-
#db_engine_version_arn ⇒ String
The ARN of the custom engine version.
-
#db_engine_version_description ⇒ String
The description of the database engine version.
-
#db_parameter_group_family ⇒ String
The name of the DB parameter group family for the database engine.
-
#default_character_set ⇒ Types::CharacterSet
The default character set for new instances of this engine version, if the
CharacterSetName
parameter of the CreateDBInstance API isn't specified. -
#engine_name ⇒ String
(also: #engine)
-
#exportable_log_types ⇒ Array<String>
The types of logs that the database engine has available for export to CloudWatch Logs.
-
#kms_key_id ⇒ String
The Amazon Web Services KMS key identifier for an encrypted CEV.
-
#major_engine_version ⇒ String
The major engine version of the CEV.
-
#status ⇒ String
The status of the DB engine version, either
available
ordeprecated
. -
#supported_character_sets ⇒ Array<Types::CharacterSet>
A list of the character sets supported by this engine for the
CharacterSetName
parameter of theCreateDBInstance
operation. -
#supported_engine_modes ⇒ Array<String>
A list of the supported DB engine modes.
-
#supported_feature_names ⇒ Array<String>
A list of features supported by the DB engine.
-
#supported_nchar_character_sets ⇒ Array<Types::CharacterSet>
A list of the character sets supported by the Oracle DB engine for the
NcharCharacterSetName
parameter of theCreateDBInstance
operation. -
#supported_timezones ⇒ Array<Types::Timezone>
A list of the time zones supported by this engine for the
Timezone
parameter of theCreateDBInstance
action. -
#supports_babelfish ⇒ Boolean
A value that indicates whether the engine version supports Babelfish for Aurora PostgreSQL.
-
#supports_global_databases ⇒ Boolean
A value that indicates whether you can use Aurora global databases with a specific DB engine version.
-
#supports_log_exports_to_cloudwatch_logs ⇒ Boolean
A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.
-
#supports_parallel_query ⇒ Boolean
A value that indicates whether you can use Aurora parallel query with a specific DB engine version.
-
#supports_read_replica ⇒ Boolean
Indicates whether the database engine version supports read replicas.
-
#tag_list ⇒ Array<Types::Tag>
A list of tags.
-
#valid_upgrade_target ⇒ Array<Types::UpgradeTarget>
A list of engine versions that this database engine version can be upgraded to.
-
#version ⇒ String
(also: #engine_version)
Associations collapse
-
#option_group_options(options = {}) ⇒ OptionGroupOption::Collection
-
#option_groups(options = {}) ⇒ OptionGroup::Collection
-
#parameter_group_family ⇒ DBParameterGroupFamily?
Instance Method Summary collapse
-
#client ⇒ Client
-
#data ⇒ Types::DBEngineVersion
Returns the data for this DBEngineVersion.
-
#data_loaded? ⇒ Boolean
Returns
true
if this resource is loaded. -
#initialize(*args) ⇒ DBEngineVersion
constructor
A new instance of DBEngineVersion.
-
#load ⇒ self
(also: #reload)
Loads, or reloads #data for the current DBEngineVersion.
-
#wait_until(options = {}) {|resource| ... } ⇒ Resource
deprecated
Deprecated.
Use [Aws::RDS::Client] #wait_until instead
Constructor Details
#initialize(engine_name, version, options = {}) ⇒ DBEngineVersion #initialize(options = {}) ⇒ DBEngineVersion
Returns a new instance of DBEngineVersion.
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) = Hash === args.last ? args.pop.dup : {} @engine_name = extract_engine_name(args, ) @version = extract_version(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() @waiter_block_warned = false end |
Instance Method Details
#client ⇒ Client
231 232 233 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 231 def client @client end |
#create_time ⇒ Time
The creation time of the DB engine version.
206 207 208 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 206 def create_time data[:create_time] end |
#data ⇒ Types::DBEngineVersion
Returns the data for this Aws::RDS::DBEngineVersion. Calls
Client#describe_db_engine_versions if #data_loaded? is false
.
254 255 256 257 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 254 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
262 263 264 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 262 def data_loaded? !!@data end |
#database_installation_files_s3_bucket_name ⇒ String
The name of the Amazon S3 bucket that contains your database installation files.
180 181 182 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 180 def database_installation_files_s3_bucket_name data[:database_installation_files_s3_bucket_name] end |
#database_installation_files_s3_prefix ⇒ String
The Amazon S3 directory that contains the database installation files. If not specified, then no prefix is assumed.
187 188 189 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 187 def database_installation_files_s3_prefix data[:database_installation_files_s3_prefix] end |
#db_engine_description ⇒ String
The description of the database engine.
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_version_arn ⇒ String
The ARN of the custom engine version.
193 194 195 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 193 def db_engine_version_arn data[:db_engine_version_arn] end |
#db_engine_version_description ⇒ String
The description of the database engine version.
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_family ⇒ String
The name of the DB parameter group family for the database engine.
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_set ⇒ Types::CharacterSet
The default character set for new instances of this engine version, if
the CharacterSetName
parameter of the CreateDBInstance API isn't
specified.
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_name ⇒ String Also known as: engine
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_types ⇒ Array<String>
The types of logs that the database engine has available for export to CloudWatch Logs.
104 105 106 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 104 def exportable_log_types data[:exportable_log_types] end |
#kms_key_id ⇒ String
The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS Custom, but optional for Amazon RDS.
200 201 202 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 200 def kms_key_id data[:kms_key_id] end |
#load ⇒ self 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
241 242 243 244 245 246 247 248 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 241 def load resp = @client.describe_db_engine_versions( engine: @engine_name, engine_version: @version ) @data = resp.db_engine_versions[0] self end |
#major_engine_version ⇒ String
The major engine version of the CEV.
173 174 175 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 173 def major_engine_version data[:major_engine_version] end |
#option_group_options(options = {}) ⇒ OptionGroupOption::Collection
387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 387 def ( = {}) batches = Enumerator.new do |y| = .merge( engine_name: @engine, major_engine_version: @version ) resp = @client.() resp.each_page do |page| batch = [] page.data..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
427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 427 def option_groups( = {}) batches = Enumerator.new do |y| = .merge( engine_name: @engine, major_engine_version: @version ) resp = @client.describe_option_groups() 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_family ⇒ DBParameterGroupFamily?
450 451 452 453 454 455 456 457 458 459 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 450 def parameter_group_family if data[:db_parameter_group_family] DBParameterGroupFamily.new( name: data[:db_parameter_group_family], client: @client ) else nil end end |
#status ⇒ String
The status of the DB engine version, either available
or
deprecated
.
153 154 155 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 153 def status data[:status] end |
#supported_character_sets ⇒ Array<Types::CharacterSet>
A list of the character sets supported by this engine for the
CharacterSetName
parameter of the CreateDBInstance
operation.
76 77 78 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 76 def supported_character_sets data[:supported_character_sets] end |
#supported_engine_modes ⇒ Array<String>
A list of the supported DB engine modes.
123 124 125 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 123 def supported_engine_modes data[:supported_engine_modes] end |
#supported_feature_names ⇒ Array<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.
146 147 148 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 146 def supported_feature_names data[:supported_feature_names] end |
#supported_nchar_character_sets ⇒ Array<Types::CharacterSet>
A list of the character sets supported by the Oracle DB engine for the
NcharCharacterSetName
parameter of the CreateDBInstance
operation.
83 84 85 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 83 def supported_nchar_character_sets data[:supported_nchar_character_sets] end |
#supported_timezones ⇒ Array<Types::Timezone>
A list of the time zones supported by this engine for the Timezone
parameter of the CreateDBInstance
action.
97 98 99 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 97 def supported_timezones data[:supported_timezones] end |
#supports_babelfish ⇒ Boolean
A value that indicates whether the engine version supports Babelfish for Aurora PostgreSQL.
224 225 226 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 224 def supports_babelfish data[:supports_babelfish] end |
#supports_global_databases ⇒ Boolean
A value that indicates whether you can use Aurora global databases with a specific DB engine version.
167 168 169 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 167 def supports_global_databases data[:supports_global_databases] end |
#supports_log_exports_to_cloudwatch_logs ⇒ Boolean
A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.
111 112 113 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 111 def supports_log_exports_to_cloudwatch_logs data[:supports_log_exports_to_cloudwatch_logs] end |
#supports_parallel_query ⇒ Boolean
A value that indicates whether you can use Aurora parallel query with a specific DB engine version.
160 161 162 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 160 def supports_parallel_query data[:supports_parallel_query] end |
#supports_read_replica ⇒ Boolean
Indicates whether the database engine version supports read replicas.
117 118 119 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 117 def supports_read_replica data[:supports_read_replica] end |
#tag_list ⇒ Array<Types::Tag>
A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.
217 218 219 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 217 def tag_list data[:tag_list] end |
#valid_upgrade_target ⇒ Array<Types::UpgradeTarget>
A list of engine versions that this database engine version can be upgraded to.
90 91 92 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 90 def valid_upgrade_target data[:valid_upgrade_target] end |
#version ⇒ String Also known as: engine_version
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
Use [Aws::RDS::Client] #wait_until instead
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() {|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
346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_engine_version.rb', line 346 def wait_until( = {}, &block) self_copy = self.dup attempts = 0 [:max_attempts] = 10 unless .key?(:max_attempts) [:delay] ||= 10 [:poller] = Proc.new do attempts += 1 if block.call(self_copy) [:success, self_copy] else self_copy.reload unless attempts == [:max_attempts] :retry end end Aws::Waiters::Waiter.new().wait({}) end |