# File lib/rudy/aws/ec2/snapshot.rb, line 61 def Snapshots.from_hash(h) #snapshotSet: # item: # - snapshotId: snap-5493653d # volumeId: vol-0836d761 # status: completed # startTime: "2009-03-29T20:15:10.000Z" # progress: 100% vol = Rudy::AWS::EC2::Snapshot.new vol.awsid = h['snapshotId'] vol.volid = h['volumeId'] vol.created = h['startTime'] vol.progress = h['progress'] vol.status = h['status'] vol end
# File lib/rudy/aws/ec2/snapshot.rb, line 78 def any? !(list_as_hash || {}).empty? end
# File lib/rudy/aws/ec2/snapshot.rb, line 90 def completed?(snap_id) s = get(snap_id) return false if s.nil? s.completed? end
# File lib/rudy/aws/ec2/snapshot.rb, line 48 def create(vol_id) vol_id = (vol_id.is_a?(Rudy::AWS::EC2::Volume)) ? vol_id.awsid : vol_id shash = @@ec2.create_snapshot(:volume_id => vol_id) snap = Snapshots.from_hash(shash) snap end
# File lib/rudy/aws/ec2/snapshot.rb, line 55 def destroy(snap_id) ret = @@ec2.delete_snapshot(:snapshot_id => snap_id) (ret && ret['return'] == 'true') end
# File lib/rudy/aws/ec2/snapshot.rb, line 86 def exists?(snap_id) !get(snap_id).nil? end
# File lib/rudy/aws/ec2/snapshot.rb, line 82 def get(snap_id) list(snap_id).first rescue nil end
# File lib/rudy/aws/ec2/snapshot.rb, line 28 def list(snap_id=[]) snapshots = list_as_hash(snap_id) if snapshots snapshots = snapshots.values.sort { |a,b| a.created <=> b.created } end snapshots end
# File lib/rudy/aws/ec2/snapshot.rb, line 35 def list_as_hash(snap_id=[]) snap_id = [snap_id].flatten.compact slist = @@ec2.describe_snapshots(:snapshot_id => snap_id) return unless slist['snapshotSet'].is_a?(Hash) snapshots = {} slist['snapshotSet']['item'].each do |snap| kp = self.from_hash(snap) snapshots[kp.awsid] = kp end snapshots = nil if snapshots.empty? snapshots end
Generated with the Darkfish Rdoc Generator 2.