Class: Fog::Compute::AWS::Snapshot
- Defined in:
- lib/rackspace-fog/aws/models/compute/snapshot.rb
Instance Attribute Summary
Attributes inherited from Model
Instance Method Summary collapse
Methods inherited from Model
#initialize, #inspect, #reload, #symbolize_keys, #to_json, #wait_for
Methods included from Attributes::ClassMethods
#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes
Methods included from Attributes::InstanceMethods
#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #requires, #requires_one
Constructor Details
This class inherits a constructor from Fog::Model
Instance Method Details
#destroy ⇒ Object
20 21 22 23 24 25 |
# File 'lib/rackspace-fog/aws/models/compute/snapshot.rb', line 20 def destroy requires :id connection.delete_snapshot(id) true end |
#ready? ⇒ Boolean
27 28 29 |
# File 'lib/rackspace-fog/aws/models/compute/snapshot.rb', line 27 def ready? state == 'completed' end |
#save ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/rackspace-fog/aws/models/compute/snapshot.rb', line 31 def save raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if identity requires :volume_id data = connection.create_snapshot(volume_id, description).body new_attributes = data.reject {|key,value| key == 'requestId'} merge_attributes(new_attributes) true end |
#volume ⇒ Object
41 42 43 44 |
# File 'lib/rackspace-fog/aws/models/compute/snapshot.rb', line 41 def volume requires :id connection.describe_volumes(volume_id) end |