-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathtypes.go
70 lines (58 loc) · 2.21 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
61
62
63
64
65
66
67
68
69
70
/*
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 main
// Documentation in literate-programming-style is available at:
// https://redhatinsights.github.io/insights-results-aggregator-cleaner/packages/types.html
// Definition of custom data types used by this tool.
// ClusterName represents name of cluster in format
// c8590f31-e97e-4b85-b506-c45ce1911a12 (it must be proper UUID).
type ClusterName string
// ClusterList represents a list of cluster names/ids (see ClusterName data
// type declared above)
type ClusterList []ClusterName
// TableAndKey represents a key for given table used by cleanup process. Each
// row is deleted by specifying table name and a key
type TableAndKey struct {
TableName string
KeyName string
}
// TableAndDeleteStatement represents a delete statement for the given table.
// The idea is to pass a parameter to filter by, for example a maximum age for
// a reported_at column
type TableAndDeleteStatement struct {
TableName string
DeleteStatement string
}
// Summary represents summary info to be displayed in a table after cleanup
// part
type Summary struct {
ProperClusterEntries int
ImproperClusterEntries int
DeletionsForTable map[string]int
}
// CliFlags represents structure holding all command line arguments and flags.
type CliFlags struct {
ShowVersion bool
ShowAuthors bool
ShowConfiguration bool
PrintSummaryTable bool
Output string
PerformCleanup bool
PerformCleanupAll bool
DryRun bool
DetectMultipleRuleDisable bool
FillInDatabase bool
VacuumDatabase bool
MaxAge string
Clusters string
}