forked from intelsdi-x/snap
/
flags.go
145 lines (128 loc) · 3.75 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
/*
http://www.apache.org/licenses/LICENSE-2.0.txt
Copyright 2015,2016 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main
import "github.com/codegangsta/cli"
var (
// Main flags
flURL = cli.StringFlag{
Name: "url, u",
Usage: "Sets the URL to use",
EnvVar: "SNAP_URL",
Value: "http://localhost:8181",
}
flAPIVer = cli.StringFlag{
Name: "api-version, a",
Usage: "The snap API version",
Value: "v1",
}
flSecure = cli.BoolFlag{
Name: "insecure",
Usage: "Ignore certificate errors when snap's API is running HTTPS",
}
flRunning = cli.BoolFlag{
Name: "running",
Usage: "Shows running plugins",
}
flPassword = cli.BoolFlag{
Name: "password, p",
Usage: "Password for REST API authentication",
}
flConfig = cli.StringFlag{
Name: "config, c",
EnvVar: "SNAPCTL_CONFIG_PATH",
Usage: "Path to a config file",
Value: "",
}
// Plugin flags
flPluginAsc = cli.StringFlag{
Name: "plugin-asc, a",
Usage: "The plugin asc",
}
flPluginType = cli.StringFlag{
Name: "plugin-type, t",
Usage: "The plugin type",
}
flPluginName = cli.StringFlag{
Name: "plugin-name, n",
Usage: "The plugin name",
}
flPluginVersion = cli.IntFlag{
Name: "plugin-version, v",
Usage: "The plugin version",
}
// Task flags
flTaskName = cli.StringFlag{
Name: "name, n",
Usage: "Optional requirement for giving task names",
Value: "",
}
flTaskManifest = cli.StringFlag{
Name: "task-manifest, t",
Usage: "File path for task manifest to use for task creation.",
}
flWorkfowManifest = cli.StringFlag{
Name: "workflow-manifest, w",
Usage: "File path for workflow manifest to use for task creation",
}
flTaskSchedInterval = cli.StringFlag{
Name: "interval, i",
Usage: "Interval for the task schedule [ex (simple schedule): 250ms, 1s, 30m (cron schedule): \"0 * * * * *\"]",
}
flTaskSchedStartTime = cli.StringFlag{
Name: "start-time",
Usage: "Start time for the task schedule [defaults to now]",
}
flTaskSchedStopTime = cli.StringFlag{
Name: "stop-time",
Usage: "Start time for the task schedule [defaults to now]",
}
flTaskSchedStartDate = cli.StringFlag{
Name: "start-date",
Usage: "Start date for the task schedule [defaults to today]",
}
flTaskSchedStopDate = cli.StringFlag{
Name: "stop-date",
Usage: "Stop date for the task schedule [defaults to today]",
}
flTaskSchedDuration = cli.StringFlag{
Name: "duration, d",
Usage: "The amount of time to run the task [appends to start or creates a start time before a stop]",
}
flTaskSchedNoStart = cli.BoolFlag{
Name: "no-start",
Usage: "Do not start task on creation [normally started on creation]",
}
flTaskDeadline = cli.StringFlag{
Name: "deadline",
Usage: "The deadline for the task to be killed after started if the task runs too long (All tasks default to 5s)",
}
flTaskMaxFailures = cli.StringFlag{
Name: "max-failures",
Usage: "The number of consecutive failures before snap disables the task",
}
// metric
flMetricVersion = cli.IntFlag{
Name: "metric-version, v",
Usage: "The metric version. 0 (default) returns all. -1 returns latest.",
}
flMetricNamespace = cli.StringFlag{
Name: "metric-namespace, m",
Usage: "A metric namespace",
}
// general
flVerbose = cli.BoolFlag{
Name: "verbose",
Usage: "Verbose output",
}
)