package limits import ( "github.com/gophercloud/gophercloud" ) // GetOptsBuilder allows extensions to add additional parameters to the // Get request. type GetOptsBuilder interface { ToLimitsQuery() (string, error) } // GetOpts enables retrieving limits by a specific tenant. type GetOpts struct { // The tenant ID to retrieve limits for. TenantID string `q:"tenant_id"` } // ToLimitsQuery formats a GetOpts into a query string. func (opts GetOpts) ToLimitsQuery() (string, error) { q, err := gophercloud.BuildQueryString(opts) return q.String(), err } // Get returns the limits about the currently scoped tenant. func Get(client *gophercloud.ServiceClient, opts GetOptsBuilder) (r GetResult) { url := getURL(client) if opts != nil { query, err := opts.ToLimitsQuery() if err != nil { r.Err = err return } url += query } _, r.Err = client.Get(url, &r.Body, nil) return }