-
Notifications
You must be signed in to change notification settings - Fork 6
/
types.go
60 lines (55 loc) · 2.44 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
59
60
// Copyright 2021 Red Hat, Inc
//
// 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 content
// RuleContent wraps all the content available for a rule into a single structure.
type RuleContent struct {
Plugin RulePluginInfo `json:"plugin"`
ErrorKeys map[string]RuleErrorKeyContent `json:"error_keys"`
Generic string `json:"generic"`
Summary string `json:"summary"`
Resolution string `json:"resolution"`
MoreInfo string `json:"more_info"`
Reason string `json:"reason"`
HasReason bool
}
// RulePluginInfo is a Go representation of the `plugin.yaml`
// file inside of the rule content directory.
type RulePluginInfo struct {
Name string `yaml:"name" json:"name"`
NodeID string `yaml:"node_id" json:"node_id"`
ProductCode string `yaml:"product_code" json:"product_code"`
PythonModule string `yaml:"python_module" json:"python_module"`
}
// RuleErrorKeyContent wraps content of a single error key.
type RuleErrorKeyContent struct {
Metadata ErrorKeyMetadata `json:"metadata"`
TotalRisk int `json:"total_risk"`
Generic string `json:"generic"`
Summary string `json:"summary"`
Resolution string `json:"resolution"`
MoreInfo string `json:"more_info"`
Reason string `json:"reason"`
// DONTFIX has_reason until CCXDEV-5021
HasReason bool
}
// ErrorKeyMetadata is a Go representation of the `metadata.yaml`
// file inside of an error key content directory.
type ErrorKeyMetadata struct {
Description string `yaml:"description" json:"description"`
Impact string `yaml:"impact" json:"impact"`
Likelihood int `yaml:"likelihood" json:"likelihood"`
PublishDate string `yaml:"publish_date" json:"publish_date"`
Status string `yaml:"status" json:"status"`
Tags []string `yaml:"tags" json:"tags"`
}