Update Quobyte API repo

This commit is contained in:
Johannes Scheuermann 2017-06-29 12:15:22 +02:00
parent 6a88a03d59
commit 7ce5478c0c
5 changed files with 53 additions and 37 deletions

2
Godeps/Godeps.json generated
View File

@ -2218,7 +2218,7 @@
},
{
"ImportPath": "github.com/quobyte/api",
"Rev": "bf713b5a4333f44504fa1ce63690de45cfed6413"
"Rev": "cb10db90715b14d4784465d2fa3b915dfacc0628"
},
{
"ImportPath": "github.com/rackspace/gophercloud",

31
vendor/github.com/quobyte/api/BUILD generated vendored
View File

@ -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"],
)

View File

@ -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)
}
```
```

View File

@ -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{
&quota{
Consumer: []*consumingEntity{
&consumingEntity{
Type: "VOLUME",
Identifier: volumeUUID,
},
},
Limits: []*resource{
&resource{
Type: "LOGICAL_DISK_SPACE",
Value: quotaSize,
},
},
},
},
}
return client.sendRequest("setQuota", request, nil)
}

View File

@ -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"`
}