/
bingen.go
74 lines (68 loc) · 2.38 KB
/
bingen.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
package kubecost
////////////////////////////////////////////////////////////////////////////////
// NOTE: If you add fields to _any_ struct that is serialized by bingen, please
// make sure to add those fields to the END of the struct definition. This is
// required for backwards-compatibility. So:
//
// type Foo struct {
// ExistingField1 string
// ExistingField2 int
// }
//
// becomes:
//
// type Foo struct {
// ExistingField1 string
// ExistingField2 int
// NewField float64 // @bingen: <- annotation ref: bingen README
// }
//
////////////////////////////////////////////////////////////////////////////////
// Default Version Set (uses -version flag passed) includes shared resources
// @bingen:generate:Window
// @bingen:generate:Coverage
// @bingen:generate:CoverageSet
// Asset Version Set: Includes Asset pipeline specific resources
// @bingen:set[name=Assets,version=21]
// @bingen:generate:Any
// @bingen:generate:Asset
// @bingen:generate:AssetLabels
// @bingen:generate:AssetProperties
// @bingen:generate:AssetProperty
// @bingen:generate[stringtable,preprocess,postprocess]:AssetSet
// @bingen:generate:AssetSetRange
// @bingen:generate:Breakdown
// @bingen:generate:Cloud
// @bingen:generate:ClusterManagement
// @bingen:generate:Disk
// @bingen:generate:LoadBalancer
// @bingen:generate:Network
// @bingen:generate:Node
// @bingen:generate:NodeOverhead
// @bingen:generate:SharedAsset
// @bingen:end
// Allocation Version Set: Includes Allocation pipeline specific resources
// @bingen:set[name=Allocation,version=20]
// @bingen:generate:Allocation
// @bingen:generate[stringtable]:AllocationSet
// @bingen:generate:AllocationSetRange
// @bingen:generate:AllocationProperties
// @bingen:generate:AllocationProperty
// @bingen:generate:AllocationLabels
// @bingen:generate:AllocationAnnotations
// @bingen:generate:RawAllocationOnlyData
// @bingen:generate:PVAllocations
// @bingen:generate:PVKey
// @bingen:generate:PVAllocation
// @bingen:generate:LbAllocations
// @bingen:generate:LbAllocation
// @bingen:end
// @bingen:set[name=CloudCost,version=2]
// @bingen:generate:CloudCost
// @bingen:generate:CostMetric
// @bingen:generate[stringtable]:CloudCostSet
// @bingen:generate:CloudCostSetRange
// @bingen:generate:CloudCostProperties
// @bingen:generate:CloudCostLabels
// @bingen:end
//go:generate bingen -package=kubecost -version=17 -buffer=github.com/tkennes/openghg/pkg/util