Documentation
¶
Index ¶
- Constants
- func AllHTTPParamKeys() []string
- func AllocationFilterFromParamsV1(qp mapper.PrimitiveMapReader, labelConfig *kubecost.LabelConfig, ...) kubecost.AllocationFilter
- func GetAllocationFilterForTheAllocationProperty(allocationProp string) (string, error)
- func ParseAllocationFilterV1(filters FilterV1, labelConfig *kubecost.LabelConfig, ...) kubecost.AllocationFilter
- type FilterV1
Constants ¶
const ( ParamFilterClusters = "filterClusters" ParamFilterNodes = "filterNodes" ParamFilterNamespaces = "filterNamespaces" ParamFilterControllerKinds = "filterControllerKinds" ParamFilterControllers = "filterControllers" ParamFilterPods = "filterPods" ParamFilterContainers = "filterContainers" ParamFilterDepartments = "filterDepartments" ParamFilterEnvironments = "filterEnvironments" ParamFilterOwners = "filterOwners" ParamFilterProducts = "filterProducts" ParamFilterTeams = "filterTeams" ParamFilterAnnotations = "filterAnnotations" ParamFilterLabels = "filterLabels" ParamFilterServices = "filterServices" )
Variables ¶
This section is empty.
Functions ¶
func AllHTTPParamKeys ¶ added in v1.102.0
func AllHTTPParamKeys() []string
AllHTTPParamKeys returns all HTTP GET parameters used for v1 filters. It is intended to help validate HTTP queries in handlers to help avoid e.g. spelling errors.
func AllocationFilterFromParamsV1 ¶
func AllocationFilterFromParamsV1( qp mapper.PrimitiveMapReader, labelConfig *kubecost.LabelConfig, clusterMap clusters.ClusterMap, ) kubecost.AllocationFilter
AllocationFilterFromParamsV1 takes a set of HTTP query parameters and converts them to an AllocationFilter, which is a structured in-Go representation of a set of filters.
The HTTP query parameters are the "v1" filters attached to the Allocation API: "filterNamespaces=", "filterNodes=", etc.
It takes an optional LabelConfig, which if provided enables "label-mapped" filters like "filterDepartments".
It takes an optional ClusterMap, which if provided enables cluster name filtering. This turns all `filterClusters=foo` arguments into the equivalent of `clusterID = "foo" OR clusterName = "foo"`.
func GetAllocationFilterForTheAllocationProperty ¶ added in v1.104.0
func ParseAllocationFilterV1 ¶ added in v1.104.0
func ParseAllocationFilterV1(filters FilterV1, labelConfig *kubecost.LabelConfig, clusterMap clusters.ClusterMap) kubecost.AllocationFilter
ParseAllocationFilterV1 takes a FilterV1 struct and converts them to an AllocationFilter, which is a structured in-Go representation of a set of filters.
The HTTP query parameters are the "v1" filters attached to the Allocation API: "filterNamespaces=", "filterNodes=", etc.
It takes an optional LabelConfig, which if provided enables "label-mapped" filters like "filterDepartments".
It takes an optional ClusterMap, which if provided enables cluster name filtering. This turns all `filterClusters=foo` arguments into the equivalent of `clusterID = "foo" OR clusterName = "foo"`.
Types ¶
type FilterV1 ¶ added in v1.104.0
type FilterV1 struct {
Annotations []string `json:"annotations,omitempty"`
Containers []string `json:"containers,omitempty"`
Controllers []string `json:"controllers,omitempty"`
ControllerKinds []string `json:"controllerKinds,omitempty"`
Clusters []string `json:"clusters,omitempty"`
Departments []string `json:"departments,omitempty"`
Environments []string `json:"environments,omitempty"`
Labels []string `json:"labels,omitempty"`
Namespaces []string `json:"namespaces,omitempty"`
Nodes []string `json:"nodes,omitempty"`
Owners []string `json:"owners,omitempty"`
Pods []string `json:"pods,omitempty"`
Products []string `json:"products,omitempty"`
Services []string `json:"services,omitempty"`
Teams []string `json:"teams,omitempty"`
}
func ConvertFilterQueryParams ¶ added in v1.104.0
func ConvertFilterQueryParams(qp mapper.PrimitiveMapReader, labelConfig *kubecost.LabelConfig) FilterV1