Class: Aws::RDS::OptionGroup
- Inherits:
- 
      Object
      
        - Object
- Aws::RDS::OptionGroup
 
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-rds/option_group.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
- 
  
    
      #allows_vpc_and_non_vpc_instance_memberships  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Indicates whether this option group can be applied to both VPC and non-VPC instances. 
- 
  
    
      #copy_timestamp  ⇒ Time 
    
    
  
  
  
  
  
  
  
  
  
    Indicates when the option group was copied. 
- 
  
    
      #engine_name  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Indicates the name of the engine that this option group can be applied to. 
- 
  
    
      #major_engine_version  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Indicates the major engine version associated with this option group. 
- #name ⇒ String (also: #option_group_name)
- 
  
    
      #option_group_arn  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Specifies the Amazon Resource Name (ARN) for the option group. 
- 
  
    
      #option_group_description  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Provides a description of the option group. 
- 
  
    
      #options  ⇒ Array<Types::Option> 
    
    
  
  
  
  
  
  
  
  
  
    Indicates what options are available in the option group. 
- 
  
    
      #source_account_id  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Specifies the Amazon Web Services account ID for the option group from which this option group is copied. 
- 
  
    
      #source_option_group  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Specifies the name of the option group from which this option group is copied. 
- 
  
    
      #vpc_id  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    If AllowsVpcAndNonVpcInstanceMemberships is ‘false`, this field is blank. 
Actions collapse
- #copy(options = {}) ⇒ OptionGroup
- #create(options = {}) ⇒ OptionGroup
- #delete(options = {}) ⇒ EmptyStructure
- #identifiers ⇒ Object deprecated private Deprecated.
- #modify(options = {}) ⇒ OptionGroup
Instance Method Summary collapse
- #client ⇒ Client
- 
  
    
      #data  ⇒ Types::OptionGroup 
    
    
  
  
  
  
  
  
  
  
  
    Returns the data for this OptionGroup. 
- 
  
    
      #data_loaded?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Returns ‘true` if this resource is loaded. 
- 
  
    
      #initialize(*args)  ⇒ OptionGroup 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of OptionGroup. 
- 
  
    
      #load  ⇒ self 
    
    
      (also: #reload)
    
  
  
  
  
  
  
  
  
  
    Loads, or reloads #data for the current OptionGroup. 
- 
  
    
      #wait_until(options = {}) {|resource| ... } ⇒ Resource 
    
    
  
  
  
  
  
  
  deprecated
  
  
    Deprecated. Use [Aws::RDS::Client] #wait_until instead 
Constructor Details
#initialize(name, options = {}) ⇒ OptionGroup #initialize(options = {}) ⇒ OptionGroup
Returns a new instance of OptionGroup.
| 22 23 24 25 26 27 28 | # File 'lib/aws-sdk-rds/option_group.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
#allows_vpc_and_non_vpc_instance_memberships ⇒ Boolean
Indicates whether this option group can be applied to both VPC and non-VPC instances. The value ‘true` indicates the option group can be applied to both VPC and non-VPC instances.
| 67 68 69 | # File 'lib/aws-sdk-rds/option_group.rb', line 67 def allows_vpc_and_non_vpc_instance_memberships data[:allows_vpc_and_non_vpc_instance_memberships] end | 
#client ⇒ Client
| 111 112 113 | # File 'lib/aws-sdk-rds/option_group.rb', line 111 def client @client end | 
#copy(options = {}) ⇒ OptionGroup
| 347 348 349 350 351 352 353 354 355 356 357 | # File 'lib/aws-sdk-rds/option_group.rb', line 347 def copy( = {}) = .merge(source_option_group_identifier: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.copy_option_group() end OptionGroup.new( name: resp.data.option_group.option_group_name, data: resp.data.option_group, client: @client ) end | 
#copy_timestamp ⇒ Time
Indicates when the option group was copied.
| 104 105 106 | # File 'lib/aws-sdk-rds/option_group.rb', line 104 def data[:copy_timestamp] end | 
#create(options = {}) ⇒ OptionGroup
| 298 299 300 301 302 303 304 305 306 307 308 | # File 'lib/aws-sdk-rds/option_group.rb', line 298 def create( = {}) = .merge(option_group_name: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.create_option_group() end OptionGroup.new( name: resp.data.option_group.option_group_name, data: resp.data.option_group, client: @client ) end | 
#data ⇒ Types::OptionGroup
Returns the data for this Aws::RDS::OptionGroup. Calls Client#describe_option_groups if #data_loaded? is ‘false`.
| 133 134 135 136 | # File 'lib/aws-sdk-rds/option_group.rb', line 133 def data load unless @data @data end | 
#data_loaded? ⇒ Boolean
| 141 142 143 | # File 'lib/aws-sdk-rds/option_group.rb', line 141 def data_loaded? !!@data end | 
#delete(options = {}) ⇒ EmptyStructure
| 364 365 366 367 368 369 370 | # File 'lib/aws-sdk-rds/option_group.rb', line 364 def delete( = {}) = .merge(option_group_name: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.delete_option_group() end resp.data end | 
#engine_name ⇒ String
Indicates the name of the engine that this option group can be applied to.
| 47 48 49 | # File 'lib/aws-sdk-rds/option_group.rb', line 47 def engine_name data[:engine_name] end | 
#identifiers ⇒ Object
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.
| 425 426 427 | # File 'lib/aws-sdk-rds/option_group.rb', line 425 def identifiers { name: @name } end | 
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::RDS::OptionGroup. Returns ‘self` making it possible to chain methods.
option_group.reload.data
| 121 122 123 124 125 126 127 | # File 'lib/aws-sdk-rds/option_group.rb', line 121 def load resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.describe_option_groups(option_group_name: @name) end @data = resp.option_groups_list[0] self end | 
#major_engine_version ⇒ String
Indicates the major engine version associated with this option group.
| 53 54 55 | # File 'lib/aws-sdk-rds/option_group.rb', line 53 def major_engine_version data[:major_engine_version] end | 
#modify(options = {}) ⇒ OptionGroup
| 411 412 413 414 415 416 417 418 419 420 421 | # File 'lib/aws-sdk-rds/option_group.rb', line 411 def modify( = {}) = .merge(option_group_name: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.modify_option_group() end OptionGroup.new( name: resp.data.option_group.option_group_name, data: resp.data.option_group, client: @client ) end | 
#name ⇒ String Also known as: option_group_name
| 33 34 35 | # File 'lib/aws-sdk-rds/option_group.rb', line 33 def name @name end | 
#option_group_arn ⇒ String
Specifies the Amazon Resource Name (ARN) for the option group.
| 84 85 86 | # File 'lib/aws-sdk-rds/option_group.rb', line 84 def option_group_arn data[:option_group_arn] end | 
#option_group_description ⇒ String
Provides a description of the option group.
| 40 41 42 | # File 'lib/aws-sdk-rds/option_group.rb', line 40 def option_group_description data[:option_group_description] end | 
#options ⇒ Array<Types::Option>
Indicates what options are available in the option group.
| 59 60 61 | # File 'lib/aws-sdk-rds/option_group.rb', line 59 def data[:options] end | 
#source_account_id ⇒ String
Specifies the Amazon Web Services account ID for the option group from which this option group is copied.
| 98 99 100 | # File 'lib/aws-sdk-rds/option_group.rb', line 98 def source_account_id data[:source_account_id] end | 
#source_option_group ⇒ String
Specifies the name of the option group from which this option group is copied.
| 91 92 93 | # File 'lib/aws-sdk-rds/option_group.rb', line 91 def source_option_group data[:source_option_group] end | 
#vpc_id ⇒ String
If AllowsVpcAndNonVpcInstanceMemberships is ‘false`, this field is blank. If AllowsVpcAndNonVpcInstanceMemberships is `true` and this field is blank, then this option group can be applied to both VPC and non-VPC instances. If this field contains a value, then this option group can only be applied to instances that are in the VPC indicated by this field.
| 78 79 80 | # File 'lib/aws-sdk-rds/option_group.rb', line 78 def vpc_id data[:vpc_id] 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
| 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | # File 'lib/aws-sdk-rds/option_group.rb', line 225 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 |