/
defaultPolicies.go
44 lines (36 loc) 路 1.14 KB
/
defaultPolicies.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
package defaultPolicies
import (
_ "embed"
yamlConvertor "github.com/ghodss/yaml"
)
type EvaluationPrerunPolicies struct {
ApiVersion string `json:"apiVersion"`
CustomRules []*CustomRule `json:"customRules"`
Policies []*Policy `json:"policies"`
}
type CustomRule struct {
Identifier string `json:"identifier"`
Name string `json:"name"`
DefaultMessageOnFailure string `json:"defaultMessageOnFailure"`
Schema interface{} `json:"schema"`
JsonSchema string `json:"jsonSchema"`
}
type Rule struct {
Identifier string `json:"identifier"`
MessageOnFailure string `json:"messageOnFailure"`
}
type Policy struct {
Name string `json:"name"`
IsDefault bool `json:"isDefault,omitempty"`
Rules []Rule `json:"rules"`
}
//go:embed defaultPolicies.yaml
var DefaultPoliciesFileContent string
func GetDefaultPoliciesStruct() *EvaluationPrerunPolicies {
var defaultPolicies EvaluationPrerunPolicies
err := yamlConvertor.Unmarshal([]byte(DefaultPoliciesFileContent), &defaultPolicies)
if err != nil {
panic(err)
}
return &defaultPolicies
}