class Fog::Compute::CloudSigma::Volume

Public Instance Methods

available?() click to toggle source
# File lib/fog/cloudsigma/models/volume.rb, line 77
def available?
  status == 'unmounted'
end
clone(clone_params={}) click to toggle source
# File lib/fog/cloudsigma/models/volume.rb, line 62
def clone(clone_params={})
  requires :identity
  response = service.clone_volume(identity, clone_params)

  self.class.new(response.body['objects'].first)
end
create() click to toggle source
# File lib/fog/cloudsigma/models/volume.rb, line 33
def create
  requires :name, :size, :media
  data = attributes

  response = service.create_volume(data)
  new_attributes = response.body['objects'].first
  merge_attributes(new_attributes)
end
create_snapshot(snapshot_params={}) click to toggle source
# File lib/fog/cloudsigma/models/volume.rb, line 69
def create_snapshot(snapshot_params={})
  requires :identity
  snapshot_params[:drive] = identity
  response = service.create_snapshot(snapshot_params)

  Snapshot.new(response.body['objects'].first)
end
delete()
Alias for: destroy
destroy() click to toggle source
# File lib/fog/cloudsigma/models/volume.rb, line 52
def destroy
  requires :identity

  service.delete_volume(identity)

  true
end
Also aliased as: delete
save() click to toggle source
# File lib/fog/cloudsigma/models/volume.rb, line 25
def save
  if persisted?
    update
  else
    create
  end
end
update() click to toggle source
# File lib/fog/cloudsigma/models/volume.rb, line 42
def update
  requires :identity, :name, :size, :media

  data = attributes()

  response = service.update_volume(identity, data)
  new_attributes = response.body
  merge_attributes(new_attributes)
end