# File lib/fog/cloudstack/models/compute/volume.rb, line 81 def attach(instance_or_id, mountpoint=nil) requires :id instance_id = instance_or_id.is_a?(Server) ? instance_or_id.id : instance_or_id unless instance_id raise ArgumentError, "Missing required argument: instance_or_id" end options = { 'id' => id, 'virtualmachineid' => instance_id, } options.merge!('deviceid' => mountpoint) if mountpoint data = service.attach_volume(options) service.jobs.new(data["attachvolumeresponse"]) end
# File lib/fog/cloudstack/models/compute/volume.rb, line 107 def destroy requires :id service.delete_volume('id' => id) true end
# File lib/fog/cloudstack/models/compute/volume.rb, line 99 def detach requires :id data = service.detach_volume('id' => id) service.jobs.new(data["detachvolumeresponse"]) end
# File lib/fog/cloudstack/models/compute/volume.rb, line 50 def flavor service.disk_offerings.get(self.disk_offering_id) end
# File lib/fog/cloudstack/models/compute/volume.rb, line 46 def ready? state == 'Allocated' || state == 'Ready' end
# File lib/fog/cloudstack/models/compute/volume.rb, line 61 def reload requires :identity return unless data = begin collection.get(identity) rescue Excon::Errors::SocketError nil end new_attributes = { 'virtualmachineid' => nil, 'vmname' => nil, 'vmdisplayname' => nil }.merge(data.attributes) merge_attributes(new_attributes) self end
# File lib/fog/cloudstack/models/compute/volume.rb, line 31 def save requires :name, :disk_offering_id, :zone_id options = { 'size' => size, 'name' => name, 'diskofferingid' => disk_offering_id, 'zoneid' => zone_id, 'snapshotid' => snapshot_id, 'projectid' => project_id } data = service.create_volume(options) merge_attributes(data['createvolumeresponse']) end
Generated with the Darkfish Rdoc Generator 2.