/
flags.go
146 lines (125 loc) · 2.68 KB
/
flags.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package main
import (
"github.com/urfave/cli"
"github.com/manifoldco/manifold-cli/placeholder"
)
var teamFlags = []cli.Flag{teamFlag(), teamIDFlag(), meFlag()}
func formatFlag(defaultValue, description string) cli.Flag {
return placeholder.New("format, f", "FORMAT", description, defaultValue, "MANIFOLD_FORMAT", false)
}
func descriptionFlag() cli.Flag {
return cli.StringFlag{
Name: "description, d",
Usage: "Specify a description",
Value: "",
EnvVar: "MANIFOLD_DESCRIPTION",
}
}
func meFlag() cli.Flag {
return cli.BoolFlag{
Name: "me, m",
Usage: "Specify the action should not be done with a team",
}
}
func teamFlag() cli.Flag {
return cli.StringFlag{
Name: "team, t",
Usage: "Specify a team",
Value: "",
EnvVar: "MANIFOLD_TEAM",
}
}
func teamIDFlag() cli.Flag {
return cli.StringFlag{
Name: "team-id",
Hidden: true,
Value: "",
}
}
func projectFlag() cli.Flag {
return cli.StringFlag{
Name: "project, p",
Usage: "Specify a project for filtering and updating",
Value: "",
EnvVar: "MANIFOLD_PROJECT",
}
}
func planFlag() cli.Flag {
return cli.StringFlag{
Name: "plan",
Usage: "Specify a plan",
Value: "",
EnvVar: "MANIFOLD_PLAN",
}
}
func regionFlag() cli.Flag {
return cli.StringFlag{
Name: "region",
Usage: "Use this region",
EnvVar: "MANIFOLD_REGION",
}
}
func resourceFlag() cli.Flag {
return cli.StringFlag{
Name: "resource, r",
Usage: "Use this resource",
}
}
func providerFlag() cli.Flag {
return cli.StringFlag{
Name: "provider",
Usage: "Specify a provider",
}
}
func productFlag() cli.Flag {
return cli.StringFlag{
Name: "product",
Usage: "Specify a product",
}
}
func yesFlag() cli.Flag {
return cli.BoolFlag{
Name: "yes, y",
Usage: "Automatically respond y to confirm prompts",
EnvVar: "MANIFOLD_NO_CONFIRM",
}
}
func skipFlag() cli.Flag {
return cli.BoolFlag{
Name: "no-wait, w",
Usage: "Do not wait when creating, updating, or deleting a resource",
EnvVar: "MANIFOLD_DONT_WAIT",
}
}
func openFlag() cli.Flag {
return cli.BoolFlag{
Name: "open, o",
Usage: "Opens a browser for a URL instead of printing",
EnvVar: "MANIFOLD_OPEN_BROWSER",
}
}
func roleFlag() cli.Flag {
return cli.StringFlag{
Name: "role",
Usage: "Specify a team role to be used",
}
}
func limitFlag() cli.Flag {
return cli.IntFlag{
Name: "limit",
Usage: "Specify a maximum number of items to be displayed",
Value: 10,
}
}
func offsetFlag() cli.Flag {
return cli.IntFlag{
Name: "offset",
Usage: "Specify a number of items to skip before displaying",
}
}
func verboseFlag() cli.Flag {
return cli.BoolFlag{
Name: "verbose",
Usage: "Make the command more talkative",
}
}