class BuildCloud::RDSServer
Public Class Methods
new( fog_interfaces, log, options = {} )
click to toggle source
# File lib/build-cloud/rdsserver.rb, line 8 def initialize ( fog_interfaces, log, options = {} ) @rds = fog_interfaces[:rds] @log = log @options = options @log.debug( options.inspect ) required_options(:id, :engine, :allocated_storage, :backup_retention_period, :flavor_id, :db_name, :master_username, :password, :vpc_security_group_names) end
Public Instance Methods
create()
click to toggle source
# File lib/build-cloud/rdsserver.rb, line 21 def create return if exists? @log.info( "Creating RDS Server #{@options[:id]}" ) options = @options.dup options[:db_security_groups] = [] unless options[:vpc_security_groups] options[:vpc_security_groups] = [] options[:vpc_security_group_names].each do |sg| options[:vpc_security_groups] << BuildCloud::SecurityGroup.get_id_by_name( sg ) end options.delete(:vpc_security_group_names) end @log.debug( options.inspect) rds_server = @rds.servers.new( options ) rds_server.save @log.debug( rds_server.inspect ) end
delete()
click to toggle source
# File lib/build-cloud/rdsserver.rb, line 62 def delete return unless exists? @log.info( "Deleting RDS Server #{@options[:id]}" ) fog_object.destroy end
read()
click to toggle source
# File lib/build-cloud/rdsserver.rb, line 56 def read @rds.servers.select { |r| r.id == @options[:id] }.first end
Also aliased as: fog_object
ready_timeout()
click to toggle source
# File lib/build-cloud/rdsserver.rb, line 52 def ready_timeout 20 * 60 # RDS instances take a while end