Class: Aws::RDS::DBSecurityGroup
- Inherits:
- 
      Object
      
        - Object
- Aws::RDS::DBSecurityGroup
 
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-rds/db_security_group.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
- 
  
    
      #db_security_group_arn  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    The Amazon Resource Name (ARN) for the DB security group. 
- 
  
    
      #db_security_group_description  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Provides the description of the DB security group. 
- 
  
    
      #ec2_security_groups  ⇒ Array<Types::EC2SecurityGroup> 
    
    
  
  
  
  
  
  
  
  
  
    Contains a list of ‘EC2SecurityGroup` elements. 
- 
  
    
      #ip_ranges  ⇒ Array<Types::IPRange> 
    
    
  
  
  
  
  
  
  
  
  
    Contains a list of ‘IPRange` elements. 
- #name ⇒ String (also: #db_security_group_name)
- 
  
    
      #owner_id  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Provides the Amazon Web Services ID of the owner of a specific DB security group. 
- 
  
    
      #vpc_id  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Provides the VpcId of the DB security group. 
Actions collapse
- #authorize_ingress(options = {}) ⇒ DBSecurityGroup
- #create(options = {}) ⇒ DBSecurityGroup
- #delete(options = {}) ⇒ EmptyStructure
- #revoke_ingress(options = {}) ⇒ DBSecurityGroup
- #subscribe_to(options = {}) ⇒ EventSubscription
- #unsubscribe_from(options = {}) ⇒ EventSubscription
Associations collapse
- #events(options = {}) ⇒ Event::Collection
- #identifiers ⇒ Object deprecated private Deprecated.
Instance Method Summary collapse
- #client ⇒ Client
- 
  
    
      #data  ⇒ Types::DBSecurityGroup 
    
    
  
  
  
  
  
  
  
  
  
    Returns the data for this DBSecurityGroup. 
- 
  
    
      #data_loaded?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Returns ‘true` if this resource is loaded. 
- 
  
    
      #initialize(*args)  ⇒ DBSecurityGroup 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of DBSecurityGroup. 
- 
  
    
      #load  ⇒ self 
    
    
      (also: #reload)
    
  
  
  
  
  
  
  
  
  
    Loads, or reloads #data for the current DBSecurityGroup. 
- 
  
    
      #wait_until(options = {}) {|resource| ... } ⇒ Resource 
    
    
  
  
  
  
  
  
  deprecated
  
  
    Deprecated. Use [Aws::RDS::Client] #wait_until instead 
Constructor Details
#initialize(name, options = {}) ⇒ DBSecurityGroup #initialize(options = {}) ⇒ DBSecurityGroup
Returns a new instance of DBSecurityGroup.
| 22 23 24 25 26 27 28 | # File 'lib/aws-sdk-rds/db_security_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
#authorize_ingress(options = {}) ⇒ DBSecurityGroup
| 242 243 244 245 246 247 248 249 250 251 252 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 242 def ( = {}) = .merge(db_security_group_name: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.() end DBSecurityGroup.new( name: resp.data.db_security_group.db_security_group_name, data: resp.data.db_security_group, client: @client ) end | 
#client ⇒ Client
| 78 79 80 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 78 def client @client end | 
#create(options = {}) ⇒ DBSecurityGroup
| 271 272 273 274 275 276 277 278 279 280 281 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 271 def create( = {}) = .merge(db_security_group_name: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.create_db_security_group() end DBSecurityGroup.new( name: resp.data.db_security_group.db_security_group_name, data: resp.data.db_security_group, client: @client ) end | 
#data ⇒ Types::DBSecurityGroup
Returns the data for this Aws::RDS::DBSecurityGroup. Calls Client#describe_db_security_groups if #data_loaded? is ‘false`.
| 100 101 102 103 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 100 def data load unless @data @data end | 
#data_loaded? ⇒ Boolean
| 108 109 110 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 108 def data_loaded? !!@data end | 
#db_security_group_arn ⇒ String
The Amazon Resource Name (ARN) for the DB security group.
| 71 72 73 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 71 def db_security_group_arn data[:db_security_group_arn] end | 
#db_security_group_description ⇒ String
Provides the description of the DB security group.
| 47 48 49 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 47 def db_security_group_description data[:db_security_group_description] end | 
#delete(options = {}) ⇒ EmptyStructure
| 288 289 290 291 292 293 294 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 288 def delete( = {}) = .merge(db_security_group_name: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.delete_db_security_group() end resp.data end | 
#ec2_security_groups ⇒ Array<Types::EC2SecurityGroup>
Contains a list of ‘EC2SecurityGroup` elements.
| 59 60 61 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 59 def ec2_security_groups data[:ec2_security_groups] end | 
#events(options = {}) ⇒ Event::Collection
| 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 430 def events( = {}) batches = Enumerator.new do |y| = .merge( source_type: "db-security-group", source_identifier: @name ) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.describe_events() end resp.each_page do |page| batch = [] page.data.events.each do |e| batch << Event.new( source_id: e.source_identifier, date: e.date, data: e, client: @client ) end y.yield(batch) end end Event::Collection.new(batches) 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.
| 457 458 459 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 457 def identifiers { name: @name } end | 
#ip_ranges ⇒ Array<Types::IPRange>
Contains a list of ‘IPRange` elements.
| 65 66 67 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 65 def ip_ranges data[:ip_ranges] end | 
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::RDS::DBSecurityGroup. Returns ‘self` making it possible to chain methods.
db_security_group.reload.data
| 88 89 90 91 92 93 94 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 88 def load resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.describe_db_security_groups(db_security_group_name: @name) end @data = resp.db_security_groups[0] self end | 
#name ⇒ String Also known as: db_security_group_name
| 33 34 35 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 33 def name @name end | 
#owner_id ⇒ String
Provides the Amazon Web Services ID of the owner of a specific DB security group.
| 41 42 43 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 41 def owner_id data[:owner_id] end | 
#revoke_ingress(options = {}) ⇒ DBSecurityGroup
| 327 328 329 330 331 332 333 334 335 336 337 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 327 def revoke_ingress( = {}) = .merge(db_security_group_name: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.revoke_db_security_group_ingress() end DBSecurityGroup.new( name: resp.data.db_security_group.db_security_group_name, data: resp.data.db_security_group, client: @client ) end | 
#subscribe_to(options = {}) ⇒ EventSubscription
| 349 350 351 352 353 354 355 356 357 358 359 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 349 def subscribe_to( = {}) = .merge(source_identifier: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.add_source_identifier_to_subscription() end EventSubscription.new( name: resp.data.event_subscription.cust_subscription_id, data: resp.data.event_subscription, client: @client ) end | 
#unsubscribe_from(options = {}) ⇒ EventSubscription
| 371 372 373 374 375 376 377 378 379 380 381 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 371 def unsubscribe_from( = {}) = .merge(source_identifier: @name) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.remove_source_identifier_from_subscription() end EventSubscription.new( name: resp.data.event_subscription.cust_subscription_id, data: resp.data.event_subscription, client: @client ) end | 
#vpc_id ⇒ String
Provides the VpcId of the DB security group.
| 53 54 55 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 53 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
| 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | # File 'lib/aws-sdk-rds/db_security_group.rb', line 192 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 |