/
types.go
58 lines (47 loc) · 1.72 KB
/
types.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
/*
Copyright 2019 The metaGraf Authors
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 cmd
import (
"strings"
log "k8s.io/klog"
)
type CmdMessage string
const (
errNoSecretNameProvided string = "Name for Secret not provided. Aborting."
)
var StrActiveProject CmdMessage = "Active project is:"
var StrMissingMetaGraf CmdMessage = "Missing path to metaGraf specification."
var StrMissingCollection CmdMessage = "Missing path to collection of metaGraf specifications."
var StrMissingNamespace CmdMessage = "Namespace must be supplied or configured."
var StrMalformedVar CmdMessage = "Malformed key=value pair supplied through --cvars :"
// Type for mg custom variables
type EnvVars map[string]string // Map for holding addressable key, value pairs from os.Environ().
type CmdCVars []string // Map
type CmdVars map[string]string
// Returns a map (CmdVars) parsed from --cvars flag
// todo: fix parsing of , seperated values for a key
func (v CmdCVars) Parse() CmdVars {
cm := make(CmdVars)
for _, str := range v {
log.Info("Cmd Var string:", str)
split := strings.Split(str, "=")
if len(split) <= 1 {
log.Info("Split:", split)
log.Warning(StrMalformedVar)
continue
}
cm[split[0]] = split[1]
}
log.V(2).Info("CmdCVars: ", cm)
return cm
}