-
Notifications
You must be signed in to change notification settings - Fork 8
/
commondatastructures.go
131 lines (117 loc) · 6.33 KB
/
commondatastructures.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
package containerscan
import (
"time"
"github.com/armosec/armoapi-go/armotypes"
"github.com/armosec/armoapi-go/identifiers"
)
type RelevantLabel string
const RelevantLabelYes RelevantLabel = "yes"
const RelevantLabelNo RelevantLabel = "no"
const RelevantLabelNotExists RelevantLabel = ""
type CommonContainerVulnerabilityResult struct {
Designators identifiers.PortalDesignator `json:"designators"`
IntroducedInLayer string `json:"layerHash"`
WLID string `json:"wlid"`
ContainerScanID string `json:"containersScanID"`
Vulnerability `json:",inline"`
Layers []ESLayer `json:"layers"`
LayersNested []ESLayer `json:"layersNested"`
Context []identifiers.ArmoContext `json:"context"`
RelevantLinks []string `json:"links"`
RelatedExceptions []armotypes.VulnerabilityExceptionPolicy `json:"relatedExceptions,omitempty"`
Timestamp int64 `json:"timestamp"`
IsLastScan int `json:"isLastScan"`
IsFixed int `json:"isFixed"`
RelevantLabel RelevantLabel `json:"relevantLabel"`
ClusterShortName string `json:"clusterShortName"`
}
type TopVulItem struct {
Vulnerability `json:",inline"`
WorkloadsCount int64 `json:"workloadsCount"`
SeverityOverall int64 `json:"severityOverall"`
}
type ESLayer struct {
LayerHash string `json:"layerHash"`
ParentLayerHash string `json:"parentLayerHash"`
*LayerInfo
}
type LayerInfo struct {
CreatedBy string `json:"createdBy,omitempty"`
CreatedTime *time.Time `json:"createdTime,omitempty"`
LayerOrder int `json:"layerOrder,omitempty"` // order 0 is first layer in the list
}
type SeverityStats struct {
Severity string `json:"severity,omitempty"`
HealthStatus string `json:"healthStatus"`
TotalCount int64 `json:"total"`
RCEFixCount int64 `json:"rceFixCount"`
RelevantFixCount int64 `json:"relevantFixCount"`
FixAvailableOfTotalCount int64 `json:"fixedTotal"`
RelevantCount int64 `json:"relevantTotal"`
RCECount int64 `json:"rceTotal"`
UrgentCount int64 `json:"urgent"`
NeglectedCount int64 `json:"neglected"`
RelevancyScanCount int64 `json:"relevancyScanCount"`
}
type ShortVulnerabilityResult struct {
Name string `json:"name"`
}
type CommonContainerScanSeveritySummary struct {
Designators identifiers.PortalDesignator `json:"designators"`
SeverityStats
ImgTag string `json:"imageTag"`
ContainerName string `json:"containerName"`
CustomerGUID string `json:"customerGUID"`
ContainerScanID string `json:"containersScanID"`
DayDate string `json:"dayDate"`
WLID string `json:"wlid"`
Version string `json:"version"`
ImgHash string `json:"imageHash"`
Cluster string `json:"cluster"`
Namespace string `json:"namespace"`
VersionImage string `json:"versionImage"`
Status string `json:"status"`
Registry string `json:"registry"`
JobIDs []string `json:"jobIDs"`
Context []identifiers.ArmoContext `json:"context"`
Timestamp int64 `json:"timestamp"`
}
type CommonContainerScanSummaryResult struct {
Designators identifiers.PortalDesignator `json:"designators"`
SeverityStats
Version string `json:"version"`
Registry string `json:"registry"`
CustomerGUID string `json:"customerGUID"`
ContainerScanID string `json:"containersScanID"`
ImageSignatureValidationError string `json:"imageSignatureValidationError,omitempty"`
WLID string `json:"wlid"`
ImageID string `json:"imageHash"`
ImageTag string `json:"imageTag"`
ClusterName string `json:"cluster"`
ClusterShortName string `json:"clusterShortName"`
Namespace string `json:"namespace"`
ApiVersion string `json:"apiVersion"`
ContainerName string `json:"containerName"`
ImageTagSuffix string `json:"versionImage"`
Status string `json:"status"`
ExcludedSeveritiesStats []SeverityStats `json:"excludedSeveritiesStats,omitempty"`
PackagesName []string `json:"packages"`
SeveritiesStats []SeverityStats `json:"severitiesStats"`
JobIDs []string `json:"jobIDs"`
Vulnerabilities []ShortVulnerabilityResult `json:"vulnerabilities"`
Context []identifiers.ArmoContext `json:"context"`
Timestamp int64 `json:"timestamp"`
ImageSignatureValid bool `json:"imageSignatureValid,omitempty"`
ImageHasSignature bool `json:"imageHasSignature,omitempty"`
RelevantLabel RelevantLabel `json:"relevantLabel"`
HasRelevancyData bool `json:"hasRelevancyData"`
}
type CommonContainerScanSummaryResultStub struct {
CommonContainerScanSummaryResult `json:",inline"`
IsStub bool `json:"isStub,omitempty"`
ErrorsList []string `json:"errors,omitempty"`
}
type DesignatorsToVulnerabilityNames struct {
Designators identifiers.PortalDesignator `json:"designators"`
VulnerabilityNames []string `json:"vulnerabilityNames"`
}