Sha256: e6e3d9fdea9e9a9488f1d5f0d05f2f5151211cd595b34ffc608d32b5243c4c96
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
require 'fog/vcloud_director/models/compute/disk' module Fog module Compute class VcloudDirector class Disks < Collection model Fog::Compute::VcloudDirector::Disk attribute :vm def create(size) item_list unless @disks data = Fog::Generators::Compute::VcloudDirector::Disks.new(@disks) data.add_hard_disk(size) response = service.put_disks(vm.id, data.disks) service.process_task(response.body) end def get_by_id(item_id) item = item_list.find{ |i| i[:id] == item_id} item.merge!(:all_disks => @disks, :vm => vm) if item item end def item_list @disks = service.get_vm_disks(vm.id).body items = @disks[:disks] items.each do |disk| disk[:all_disks] = @disks disk[:vm] = vm end items end # Returns only disk drives (OVF resource type 17) and not controllers, # etc. See <https://blogs.vmware.com/vapp/2009/11/virtual-hardware-in-ovf-part-1.html> def storage_only select {|d| d.resource_type == 17} end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems