bingen.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package opencost
  2. ////////////////////////////////////////////////////////////////////////////////
  3. // NOTE: If you add fields to _any_ struct that is serialized by bingen, please
  4. // make sure to add those fields to the END of the struct definition. This is
  5. // required for backwards-compatibility. So:
  6. //
  7. // type Foo struct {
  8. // ExistingField1 string
  9. // ExistingField2 int
  10. // }
  11. //
  12. // becomes:
  13. //
  14. // type Foo struct {
  15. // ExistingField1 string
  16. // ExistingField2 int
  17. // NewField float64 // @bingen: <- annotation ref: bingen README
  18. // }
  19. //
  20. ////////////////////////////////////////////////////////////////////////////////
  21. // Default Version Set (uses -version flag passed) includes shared resources
  22. // @bingen:generate:Window
  23. // Asset Version Set: Includes Asset pipeline specific resources
  24. // @bingen:set[name=Assets,version=21]
  25. // @bingen:generate:Any
  26. // @bingen:generate:Asset
  27. // @bingen:generate:AssetLabels
  28. // @bingen:generate:AssetProperties
  29. // @bingen:generate:AssetProperty
  30. // @bingen:generate[streamable,stringtable,preprocess,postprocess]:AssetSet
  31. // @bingen:generate:AssetSetRange
  32. // @bingen:generate:Breakdown
  33. // @bingen:generate:Cloud
  34. // @bingen:generate:ClusterManagement
  35. // @bingen:generate:Disk
  36. // @bingen:generate:LoadBalancer
  37. // @bingen:generate:Network
  38. // @bingen:generate:Node
  39. // @bingen:generate:NodeOverhead
  40. // @bingen:generate:SharedAsset
  41. // @bingen:end
  42. // Allocation Version Set: Includes Allocation pipeline specific resources
  43. // @bingen:set[name=Allocation,version=25]
  44. // @bingen:generate[migrate]:Allocation
  45. // @bingen:generate[streamable,stringtable]:AllocationSet
  46. // @bingen:generate:AllocationSetRange
  47. // @bingen:generate:AllocationProperties
  48. // @bingen:generate:AllocationProperty
  49. // @bingen:generate:AllocationLabels
  50. // @bingen:generate:AllocationAnnotations
  51. // @bingen:generate:RawAllocationOnlyData
  52. // @bingen:generate:PVAllocations
  53. // @bingen:generate:PVKey
  54. // @bingen:generate:PVAllocation
  55. // @bingen:generate:LbAllocations
  56. // @bingen:generate:LbAllocation
  57. // @bingen:generate:GPUAllocation
  58. // @bingen:end
  59. // @bingen:set[name=CloudCost,version=3]
  60. // @bingen:generate:CloudCost
  61. // @bingen:generate:CostMetric
  62. // @bingen:generate[streamable,stringtable]:CloudCostSet
  63. // @bingen:generate:CloudCostSetRange
  64. // @bingen:generate:CloudCostProperties
  65. // @bingen:generate:CloudCostLabels
  66. // @bingen:end
  67. // @bingen:set[name=NetworkInsight,version=1]
  68. // @bingen:generate[streamable,stringtable]:NetworkInsightSet
  69. // @bingen:generate:NetworkInsight
  70. // @bingen:generate:NetworkTrafficDirection
  71. // @bingen:generate:NetworkTrafficType
  72. // @bingen:generate:NetworkDetail
  73. // @bingen:generate:NetworkDetailsSet
  74. // @bingen:end
  75. //go:generate bingen -package=opencost -version=18 -buffer=github.com/opencost/opencost/core/pkg/util