Copy object
creates a temporary url
@param container [String] Name of container containing object @param object [String] Name of object to get expiring url for @param expires_at [Time] An expiry time for this url @param method [String] The method to use for accessing the object (GET, PUT, HEAD) @param options [Hash] An optional options hash @option options [String] :scheme The scheme to use (http, https) @option options [String] :port A non standard port to use
@return [String] url for object
@raise [ArgumentError] if storage_temp_key is not set in configuration @raise [ArgumentError] if method is not valid
@see docs.rackspace.com/files/api/v1/cf-devguide/content/Create_TempURL-d1a444.html
Deletes multiple objects or containers with a single request.
To delete objects from a single container, container may be provided and object_names should be an Array of object names within the container.
To delete objects from multiple containers or delete containers, container should be nil and all object_names should be prefixed with a container name.
Containers must be empty when deleted. object_names are processed in the order given, so objects within a container should be listed first to empty the container.
Up to 10,000 objects may be deleted in a single request. The server will respond with +200 OK+ for all requests. +response.body+ must be inspected for actual results.
@example Delete objects from a container
object_names = ['object', 'another/object'] conn.delete_multiple_objects('my_container', object_names)
@example Delete objects from multiple containers
object_names = ['container_a/object', 'container_b/object'] conn.delete_multiple_objects(nil, object_names)
@example Delete a container and all it‘s objects
object_names = ['my_container/object_a', 'my_container/object_b', 'my_container'] conn.delete_multiple_objects(nil, object_names)
@param container [String,nil] Name of container. @param object_names [Array<String>] Object names to be deleted. @param options [Hash] Additional request headers.
@return [Excon::Response]
* body [Hash] - Results of the operation. * "Number Not Found" [Integer] - Number of missing objects or containers. * "Response Status" [String] - Response code for the subrequest of the last failed operation. * "Errors" [Array<object_name, response_status>] * object_name [String] - Object that generated an error when the delete was attempted. * response_status [String] - Response status from the subrequest for object_name. * "Number Deleted" [Integer] - Number of objects or containers deleted. * "Response Body" [String] - Response body for "Response Status".
Delete an existing object
Delete a static large object.
Deletes the SLO manifest object and all segments that it references. The server will respond with +200 OK+ for all requests. +response.body+ must be inspected for actual results.
@param container [String] Name of container. @param object [String] Name of the SLO manifest object. @param options [Hash] Additional request headers.
@return [Excon::Response]
* body [Hash] - Results of the operation. * "Number Not Found" [Integer] - Number of missing segments. * "Response Status" [String] - Response code for the subrequest of the last failed operation. * "Errors" [Array<object_name, response_status>] * object_name [String] - Object that generated an error when the delete was attempted. * response_status [String] - Response status from the subrequest for object_name. * "Number Deleted" [Integer] - Number of segments deleted. * "Response Body" [String] - Response body for Response Status.
@see docs.brightbox.org/api/brightbox-object-storage/1.0/content/static-large-objects.html
Get details for container and total bytes stored
List existing storage containers
Get details for object
Get an expiring object http url
Get an expiring object https url from Cloud Files
List number of objects and total bytes stored
List number of containers and total bytes stored
Get headers for object
Set the account wide Temp URL Key. This is a secret key that‘s used to generate signed expiring URLs.
Once the key has been set with this request you should create new Storage objects with the :brightbox_temp_url_key option then use the get_object_https_url method to generate expiring URLs.
*** CAUTION *** changing this secret key will invalidate any expiring URLS generated with old keys.
docs.rackspace.com/files/api/v1/cf-devguide/content/Set_Account_Metadata-d1a4460.html
Create a new container
Create a new dynamic large object manifest
Creates an object with a +X-Object-Manifest+ header that specifies the common prefix ("<container>/<prefix>") for all uploaded segments. Retrieving the manifest object streams all segments matching this prefix. Segments must sort in the order they should be concatenated. Note that any future objects stored in the container along with the segments that match the prefix will be included when retrieving the manifest object.
All segments must be stored in the same container, but may be in a different container than the manifest object. The default +X-Object-Manifest+ header is set to "container/object", but may be overridden in options to specify the prefix and/or the container where segments were stored. If overridden, names should be CGI escaped (excluding spaces) if needed (see {Fog::Storage::Brightbox.escape}).
@param container [String] Name for container where object will be stored. Should be < 256 bytes and must not contain ’/’ @param object [String] Name for manifest object. @param options [Hash] Config headers for object. @option options [String] ‘X-Object-Manifest’ ("container/object") "<container>/<prefix>" for segment objects.
@raise [Fog::Storage::Brightbox::NotFound] HTTP 404 @raise [Excon::Errors::BadRequest] HTTP 400 @raise [Excon::Errors::Unauthorized] HTTP 401 @raise [Excon::Errors::HTTPStatusError]
@see docs.brightbox.org/api/brightbox-object-storage/1.0/content/dynamic-large-object-creation.html
Create a new object
When passed a block, it will make a chunked request, calling the block for chunks until it returns an empty string. In this case the data parameter is ignored.
Create a new dynamic large object manifest
This is an alias for {put_dynamic_obj_manifest} for backward compatibility.
Create a new static large object manifest.
A static large object is similar to a dynamic large object. Whereas a GET for a dynamic large object manifest will stream segments based on the manifest‘s +X-Object-Manifest+ object name prefix, a static large object manifest streams segments which are defined by the user within the manifest. Information about each segment is provided in segments as an Array of Hash objects, ordered in the sequence which the segments should be streamed.
When the SLO manifest is received, each segment‘s etag and size_bytes will be verified. The etag for each segment is returned in the response to {put_object}, but may also be calculated. e.g. +Digest::MD5.hexdigest(segment_data)+
The maximum number of segments for a static large object is 1000, and all segments (except the last) must be at least 1 MiB in size. Unlike a dynamic large object, segments are not required to be in the same container.
@example
segments = [ { :path => 'segments_container/first_segment', :etag => 'md5 for first_segment', :size_bytes => 'byte size of first_segment' }, { :path => 'segments_container/second_segment', :etag => 'md5 for second_segment', :size_bytes => 'byte size of second_segment' } ] put_static_obj_manifest('my_container', 'my_large_object', segments)
@param container [String] Name for container where object will be stored.
Should be < 256 bytes and must not contain '/'
@param object [String] Name for manifest object. @param segments [Array<Hash>] Segment data for the object. @param options [Hash] Config headers for object.
@raise [Fog::Storage::Brightbox::NotFound] HTTP 404 @raise [Excon::Errors::BadRequest] HTTP 400 @raise [Excon::Errors::Unauthorized] HTTP 401 @raise [Excon::Errors::HTTPStatusError]
@see docs.brightbox.org/api/brightbox-object-storage/1.0/content/static-large-objects.html