/
rule.go
31 lines (27 loc) 路 1.27 KB
/
rule.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
package evaluation
import "github.com/datreeio/datree/pkg/cliClient"
type Rule struct {
Identifier string
Name string
MessageOnFailure string
DocumentationUrl string
OccurrencesDetails []OccurrenceDetails
}
func (rp *Rule) GetFailedOccurrencesCount() int {
count := 0
for _, occurrence := range rp.OccurrencesDetails {
if !occurrence.IsSkipped {
count += occurrence.Occurrences
}
}
return count
}
type OccurrenceDetails struct {
MetadataName string `yaml:"metadataName" json:"metadataName" xml:"metadataName"`
Kind string `yaml:"kind" json:"kind" xml:"kind"`
SkipMessage string `yaml:"skipMessage" json:"skipMessage" xml:"skipMessage"`
Occurrences int `yaml:"occurrences" json:"occurrences" xml:"occurrences"`
IsSkipped bool `yaml:"isSkipped" json:"isSkipped" xml:"isSkipped"`
FailureLocations []cliClient.FailureLocation `yaml:"failureLocations" json:"failureLocations" xml:"failureLocations"`
ValidationFailureMessages []string `yaml:"validationFailureMessages" json:"validationFailureMessages" xml:"validationFailureMessages"`
}