class Fog::Scaleway::Compute::Snapshot
Public Instance Methods
base_volume=(value)
click to toggle source
# File lib/fog/scaleway/models/compute/snapshot.rb, line 16 def base_volume=(value) attributes[:base_volume] = case value when Hash service.volumes.new(value) when String service.volumes.new(identity: value) else value end end
create_image(name, arch)
click to toggle source
# File lib/fog/scaleway/models/compute/snapshot.rb, line 42 def create_image(name, arch) requires :identity if (image = service.create_image(name, arch, identity).body['image']) service.images.new(image) end end
create_volume(name = nil)
click to toggle source
# File lib/fog/scaleway/models/compute/snapshot.rb, line 50 def create_volume(name = nil) requires :identity, :volume_type if name.nil? requires :name name = "#{self.name} - (from snapshot)" end if (volume = service.create_volume(name, volume_type, base_snapshot: identity).body['volume']) service.volumes.new(volume) end end
destroy()
click to toggle source
# File lib/fog/scaleway/models/compute/snapshot.rb, line 35 def destroy requires :identity service.delete_snapshot(identity) true end
save()
click to toggle source
# File lib/fog/scaleway/models/compute/snapshot.rb, line 27 def save if persisted? update else create end end
Private Instance Methods
create()
click to toggle source
# File lib/fog/scaleway/models/compute/snapshot.rb, line 66 def create requires :name, :base_volume if (snapshot = service.create_snapshot(name, base_volume.identity).body['snapshot']) merge_attributes(snapshot) true else false end end
update()
click to toggle source
# File lib/fog/scaleway/models/compute/snapshot.rb, line 77 def update requires :identity if (snapshot = service.update_snapshot(identity, self).body['snapshot']) merge_attributes(snapshot) true else false end end