Adding quotas operations
diff --git a/openstack/networking/v2/extensions/quotas/requests.go b/openstack/networking/v2/extensions/quotas/requests.go
index d03c081..f16c440 100755
--- a/openstack/networking/v2/extensions/quotas/requests.go
+++ b/openstack/networking/v2/extensions/quotas/requests.go
@@ -1 +1,85 @@
package quotas
+
+import (
+ "github.com/racker/perigee"
+ "github.com/rackspace/gophercloud"
+)
+
+func Get(c *gophercloud.ServiceClient) GetResult {
+ var res GetResult
+ _, err := perigee.Request("GET", rootURL(c), perigee.Options{
+ Results: &res.resp,
+ MoreHeaders: c.Provider.AuthenticatedHeaders(),
+ })
+ res.err = err
+ return res
+}
+
+type UpdateOpts struct {
+ Subnet *int
+ Router *int
+ Network *int
+ FloatingIP *int
+ Port *int
+ HealthMonitor *int
+ SecGroupRule *int
+ SecGroup *int
+ VIP *int
+ Member *int
+ Pool *int
+}
+
+func Update(c *gophercloud.ServiceClient, opts UpdateOpts) UpdateResult {
+ type quota struct {
+ Subnet *int `json:"subnet,omitempty"`
+ Router *int `json:"router,omitempty"`
+ Network *int `json:"network,omitempty"`
+ FloatingIP *int `json:"floatingip,omitempty"`
+ Port *int `json:"port,omitempty"`
+ HealthMonitor *int `json:"health_monitor,omitempty"`
+ SecGroupRule *int `json:"security_group_rule,omitempty"`
+ VIP *int `json:"vip,omitempty"`
+ SecGroup *int `json:"security_group,omitempty"`
+ Member *int `json:"member,omitempty"`
+ Pool *int `json:"pool,omitempty"`
+ }
+
+ type request struct {
+ Quota quota `json:"quota"`
+ }
+
+ reqBody := request{Quota: quota{
+ Subnet: opts.Subnet,
+ Router: opts.Router,
+ Network: opts.Network,
+ FloatingIP: opts.FloatingIP,
+ Port: opts.Port,
+ HealthMonitor: opts.HealthMonitor,
+ SecGroupRule: opts.SecGroupRule,
+ VIP: opts.VIP,
+ SecGroup: opts.SecGroup,
+ Member: opts.Member,
+ Pool: opts.Pool,
+ }}
+
+ var res UpdateResult
+ _, err := perigee.Request("PUT", rootURL(c), perigee.Options{
+ MoreHeaders: c.Provider.AuthenticatedHeaders(),
+ ReqBody: &reqBody,
+ Results: &res.resp,
+ OkCodes: []int{200},
+ })
+ res.err = err
+
+ return res
+}
+
+func Reset(c *gophercloud.ServiceClient) DeleteResult {
+ var res DeleteResult
+ _, err := perigee.Request("DELETE", rootURL(c), perigee.Options{
+ MoreHeaders: c.Provider.AuthenticatedHeaders(),
+ OkCodes: []int{204},
+ })
+ res.err = err
+ return res
+}