| package accounts |
| |
| import ( |
| "github.com/rackspace/gophercloud" |
| os "github.com/rackspace/gophercloud/openstack/objectstorage/v1/accounts" |
| ) |
| |
| // Get is a function that retrieves an account's metadata. To extract just the |
| // custom metadata, call the ExtractMetadata method on the GetResult. To extract |
| // all the headers that are returned (including the metadata), call the |
| // ExtractHeader method on the GetResult. |
| func Get(c *gophercloud.ServiceClient) os.GetResult { |
| return os.Get(c, nil) |
| } |
| |
| // UpdateOpts is a structure that contains parameters for updating, creating, or |
| // deleting an account's metadata. |
| type UpdateOpts struct { |
| Metadata map[string]string |
| TempURLKey string `h:"X-Account-Meta-Temp-URL-Key"` |
| TempURLKey2 string `h:"X-Account-Meta-Temp-URL-Key-2"` |
| } |
| |
| // ToAccountUpdateMap formats an UpdateOpts into a map[string]string of headers. |
| func (opts UpdateOpts) ToAccountUpdateMap() (map[string]string, error) { |
| headers, err := gophercloud.BuildHeaders(opts) |
| if err != nil { |
| return nil, err |
| } |
| for k, v := range opts.Metadata { |
| headers["X-Account-Meta-"+k] = v |
| } |
| return headers, err |
| } |
| |
| // Update will update an account's metadata with the Metadata in the UpdateOptsBuilder. |
| func Update(c *gophercloud.ServiceClient, opts os.UpdateOptsBuilder) os.UpdateResult { |
| return os.Update(c, opts) |
| } |