class Fog::Compute::VcloudDirector::Disk

Public Instance Methods

all_disks() click to toggle source
# File lib/fog/vcloud_director/models/compute/disk.rb, line 34
def all_disks
  attributes[:all_disks] # this is passed at instantiation time
end
capacity=(new_capacity) click to toggle source

TODO Virtual machine disk sizes may only be increased, not decreased.

# File lib/fog/vcloud_director/models/compute/disk.rb, line 21
def capacity=(new_capacity)
  has_changed = ( capacity != new_capacity.to_i )
  not_first_set = !capacity.nil?
  attributes[:capacity] = new_capacity.to_i
  if not_first_set && has_changed
    data = Fog::Generators::Compute::VcloudDirector::Disks.new(all_disks)
    num_disk = name.scan(/\d+/).first.to_i
    data.modify_hard_disk_size(num_disk, new_capacity)
    response = service.put_disks(attributes[:vm].id, data.disks)
    service.process_task(response.body)
  end
end
destroy() click to toggle source
# File lib/fog/vcloud_director/models/compute/disk.rb, line 38
def destroy
  num_disk = name.scan(/\d+/).first.to_i
  data = Fog::Generators::Compute::VcloudDirector::Disks.new(all_disks)
  data.delete_hard_disk(num_disk)
  response = service.put_disks(attributes[:vm].id, data.disks)
  service.process_task(response.body)
end