Parent

Files

Class/Module Index [+]

Quicksearch

Fog::Compute::AWS::Volume

Public Class Methods

new(attributes = {}) click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 22
def initialize(attributes = {})
  # assign server first to prevent race condition with new_record?
  self.server = attributes.delete(:server)
  super
end

Public Instance Methods

destroy() click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 28
def destroy
  requires :id

  connection.delete_volume(id)
  true
end
force_detach() click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 76
def force_detach
  detach(true)
end
ready?() click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 35
def ready?
  state == 'available'
end
save() click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 39
def save
  raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if identity
  requires :availability_zone
  requires_one :size, :snapshot_id

  data = connection.create_volume(availability_zone, size, snapshot_id).body
  new_attributes = data.reject {|key,value| key == 'requestId'}
  merge_attributes(new_attributes)
  if @server
    self.server = @server
  end
  true
end
server() click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 53
def server
  requires :server_id
  connection.servers('instance-id' => server_id)
end
server=(new_server) click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 58
def server=(new_server)
  if new_server
    attach(new_server)
  else
    detach
  end
end
snapshot(description) click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 71
def snapshot(description)
  requires :id
  connection.create_snapshot(id, description)
end
snapshots() click to toggle source
# File lib/fog/aws/models/compute/volume.rb, line 66
def snapshots
  requires :id
  connection.snapshots(:volume => self)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.