diff --git a/lib/fog/aws/models/beanstalk/environment.rb b/lib/fog/aws/models/beanstalk/environment.rb index eef6b427d..82400a2a2 100644 --- a/lib/fog/aws/models/beanstalk/environment.rb +++ b/lib/fog/aws/models/beanstalk/environment.rb @@ -47,8 +47,12 @@ module Fog # Returns the load balancer object associated with the environment. def load_balancer(elb_connection = Fog::AWS[:elb]) - requires :resources - elb_connection.load_balancers.get(resources['LoadBalancer']['LoadBalancerName']) + + if resources.nil? + elb_connection.load_balancers.get(live_resources['LoadBalancers'].first['Name']) + else + elb_connection.load_balancers.get(resources['LoadBalancer']['LoadBalancerName']) + end end # Return events related to this version diff --git a/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb b/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb index ee74ad1f9..92a5ddf33 100644 --- a/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb +++ b/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb @@ -16,6 +16,17 @@ module Fog tag 'Id', :string tag 'LaunchConfigurations', :object, :list tag 'LoadBalancers', :object, :list + tag 'Resources', :object, :list + tag 'Description', :string + tag 'LogicalResourceId', :string + tag 'PhysicalResourceId', :string + tag 'Type', :string + tag 'Properties', :object, :list + tag 'RuntimeSources', :object, :list + tag 'Parameter', :string + tag 'Versions', :object, :list + tag 'ApplicationName', :string + tag 'VersionLabel', :string tag 'Triggers', :object, :list end diff --git a/lib/fog/rackspace/cdn.rb b/lib/fog/rackspace/cdn.rb index b389618f6..80ef386d9 100644 --- a/lib/fog/rackspace/cdn.rb +++ b/lib/fog/rackspace/cdn.rb @@ -36,6 +36,14 @@ module Fog @uri = super(@rackspace_cdn_url || service_endpoint_url, :rackspace_cdn_url) end + # Publish container to CDN + # @param [Fog::Storage::Rackspace::Directory] directory to publish + # @param [Boolean] publish If true directory is published. If false directory is unpublished. + # @return [Hash] hash containing urls for published container + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def publish_container(container, publish = true) enabled = publish ? 'True' : 'False' response = put_container(container.key, 'X-Cdn-Enabled' => enabled) @@ -43,6 +51,13 @@ module Fog urls_from_headers(response.headers) end + # Returns hash of urls for container + # @param [Fog::Storage::Rackspace::Directory] container to retrieve urls for + # @return [Hash] hash containing urls for published container + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] + # @note If unable to find container or container is not published this method will return an empty hash. def urls(container) begin response = head_container(container.key) @@ -115,14 +130,20 @@ module Fog end end + # Returns true if CDN service is enabled + # @return [Boolean] def enabled? @enabled end + # Resets CDN connection def reload @cdn_connection.reset end + # Purges File + # @param [Fog::Storage::Rackspace::File] file to be purged from the CDN + # @raise [Fog::Errors::NotImplemented] returned when non file parameters are specified def purge(file) unless file.is_a? Fog::Storage::Rackspace::File raise Fog::Errors::NotImplemented.new("#{object.class} does not support CDN purging") if object diff --git a/lib/fog/rackspace/models/block_storage/snapshot.rb b/lib/fog/rackspace/models/block_storage/snapshot.rb index b8b7519d2..96d5a34e5 100644 --- a/lib/fog/rackspace/models/block_storage/snapshot.rb +++ b/lib/fog/rackspace/models/block_storage/snapshot.rb @@ -52,6 +52,10 @@ module Fog # @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::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::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 @@ -69,6 +73,10 @@ module Fog # Destroys snapshot # @return [Boolean] returns true if snapshot was deleted + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteSnapshot__v1__tenant_id__snapshots.html def destroy requires :identity diff --git a/lib/fog/rackspace/models/block_storage/snapshots.rb b/lib/fog/rackspace/models/block_storage/snapshots.rb index 9f01436f9..456765d3e 100644 --- a/lib/fog/rackspace/models/block_storage/snapshots.rb +++ b/lib/fog/rackspace/models/block_storage/snapshots.rb @@ -10,6 +10,10 @@ module Fog # Returns list of snapshots # @return [Fog::Rackspace::BlockStorage::Snapshots] Retrieves a snapshots + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getSnapshotsSimple__v1__tenant_id__snapshots.html def all data = service.list_snapshots.body['snapshots'] @@ -19,6 +23,10 @@ module Fog # Retrieves snapshot # @param [String] snapshot_id for snapshot to be returned # @return [Fog::Rackspace::BlockStorage::Volume] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getSnapshot__v1__tenant_id__snapshots.html def get(snapshot_id) data = service.get_snapshot(snapshot_id).body['snapshot'] diff --git a/lib/fog/rackspace/models/block_storage/volume.rb b/lib/fog/rackspace/models/block_storage/volume.rb index db6e260ce..c1d7eeb7b 100644 --- a/lib/fog/rackspace/models/block_storage/volume.rb +++ b/lib/fog/rackspace/models/block_storage/volume.rb @@ -62,17 +62,25 @@ module Fog # Returns a list of snapshots associated with the volume # @return [Fog::Rackspace::BlockStorage::Snapshots] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def snapshots service.snapshots.select { |s| s.volume_id == identity } end # Creates a snapshot from the current volume - # @return [Fog::Rackspace::BlockStorage::Snapshot] # @param [Hash] options # @option options [String] :display_name of snapshot # @option options [String] :display_description of snapshot # @option options [Boolean] :force - If set to true, snapshot will be taken even if volume is still mounted. + # @return [Fog::Rackspace::BlockStorage::Snapshot] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @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 create_snapshot(options={}) @@ -83,6 +91,10 @@ module Fog # Creates volume # @raise [Fog::Rackspace::BlockStorage::IdentifierTaken] if the volume has been previously saved. # @return [Boolean] returns true if volume was successfully created + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note A volume object cannot be updated # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createVolume__v1__tenant_id__volumes.html def save @@ -100,6 +112,10 @@ module Fog # Destroys Volume # @return [Boolean] returns true if volume was deleted + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note You cannot delete a volume until all of its dependent snaphosts have been deleted. # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteVolume__v1__tenant_id__volumes.html def destroy diff --git a/lib/fog/rackspace/models/block_storage/volume_types.rb b/lib/fog/rackspace/models/block_storage/volume_types.rb index 8a4fe0238..cef725720 100644 --- a/lib/fog/rackspace/models/block_storage/volume_types.rb +++ b/lib/fog/rackspace/models/block_storage/volume_types.rb @@ -10,6 +10,10 @@ module Fog # Returns list of volume types # @return [Fog::Rackspace::BlockStorage::VolumeTypes] Retrieves a list volume types. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeTypes__v1__tenant_id__types.html def all data = service.list_volume_types.body['volume_types'] @@ -19,6 +23,10 @@ module Fog # Retrieves volume type # @param [String] volume_type_id for volume_type to be returned # @return [Fog::Rackspace::BlockStorage::VolumeType] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeType__v1__tenant_id__types.html def get(volume_type_id) data = service.get_volume_type(volume_type_id).body['volume_type'] diff --git a/lib/fog/rackspace/models/block_storage/volumes.rb b/lib/fog/rackspace/models/block_storage/volumes.rb index 2d159161b..ff20b05a6 100644 --- a/lib/fog/rackspace/models/block_storage/volumes.rb +++ b/lib/fog/rackspace/models/block_storage/volumes.rb @@ -10,6 +10,10 @@ module Fog # Returns list of volumes # @return [Fog::Rackspace::BlockStorage::Volumes] Retrieves a volumes + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple__v1__tenant_id__volumes.html def all data = service.list_volumes.body['volumes'] @@ -19,6 +23,10 @@ module Fog # Retrieves volume # @param [String] volume_id for snapshot to be returned # @return [Fog::Rackspace::BlockStorage::Volume] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolume__v1__tenant_id__volumes.html def get(volume_id) data = service.get_volume(volume_id).body['volume'] diff --git a/lib/fog/rackspace/models/compute_v2/attachment.rb b/lib/fog/rackspace/models/compute_v2/attachment.rb index 6d4dbe2fd..1d530c961 100644 --- a/lib/fog/rackspace/models/compute_v2/attachment.rb +++ b/lib/fog/rackspace/models/compute_v2/attachment.rb @@ -26,6 +26,10 @@ module Fog # Attaches volume to volume to server. # Requires :server_id, :volume_id, and device to be populated # @return [Boolean] true if volume is attaching + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Attach_Volume_to_Server.html def save requires :server_id, :volume_id, :device @@ -36,6 +40,10 @@ module Fog # Detaches volume from server # @return [Boolean] true if volume is detaching + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Delete_Volume_Attachment.html def destroy requires :server_id, :volume_id diff --git a/lib/fog/rackspace/models/compute_v2/attachments.rb b/lib/fog/rackspace/models/compute_v2/attachments.rb index 9036fc432..163fa9b4d 100644 --- a/lib/fog/rackspace/models/compute_v2/attachments.rb +++ b/lib/fog/rackspace/models/compute_v2/attachments.rb @@ -11,7 +11,11 @@ module Fog attr_accessor :server # Retrieves attachments belonging to server - # @return [Array] list of attachments + # @return [Fog::Compute::RackspaceV2::Attachments] list of attachments + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see Server#attachments def all data = service.list_attachments(server.id).body['volumeAttachments'] @@ -21,6 +25,10 @@ module Fog # Retrieves attachment belonging to server # @param [String] volume_id # @return [Fog::Compute::RackspaceV2::Attachment] attachment for volume id + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def get(volume_id) data = service.get_attachment(server.id, volume_id).body['volumeAttachment'] data && new(data) diff --git a/lib/fog/rackspace/models/compute_v2/flavors.rb b/lib/fog/rackspace/models/compute_v2/flavors.rb index 7372616b3..8d8ab9f31 100644 --- a/lib/fog/rackspace/models/compute_v2/flavors.rb +++ b/lib/fog/rackspace/models/compute_v2/flavors.rb @@ -9,7 +9,11 @@ module Fog model Fog::Compute::RackspaceV2::Flavor # Retrieves information for all available flavors - # @return [Array] list of flavors + # @return [Fog::Compute::RackspaceV2::Flavors] list of flavors + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note Fog's currentl implementation only returns 1000 flavors. # @note Fog does not retrieve all flavor details. Please use #get to retrieve all details for a specific flavor. def all @@ -20,6 +24,10 @@ module Fog # Retrieve image # @param [String] flavor_id id of flavor # @return [Fog::Compute::RackspaceV2::Flavor] flavor + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Flavor_Details-d1e4317.html def get(flavor_id) data = service.get_flavor(flavor_id).body['flavor'] diff --git a/lib/fog/rackspace/models/compute_v2/image.rb b/lib/fog/rackspace/models/compute_v2/image.rb index be5a1e594..8788fc02b 100644 --- a/lib/fog/rackspace/models/compute_v2/image.rb +++ b/lib/fog/rackspace/models/compute_v2/image.rb @@ -89,6 +89,10 @@ module Fog # @param [String] ready_state By default state is ACTIVE # @param [Array,String] error_states By default state is ERROR # @return [Boolean] returns true if server is in a ready state + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @raise [Fog::Compute::RackspaceV2::InvalidImageStateException] if server state is an error state def ready?(ready_state = ACTIVE, error_states=[ERROR]) if error_states @@ -100,6 +104,10 @@ module Fog # Destroy image + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def destroy requires :identity service.delete_image(identity) diff --git a/lib/fog/rackspace/models/compute_v2/images.rb b/lib/fog/rackspace/models/compute_v2/images.rb index 39fd52616..e4bcdc8c1 100644 --- a/lib/fog/rackspace/models/compute_v2/images.rb +++ b/lib/fog/rackspace/models/compute_v2/images.rb @@ -9,7 +9,11 @@ module Fog model Fog::Compute::RackspaceV2::Image # Returns list of images - # @return [Array] Retrieves a list images. + # @return [Fog::Compute::RackspaceV2::Images] Retrieves a list images. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note Fog's current implementation only returns 1000 images. # @note Fog does not retrieve all image details. Please use get to retrieve all details for a specific image. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Images-d1e4435.html @@ -21,6 +25,10 @@ module Fog # Retrieve image # @param [String] image_id id of image # @return [Fog::Compute::RackspaceV2:Image] image + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Image_Details-d1e4848.html def get(image_id) data = service.get_image(image_id).body['image'] diff --git a/lib/fog/rackspace/models/compute_v2/meta_parent.rb b/lib/fog/rackspace/models/compute_v2/meta_parent.rb index 3a7f10793..db139cf1e 100644 --- a/lib/fog/rackspace/models/compute_v2/meta_parent.rb +++ b/lib/fog/rackspace/models/compute_v2/meta_parent.rb @@ -17,7 +17,7 @@ module Fog # Collection type for parent # @return [String] collection type - # @raise [RuntimeException] raises excpetion if collection type for parent is unknown + # @raise [RuntimeError] raises excpetion if collection type for parent is unknown def collection_name if parent.class == Fog::Compute::RackspaceV2::Image return "images" diff --git a/lib/fog/rackspace/models/compute_v2/metadata.rb b/lib/fog/rackspace/models/compute_v2/metadata.rb index e58ebc429..548ac41b0 100644 --- a/lib/fog/rackspace/models/compute_v2/metadata.rb +++ b/lib/fog/rackspace/models/compute_v2/metadata.rb @@ -15,7 +15,11 @@ module Fog include Fog::Compute::RackspaceV2::MetaParent # Retrieves all of the metadata from server - # @return [Array] list of metadatum + # @return [Fog::Compute::RackspaceV2::Metadatum] list of metadatum + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def all requires :parent return unless parent.identity @@ -26,6 +30,10 @@ module Fog # Retrieves specific metadata from server # @param [String] key for metadatum # @return [Fog::Compute::RackspaceV2::Metadatum] metadatum + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def get(key) requires :parent data = service.get_metadata_item(collection_name, parent.id, key).body["meta"] @@ -36,8 +44,8 @@ module Fog end # Retrieve specific value for key from Metadata. - # * If key is of type String, this method will return the value of the metadatum - # * If key is of type Fixnum, this method will return a Fog::Compute::RackspaceV2::Metadatum object (legacy) + # * If key is of type String, this method will return the value of the metadatum + # * If key is of type Fixnum, this method will return a Fog::Compute::RackspaceV2::Metadatum object (legacy) # @param [#key] key # @return [#value] def [](key) @@ -48,8 +56,8 @@ module Fog end # Set value for key. - # * If key is of type String, this method will set/add the value to Metadata - # * If key is of type Fixnum, this method will set a Fog::Compute::RackspaceV2::Metadatum object (legacy) + # * If key is of type String, this method will set/add the value to Metadata + # * If key is of type Fixnum, this method will set a Fog::Compute::RackspaceV2::Metadatum object (legacy) # @param [#key] key # @return [String] def []=(key, value) @@ -65,6 +73,10 @@ module Fog end # Saves the current metadata on server + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def save requires :parent service.set_metadata(collection_name, parent.id, to_hash) diff --git a/lib/fog/rackspace/models/compute_v2/metadatum.rb b/lib/fog/rackspace/models/compute_v2/metadatum.rb index 9061b28be..afe16a2fd 100644 --- a/lib/fog/rackspace/models/compute_v2/metadatum.rb +++ b/lib/fog/rackspace/models/compute_v2/metadatum.rb @@ -13,6 +13,10 @@ module Fog # Remove metadatum from server # @return [Boolean] return true if metadatum is deleting + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def destroy requires :identity connection.delete_metadata_item(collection_name, parent.id, key) @@ -21,6 +25,10 @@ module Fog # Save metadatum on server # @return [Boolean] return true if metadatum is saving + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def save requires :identity, :value connection.set_metadata_item(collection_name, parent.id, key, value) diff --git a/lib/fog/rackspace/models/compute_v2/server.rb b/lib/fog/rackspace/models/compute_v2/server.rb index 2c9abd235..d7a928984 100644 --- a/lib/fog/rackspace/models/compute_v2/server.rb +++ b/lib/fog/rackspace/models/compute_v2/server.rb @@ -180,6 +180,10 @@ module Fog # * requires attributes: service:, :name, :image_id, and :flavor_id # * optional attributes :disk_config, :metadata, :personality # @return [Boolean] returns true if server is being created + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note You should use servers.create to create servers instead calling this method directly # @see Servers#create # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/CreateServers.html @@ -207,6 +211,10 @@ module Fog # This will update :name, :accessIPv4, and :accessIPv6 attributes. # @note If you edit the server name, the server host name does not change. Also, server names are not guaranteed to be unique. # @return true if update has started updating + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/ServerUpdate.html # # * State Transition @@ -226,11 +234,15 @@ module Fog # Destroy the server # @return [Boolean] returns true if server has started deleting + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Delete_Server-d1e2883.html # - # * Status Transition: - # * ACTIVE -> DELETED - # * ERROR -> DELETED + # * Status Transition: + # * ACTIVE -> DELETED + # * ERROR -> DELETED def destroy requires :identity service.delete_server(identity) @@ -239,6 +251,10 @@ module Fog # Server flavor # @return [Fog::Compute::RackspaceV2::Flavor] server flavor + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def flavor requires :flavor_id @flavor ||= service.flavors.get(flavor_id) @@ -246,6 +262,10 @@ module Fog # Server image # @return [Fog::Compute::RackspaceV2::Image] server image + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def image requires :image_id @image ||= service.images.get(image_id) @@ -256,11 +276,15 @@ module Fog # @param options [Hash]: # @option options [Hash] metadata hash of containing metadata key value pairs. # @return [Fog::ComputeRackspaceV2::Image] image being created + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Create_Image-d1e4655.html # - # * State Transition: - # * SAVING -> ACTIVE - # * SAVING -> ERROR (on error) + # * State Transition: + # * SAVING -> ACTIVE + # * SAVING -> ERROR (on error) def create_image(name, options = {}) requires :identity response = service.create_image(identity, name, options) @@ -274,6 +298,10 @@ module Fog # Attached Cloud Block Volumes # @return [Fog::Compute::RackspaceV2::Attachments] attached Cloud Block Volumes + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Volume_Attachments.html def attachments @attachments ||= begin @@ -288,6 +316,10 @@ module Fog # @param [Fog::Rackspace::BlockStorage::Volume, String] volume object or the volume id of volume to mount # @param [String] device name of the device /dev/xvd[a-p] (optional) # @return [Fog::Compute::RackspaceV2::Attachment] resulting attachment object + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Attach_Volume_to_Server.html def attach_volume(volume, device=nil) requires :identity @@ -322,6 +354,11 @@ module Fog # Reboot server # @param [String] type 'SOFT' will do a soft reboot. 'HARD' will do a hard reboot. + # @return [Boolean] returns true if server is being rebooted + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Reboot_Server-d1e3371.html # # * State transition: @@ -338,6 +375,10 @@ module Fog # Rebuild removes all data on the server and replaces it with the specified image. The id and all IP addresses remain the same. # @param [String] image_id image to use for rebuild # @return [Boolean] returns true if rebuild is in process + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Rebuild_Server-d1e3538.html # # * Status Transition: @@ -353,10 +394,14 @@ module Fog # Resize existing server to a different flavor, in essence, scaling the server up or down. The original server is saved for a period of time to allow rollback if there is a problem. All resizes should be tested and explicitly confirmed, at which time the original server is removed. All resizes are automatically confirmed after 24 hours if they are not confirmed or reverted. # @param [String] flavor_id to resize # @return [Boolean] returns true if resize is in process + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Resize_Server-d1e3707.html # @see #confirm_resize - # @see #revert_resize + # @see #revert_resize # # * Status Transition: # * ACTIVE -> QUEUE_RESIZE -> PREP_RESIZE -> VERIFY_RESIZE @@ -369,13 +414,18 @@ module Fog end # Confirms server resize operation + # @return [Boolean] returns true if resize has been confirmed + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Confirm_Resized_Server-d1e3868.html # @see #resize # # * Status Transition: # * VERIFY_RESIZE -> ACTIVE - # * VERIFY_RESIZE -> ERROR (on error) + # * VERIFY_RESIZE -> ERROR (on error)å def confirm_resize requires :identity service.confirm_resize_server(identity) @@ -383,9 +433,14 @@ module Fog end # Reverts server resize operation - # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. + # @return [Boolean] returns true if resize is being reverted + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] + # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Revert_Resized_Server-d1e4024.html - # @see #resize + # @see #resize # # * Status Transition: # * VERIFY_RESIZE -> ACTIVE @@ -399,6 +454,10 @@ module Fog # Change admin password # @param [String] password The administrator password. # @return [Boolean] returns true if operation was scheduled + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note Though Rackspace does not enforce complexity requirements for the password, the operating system might. If the password is not complex enough, the server might enter an ERROR state. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Change_Password-d1e3234.html # diff --git a/lib/fog/rackspace/models/compute_v2/servers.rb b/lib/fog/rackspace/models/compute_v2/servers.rb index 02a42597e..d2c02ed99 100644 --- a/lib/fog/rackspace/models/compute_v2/servers.rb +++ b/lib/fog/rackspace/models/compute_v2/servers.rb @@ -10,7 +10,11 @@ module Fog model Fog::Compute::RackspaceV2::Server # Returns list of servers - # @return [Array] Retrieves a list servers. + # @return [Fog::Compute::RackspaceV2::Servers] Retrieves a list servers. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note Fog's current implementation only returns 1000 servers # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Servers-d1e2078.html def all @@ -19,6 +23,11 @@ module Fog end # Creates a new server and populates ssh keys + # @return [Fog::Compute::RackspaceV2::Server] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note This method is incompatible with Cloud Servers utlizing RackConnect. RackConnect users # should use server personalization to install keys. Please see Server#personality for more information. # @example @@ -39,6 +48,10 @@ module Fog # Retrieves server # @param [String] server_id for server to be returned # @return [Fog::Compute::RackspaceV2:Server] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Server_Details-d1e2623.html def get(server_id) data = service.get_server(server_id).body['server'] diff --git a/lib/fog/rackspace/models/storage/account.rb b/lib/fog/rackspace/models/storage/account.rb index 8d6e92c66..9af4a0bae 100644 --- a/lib/fog/rackspace/models/storage/account.rb +++ b/lib/fog/rackspace/models/storage/account.rb @@ -25,6 +25,10 @@ module Fog # Saves account settings (meta_temp_url_key) # @return [Boolean] returns true if successfully updated + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def save service.post_set_meta_temp_url_key meta_temp_url_key true @@ -32,6 +36,10 @@ module Fog # Reload account with latest data from Cloud Files # @return [Fog::Storage::Rackspace::Account] returns itself + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def reload response = service.head_containers merge_attributes response.headers diff --git a/lib/fog/rackspace/models/storage/directories.rb b/lib/fog/rackspace/models/storage/directories.rb index f3d5457a6..99c36c1ab 100644 --- a/lib/fog/rackspace/models/storage/directories.rb +++ b/lib/fog/rackspace/models/storage/directories.rb @@ -10,7 +10,11 @@ module Fog model Fog::Storage::Rackspace::Directory # Returns list of directories - # @return [Array] Retrieves a list directories. + # @return [Fog::Storage::Rackspace::Directories] Retrieves a list directories. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note Fog's current implementation only returns 10,000 directories # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/View_List_of_Containers-d1e1100.html def all @@ -23,6 +27,10 @@ module Fog # @param options [Hash]: # @option options [String] cdn_cname CDN CNAME used when calling Directory#public_url # @return [Fog::Storage::Rackspace::Directory] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @example # directory = fog.directories.get('video', :cdn_cname => 'http://cdn.lunenburg.org') # files = directory.files diff --git a/lib/fog/rackspace/models/storage/directory.rb b/lib/fog/rackspace/models/storage/directory.rb index 8f04bfc61..201c78ebb 100644 --- a/lib/fog/rackspace/models/storage/directory.rb +++ b/lib/fog/rackspace/models/storage/directory.rb @@ -58,6 +58,10 @@ module Fog # Destroy the directory and remove it from CDN # @return [Boolean] returns true if directory was deleted + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note Directory must be empty before it is destroyed. # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Delete_Container-d1e1765.html def destroy @@ -71,6 +75,10 @@ module Fog # Returns collection of files in directory # @return [Fog::Storage::Rackspace::Files] collection of files in directory + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def files @files ||= begin Fog::Storage::Rackspace::Files.new( @@ -82,6 +90,10 @@ module Fog # Is directory published to CDN # @return [Boolean] return true if published to CDN + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def public? if @public.nil? @public ||= (key && public_url) ? true : false @@ -91,6 +103,10 @@ module Fog # Reload directory with latest data from Cloud Files # @return [Fog::Storage::Rackspace::Directory] returns itself + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def reload @public = nil @urls = nil @@ -102,11 +118,15 @@ module Fog # If the directory has not been published to the CDN, this method will return nil as it is not publically accessible. This method will return the approprate # url in the following order: # - # 1. If the service used to access this directory was created with the option :rackspace_cdn_ssl => true, this method will return the SSL-secured URL. - # 2. If the cdn_cname attribute is populated this method will return the cname. - # 3. return the default CDN url. + # 1. If the service used to access this directory was created with the option :rackspace_cdn_ssl => true, this method will return the SSL-secured URL. + # 2. If the cdn_cname attribute is populated this method will return the cname. + # 3. return the default CDN url. # # @return [String] public url for directory + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def public_url return nil if urls.empty? return urls[:ssl_uri] if service.ssl? @@ -115,6 +135,10 @@ module Fog # URL used to stream video to iOS devices. Cloud Files will auto convert to the approprate format. # @return [String] iOS URL + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/iOS-Streaming-d1f3725.html def ios_url urls[:ios_uri] @@ -122,6 +146,10 @@ module Fog # URL used to stream resources # @return [String] streaming url + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Streaming-CDN-Enabled_Containers-d1f3721.html def streaming_url urls[:streaming_uri] @@ -129,6 +157,10 @@ module Fog # Create or update directory and associated metadata # @return [Boolean] returns true if directory was saved + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note If public attribute is true, directory will be CDN enabled # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Create_Container-d1e1694.html def save diff --git a/lib/fog/rackspace/models/storage/file.rb b/lib/fog/rackspace/models/storage/file.rb index 42d5744d0..8d89a9652 100644 --- a/lib/fog/rackspace/models/storage/file.rb +++ b/lib/fog/rackspace/models/storage/file.rb @@ -51,10 +51,14 @@ module Fog attr_writer :public # Returns the body/contents of file + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @example Retrieve and download contents of Cloud Files object to file system # file_object = directory.files.get('germany.jpg') # File.open('germany.jpg', 'w') {|f| f.write(file_object.body) } - # @see Fog::Storage::Rackspace:Files#get + # @see Fog::Storage::Rackspace::Files#get def body attributes[:body] ||= if last_modified collection.get(identity).body @@ -73,6 +77,10 @@ module Fog # @param [String] target_directory_key # @param [String] target_file_key # @param options [Hash] used to pass in file attributes + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Copy_Object-d1e2241.html def copy(target_directory_key, target_file_key, options={}) requires :directory, :key @@ -86,6 +94,10 @@ module Fog # Destroy the file # @return [Boolean] returns true if file is destroyed + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Delete_Object-d1e2264.html def destroy requires :directory, :key @@ -122,6 +134,10 @@ module Fog # Is file published to CDN # @return [Boolean] return true if published to CDN + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def public? directory.public? end @@ -130,17 +146,25 @@ module Fog # If the file has not been published to the CDN, this method will return nil as it is not publically accessible. This method will return the approprate # url in the following order: # - # 1. If the service used to access this file was created with the option :rackspace_cdn_ssl => true, this method will return the SSL-secured URL. - # 2. If the directory's cdn_cname attribute is populated this method will return the cname. - # 3. return the default CDN url. + # 1. If the service used to access this file was created with the option :rackspace_cdn_ssl => true, this method will return the SSL-secured URL. + # 2. If the directory's cdn_cname attribute is populated this method will return the cname. + # 3. return the default CDN url. # # @return [String] public url for file + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def public_url Files::file_url directory.public_url, key end # URL used to stream video to iOS devices without needing to convert your video # @return [String] iOS URL + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/iOS-Streaming-d1f3725.html def ios_url Files::file_url directory.ios_url, key @@ -148,12 +172,20 @@ module Fog # URL used to stream resources # @return [String] streaming url + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Streaming-CDN-Enabled_Containers-d1f3721.html def streaming_url Files::file_url directory.streaming_url, key end # Immediately purge file from the CDN network + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note You may only PURGE up to 25 objects per day. Any attempt to purge more than this will result in a 498 status code error (Rate Limited). # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Purge_CDN-Enabled_Objects-d1e3858.html def purge_from_cdn @@ -166,6 +198,10 @@ module Fog # Create or updates file and associated metadata # @param options [Hash] additional parameters to pass to Cloud Files + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Create_Update_Object-d1e1965.html def save(options = {}) requires :body, :directory, :key diff --git a/lib/fog/rackspace/models/storage/files.rb b/lib/fog/rackspace/models/storage/files.rb index fe220f3f4..77a6fa6ae 100644 --- a/lib/fog/rackspace/models/storage/files.rb +++ b/lib/fog/rackspace/models/storage/files.rb @@ -34,7 +34,11 @@ module Fog model Fog::Storage::Rackspace::File # Returns list of files - # @return [Array] Retrieves a list files. + # @return [Fog::Storage::Rackspace::Files] Retrieves a list files. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/List_Objects-d1e1284.html def all(options = {}) requires :directory @@ -57,8 +61,12 @@ module Fog end # Calls block for each file in the directory - # @yieldparam [[Fog::Storage::Rackspace::File] + # @yieldparam [Fog::Storage::Rackspace::File] # @return [Fog::Storage::Rackspace::Directory] returns itself + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note This method retrieves files in pages. Page size is defined by the limit attribute alias :each_file_this_page :each def each @@ -84,6 +92,10 @@ module Fog # @yieldparam [Integer] remaining # @yieldparam [Integer] content_length # @return [Fog::Storage::Rackspace:File] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note If a block is provided, the body attribute will be empty. By default chunk size is 1 MB. This value can be changed by passing the parameter :chunk_size # into the :connection_options hash in the service constructor. # @example Download an image from Cloud Files and save it to file @@ -113,6 +125,10 @@ module Fog # Returns the public_url for the given object key # @param key of the object # @return [String] url for object + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see Directory#public_url def get_url(key) requires :directory @@ -125,6 +141,10 @@ module Fog # @param key of the object # @param options Required for compatibility with other Fog providers. Not Used. # @return [Fog::Storage::Rackspace::File] + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def head(key, options = {}) requires :directory data = service.head_object(directory.key, key) diff --git a/lib/fog/rackspace/requests/block_storage/create_snapshot.rb b/lib/fog/rackspace/requests/block_storage/create_snapshot.rb index 8440d5f8b..2e97fe26b 100644 --- a/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +++ b/lib/fog/rackspace/requests/block_storage/create_snapshot.rb @@ -20,6 +20,10 @@ module Fog # * 'size' [Fixnum]: - size of the snapshot in GB # * 'display_name' [String]: - display name of snapshot # * 'created_at' [String]: - creation time of snapshot + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @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 create_snapshot(volume_id, options = {}) diff --git a/lib/fog/rackspace/requests/block_storage/create_volume.rb b/lib/fog/rackspace/requests/block_storage/create_volume.rb index 4fdcf4114..62d2db139 100644 --- a/lib/fog/rackspace/requests/block_storage/create_volume.rb +++ b/lib/fog/rackspace/requests/block_storage/create_volume.rb @@ -25,6 +25,10 @@ module Fog # * 'snapshot_id' [String]: - The optional snapshot from which to create a volume. # * 'display_name' [String]: - display name of volume # * 'created_at' [String]: - the volume creation time + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createVolume__v1__tenant_id__volumes.html def create_volume(size, options = {}) data = { diff --git a/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb b/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb index 843bc654b..feb78a723 100644 --- a/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +++ b/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb @@ -7,6 +7,10 @@ module Fog # # @param [String] snapshot_id Id of snapshot to delete # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createSnapshot__v1__tenant_id__snapshots.html def delete_snapshot(snapshot_id) request( diff --git a/lib/fog/rackspace/requests/block_storage/delete_volume.rb b/lib/fog/rackspace/requests/block_storage/delete_volume.rb index 552814a3e..58b7d4cc6 100644 --- a/lib/fog/rackspace/requests/block_storage/delete_volume.rb +++ b/lib/fog/rackspace/requests/block_storage/delete_volume.rb @@ -7,6 +7,10 @@ module Fog # # @param [String] volume_id Id of volume to delete # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note You cannot delete a volume until all of its dependent snaphosts have been deleted. # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteVolume__v1__tenant_id__volumes.html def delete_volume(volume_id) diff --git a/lib/fog/rackspace/requests/block_storage/get_snapshot.rb b/lib/fog/rackspace/requests/block_storage/get_snapshot.rb index 5f755db8b..e4ee8f591 100644 --- a/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +++ b/lib/fog/rackspace/requests/block_storage/get_snapshot.rb @@ -17,6 +17,10 @@ module Fog # * 'os-extended-snapshot-attributes:progress' [String]: - # * 'display_name' [String]: - display name of snapshot # * 'created_at' [String]: - creation time of snapshot + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getSnapshot__v1__tenant_id__snapshots.html def get_snapshot(snapshot_id) request( diff --git a/lib/fog/rackspace/requests/block_storage/get_volume.rb b/lib/fog/rackspace/requests/block_storage/get_volume.rb index 5d565656d..9f999b71a 100644 --- a/lib/fog/rackspace/requests/block_storage/get_volume.rb +++ b/lib/fog/rackspace/requests/block_storage/get_volume.rb @@ -21,6 +21,10 @@ module Fog # * 'display_name' [String]: - display name of volume # * 'created_at' [String]: - the volume creation time # * 'os-vol-tenant-attr:tenant_id' [String]: - + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolume__v1__tenant_id__volumes.html def get_volume(volume_id) request( diff --git a/lib/fog/rackspace/requests/block_storage/get_volume_type.rb b/lib/fog/rackspace/requests/block_storage/get_volume_type.rb index 2d483c3ea..a48797213 100644 --- a/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +++ b/lib/fog/rackspace/requests/block_storage/get_volume_type.rb @@ -11,6 +11,10 @@ module Fog # * 'name' [String]: - name of volume type # * 'extra_specs' [Hash]: - # * 'id' [String]: - id of volume type + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeType__v1__tenant_id__types.html def get_volume_type(volume_type_id) request( diff --git a/lib/fog/rackspace/requests/block_storage/list_snapshots.rb b/lib/fog/rackspace/requests/block_storage/list_snapshots.rb index 69b1a9b3b..4998f900c 100644 --- a/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +++ b/lib/fog/rackspace/requests/block_storage/list_snapshots.rb @@ -14,6 +14,10 @@ module Fog # * 'size' [Fixnum]: - size of the snapshot in GB # * 'display_name' [String]: - display name of snapshot # * 'created_at' [String]: - creation time of snapshot + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getSnapshotsSimple__v1__tenant_id__snapshots.html def list_snapshots request( diff --git a/lib/fog/rackspace/requests/block_storage/list_volume_types.rb b/lib/fog/rackspace/requests/block_storage/list_volume_types.rb index 367968300..5dd174402 100644 --- a/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +++ b/lib/fog/rackspace/requests/block_storage/list_volume_types.rb @@ -10,6 +10,10 @@ module Fog # * 'name' [String]: - name of volume type # * 'extra_specs' [Hash]: - # * 'id' [Fixnum]: - id of volume type + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeTypes__v1__tenant_id__types.html def list_volume_types request( diff --git a/lib/fog/rackspace/requests/block_storage/list_volumes.rb b/lib/fog/rackspace/requests/block_storage/list_volumes.rb index 58efba070..935f7ccfa 100644 --- a/lib/fog/rackspace/requests/block_storage/list_volumes.rb +++ b/lib/fog/rackspace/requests/block_storage/list_volumes.rb @@ -18,6 +18,10 @@ module Fog # * 'snapshot_id' [String]: - optional snapshot from which to create a volume. # * 'display_name' [String]: - display name of bolume # * 'created_at' [String]: - volume creation time + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple__v1__tenant_id__volumes.html def list_volumes request( diff --git a/lib/fog/rackspace/requests/cdn/delete_object.rb b/lib/fog/rackspace/requests/cdn/delete_object.rb index 65ce13e00..329cb06a2 100644 --- a/lib/fog/rackspace/requests/cdn/delete_object.rb +++ b/lib/fog/rackspace/requests/cdn/delete_object.rb @@ -8,7 +8,11 @@ module Fog # ==== Parameters # * container<~String> - Name of container to delete # * object<~String> - Name of object to delete - # + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def delete_object(container, object) request( :expects => 204, diff --git a/lib/fog/rackspace/requests/cdn/get_containers.rb b/lib/fog/rackspace/requests/cdn/get_containers.rb index 657519ade..3ed23149c 100644 --- a/lib/fog/rackspace/requests/cdn/get_containers.rb +++ b/lib/fog/rackspace/requests/cdn/get_containers.rb @@ -15,6 +15,11 @@ module Fog # * response<~Excon::Response>: # * body<~Array>: # * container<~String>: Name of container + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def get_containers(options = {}) response = request( :expects => [200, 204], diff --git a/lib/fog/rackspace/requests/cdn/head_container.rb b/lib/fog/rackspace/requests/cdn/head_container.rb index 2be8632e2..758bdd260 100644 --- a/lib/fog/rackspace/requests/cdn/head_container.rb +++ b/lib/fog/rackspace/requests/cdn/head_container.rb @@ -17,6 +17,11 @@ module Fog # * 'X-Log-Retention'<~Boolean> - ? # * 'X-User-Agent-ACL'<~String> - ? # * 'X-Referrer-ACL'<~String> - ? + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def head_container(container) response = request( :expects => 204, diff --git a/lib/fog/rackspace/requests/cdn/post_container.rb b/lib/fog/rackspace/requests/cdn/post_container.rb index 188fbf3da..3bb87691e 100644 --- a/lib/fog/rackspace/requests/cdn/post_container.rb +++ b/lib/fog/rackspace/requests/cdn/post_container.rb @@ -7,13 +7,18 @@ module Fog # # ==== Parameters # * name<~String> - Name for container, should be < 256 bytes and must not contain '/' - # # options<~Hash>: + # * options<~Hash>: # * 'X-CDN-Enabled'<~Boolean> - cdn status for container # * 'X-CDN-URI'<~String> - cdn url for this container # * 'X-TTL'<~String> - integer seconds before data expires, defaults to 86400 (1 day), in 3600..259200 # * 'X-Log-Retention'<~Boolean> - ? # * 'X-User-Agent-ACL'<~String> - ? # * 'X-Referrer-ACL'<~String> - ? + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def post_container(name, options = {}) response = request( :expects => [201, 202], diff --git a/lib/fog/rackspace/requests/cdn/put_container.rb b/lib/fog/rackspace/requests/cdn/put_container.rb index 19410ae44..108fdb96c 100644 --- a/lib/fog/rackspace/requests/cdn/put_container.rb +++ b/lib/fog/rackspace/requests/cdn/put_container.rb @@ -7,13 +7,18 @@ module Fog # # ==== Parameters # * name<~String> - Name for container, should be < 256 bytes and must not contain '/' - # # options<~Hash>: + # * options<~Hash>: # * 'X-CDN-Enabled'<~Boolean> - cdn status for container # * 'X-CDN-URI'<~String> - cdn url for this container # * 'X-TTL'<~String> - integer seconds before data expires, defaults to 86400 (1 day), in 3600..259200 # * 'X-Log-Retention'<~Boolean> - ? # * 'X-User-Agent-ACL'<~String> - ? # * 'X-Referrer-ACL'<~String> - ? + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def put_container(name, options = {}) response = request( :expects => [201, 202], diff --git a/lib/fog/rackspace/requests/compute_v2/attach_volume.rb b/lib/fog/rackspace/requests/compute_v2/attach_volume.rb index 9dcdc867b..96858a729 100644 --- a/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +++ b/lib/fog/rackspace/requests/compute_v2/attach_volume.rb @@ -14,6 +14,10 @@ module Fog # * serverId [String] - The id of the server that attached the volume # * id [String] - The id of the attachment # * volumeId [String] - The id of the volume that was attached + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Attach_Volume_to_Server.html def attach_volume(server_id, volume_id, device) data = { diff --git a/lib/fog/rackspace/requests/compute_v2/change_server_password.rb b/lib/fog/rackspace/requests/compute_v2/change_server_password.rb index f4b4a7c1c..ec8804a17 100644 --- a/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +++ b/lib/fog/rackspace/requests/compute_v2/change_server_password.rb @@ -7,6 +7,10 @@ module Fog # @param [String] server_id # @param [String] password # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note Though Rackspace does not enforce complexity requirements for the password, the operating system might. If the password is not complex enough, the server might enter an ERROR state. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Change_Password-d1e3234.html def change_server_password(server_id, password) diff --git a/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb b/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb index b68da56ef..9407fc5f1 100644 --- a/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb @@ -5,6 +5,11 @@ module Fog # Confirm server resize operation # @param [String] server_id The id of the server to revert + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Revert_Resized_Server-d1e4024.html # diff --git a/lib/fog/rackspace/requests/compute_v2/create_image.rb b/lib/fog/rackspace/requests/compute_v2/create_image.rb index 7044d15e6..92a56de64 100644 --- a/lib/fog/rackspace/requests/compute_v2/create_image.rb +++ b/lib/fog/rackspace/requests/compute_v2/create_image.rb @@ -9,11 +9,16 @@ module Fog # @param [String] name name for created image # @param [Hash] options # @option options [Hash] :metadata - key value pairs of image metadata + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Create_Image-d1e4655.html # - # * State Transition: - # * SAVING -> ACTIVE - # * SAVING -> ERROR (on error) + # * State Transition: + # * SAVING -> ACTIVE + # * SAVING -> ERROR (on error) def create_image(server_id, name, options = {}) data = { 'createImage' => { diff --git a/lib/fog/rackspace/requests/compute_v2/create_server.rb b/lib/fog/rackspace/requests/compute_v2/create_server.rb index 26c72205f..bf8cf8aa3 100644 --- a/lib/fog/rackspace/requests/compute_v2/create_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/create_server.rb @@ -22,12 +22,16 @@ module Fog # * name [String] - name of server # * metadata [Hash] - Metadata key and value pairs. # * personality [Array]: - # * [Hash]: - # * path - path of the file created - # * contents - Base 64 encoded file contents + # * [Hash]: + # * path - path of the file created + # * contents - Base 64 encoded file contents # * networks [Array]: # * [Hash]: - # * uuid [String] - uuid of attached network + # * uuid [String] - uuid of attached network + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/CreateServers.html # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Metadata-d1e2529.html # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html diff --git a/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb b/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb index ea94c5bf3..81b53434c 100644 --- a/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +++ b/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb @@ -6,6 +6,11 @@ module Fog # Deletes a specified volume attachment from a specified server instance. # @param [String] server_id id of server containing volume to delete # @param [String] volume_id id of volume on server to delete + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Delete_Volume_Attachment.html def delete_attachment(server_id, volume_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/delete_image.rb b/lib/fog/rackspace/requests/compute_v2/delete_image.rb index 352548cbf..8885d8045 100644 --- a/lib/fog/rackspace/requests/compute_v2/delete_image.rb +++ b/lib/fog/rackspace/requests/compute_v2/delete_image.rb @@ -5,6 +5,11 @@ module Fog # Delete an image # @param [String] image_id Id of image to delete + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Delete_Image-d1e4957.html def delete_image(image_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb b/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb index 9f515b270..399306008 100644 --- a/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +++ b/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb @@ -7,6 +7,11 @@ module Fog # @param [String] collection type of metadata # @param [String] obj_id id of the object where the metadata is attached # @param [String] key the key of the metadata to delete + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Delete_Metadata_Item-d1e5790.html def delete_metadata_item(collection, obj_id, key) request( diff --git a/lib/fog/rackspace/requests/compute_v2/delete_server.rb b/lib/fog/rackspace/requests/compute_v2/delete_server.rb index 82691513b..fa00fe831 100644 --- a/lib/fog/rackspace/requests/compute_v2/delete_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/delete_server.rb @@ -5,6 +5,11 @@ module Fog # Deletes a specified server instance from the system. # @param [String] server_id the id of the server to delete + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Delete_Server-d1e2883.html def delete_server(server_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/get_attachment.rb b/lib/fog/rackspace/requests/compute_v2/get_attachment.rb index ae083a0c5..13df1b5b3 100644 --- a/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +++ b/lib/fog/rackspace/requests/compute_v2/get_attachment.rb @@ -13,6 +13,10 @@ module Fog # * serverId [String] - The id of the server that attached the volume # * id [String] - The id of the attachment # * volumeId [String] - The id of the volume that was attached + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Volume_Attachment_Details.html def get_attachment(server_id, volume_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/get_flavor.rb b/lib/fog/rackspace/requests/compute_v2/get_flavor.rb index 721a948f3..9174602e2 100644 --- a/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +++ b/lib/fog/rackspace/requests/compute_v2/get_flavor.rb @@ -15,6 +15,10 @@ module Fog # * swap [Fixnum] - amount of swap in GB # * vcpus [Fixnum] - number of virtual CPUs # * links [Array] - links to flavor + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Flavor_Details-d1e4317.html def get_flavor(flavor_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/get_image.rb b/lib/fog/rackspace/requests/compute_v2/get_image.rb index c101a8da4..5854447ed 100644 --- a/lib/fog/rackspace/requests/compute_v2/get_image.rb +++ b/lib/fog/rackspace/requests/compute_v2/get_image.rb @@ -19,6 +19,10 @@ module Fog # * status [String] - status of current image # * updated [String] - updated timestamp # * links [Array] - links to flavor + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Image_Details-d1e4848.html def get_image(image_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb b/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb index bb1727a23..ff243c0d5 100644 --- a/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +++ b/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb @@ -10,6 +10,10 @@ module Fog # @return [Excon::Response] response: # * body [Hash]: # * meta [Hash]: + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Metadata_Item-d1e5507.html def get_metadata_item(collection, obj_id, key) request( diff --git a/lib/fog/rackspace/requests/compute_v2/get_server.rb b/lib/fog/rackspace/requests/compute_v2/get_server.rb index 625036ac4..c31931d3a 100644 --- a/lib/fog/rackspace/requests/compute_v2/get_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/get_server.rb @@ -33,6 +33,10 @@ module Fog # * tenant_id [String] - The tenant ID. # * updated [String] - updated timestamp # * user_id [Array] - The user ID. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Get_Server_Details-d1e2623.html def get_server(server_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/list_addresses.rb b/lib/fog/rackspace/requests/compute_v2/list_addresses.rb index 216bb989d..e7717066d 100644 --- a/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +++ b/lib/fog/rackspace/requests/compute_v2/list_addresses.rb @@ -8,6 +8,10 @@ module Fog # @return [Excon::Response] response: # * body [Hash]: # * addresses [Hash] - key is the network name and the value are an array of addresses allocated for that network + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def list_addresses(server_id) request( :method => 'GET', diff --git a/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb b/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb index 97c4d2b2b..b32d7e866 100644 --- a/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +++ b/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb @@ -14,6 +14,10 @@ module Fog # * [Hash]: # * version [Fixnum] - version of the address # * addr [String] - ip address + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Addresses_by_Network-d1e3118.html def list_addresses_by_network(server_id, network_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/list_attachments.rb b/lib/fog/rackspace/requests/compute_v2/list_attachments.rb index 845efd363..73e3dc3d8 100644 --- a/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +++ b/lib/fog/rackspace/requests/compute_v2/list_attachments.rb @@ -13,6 +13,10 @@ module Fog # * serverId [String] - The id of the server that attached the volume # * id [String] - The id of the attachment # * volumeId [String] - The id of the volume that was attached + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Volume_Attachments.html def list_attachments(server_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/list_flavors.rb b/lib/fog/rackspace/requests/compute_v2/list_flavors.rb index d01d5f8f9..9bd34261a 100644 --- a/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +++ b/lib/fog/rackspace/requests/compute_v2/list_flavors.rb @@ -11,6 +11,10 @@ module Fog # * id [String] - flavor id # * links [Array] - flavor links # * name [String] - flavor name + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Flavors-d1e4188.html def list_flavors request( diff --git a/lib/fog/rackspace/requests/compute_v2/list_images.rb b/lib/fog/rackspace/requests/compute_v2/list_images.rb index d333f2b2f..9920c44c3 100644 --- a/lib/fog/rackspace/requests/compute_v2/list_images.rb +++ b/lib/fog/rackspace/requests/compute_v2/list_images.rb @@ -11,6 +11,10 @@ module Fog # * id [String] - flavor id # * links [Array] - image links # * name [String] - image name + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Flavors-d1e4188.html def list_images request( diff --git a/lib/fog/rackspace/requests/compute_v2/list_metadata.rb b/lib/fog/rackspace/requests/compute_v2/list_metadata.rb index f6a9b1fd9..7a4b6326a 100644 --- a/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +++ b/lib/fog/rackspace/requests/compute_v2/list_metadata.rb @@ -9,6 +9,10 @@ module Fog # @return [Excon::Response] response: # * body [Hash]: # * meta [Hash]: + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Metadata-d1e5089.html def list_metadata(collection, obj_id) request( diff --git a/lib/fog/rackspace/requests/compute_v2/list_servers.rb b/lib/fog/rackspace/requests/compute_v2/list_servers.rb index a38b9cf81..23b0443cd 100644 --- a/lib/fog/rackspace/requests/compute_v2/list_servers.rb +++ b/lib/fog/rackspace/requests/compute_v2/list_servers.rb @@ -32,6 +32,10 @@ module Fog # * tenant_id [String] - The tenant ID. # * updated [String] - updated timestamp # * user_id [Array] - The user ID. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Servers-d1e2078.html def list_servers request( diff --git a/lib/fog/rackspace/requests/compute_v2/reboot_server.rb b/lib/fog/rackspace/requests/compute_v2/reboot_server.rb index 4a0166241..049fcd37a 100644 --- a/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/reboot_server.rb @@ -6,6 +6,10 @@ module Fog # Reboots server # @param [String] server_id # @param [String] type type of reboot + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Reboot_Server-d1e3371.html def reboot_server(server_id, type) data = { diff --git a/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb b/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb index 1d31dfa7c..48178c709 100644 --- a/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb @@ -30,15 +30,19 @@ module Fog # * contents - Base 64 encoded file contents # * networks [Array]: # * [Hash]: - # * uuid [String] - uuid of attached network + # * uuid [String] - uuid of attached network + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Rebuild_Server-d1e3538.html # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Metadata-d1e2529.html # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/ch_extensions.html#diskconfig_attribute # - # * Status Transition: - # * ACTIVE -> REBUILD -> ACTIVE - # * ACTIVE -> REBUILD -> ERROR (on error) + # * Status Transition: + # * ACTIVE -> REBUILD -> ACTIVE + # * ACTIVE -> REBUILD -> ERROR (on error) def rebuild_server(server_id, image_id, options={}) data = { 'rebuild' => options || {} diff --git a/lib/fog/rackspace/requests/compute_v2/resize_server.rb b/lib/fog/rackspace/requests/compute_v2/resize_server.rb index 90f7f633d..c60172442 100644 --- a/lib/fog/rackspace/requests/compute_v2/resize_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/resize_server.rb @@ -5,7 +5,12 @@ module Fog # Reverts server resize operation # @param [String] server_id id of server to resize - # @param [String] flavor_id id of the desired flavor + # @param [String] flavor_id id of the desired flavor + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Revert_Resized_Server-d1e4024.html # diff --git a/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb b/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb index 01fe430fe..ab540dcb7 100644 --- a/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb @@ -5,13 +5,18 @@ module Fog # Reverts server resize operation # @param [String] server_id - # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. + # @return [Excon::Response] response + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] + # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Revert_Resized_Server-d1e4024.html - # @see #resize + # @see Server#resize # # * Status Transition: # * VERIFY_RESIZE -> ACTIVE - # * VERIFY_RESIZE -> ERROR (on error) + # * VERIFY_RESIZE -> ERROR (on error) def revert_resize_server(server_id) data = { 'revertResize' => nil diff --git a/lib/fog/rackspace/requests/compute_v2/set_metadata.rb b/lib/fog/rackspace/requests/compute_v2/set_metadata.rb index f4cb391db..32d5077c1 100644 --- a/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +++ b/lib/fog/rackspace/requests/compute_v2/set_metadata.rb @@ -10,6 +10,10 @@ module Fog # @return [Excon::Response] response: # * body [Hash]: # * metadata [Hash]: + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Create_or_Replace_Metadata-d1e5358.html def set_metadata(collection, obj_id, metadata = {}) request( diff --git a/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb b/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb index d18b1ef0c..d72bb3ecc 100644 --- a/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +++ b/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb @@ -11,6 +11,10 @@ module Fog # @return [Excon::Response] response: # * body [Hash]: # * meta [Hash]: + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Create_or_Update_a_Metadata_Item-d1e5633.html def set_metadata_item(collection, obj_id, key, value) request( diff --git a/lib/fog/rackspace/requests/compute_v2/update_metadata.rb b/lib/fog/rackspace/requests/compute_v2/update_metadata.rb index b2c1641e5..d1fa4cddd 100644 --- a/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +++ b/lib/fog/rackspace/requests/compute_v2/update_metadata.rb @@ -10,6 +10,10 @@ module Fog # @return [Excon::Response] response: # * body [Hash]: # * metadata [Hash]: + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Update_Metadata-d1e5208.html def update_metadata(collection, obj_id, metadata = {}) request( diff --git a/lib/fog/rackspace/requests/compute_v2/update_server.rb b/lib/fog/rackspace/requests/compute_v2/update_server.rb index 032ddb7e4..000ceb07e 100644 --- a/lib/fog/rackspace/requests/compute_v2/update_server.rb +++ b/lib/fog/rackspace/requests/compute_v2/update_server.rb @@ -9,6 +9,10 @@ module Fog # @option options [Hash] name name for server # @option options [String] accessIPv4 The IP version 4 address. # @option options [Hash] accessIPv6 The IP version 6 address. + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # @note If you edit the server name, the server host name does not change. Also, server names are not guaranteed to be unique. # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/ServerUpdate.html def update_server(server_id, options={}) diff --git a/lib/fog/rackspace/requests/storage/copy_object.rb b/lib/fog/rackspace/requests/storage/copy_object.rb index b3325b68e..95554c0d4 100644 --- a/lib/fog/rackspace/requests/storage/copy_object.rb +++ b/lib/fog/rackspace/requests/storage/copy_object.rb @@ -11,6 +11,10 @@ module Fog # * target_container_name<~String> - Name of bucket to create copy in # * target_object_name<~String> - Name for new copy of object # * options<~Hash> - Additional headers + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def copy_object(source_container_name, source_object_name, target_container_name, target_object_name, options={}) headers = { 'X-Copy-From' => "/#{source_container_name}/#{source_object_name}" }.merge(options) request({ diff --git a/lib/fog/rackspace/requests/storage/delete_container.rb b/lib/fog/rackspace/requests/storage/delete_container.rb index 285a437a9..d4ff17ccc 100644 --- a/lib/fog/rackspace/requests/storage/delete_container.rb +++ b/lib/fog/rackspace/requests/storage/delete_container.rb @@ -7,7 +7,10 @@ module Fog # # ==== Parameters # * name<~String> - Name of container to delete - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def delete_container(name) request( :expects => 204, diff --git a/lib/fog/rackspace/requests/storage/delete_object.rb b/lib/fog/rackspace/requests/storage/delete_object.rb index 8840cd57b..9a17463ff 100644 --- a/lib/fog/rackspace/requests/storage/delete_object.rb +++ b/lib/fog/rackspace/requests/storage/delete_object.rb @@ -8,7 +8,10 @@ module Fog # ==== Parameters # * container<~String> - Name of container to delete # * object<~String> - Name of object to delete - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def delete_object(container, object) request( :expects => 204, diff --git a/lib/fog/rackspace/requests/storage/get_container.rb b/lib/fog/rackspace/requests/storage/get_container.rb index dbed0b334..f212a979d 100644 --- a/lib/fog/rackspace/requests/storage/get_container.rb +++ b/lib/fog/rackspace/requests/storage/get_container.rb @@ -28,6 +28,10 @@ module Fog # * 'hash'<~String> - Hash of object (etag?) # * 'last_modified'<~String> - Last modified timestamp # * 'name'<~String> - Name of object + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def get_container(container, options = {}) options = options.reject {|key, value| value.nil?} request( diff --git a/lib/fog/rackspace/requests/storage/get_containers.rb b/lib/fog/rackspace/requests/storage/get_containers.rb index 69c13e77c..6a47d3f36 100644 --- a/lib/fog/rackspace/requests/storage/get_containers.rb +++ b/lib/fog/rackspace/requests/storage/get_containers.rb @@ -17,6 +17,10 @@ module Fog # * 'bytes'<~Integer>: - Number of bytes used by container # * 'count'<~Integer>: - Number of items in container # * 'name'<~String>: - Name of container + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def get_containers(options = {}) options = options.reject {|key, value| value.nil?} request( diff --git a/lib/fog/rackspace/requests/storage/get_object.rb b/lib/fog/rackspace/requests/storage/get_object.rb index 917ebca8b..33d7458bd 100644 --- a/lib/fog/rackspace/requests/storage/get_object.rb +++ b/lib/fog/rackspace/requests/storage/get_object.rb @@ -8,7 +8,10 @@ module Fog # ==== Parameters # * container<~String> - Name of container to look in # * object<~String> - Name of object to look for - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def get_object(container, object, &block) params = {} diff --git a/lib/fog/rackspace/requests/storage/get_object_https_url.rb b/lib/fog/rackspace/requests/storage/get_object_https_url.rb index 4e429cf63..76222d1c2 100644 --- a/lib/fog/rackspace/requests/storage/get_object_https_url.rb +++ b/lib/fog/rackspace/requests/storage/get_object_https_url.rb @@ -14,7 +14,10 @@ module Fog # ==== Returns # * response<~Excon::Response>: # * body<~String> - url for object - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # ==== See Also # http://docs.rackspace.com/files/api/v1/cf-devguide/content/Create_TempURL-d1a444.html def get_object_https_url(container, object, expires, options = {}) diff --git a/lib/fog/rackspace/requests/storage/head_container.rb b/lib/fog/rackspace/requests/storage/head_container.rb index 3538daee9..bde224465 100644 --- a/lib/fog/rackspace/requests/storage/head_container.rb +++ b/lib/fog/rackspace/requests/storage/head_container.rb @@ -13,6 +13,10 @@ module Fog # * headers<~Hash>: # * 'X-Container-Object-Count'<~String> - Count of containers # * 'X-Container-Bytes-Used'<~String> - Bytes used + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def head_container(container) request( :expects => 204, diff --git a/lib/fog/rackspace/requests/storage/head_containers.rb b/lib/fog/rackspace/requests/storage/head_containers.rb index 0fe76acc8..ea2cce585 100644 --- a/lib/fog/rackspace/requests/storage/head_containers.rb +++ b/lib/fog/rackspace/requests/storage/head_containers.rb @@ -10,6 +10,10 @@ module Fog # * headers<~Hash>: # * 'X-Account-Container-Count'<~String> - Count of containers # * 'X-Account-Bytes-Used'<~String> - Bytes used + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def head_containers request( :expects => 204, diff --git a/lib/fog/rackspace/requests/storage/head_object.rb b/lib/fog/rackspace/requests/storage/head_object.rb index baee26d9b..630bcf644 100644 --- a/lib/fog/rackspace/requests/storage/head_object.rb +++ b/lib/fog/rackspace/requests/storage/head_object.rb @@ -8,7 +8,10 @@ module Fog # ==== Parameters # * container<~String> - Name of container to look in # * object<~String> - Name of object to look for - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def head_object(container, object) request({ :expects => 200, diff --git a/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb b/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb index 851c3f812..df12a1291 100644 --- a/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +++ b/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb @@ -19,7 +19,10 @@ module Fog # # ==== Returns # * response<~Excon::Response> - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] # ==== See Also # http://docs.rackspace.com/files/api/v1/cf-devguide/content/Set_Account_Metadata-d1a4460.html def post_set_meta_temp_url_key(key) diff --git a/lib/fog/rackspace/requests/storage/put_container.rb b/lib/fog/rackspace/requests/storage/put_container.rb index c47d39dd7..cc47dfbde 100644 --- a/lib/fog/rackspace/requests/storage/put_container.rb +++ b/lib/fog/rackspace/requests/storage/put_container.rb @@ -7,7 +7,10 @@ module Fog # # ==== Parameters # * name<~String> - Name for container, should be < 256 bytes and must not contain '/' - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def put_container(name, options={}) request( :expects => [201, 202], diff --git a/lib/fog/rackspace/requests/storage/put_object.rb b/lib/fog/rackspace/requests/storage/put_object.rb index 2b05809e0..68c149c32 100644 --- a/lib/fog/rackspace/requests/storage/put_object.rb +++ b/lib/fog/rackspace/requests/storage/put_object.rb @@ -10,7 +10,10 @@ module Fog # * object<~String> - Name for object # * data<~String|File> - data to upload # * options<~Hash> - config headers for object. Defaults to {}. - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def put_object(container, object, data, options = {}) data = Fog::Storage.parse_data(data) headers = data[:headers].merge!(options) diff --git a/lib/fog/rackspace/requests/storage/put_object_manifest.rb b/lib/fog/rackspace/requests/storage/put_object_manifest.rb index fc0127840..4215ca36c 100644 --- a/lib/fog/rackspace/requests/storage/put_object_manifest.rb +++ b/lib/fog/rackspace/requests/storage/put_object_manifest.rb @@ -8,7 +8,10 @@ module Fog # ==== Parameters # * container<~String> - Name for container, should be < 256 bytes and must not contain '/' # * object<~String> - Name for object - # + # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404 + # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400 + # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500 + # @raise [Fog::Rackspace::Errors::ServiceError] def put_object_manifest(container, object) path = "#{Fog::Rackspace.escape(container)}/#{Fog::Rackspace.escape(object)}" request(