fixed pool search
This commit is contained in:
parent
0dead7e423
commit
4c7e511a72
3 changed files with 26 additions and 5 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
cmd
|
||||||
28
pool.go
28
pool.go
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
@ -75,7 +76,7 @@ func (c *PoolClient) Delete(ctx context.Context, name string) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type pools struct {
|
type pools struct {
|
||||||
poolid string `json:"poolid"`
|
PoolID string `json:"poolid"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PoolClient) ListPools(ctx context.Context) (list []string, err error) {
|
func (c *PoolClient) ListPools(ctx context.Context) (list []string, err error) {
|
||||||
|
|
@ -89,13 +90,32 @@ func (c *PoolClient) ListPools(ctx context.Context) (list []string, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for _, p := range ps {
|
for _, p := range ps {
|
||||||
list = append(list, p.poolid)
|
list = append(list, p.PoolID)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
type poolMember struct {
|
||||||
|
ID int `json:"vmid"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Node string `json:"node"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type poolMembers []poolMember
|
||||||
|
|
||||||
|
func (pms poolMembers) ServerList() (sl ServerList) {
|
||||||
|
for _, pm := range pms {
|
||||||
|
sl = append(sl, &Server{
|
||||||
|
ID: strconv.Itoa(pm.ID),
|
||||||
|
Name: pm.Name,
|
||||||
|
Node: pm.Node,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
type pool struct {
|
type pool struct {
|
||||||
members ServerList `json:"members"`
|
Members poolMembers `json:"members"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PoolClient) ListMembers(ctx context.Context, name string) (sl ServerList, err error) {
|
func (c *PoolClient) ListMembers(ctx context.Context, name string) (sl ServerList, err error) {
|
||||||
|
|
@ -109,7 +129,7 @@ func (c *PoolClient) ListMembers(ctx context.Context, name string) (sl ServerLis
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_, err = c.client.Do(req, &p)
|
_, err = c.client.Do(req, &p)
|
||||||
sl = p.members
|
sl = p.Members.ServerList()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ func (c *ServerClient) GetByURL(ctx context.Context, url string) (s *Server, err
|
||||||
var srv *Server
|
var srv *Server
|
||||||
if node == "" && pool != "" {
|
if node == "" && pool != "" {
|
||||||
srv, err = c.client.Pool.FindServerByID(ctx, pool, id)
|
srv, err = c.client.Pool.FindServerByID(ctx, pool, id)
|
||||||
if err == ErrServerNotFound {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
node = srv.Node
|
node = srv.Node
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue