| 84 | } |
| 85 | |
| 86 | func GetPools(ctx context.Context, api Interface) ([]*pools.Config, error) { |
| 87 | b := newBuffer(pools.Config{}) |
| 88 | q, err := api.Query(ctx, srcfiles.Plain("from :pools")) |
| 89 | if err != nil { |
| 90 | return nil, err |
| 91 | } |
| 92 | defer q.Pull(true) |
| 93 | if err := vio.Copy(b, q); err != nil { |
| 94 | return nil, err |
| 95 | } |
| 96 | var pls []*pools.Config |
| 97 | for _, r := range b.results { |
| 98 | pls = append(pls, r.(*pools.Config)) |
| 99 | } |
| 100 | return pls, nil |
| 101 | } |
| 102 | |
| 103 | func LookupPoolByID(ctx context.Context, api Interface, id ksuid.KSUID) (*pools.Config, error) { |
| 104 | b := newBuffer(pools.Config{}) |