-
Notifications
You must be signed in to change notification settings - Fork 0
/
Namespace.go
56 lines (45 loc) · 1.36 KB
/
Namespace.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package libdatamanager
func (libdm LibDM) namespaceRequest(action uint8, name, newName string) (*StringResponse, error) {
var response StringResponse
endpoint := namespaceActionToEndpoint(action)
// Do http request
if _, err := libdm.Request(endpoint, &NamespaceRequest{
Namespace: name,
NewName: newName,
}, &response, true); err != nil {
return nil, err
}
return &response, nil
}
// CreateNamespace creates a namespace
func (libdm LibDM) CreateNamespace(name string) (*StringResponse, error) {
return libdm.namespaceRequest(1, name, "")
}
// UpdateNamespace update a namespace
func (libdm LibDM) UpdateNamespace(name, newName string) (*StringResponse, error) {
return libdm.namespaceRequest(2, name, newName)
}
// DeleteNamespace update a namespace
func (libdm LibDM) DeleteNamespace(name string) (*StringResponse, error) {
return libdm.namespaceRequest(0, name, "")
}
// GetNamespaces get all namespaces
func (libdm LibDM) GetNamespaces() (*StringSliceResponse, error) {
var resp StringSliceResponse
// Do http request
if _, err := libdm.Request(EPNamespaceList, nil, &resp, true); err != nil {
return nil, err
}
return &resp, nil
}
func namespaceActionToEndpoint(action uint8) (endpoint Endpoint) {
switch action {
case 0:
endpoint = EPNamespaceDelete
case 1:
endpoint = EPNamespaceCreate
case 2:
endpoint = EPNamespaceUpdate
}
return
}