diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 8238ba1ea3c..f09e0f03802 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -2218,7 +2218,7 @@ }, { "ImportPath": "github.com/quobyte/api", - "Rev": "bf713b5a4333f44504fa1ce63690de45cfed6413" + "Rev": "cb10db90715b14d4784465d2fa3b915dfacc0628" }, { "ImportPath": "github.com/rackspace/gophercloud", diff --git a/vendor/github.com/quobyte/api/BUILD b/vendor/github.com/quobyte/api/BUILD deleted file mode 100644 index 84fec6cd094..00000000000 --- a/vendor/github.com/quobyte/api/BUILD +++ /dev/null @@ -1,31 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -licenses(["notice"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", -) - -go_library( - name = "go_default_library", - srcs = [ - "quobyte.go", - "rpc_client.go", - "types.go", - ], - tags = ["automanaged"], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/vendor/github.com/quobyte/api/README.md b/vendor/github.com/quobyte/api/README.md index 7ed01f10d2c..072033b7bde 100644 --- a/vendor/github.com/quobyte/api/README.md +++ b/vendor/github.com/quobyte/api/README.md @@ -22,14 +22,14 @@ func main() { Name: "MyVolume", RootUserID: "root", RootGroupID: "root", - ConfigurationName: "base", + ConfigurationName: "BASE", } - volume_uuid, err := client.CreateVolume(req) + volumeUUID, err := client.CreateVolume(req) if err != nil { log.Fatalf("Error:", err) } - log.Printf("%s", volume_uuid) + log.Printf("%s", volumeUUID) } -``` +``` \ No newline at end of file diff --git a/vendor/github.com/quobyte/api/quobyte.go b/vendor/github.com/quobyte/api/quobyte.go index 88f7c848279..3a2a5fd17a2 100644 --- a/vendor/github.com/quobyte/api/quobyte.go +++ b/vendor/github.com/quobyte/api/quobyte.go @@ -1,7 +1,9 @@ // Package quobyte represents a golang API for the Quobyte Storage System package quobyte -import "net/http" +import ( + "net/http" +) type QuobyteClient struct { client *http.Client @@ -77,3 +79,26 @@ func (client *QuobyteClient) GetClientList(tenant string) (GetClientListResponse return response, nil } + +func (client *QuobyteClient) SetVolumeQuota(volumeUUID string, quotaSize uint64) error { + request := &setQuotaRequest{ + Quotas: []*quota{ + "a{ + Consumer: []*consumingEntity{ + &consumingEntity{ + Type: "VOLUME", + Identifier: volumeUUID, + }, + }, + Limits: []*resource{ + &resource{ + Type: "LOGICAL_DISK_SPACE", + Value: quotaSize, + }, + }, + }, + }, + } + + return client.sendRequest("setQuota", request, nil) +} diff --git a/vendor/github.com/quobyte/api/types.go b/vendor/github.com/quobyte/api/types.go index 2ed5698aa1e..c1a87d33714 100644 --- a/vendor/github.com/quobyte/api/types.go +++ b/vendor/github.com/quobyte/api/types.go @@ -32,3 +32,25 @@ type Client struct { MountedUserName string `json:"mount_user_name,omitempty"` MountedVolumeUUID string `json:"mounted_volume_uuid,omitempty"` } + +type consumingEntity struct { + Type string `json:"type,omitempty"` + Identifier string `json:"identifier,omitempty"` + TenantID string `json:"tenant_id,omitempty"` +} + +type resource struct { + Type string `json:"type,omitempty"` + Value uint64 `json:"value,omitempty"` +} + +type quota struct { + ID string `json:"id,omitempty"` + Consumer []*consumingEntity `json:"consumer,omitempty"` + Limits []*resource `json:"limits,omitempty"` + Currentusage []*resource `json:"current_usage,omitempty"` +} + +type setQuotaRequest struct { + Quotas []*quota `json:"quotas,omitempty"` +}