parser.go 870 B

123456789101112131415161718192021222324
  1. package customcost
  2. import "github.com/opencost/opencost/core/pkg/filter/ast"
  3. // a slice of all the custom costs field instances the lexer should recognize as
  4. // valid left-hand comparators
  5. var customCostFilterFields = []*ast.Field{
  6. ast.NewField(CustomCostZoneProp),
  7. ast.NewField(CustomCostAccountNameProp),
  8. ast.NewField(CustomCostChargeCategoryProp),
  9. ast.NewField(CustomCostDescriptionProp),
  10. ast.NewField(CustomCostResourceNameProp),
  11. ast.NewField(CustomCostResourceTypeProp),
  12. ast.NewField(CustomCostProviderIdProp),
  13. ast.NewField(CustomCostUsageUnitProp),
  14. ast.NewField(CustomCostDomainProp),
  15. ast.NewField(CustomCostCostSourceProp),
  16. }
  17. // NewCustomCostFilterParser creates a new `ast.FilterParser` implementation
  18. // which uses CustomCost specific fields
  19. func NewCustomCostFilterParser() ast.FilterParser {
  20. return ast.NewFilterParser(customCostFilterFields)
  21. }