Skip to content
This repository was archived by the owner on Mar 26, 2020. It is now read-only.

Commit bd94f7a

Browse files
author
Poornima G
committed
Add resclient api for block volume
Signed-off-by: Poornima G <pgurusid@redhat.com>
1 parent 8523e48 commit bd94f7a

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

pkg/restclient/block_volume.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package restclient
2+
3+
import (
4+
"fmt"
5+
"net/http"
6+
7+
"github.com/gluster/glusterd2/plugins/blockvolume/api"
8+
)
9+
10+
// BlockVolumeCreate creates Gluster Block Volume
11+
func (c *Client) BlockVolumeCreate(provider string, req api.BlockVolumeCreateRequest) (api.BlockVolumeCreateResp, error) {
12+
var vol api.BlockVolumeCreateResp
13+
err := c.post("v1/blockvolumes/"+provider, req, http.StatusCreated, &vol)
14+
return vol, err
15+
}
16+
17+
// BlockVolumeList lists Gluster Block Volumes
18+
func (c *Client) BlockVolumeList(provider string) (api.BlockVolumeListResp, error) {
19+
//TODO: Are filters required?
20+
var vols api.BlockVolumeListResp
21+
url := fmt.Sprintf("/v1/blockvolumes/%s", provider)
22+
err := c.get(url, nil, http.StatusOK, &vols)
23+
return vols, err
24+
}
25+
26+
// BlockVolumeGet gets Gluster Block Volume info
27+
func (c *Client) BlockVolumeGet(provider string, blockVolname string) (api.BlockVolumeGetResp, error) {
28+
var vol api.BlockVolumeGetResp
29+
url := fmt.Sprintf("/v1/blockvolumes/%s/%s", provider, blockVolname)
30+
err := c.get(url, nil, http.StatusOK, &vol)
31+
return vol, err
32+
}
33+
34+
// BlockVolumeDelete deletes Gluster Block Volume
35+
func (c *Client) BlockVolumeDelete(provider string, blockVolname string) error {
36+
url := fmt.Sprintf("/v1/blockvolumes/%s/%s", provider, blockVolname)
37+
return c.del(url, nil, http.StatusNoContent, nil)
38+
}

0 commit comments

Comments
 (0)