Documentation
¶
Overview ¶
Package objects contains functionality for working with Object Storage object resources. An object is a resource that represents and contains data - such as documents, images, and so on. You can also store custom metadata with an object.
Index ¶
- func CreateTempURL(c *gophercloud.ServiceClient, containerName, objectName string, ...) (string, error)
- func ExtractNames(page pagination.Page) ([]string, error)
- func List(c *gophercloud.ServiceClient, containerName string, opts ListOptsBuilder) pagination.Pager
- type CopyHeader
- type CopyOpts
- type CopyOptsBuilder
- type CopyResult
- type CreateHeader
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type CreateTempURLOpts
- type DeleteHeader
- type DeleteOpts
- type DeleteOptsBuilder
- type DeleteResult
- type DownloadHeader
- type DownloadOpts
- type DownloadOptsBuilder
- type DownloadResult
- type GetHeader
- type GetOpts
- type GetOptsBuilder
- type GetResult
- type HTTPMethod
- type ListOpts
- type ListOptsBuilder
- type Object
- type ObjectPage
- type UpdateHeader
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateTempURL ¶ added in v0.2.0
func CreateTempURL(c *gophercloud.ServiceClient, containerName, objectName string, opts CreateTempURLOpts) (string, error)
CreateTempURL is a function for creating a temporary URL for an object. It allows users to have "GET" or "POST" access to a particular tenant's object for a limited amount of time.
func ExtractNames ¶
func ExtractNames(page pagination.Page) ([]string, error)
ExtractNames is a function that takes a page of objects and returns only their names.
func List ¶
func List(c *gophercloud.ServiceClient, containerName string, opts ListOptsBuilder) pagination.Pager
List is a function that retrieves all objects in a container. It also returns the details for the container. To extract only the object information or names, pass the ListResult response to the ExtractInfo or ExtractNames function, respectively.
Types ¶
type CopyHeader ¶ added in v0.2.0
type CopyHeader struct {
ContentLength int64 `mapstructure:"Content-Length"`
ContentType string `mapstructure:"Content-Type"`
CopiedFrom string `mapstructure:"X-Copied-From"`
CopiedFromLastModified time.Time `mapstructure:"-"`
Date time.Time `mapstructure:"-"`
ETag string `mapstructure:"Etag"`
LastModified time.Time `mapstructure:"-"`
TransID string `mapstructure:"X-Trans-Id"`
}
CopyHeader represents the headers returned in the response from a Copy request.
type CopyOpts ¶
type CopyOpts struct {
Metadata map[string]string
ContentDisposition string `h:"Content-Disposition"`
ContentEncoding string `h:"Content-Encoding"`
ContentType string `h:"Content-Type"`
Destination string `h:"Destination,required"`
}
CopyOpts is a structure that holds parameters for copying one object to another.
type CopyOptsBuilder ¶
CopyOptsBuilder allows extensions to add additional parameters to the Copy request.
type CopyResult ¶
type CopyResult struct {
gophercloud.HeaderResult
}
CopyResult represents the result of a copy operation.
func Copy ¶
func Copy(c *gophercloud.ServiceClient, containerName, objectName string, opts CopyOptsBuilder) CopyResult
Copy is a function that copies one object to another.
func (CopyResult) Extract ¶ added in v0.2.0
func (cr CopyResult) Extract() (CopyHeader, error)
Extract will return a struct of headers returned from a call to Copy. To obtain a map of headers, call the ExtractHeader method on the CopyResult.
type CreateHeader ¶ added in v0.2.0
type CreateHeader struct {
ContentLength int64 `mapstructure:"Content-Length"`
ContentType string `mapstructure:"Content-Type"`
Date time.Time `mapstructure:"-"`
ETag string `mapstructure:"Etag"`
LastModified time.Time `mapstructure:"-"`
TransID string `mapstructure:"X-Trans-Id"`
}
CreateHeader represents the headers returned in the response from a Create request.
type CreateOpts ¶
type CreateOpts struct {
Metadata map[string]string
ContentDisposition string `h:"Content-Disposition"`
ContentEncoding string `h:"Content-Encoding"`
ContentLength int64 `h:"Content-Length"`
ContentType string `h:"Content-Type"`
CopyFrom string `h:"X-Copy-From"`
DeleteAfter int `h:"X-Delete-After"`
DeleteAt int `h:"X-Delete-At"`
DetectContentType string `h:"X-Detect-Content-Type"`
ETag string `h:"ETag"`
IfNoneMatch string `h:"If-None-Match"`
ObjectManifest string `h:"X-Object-Manifest"`
TransferEncoding string `h:"Transfer-Encoding"`
Expires string `q:"expires"`
MultipartManifest string `q:"multiple-manifest"`
Signature string `q:"signature"`
}
CreateOpts is a structure that holds parameters for creating an object.
func (CreateOpts) ToObjectCreateParams ¶
func (opts CreateOpts) ToObjectCreateParams() (map[string]string, string, error)
ToObjectCreateParams formats a CreateOpts into a query string and map of headers.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
gophercloud.HeaderResult
}
CreateResult represents the result of a create operation.
func Create ¶
func Create(c *gophercloud.ServiceClient, containerName, objectName string, content io.Reader, opts CreateOptsBuilder) CreateResult
Create is a function that creates a new object or replaces an existing object.
func (CreateResult) Extract ¶ added in v0.2.0
func (cr CreateResult) Extract() (CreateHeader, error)
Extract will return a struct of headers returned from a call to Create. To obtain a map of headers, call the ExtractHeader method on the CreateResult.
type CreateTempURLOpts ¶ added in v0.2.0
type CreateTempURLOpts struct {
// (REQUIRED) Method is the HTTP method to allow for users of the temp URL. Valid values
// are "GET" and "POST".
Method HTTPMethod
// (REQUIRED) TTL is the number of seconds the temp URL should be active.
TTL int
// (Optional) Split is the string on which to split the object URL. Since only
// the object path is used in the hash, the object URL needs to be parsed. If
// empty, the default OpenStack URL split point will be used ("/v1/").
Split string
}
CreateTempURLOpts are options for creating a temporary URL for an object.
type DeleteHeader ¶ added in v0.2.0
type DeleteHeader struct {
ContentLength int64 `mapstructure:"Content-Length"`
ContentType string `mapstructure:"Content-Type"`
Date time.Time `mapstructure:"-"`
TransID string `mapstructure:"X-Trans-Id"`
}
DeleteHeader represents the headers returned in the response from a Delete request.
type DeleteOpts ¶
type DeleteOpts struct {
MultipartManifest string `q:"multipart-manifest"`
}
DeleteOpts is a structure that holds parameters for deleting an object.
func (DeleteOpts) ToObjectDeleteQuery ¶
func (opts DeleteOpts) ToObjectDeleteQuery() (string, error)
ToObjectDeleteQuery formats a DeleteOpts into a query string.
type DeleteOptsBuilder ¶
DeleteOptsBuilder allows extensions to add additional parameters to the Delete request.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.HeaderResult
}
DeleteResult represents the result of a delete operation.
func Delete ¶
func Delete(c *gophercloud.ServiceClient, containerName, objectName string, opts DeleteOptsBuilder) DeleteResult
Delete is a function that deletes an object.
func (DeleteResult) Extract ¶ added in v0.2.0
func (dr DeleteResult) Extract() (DeleteHeader, error)
Extract will return a struct of headers returned from a call to Delete. To obtain a map of headers, call the ExtractHeader method on the DeleteResult.
type DownloadHeader ¶ added in v0.2.0
type DownloadHeader struct {
AcceptRanges string `mapstructure:"Accept-Ranges"`
ContentDisposition string `mapstructure:"Content-Disposition"`
ContentEncoding string `mapstructure:"Content-Encoding"`
ContentLength int64 `mapstructure:"Content-Length"`
ContentType string `mapstructure:"Content-Type"`
Date time.Time `mapstructure:"-"`
DeleteAt time.Time `mapstructure:"-"`
ETag string `mapstructure:"Etag"`
LastModified time.Time `mapstructure:"-"`
ObjectManifest string `mapstructure:"X-Object-Manifest"`
StaticLargeObject bool `mapstructure:"X-Static-Large-Object"`
TransID string `mapstructure:"X-Trans-Id"`
}
DownloadHeader represents the headers returned in the response from a Download request.
type DownloadOpts ¶
type DownloadOpts struct {
IfMatch string `h:"If-Match"`
IfModifiedSince time.Time `h:"If-Modified-Since"`
IfNoneMatch string `h:"If-None-Match"`
IfUnmodifiedSince time.Time `h:"If-Unmodified-Since"`
Range string `h:"Range"`
Expires string `q:"expires"`
MultipartManifest string `q:"multipart-manifest"`
Signature string `q:"signature"`
}
DownloadOpts is a structure that holds parameters for downloading an object.
func (DownloadOpts) ToObjectDownloadParams ¶
func (opts DownloadOpts) ToObjectDownloadParams() (map[string]string, string, error)
ToObjectDownloadParams formats a DownloadOpts into a query string and map of headers.
type DownloadOptsBuilder ¶
DownloadOptsBuilder allows extensions to add additional parameters to the Download request.
type DownloadResult ¶
type DownloadResult struct {
gophercloud.HeaderResult
Body io.ReadCloser
}
DownloadResult is a *http.Response that is returned from a call to the Download function.
func Download ¶
func Download(c *gophercloud.ServiceClient, containerName, objectName string, opts DownloadOptsBuilder) DownloadResult
Download is a function that retrieves the content and metadata for an object. To extract just the content, pass the DownloadResult response to the ExtractContent function.
func (DownloadResult) Extract ¶ added in v0.2.0
func (dr DownloadResult) Extract() (DownloadHeader, error)
Extract will return a struct of headers returned from a call to Download. To obtain a map of headers, call the ExtractHeader method on the DownloadResult.
func (DownloadResult) ExtractContent ¶
func (dr DownloadResult) ExtractContent() ([]byte, error)
ExtractContent is a function that takes a DownloadResult's io.Reader body and reads all available data into a slice of bytes. Please be aware that due the nature of io.Reader is forward-only - meaning that it can only be read once and not rewound. You can recreate a reader from the output of this function by using bytes.NewReader(downloadBytes)
type GetHeader ¶ added in v0.2.0
type GetHeader struct {
ContentDisposition string `mapstructure:"Content-Disposition"`
ContentEncoding string `mapstructure:"Content-Encoding"`
ContentLength int64 `mapstructure:"Content-Length"`
ContentType string `mapstructure:"Content-Type"`
Date time.Time `mapstructure:"-"`
DeleteAt time.Time `mapstructure:"-"`
ETag string `mapstructure:"Etag"`
LastModified time.Time `mapstructure:"-"`
ObjectManifest string `mapstructure:"X-Object-Manifest"`
StaticLargeObject bool `mapstructure:"X-Static-Large-Object"`
TransID string `mapstructure:"X-Trans-Id"`
}
GetHeader represents the headers returned in the response from a Get request.
type GetOpts ¶
GetOpts is a structure that holds parameters for getting an object's metadata.
func (GetOpts) ToObjectGetQuery ¶
ToObjectGetQuery formats a GetOpts into a query string.
type GetOptsBuilder ¶
GetOptsBuilder allows extensions to add additional parameters to the Get request.
type GetResult ¶
type GetResult struct {
gophercloud.HeaderResult
}
GetResult is a *http.Response that is returned from a call to the Get function.
func Get ¶
func Get(c *gophercloud.ServiceClient, containerName, objectName string, opts GetOptsBuilder) GetResult
Get is a function that retrieves the metadata of an object. To extract just the custom metadata, pass the GetResult response to the ExtractMetadata function.
type HTTPMethod ¶ added in v0.2.0
type HTTPMethod string
HTTPMethod represents an HTTP method string (e.g. "GET").
var ( // GET represents an HTTP "GET" method. GET HTTPMethod = "GET" // POST represents an HTTP "POST" method. POST HTTPMethod = "POST" )
type ListOpts ¶
type ListOpts struct {
// Full is a true/false value that represents the amount of object information
// returned. If Full is set to true, then the content-type, number of bytes, hash
// date last modified, and name are returned. If set to false or not set, then
// only the object names are returned.
Full bool
Limit int `q:"limit"`
Marker string `q:"marker"`
EndMarker string `q:"end_marker"`
Format string `q:"format"`
Prefix string `q:"prefix"`
Delimiter string `q:"delimiter"`
Path string `q:"path"`
}
ListOpts is a structure that holds parameters for listing objects.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type Object ¶
type Object struct {
// Bytes is the total number of bytes that comprise the object.
Bytes int64 `json:"bytes" mapstructure:"bytes"`
// ContentType is the content type of the object.
ContentType string `json:"content_type" mapstructure:"content_type"`
// Hash represents the MD5 checksum value of the object's content.
Hash string `json:"hash" mapstructure:"hash"`
// LastModified is the RFC3339Milli time the object was last modified, represented
// as a string. For any given object (obj), this value may be parsed to a time.Time:
// lastModified, err := time.Parse(gophercloud.RFC3339Milli, obj.LastModified)
LastModified string `json:"last_modified" mapstructure:"last_modified"`
// Name is the unique name for the object.
Name string `json:"name" mapstructure:"name"`
}
Object is a structure that holds information related to a storage object.
func ExtractInfo ¶
func ExtractInfo(page pagination.Page) ([]Object, error)
ExtractInfo is a function that takes a page of objects and returns their full information.
type ObjectPage ¶
type ObjectPage struct {
pagination.MarkerPageBase
}
ObjectPage is a single page of objects that is returned from a call to the List function.
func (ObjectPage) IsEmpty ¶
func (r ObjectPage) IsEmpty() (bool, error)
IsEmpty returns true if a ListResult contains no object names.
func (ObjectPage) LastMarker ¶
func (r ObjectPage) LastMarker() (string, error)
LastMarker returns the last object name in a ListResult.
type UpdateHeader ¶ added in v0.2.0
type UpdateHeader struct {
ContentLength int64 `mapstructure:"Content-Length"`
ContentType string `mapstructure:"Content-Type"`
Date time.Time `mapstructure:"-"`
TransID string `mapstructure:"X-Trans-Id"`
}
UpdateHeader represents the headers returned in the response from a Update request.
type UpdateOpts ¶
type UpdateOpts struct {
Metadata map[string]string
ContentDisposition string `h:"Content-Disposition"`
ContentEncoding string `h:"Content-Encoding"`
ContentType string `h:"Content-Type"`
DeleteAfter int `h:"X-Delete-After"`
DeleteAt int `h:"X-Delete-At"`
DetectContentType bool `h:"X-Detect-Content-Type"`
}
UpdateOpts is a structure that holds parameters for updating, creating, or deleting an object's metadata.
func (UpdateOpts) ToObjectUpdateMap ¶
func (opts UpdateOpts) ToObjectUpdateMap() (map[string]string, error)
ToObjectUpdateMap formats a UpdateOpts into a map of headers.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdateResult ¶
type UpdateResult struct {
gophercloud.HeaderResult
}
UpdateResult represents the result of an update operation.
func Update ¶
func Update(c *gophercloud.ServiceClient, containerName, objectName string, opts UpdateOptsBuilder) UpdateResult
Update is a function that creates, updates, or deletes an object's metadata.
func (UpdateResult) Extract ¶ added in v0.2.0
func (ur UpdateResult) Extract() (UpdateHeader, error)
Extract will return a struct of headers returned from a call to Update. To obtain a map of headers, call the ExtractHeader method on the UpdateResult.