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

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    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 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.

          func (CopyOpts) ToObjectCopyMap

          func (opts CopyOpts) ToObjectCopyMap() (map[string]string, error)

            ToObjectCopyMap formats a CopyOpts into a map of headers.

            type CopyOptsBuilder

            type CopyOptsBuilder interface {
            	ToObjectCopyMap() (map[string]string, error)
            }

              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.

                  type CreateOpts

                  type CreateOpts struct {
                  	Metadata           map[string]string
                  	ContentDisposition string `h:"Content-Disposition"`
                  	ContentEncoding    string `h:"Content-Encoding"`
                  	ContentLength      int    `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

                      type CreateOptsBuilder interface {
                      	ToObjectCreateParams() (map[string]string, string, error)
                      }

                        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.

                            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

                                type DeleteOptsBuilder interface {
                                	ToObjectDeleteQuery() (string, error)
                                }

                                  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.

                                      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.

                                        type DownloadOptsBuilder

                                        type DownloadOptsBuilder interface {
                                        	ToObjectDownloadParams() (map[string]string, string, error)
                                        }

                                          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) 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 GetOpts

                                                type GetOpts struct {
                                                	Expires   string `q:"expires"`
                                                	Signature string `q:"signature"`
                                                }

                                                  GetOpts is a structure that holds parameters for getting an object's metadata.

                                                  func (GetOpts) ToObjectGetQuery

                                                  func (opts GetOpts) ToObjectGetQuery() (string, error)

                                                    ToObjectGetQuery formats a GetOpts into a query string.

                                                    type GetOptsBuilder

                                                    type GetOptsBuilder interface {
                                                    	ToObjectGetQuery() (string, error)
                                                    }

                                                      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.

                                                          func (GetResult) ExtractMetadata

                                                          func (gr GetResult) ExtractMetadata() (map[string]string, error)

                                                            ExtractMetadata is a function that takes a GetResult (of type *http.Response) and returns the custom metadata associated with the object.

                                                            type ListOpts

                                                            type ListOpts struct {
                                                            	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.

                                                              func (ListOpts) ToObjectDownloadParams

                                                              func (opts ListOpts) ToObjectDownloadParams() (map[string]string, string, error)

                                                                ToObjectDownloadParams formats a DownloadOpts into a query string and map of headers.

                                                                func (ListOpts) ToObjectListParams

                                                                func (opts ListOpts) ToObjectListParams() (bool, string, error)

                                                                  ToObjectListParams formats a ListOpts into a query string and boolean representing whether to list complete information for each object.

                                                                  type ListOptsBuilder

                                                                  type ListOptsBuilder interface {
                                                                  	ToObjectListParams() (bool, string, error)
                                                                  }

                                                                    ListOptsBuilder allows extensions to add additional parameters to the List request.

                                                                    type Object

                                                                    type Object struct {
                                                                    	Bytes        int    `json:"bytes" mapstructure:"bytes"`
                                                                    	ContentType  string `json:"content_type" mapstructure:"content_type"`
                                                                    	Hash         string `json:"hash" mapstructure:"hash"`
                                                                    	LastModified string `json:"last_modified" mapstructure:"last_modified"`
                                                                    	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 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

                                                                                  type UpdateOptsBuilder interface {
                                                                                  	ToObjectUpdateMap() (map[string]string, error)
                                                                                  }

                                                                                    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.