lib/fog/rackspace/models/block_storage/snapshot.rb in fog-maestrodev-1.8.0.20130114204828 vs lib/fog/rackspace/models/block_storage/snapshot.rb in fog-maestrodev-1.14.0.20130806165225

- old
+ new

@@ -8,24 +8,59 @@ CREATING = 'creating' DELETING = 'deleting' ERROR = 'error' ERROR_DELETING = 'error_deleting' + # @!attribute [r] id + # @return [String] The snapshot id identity :id + # @!attribute [r] created_at + # @return [String] snapshot creation time attribute :created_at, :aliases => 'createdAt' + + # @!attribute [r] state + # @return [String] snapshot status attribute :state, :aliases => 'status' + + # @!attribute [rw] display_name + # @return [String] display name of snapshot attribute :display_name + + # @!attribute [rw] display_description + # @return [String] display description of snapshot attribute :display_description + + # @!attribute [rw] size + # @return [String] size of snapshot attribute :size + + # @!attribute [rw] volume_id + # @return [String] the volume_id of the snapshot attribute :volume_id + + # @!attribute [r] availability_zone + # @return [String] region of the snapshot attribute :availability_zone + # Returns true if the snapshot is in a ready state + # @return [Boolean] returns true if snapshot is in a ready state def ready? state == AVAILABLE end + # Creates the snapshot + # @param force [Boolean] Set to true to force service to create snapshot + # @raise [Fog::Rackspace::BlockStorage::IdentifierTaken] if the snapshot has been previously saved. + # @return [Boolean] returns true if snapshot is being created + # @raise [Fog::Rackspace::BlockStorage::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::BlockStorage::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::BlockStorage::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::BlockStorage::ServiceError] + # @note A snapshot object cannot be updated + # @note All writes to the volume should be flushed before creating the snapshot, either by un-mounting any file systems on the volume or by detaching the volume. + # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createSnapshot__v1__tenant_id__snapshots.html def save(force = false) requires :volume_id raise IdentifierTaken.new('Resaving may cause a duplicate snapshot to be created') if persisted? data = service.create_snapshot(volume_id, { :display_name => display_name, @@ -34,9 +69,16 @@ }) merge_attributes(data.body['snapshot']) true end + # Destroys snapshot + # @return [Boolean] returns true if snapshot was deleted + # @raise [Fog::Rackspace::BlockStorage::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::BlockStorage::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::BlockStorage::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::BlockStorage::ServiceError] + # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteSnapshot__v1__tenant_id__snapshots.html def destroy requires :identity service.delete_snapshot(identity) true end