class Rackspace::StorageApi
Attributes
api[R]
Public Class Methods
new(rackspace_credentials)
click to toggle source
Calls superclass method
Rackspace::Api::new
# File lib/rackspace/storage_api.rb, line 5 def initialize(rackspace_credentials) super rackspace_credentials @api ||= Fog::Rackspace::BlockStorage.new(rackspace_credentials) end
Public Instance Methods
create(params)
click to toggle source
# File lib/rackspace/storage_api.rb, line 18 def create(params) name = params.fetch(:name) api.volumes.create( size: params.fetch(:size), display_name: name, volume_type: params.fetch(:volume_type), ) wait_for(name) end
destroy(name)
click to toggle source
# File lib/rackspace/storage_api.rb, line 29 def destroy(name) find_by_name(name).destroy end
find_by_id(volume_id)
click to toggle source
# File lib/rackspace/storage_api.rb, line 14 def find_by_id(volume_id) api.get_volume volume_id end
find_by_name(name)
click to toggle source
# File lib/rackspace/storage_api.rb, line 10 def find_by_name(name) api.volumes.detect { |v| v.display_name == name } end
Private Instance Methods
object_type()
click to toggle source
# File lib/rackspace/storage_api.rb, line 35 def object_type 'volume' end
ready_state()
click to toggle source
# File lib/rackspace/storage_api.rb, line 39 def ready_state AVAILABLE end