forked from hashicorp/nomad
-
Notifications
You must be signed in to change notification settings - Fork 3
/
quota.go
39 lines (32 loc) · 839 Bytes
/
quota.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
package command
import (
"github.com/hashicorp/nomad/api/contexts"
"github.com/mitchellh/cli"
"github.com/posener/complete"
)
type QuotaCommand struct {
Meta
}
func (f *QuotaCommand) Help() string {
return "This command is accessed by using one of the subcommands below."
}
func (f *QuotaCommand) Synopsis() string {
return "Interact with quotas"
}
func (f *QuotaCommand) Run(args []string) int {
return cli.RunResultHelp
}
// QuotaPredictor returns a quota predictor
func QuotaPredictor(factory ApiClientFactory) complete.Predictor {
return complete.PredictFunc(func(a complete.Args) []string {
client, err := factory()
if err != nil {
return nil
}
resp, _, err := client.Search().PrefixSearch(a.Last, contexts.Quotas, nil)
if err != nil {
return []string{}
}
return resp.Matches[contexts.Quotas]
})
}