class Fog::Scaleway::Compute::Volume
Public Instance Methods
clone(name = nil)
click to toggle source
# File lib/fog/scaleway/models/compute/volume.rb, line 56 def clone(name = nil) requires :identity, :volume_type if name.nil? requires :name name = "#{self.name} - (Copy)" end if (volume = service.create_volume(name, volume_type, base_volume: identity).body['volume']) service.volumes.new(volume) end end
create_snapshot(name = nil)
click to toggle source
# File lib/fog/scaleway/models/compute/volume.rb, line 42 def create_snapshot(name = nil) requires :identity if name.nil? requires :name name = "#{self.name} snapshot" end if (snapshot = service.create_snapshot(name, identity).body['snapshot']) service.snapshots.new(snapshot) end end
destroy()
click to toggle source
# File lib/fog/scaleway/models/compute/volume.rb, line 35 def destroy requires :identity service.delete_volume(identity) true end
save()
click to toggle source
# File lib/fog/scaleway/models/compute/volume.rb, line 27 def save if persisted? update else create end end
server=(value)
click to toggle source
# File lib/fog/scaleway/models/compute/volume.rb, line 16 def server=(value) attributes[:server] = case value when Hash service.servers.new(value) when String service.servers.new(identity: value) else value end end
Private Instance Methods
create()
click to toggle source
# File lib/fog/scaleway/models/compute/volume.rb, line 72 def create requires :name, :volume_type, :size if (volume = service.create_volume(name, volume_type, size: size).body['volume']) merge_attributes(volume) true else false end end
update()
click to toggle source
# File lib/fog/scaleway/models/compute/volume.rb, line 83 def update requires :identity if (volume = service.update_volume(identity, self).body['volume']) merge_attributes(volume) true else false end end