class Fog::Compute::Aliyun::Volume

Public Instance Methods

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

  service.delete_disk(id)
  true
end
image() click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 74
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 52
def ready?
  requires :state
  state == 'Available'
end
save(options = {}) click to toggle source
# File lib/fog/aliyun/models/compute/volume.rb, line 57
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 79
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 84
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 95
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 91
def source=(new_source)
  self.snapshot_id = new_source.id
end