-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathproject.go
40 lines (34 loc) · 971 Bytes
/
project.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
package gopherstack
import (
"net/url"
)
// List the available Cloudstack projects
func (c CloudstackClient) ListProjects(name string) (ListProjectsResponse, error) {
var resp ListProjectsResponse
params := url.Values{}
if name != "" {
params.Set("name", name)
}
response, err := NewRequest(c, "listProjects", params)
if err != nil {
return resp, err
}
resp = response.(ListProjectsResponse)
return resp, err
}
type Project struct {
Account string `json:"account"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
ID string `json:"id"`
Name string `json:"name"`
State string `json:"state"`
Tags []interface{} `json:"tags"`
}
type ListProjectsResponse struct {
Listprojectsresponse struct {
Count float64 `json:"count"`
Project []Project `json:"project"`
} `json:"listprojectsresponse"`
}