forked from sacloud/usacloud
/
define.go
48 lines (37 loc) · 1.37 KB
/
define.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
package cli
import (
"github.com/sacloud/usacloud/schema"
"gopkg.in/urfave/cli.v2"
)
// Commands are added by tools/gen-cli-commands
var Commands []*cli.Command
// ResourceCategoryMap are added by tools/gen-cli-commands
//
// ex. ResourceCategoryMap["server"] -> *schema.Category
var ResourceCategoryMap = map[string]*schema.Category{}
func AppendResourceCategoryMap(r string, category *schema.Category) {
ResourceCategoryMap[r] = category
}
// CommandCategoryMap are added by tools/gen-cli-commands
//
// ex. CommandCategoryMap["server"]["create"] -> *schema.Category
var CommandCategoryMap = map[string]map[string]*schema.Category{}
func AppendCommandCategoryMap(r string, c string, category *schema.Category) {
if _, ok := CommandCategoryMap[r]; !ok {
CommandCategoryMap[r] = map[string]*schema.Category{}
}
CommandCategoryMap[r][c] = category
}
// FlagCategoryMap are added by tools/gen-cli-commands
//
// ex. FlagCategoryMap["server"]["build"]["list"] -> *schema.Category
var FlagCategoryMap = map[string]map[string]map[string]*schema.Category{}
func AppendFlagCategoryMap(r string, c string, f string, category *schema.Category) {
if _, ok := FlagCategoryMap[r]; !ok {
FlagCategoryMap[r] = map[string]map[string]*schema.Category{}
}
if _, ok := FlagCategoryMap[r][c]; !ok {
FlagCategoryMap[r][c] = map[string]*schema.Category{}
}
FlagCategoryMap[r][c][f] = category
}