module AceClient::Niftycloud::Rdb

Public Class Methods

build_client(options={}) click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 4
def build_client(options={})
  client = AceClient::Query2.new(options)
  client.extend(AceClient::Niftycloud::Rdb)
  client
end

Public Instance Methods

delete_db_instances() click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 24
def delete_db_instances
  db_instances.each do |db_instance|
    self.action('DeleteDBInstance', 'DBInstanceIdentifier' => db_instance['DBInstanceIdentifier'], 'SkipFinalSnapshot' => 'true')
  end
  timeout(60*60) do
    until db_instances.empty?
      if db_instances.any? {|db_instance| db_instance['DBInstanceStatus'] == 'failed' }
        failed = db_instances.select {|db_instance| db_instance['DBInstanceStatus'] == 'failed' }
        raise "DBInstance #{failed.map {|f| f['DBInstanceIdentifier'] }.join(',')} is failed"
      end
      sleep 5
    end
  end
end
delete_db_parameter_groups() click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 51
def delete_db_parameter_groups
  db_parameter_groups.each do |db_parameter_group|
    self.action('DeleteDBParameterGroup', 'DBParameterGroupName' => db_parameter_group['DBParameterGroupName'])
  end
end
delete_db_security_groups() click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 39
def delete_db_security_groups
  db_security_groups.each do |db_security_group|
    self.action('DeleteDBSecurityGroup', 'DBSecurityGroupName' => db_security_group['DBSecurityGroupName'])
  end
end
delete_db_snapshots() click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 45
def delete_db_snapshots
  db_snapshots.each do |db_snapshot|
    self.action('DeleteDBSnapshot', 'DBSnapshotIdentifier' => db_snapshot['DBSnapshotIdentifier'])
  end
end
delete_resources() click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 57
def delete_resources
  delete_db_instances
  delete_db_security_groups
  delete_db_snapshots
  delete_db_parameter_groups
end
items(key) click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 10
def items(key)
   response = self.action("Describe#{key}s", {})
   [response["Describe#{key}sResponse"]["Describe#{key}sResult"]["#{key}s"][key]].flatten rescue []
end

Private Instance Methods

build_client(options={}) click to toggle source
# File lib/ace-client/niftycloud/rdb.rb, line 4
def build_client(options={})
  client = AceClient::Query2.new(options)
  client.extend(AceClient::Niftycloud::Rdb)
  client
end