class BuildCloud::DbSubnetGroup

Public Class Methods

new( fog_interfaces, log, options = {} ) click to toggle source
# File lib/build-cloud/dbsubnetgroup.rb, line 8
def initialize ( fog_interfaces, log, options = {} )

    @rds     = fog_interfaces[:rds]
    @log     = log
    @options = options

    @log.debug( options.inspect )

    required_options(:name)
    require_one_of(:subnet_ids, :subnet_names)

end

Public Instance Methods

create() click to toggle source
# File lib/build-cloud/dbsubnetgroup.rb, line 21
def create
    
    return if exists?

    @log.info( "Creating DB Subnet Group #{@options[:id]}" )

    options = @options.dup

    unless options[:subnet_ids]

        options[:subnet_ids] = []

        options[:subnet_names].each do |sn|
            options[:subnet_ids] << BuildCloud::Subnet.get_id_by_name( sn )
        end

        options.delete(:subnet_names)

    end

    group = @rds.create_db_subnet_group( options[:name], options[:subnet_ids] )

    @log.debug( group.inspect )

end
delete() click to toggle source
# File lib/build-cloud/dbsubnetgroup.rb, line 53
def delete

    return unless exists?

    @log.info( "Deleting DB Subnet Group #{@options[:name]}" )

    fog_object.destroy

end
fog_object()
Alias for: read
read() click to toggle source
# File lib/build-cloud/dbsubnetgroup.rb, line 47
def read
    @rds.subnet_groups.select { |g| g.id == @options[:name] }.first
end
Also aliased as: fog_object