Class: Aws::RDS::OptionGroupOption
- Inherits:
-
Object
- Object
- Aws::RDS::OptionGroupOption
- Defined in:
- gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
-
#copyable_cross_account ⇒ Boolean
Indicates whether the option can be copied across Amazon Web Services accounts.
-
#default_port ⇒ Integer
If the option requires a port, specifies the default port for the option.
-
#description ⇒ String
The description of the option.
-
#engine_name ⇒ String
The name of the engine that this option can be applied to.
-
#major_engine_version ⇒ String
Indicates the major engine version that the option is available for.
-
#minimum_required_minor_engine_version ⇒ String
The minimum required engine version for the option to be applied.
-
#name ⇒ String
-
#option_group_option_settings ⇒ Array<Types::OptionGroupOptionSetting>
The option settings that are available (and the default value) for each option in an option group.
-
#option_group_option_versions ⇒ Array<Types::OptionVersion>
The versions that are available for the option.
-
#options_conflicts_with ⇒ Array<String>
The options that conflict with this option.
-
#options_depended_on ⇒ Array<String>
The options that are prerequisites for this option.
-
#permanent ⇒ Boolean
Permanent options can never be removed from an option group.
-
#persistent ⇒ Boolean
Persistent options can't be removed from an option group while DB instances are associated with the option group.
-
#port_required ⇒ Boolean
Indicates whether the option requires a port.
-
#requires_auto_minor_engine_version_upgrade ⇒ Boolean
If true, you must enable the Auto Minor Version Upgrade setting for your DB instance before you can use this option.
-
#supports_option_version_downgrade ⇒ Boolean
If true, you can change the option to an earlier version of the option.
-
#vpc_only ⇒ Boolean
If true, you can only use this option with a DB instance that is in a VPC.
Instance Method Summary collapse
-
#client ⇒ Client
-
#data ⇒ Types::OptionGroupOption
Returns the data for this OptionGroupOption.
-
#data_loaded? ⇒ Boolean
Returns
true
if this resource is loaded. -
#initialize(*args) ⇒ OptionGroupOption
constructor
A new instance of OptionGroupOption.
-
#wait_until(options = {}) {|resource| ... } ⇒ Resource
deprecated
Deprecated.
Use [Aws::RDS::Client] #wait_until instead
Constructor Details
#initialize(name, options = {}) ⇒ OptionGroupOption #initialize(options = {}) ⇒ OptionGroupOption
Returns a new instance of OptionGroupOption.
22 23 24 25 26 27 28 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 22 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @name = extract_name(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() @waiter_block_warned = false end |
Instance Method Details
#client ⇒ Client
150 151 152 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 150 def client @client end |
#copyable_cross_account ⇒ Boolean
Indicates whether the option can be copied across Amazon Web Services accounts.
143 144 145 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 143 def copyable_cross_account data[:copyable_cross_account] end |
#data ⇒ Types::OptionGroupOption
Returns the data for this Aws::RDS::OptionGroupOption.
165 166 167 168 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 165 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.
173 174 175 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 173 def data_loaded? !!@data end |
#default_port ⇒ Integer
If the option requires a port, specifies the default port for the option.
70 71 72 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 70 def default_port data[:default_port] end |
#description ⇒ String
The description of the option.
39 40 41 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 39 def description data[:description] end |
#engine_name ⇒ String
The name of the engine that this option can be applied to.
45 46 47 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 45 def engine_name data[:engine_name] end |
#major_engine_version ⇒ String
Indicates the major engine version that the option is available for.
51 52 53 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 51 def major_engine_version data[:major_engine_version] end |
#minimum_required_minor_engine_version ⇒ String
The minimum required engine version for the option to be applied.
57 58 59 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 57 def minimum_required_minor_engine_version data[:minimum_required_minor_engine_version] end |
#name ⇒ String
33 34 35 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 33 def name @name end |
#option_group_option_settings ⇒ Array<Types::OptionGroupOptionSetting>
The option settings that are available (and the default value) for each option in an option group.
130 131 132 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 130 def option_group_option_settings data[:option_group_option_settings] end |
#option_group_option_versions ⇒ Array<Types::OptionVersion>
The versions that are available for the option.
136 137 138 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 136 def option_group_option_versions data[:option_group_option_versions] end |
#options_conflicts_with ⇒ Array<String>
The options that conflict with this option.
82 83 84 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 82 def data[:options_conflicts_with] end |
#options_depended_on ⇒ Array<String>
The options that are prerequisites for this option.
76 77 78 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 76 def data[:options_depended_on] end |
#permanent ⇒ Boolean
Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.
99 100 101 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 99 def permanent data[:permanent] end |
#persistent ⇒ Boolean
Persistent options can't be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.
91 92 93 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 91 def persistent data[:persistent] end |
#port_required ⇒ Boolean
Indicates whether the option requires a port.
63 64 65 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 63 def port_required data[:port_required] end |
#requires_auto_minor_engine_version_upgrade ⇒ Boolean
If true, you must enable the Auto Minor Version Upgrade setting for your DB instance before you can use this option. You can enable Auto Minor Version Upgrade when you first create your DB instance, or by modifying your DB instance later.
108 109 110 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 108 def requires_auto_minor_engine_version_upgrade data[:requires_auto_minor_engine_version_upgrade] end |
#supports_option_version_downgrade ⇒ Boolean
If true, you can change the option to an earlier version of the option. This only applies to options that have different versions available.
123 124 125 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 123 def supports_option_version_downgrade data[:supports_option_version_downgrade] end |
#vpc_only ⇒ Boolean
If true, you can only use this option with a DB instance that is in a VPC.
115 116 117 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 115 def vpc_only data[:vpc_only] 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
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/option_group_option.rb', line 257 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::Plugins::UserAgent.metric('RESOURCE_MODEL') do Aws::Waiters::Waiter.new().wait({}) end end |