class Fog::Compute::Aliyun::Volume

Public Instance Methods

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

  service.delete_disk(id)
  true
end
image() click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 76
def image
  requires :image_id
  Fog::Compute::Aliyun::Images.new(:service=>service).all(:imageId=>image_id)[0]
end
ready?() click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 54
def ready?
  requires :state
  state == 'Available'
end
save(options={}) click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 59
def save(options={})
  # raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
  # requires :availability_zone
  requires_one :size, :snapshot_id
  options[:name] = name if name
  options[:description]=description if description
  if snapshot_id
    data=Fog::JSON.decode(service.create_disk_by_snapshot(snapshot_id,options).body)
    merge_attributes(data)
  elsif size
    data = Fog::JSON.decode(service.create_disk(size,options).body)
    merge_attributes(data)
  end          
 
  true
end
snapshots() click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 81
def snapshots
  requires :id
  Fog::Compute::Aliyun::Snapshots.new(:service=>service).all(:volume_id=>id)
end
source() click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 86
def source
  requires :snapshot_id
  Fog::Compute::Aliyun::Snapshots.new(:service=>service).all(:snapshotIds => [snapshot_id])[0]
end

Private Instance Methods

image=(new_image) click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 97
def image=(new_image)
  self.image_id = new_image.id
end
source=(new_source) click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 93
def source=(new_source)
  self.snapshot_id=new_source.id
end