open-nomad/vendor/github.com/nicolai86/scaleway-sdk/quota.go

37 lines
767 B
Go
Raw Normal View History

2018-04-30 15:47:39 +00:00
package api
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
// Quota represents a map of quota (name, value)
type Quotas map[string]int
2018-04-30 15:47:39 +00:00
// GetQuotas represents the response of GET /organizations/{orga_id}/quotas
type GetQuotas struct {
Quotas Quotas `json:"quotas"`
2018-04-30 15:47:39 +00:00
}
// GetQuotas returns a GetQuotas
func (s *API) GetQuotas() (Quotas, error) {
2018-04-30 15:47:39 +00:00
resp, err := s.GetResponsePaginate(AccountAPI, fmt.Sprintf("organizations/%s/quotas", s.Organization), url.Values{})
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := s.handleHTTPError([]int{http.StatusOK}, resp)
if err != nil {
return nil, err
}
var quotas GetQuotas
2018-04-30 15:47:39 +00:00
if err = json.Unmarshal(body, &quotas); err != nil {
return nil, err
}
return quotas.Quotas, nil
2018-04-30 15:47:39 +00:00
}