| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699 |
- package source
- import (
- "time"
- "github.com/opencost/opencost/core/pkg/util"
- )
- const (
- ProviderLabel = "provider"
- AccountIDLabel = "account_id"
- ClusterNameLabel = "cluster_name"
- RegionLabel = "region"
- ClusterIDLabel = "cluster_id"
- NamespaceLabel = "namespace"
- NodeLabel = "node"
- InstanceLabel = "instance"
- InstanceTypeLabel = "instance_type"
- ContainerLabel = "container"
- PodLabel = "pod"
- PodNameLabel = "pod_name"
- ProviderIDLabel = "provider_id"
- DeviceLabel = "device"
- PVCLabel = "persistentvolumeclaim"
- PVLabel = "persistentvolume"
- StorageClassLabel = "storageclass"
- VolumeNameLabel = "volumename"
- ServiceLabel = "service"
- ServiceNameLabel = "service_name"
- IngressIPLabel = "ingress_ip"
- ProvisionerNameLabel = "provisioner_name"
- UIDLabel = "uid"
- KubernetesNodeLabel = "kubernetes_node"
- ModeLabel = "mode"
- ModelNameLabel = "modelName"
- UUIDLabel = "UUID"
- ResourceLabel = "resource"
- DeploymentLabel = "deployment"
- StatefulSetLabel = "statefulSet"
- ReplicaSetLabel = "replicaset"
- ResourceQuotaLabel = "resourcequota"
- OwnerNameLabel = "owner_name"
- OwnerKindLabel = "owner_kind"
- UnitLabel = "unit"
- InternetLabel = "internet"
- SameZoneLabel = "same_zone"
- SameRegionLabel = "same_region"
- NatGatewayLabel = "nat_gateway"
- )
- const (
- NoneLabelValue = "<none>"
- )
- // UptimeResult represents the first and last recorded sample timestamp within the query window
- type UptimeResult struct {
- UID string
- First time.Time
- Last time.Time
- }
- func (res *UptimeResult) GetStartEnd(windowStart, windowEnd time.Time, resolution time.Duration) (time.Time, time.Time) {
- first := res.First
- last := res.Last
- // The only corner-case here is what to do if you only get one timestamp.
- // This dilemma still requires the use of the resolution, and can be
- // clamped using the window. In this case, we want to honor the existence
- // of the pod by giving "one resolution" worth of duration, half on each
- // side of the given timestamp.
- if first.Equal(last) {
- first = first.Add(-1 * resolution / time.Duration(2))
- last = last.Add(resolution / time.Duration(2))
- }
- if first.Before(windowStart) {
- first = windowStart
- }
- if last.After(windowEnd) {
- last = windowEnd
- }
- // prevent end times in the future
- now := time.Now().UTC()
- if last.After(now) {
- last = now
- }
- return first, last
- }
- func DecodeUptimeResult(result *QueryResult) *UptimeResult {
- uid, _ := result.GetString(UIDLabel)
- first := time.Unix(int64(result.Values[0].Timestamp), 0).UTC()
- last := time.Unix(int64(result.Values[len(result.Values)-1].Timestamp), 0).UTC()
- return &UptimeResult{
- UID: uid,
- First: first,
- Last: last,
- }
- }
- type PVResult struct {
- UID string
- Cluster string
- PersistentVolume string
- }
- type PVUsedAvgResult struct {
- UID string
- Cluster string
- Namespace string
- PersistentVolumeClaim string
- Data []*util.Vector
- }
- func DecodePVUsedAvgResult(result *QueryResult) *PVUsedAvgResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pvc, _ := result.GetString(PVCLabel)
- return &PVUsedAvgResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- PersistentVolumeClaim: pvc,
- Data: result.Values,
- }
- }
- type PVActiveMinutesResult struct {
- UID string
- Cluster string
- PersistentVolume string
- Data []*util.Vector
- }
- func DecodePVActiveMinutesResult(result *QueryResult) *PVActiveMinutesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- pv, _ := result.GetString(PVLabel)
- return &PVActiveMinutesResult{
- UID: uid,
- Cluster: cluster,
- PersistentVolume: pv,
- Data: result.Values,
- }
- }
- type PVUsedMaxResult struct {
- UID string
- Cluster string
- Namespace string
- PersistentVolumeClaim string
- Data []*util.Vector
- }
- func DecodePVUsedMaxResult(result *QueryResult) *PVUsedMaxResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pvc, _ := result.GetString(PVCLabel)
- return &PVUsedMaxResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- PersistentVolumeClaim: pvc,
- Data: result.Values,
- }
- }
- type LocalStorageActiveMinutesResult struct {
- UID string
- Cluster string
- Node string
- ProviderID string
- Data []*util.Vector
- }
- func DecodeLocalStorageActiveMinutesResult(result *QueryResult) *LocalStorageActiveMinutesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- if node == "" {
- node, _ = result.GetInstance()
- }
- providerId, _ := result.GetProviderID()
- return &LocalStorageActiveMinutesResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- type LocalStorageCostResult struct {
- UID string
- Cluster string
- Instance string
- Device string
- Data []*util.Vector
- }
- func DecodeLocalStorageCostResult(result *QueryResult) *LocalStorageCostResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- instance, _ := result.GetInstance()
- device, _ := result.GetDevice()
- return &LocalStorageCostResult{
- UID: uid,
- Cluster: cluster,
- Instance: instance,
- Device: device,
- Data: result.Values,
- }
- }
- type LocalStorageUsedCostResult struct {
- UID string
- Cluster string
- Instance string
- Device string
- Data []*util.Vector
- }
- func DecodeLocalStorageUsedCostResult(result *QueryResult) *LocalStorageUsedCostResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- instance, _ := result.GetInstance()
- device, _ := result.GetDevice()
- return &LocalStorageUsedCostResult{
- UID: uid,
- Cluster: cluster,
- Instance: instance,
- Device: device,
- Data: result.Values,
- }
- }
- type LocalStorageUsedAvgResult struct {
- UID string
- Cluster string
- Instance string
- Device string
- Data []*util.Vector
- }
- func DecodeLocalStorageUsedAvgResult(result *QueryResult) *LocalStorageUsedAvgResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- instance, _ := result.GetInstance()
- device, _ := result.GetDevice()
- return &LocalStorageUsedAvgResult{
- UID: uid,
- Cluster: cluster,
- Instance: instance,
- Device: device,
- Data: result.Values,
- }
- }
- type LocalStorageUsedMaxResult struct {
- UID string
- Cluster string
- Instance string
- Device string
- Data []*util.Vector
- }
- func DecodeLocalStorageUsedMaxResult(result *QueryResult) *LocalStorageUsedMaxResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- instance, _ := result.GetInstance()
- device, _ := result.GetDevice()
- return &LocalStorageUsedMaxResult{
- UID: uid,
- Cluster: cluster,
- Instance: instance,
- Device: device,
- Data: result.Values,
- }
- }
- type LocalStorageBytesResult struct {
- UID string
- Cluster string
- Instance string
- Device string
- Data []*util.Vector
- }
- func DecodeLocalStorageBytesResult(result *QueryResult) *LocalStorageBytesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- instance, _ := result.GetInstance()
- device, _ := result.GetDevice()
- return &LocalStorageBytesResult{
- UID: uid,
- Cluster: cluster,
- Instance: instance,
- Device: device,
- Data: result.Values,
- }
- }
- type NodeActiveMinutesResult struct {
- UID string
- Cluster string
- Node string
- ProviderID string
- Data []*util.Vector
- }
- func DecodeNodeActiveMinutesResult(result *QueryResult) *NodeActiveMinutesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- providerId, _ := result.GetProviderID()
- return &NodeActiveMinutesResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- type NodeCPUCoresCapacityResult struct {
- UID string
- Cluster string
- Node string
- Data []*util.Vector
- }
- func DecodeNodeCPUCoresCapacityResult(result *QueryResult) *NodeCPUCoresCapacityResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- return &NodeCPUCoresCapacityResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- Data: result.Values,
- }
- }
- type NodeCPUCoresAllocatableResult = NodeCPUCoresCapacityResult
- func DecodeNodeCPUCoresAllocatableResult(result *QueryResult) *NodeCPUCoresAllocatableResult {
- return DecodeNodeCPUCoresCapacityResult(result)
- }
- type NodeRAMBytesCapacityResult struct {
- UID string
- Cluster string
- Node string
- Data []*util.Vector
- }
- func DecodeNodeRAMBytesCapacityResult(result *QueryResult) *NodeRAMBytesCapacityResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- return &NodeRAMBytesCapacityResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- Data: result.Values,
- }
- }
- type NodeRAMBytesAllocatableResult = NodeRAMBytesCapacityResult
- func DecodeNodeRAMBytesAllocatableResult(result *QueryResult) *NodeRAMBytesAllocatableResult {
- return DecodeNodeRAMBytesCapacityResult(result)
- }
- type NodeGPUCountResult struct {
- UID string
- Cluster string
- Node string
- ProviderID string
- Data []*util.Vector
- }
- func DecodeNodeGPUCountResult(result *QueryResult) *NodeGPUCountResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- providerId, _ := result.GetProviderID()
- return &NodeGPUCountResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- type NodeCPUModeTotalResult struct {
- UID string
- Cluster string
- Node string
- Mode string
- Data []*util.Vector
- }
- func DecodeNodeCPUModeTotalResult(result *QueryResult) *NodeCPUModeTotalResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetString(KubernetesNodeLabel)
- mode, _ := result.GetString(ModeLabel)
- return &NodeCPUModeTotalResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- Mode: mode,
- Data: result.Values,
- }
- }
- type NodeIsSpotResult struct {
- UID string
- Cluster string
- Node string
- ProviderID string
- Data []*util.Vector
- }
- func DecodeNodeIsSpotResult(result *QueryResult) *NodeIsSpotResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- providerId, _ := result.GetProviderID()
- return &NodeIsSpotResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- type NodeRAMSystemPercentResult struct {
- UID string
- Cluster string
- Instance string
- Data []*util.Vector
- }
- func DecodeNodeRAMSystemPercentResult(result *QueryResult) *NodeRAMSystemPercentResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- instance, _ := result.GetInstance()
- return &NodeRAMSystemPercentResult{
- UID: uid,
- Cluster: cluster,
- Instance: instance,
- Data: result.Values,
- }
- }
- type NodeRAMUserPercentResult = NodeRAMSystemPercentResult
- func DecodeNodeRAMUserPercentResult(result *QueryResult) *NodeRAMUserPercentResult {
- return DecodeNodeRAMSystemPercentResult(result)
- }
- type LBActiveMinutesResult struct {
- UID string
- Cluster string
- Namespace string
- Service string
- IngressIP string
- Data []*util.Vector
- }
- func DecodeLBActiveMinutesResult(result *QueryResult) *LBActiveMinutesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- service, _ := result.GetString(ServiceNameLabel)
- ingressIp, _ := result.GetString(IngressIPLabel)
- return &LBActiveMinutesResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Service: service,
- IngressIP: ingressIp,
- Data: result.Values,
- }
- }
- type LBPricePerHrResult = LBActiveMinutesResult
- func DecodeLBPricePerHrResult(result *QueryResult) *LBPricePerHrResult {
- return DecodeLBActiveMinutesResult(result)
- }
- type ClusterManagementDurationResult struct {
- UID string
- Cluster string
- Provisioner string
- Data []*util.Vector
- }
- func DecodeClusterManagementDurationResult(result *QueryResult) *ClusterManagementDurationResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- provisioner, _ := result.GetString(ProvisionerNameLabel)
- return &ClusterManagementDurationResult{
- UID: uid,
- Cluster: cluster,
- Provisioner: provisioner,
- Data: result.Values,
- }
- }
- type ClusterManagementPricePerHrResult = ClusterManagementDurationResult
- func DecodeClusterManagementPricePerHrResult(result *QueryResult) *ClusterManagementPricePerHrResult {
- return DecodeClusterManagementDurationResult(result)
- }
- type PodsResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Data []*util.Vector
- }
- func DecodePodsResult(result *QueryResult) *PodsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- return &PodsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Data: result.Values,
- }
- }
- type ContainerMetricResult struct {
- UID string
- Cluster string
- Node string
- Instance string
- Namespace string
- Pod string
- Container string
- Data []*util.Vector
- }
- func DecodeContainerMetricResult(result *QueryResult) *ContainerMetricResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- instance, _ := result.GetInstance()
- // NOTE: this addresses cases where the node isn't set, but the instance is,
- // NOTE: we just inherit the instance as the node
- if node == "" {
- node = instance
- }
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- return &ContainerMetricResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- Instance: instance,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Data: result.Values,
- }
- }
- type RAMBytesAllocatedResult = ContainerMetricResult
- func DecodeRAMBytesAllocatedResult(result *QueryResult) *RAMBytesAllocatedResult {
- return DecodeContainerMetricResult(result)
- }
- type RAMRequestsResult = ContainerMetricResult
- func DecodeRAMRequestsResult(result *QueryResult) *RAMRequestsResult {
- return DecodeContainerMetricResult(result)
- }
- type RAMLimitsResult = ContainerMetricResult
- func DecodeRAMLimitsResult(result *QueryResult) *RAMLimitsResult {
- return DecodeContainerMetricResult(result)
- }
- type RAMUsageAvgResult = ContainerMetricResult
- func DecodeRAMUsageAvgResult(result *QueryResult) *RAMUsageAvgResult {
- return DecodeContainerMetricResult(result)
- }
- type RAMUsageMaxResult = ContainerMetricResult
- func DecodeRAMUsageMaxResult(result *QueryResult) *RAMUsageMaxResult {
- return DecodeContainerMetricResult(result)
- }
- type NodeRAMPricePerGiBHrResult struct {
- UID string
- Cluster string
- Node string
- InstanceType string
- ProviderID string
- Data []*util.Vector
- }
- func DecodeNodeRAMPricePerGiBHrResult(result *QueryResult) *NodeRAMPricePerGiBHrResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- instanceType, _ := result.GetInstanceType()
- providerId, _ := result.GetProviderID()
- return &NodeRAMPricePerGiBHrResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- InstanceType: instanceType,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- type CPUCoresAllocatedResult = ContainerMetricResult
- func DecodeCPUCoresAllocatedResult(result *QueryResult) *CPUCoresAllocatedResult {
- return DecodeContainerMetricResult(result)
- }
- type CPURequestsResult = ContainerMetricResult
- func DecodeCPURequestsResult(result *QueryResult) *CPURequestsResult {
- return DecodeContainerMetricResult(result)
- }
- type CPULimitsResult = ContainerMetricResult
- func DecodeCPULimitsResult(result *QueryResult) *CPULimitsResult {
- return DecodeContainerMetricResult(result)
- }
- type CPUUsageAvgResult = ContainerMetricResult
- func DecodeCPUUsageAvgResult(result *QueryResult) *CPUUsageAvgResult {
- return DecodeContainerMetricResult(result)
- }
- type CPUUsageMaxResult = ContainerMetricResult
- func DecodeCPUUsageMaxResult(result *QueryResult) *CPUUsageMaxResult {
- return DecodeContainerMetricResult(result)
- }
- type NodeCPUPricePerHrResult struct {
- UID string
- Cluster string
- Node string
- InstanceType string
- ProviderID string
- Data []*util.Vector
- }
- func DecodeNodeCPUPricePerHrResult(result *QueryResult) *NodeCPUPricePerHrResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- instanceType, _ := result.GetInstanceType()
- providerId, _ := result.GetProviderID()
- return &NodeCPUPricePerHrResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- InstanceType: instanceType,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- // type alias requested result to allocated result, as you can only request a full GPU
- type GPUsRequestedResult = GPUsAllocatedResult
- func DecodeGPUsRequestedResult(result *QueryResult) *GPUsRequestedResult {
- return DecodeGPUsAllocatedResult(result)
- }
- type GPUsAllocatedResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Container string
- Data []*util.Vector
- }
- func DecodeGPUsAllocatedResult(result *QueryResult) *GPUsAllocatedResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- return &GPUsAllocatedResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Data: result.Values,
- }
- }
- type GPUsUsageAvgResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Container string
- Data []*util.Vector
- }
- func DecodeGPUsUsageAvgResult(result *QueryResult) *GPUsUsageAvgResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- return &GPUsUsageAvgResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Data: result.Values,
- }
- }
- type GPUsUsageMaxResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Container string
- Data []*util.Vector
- }
- func DecodeGPUsUsageMaxResult(result *QueryResult) *GPUsUsageMaxResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- return &GPUsUsageMaxResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Data: result.Values,
- }
- }
- type NodeGPUPricePerHrResult struct {
- UID string
- Cluster string
- Node string
- InstanceType string
- ProviderID string
- Data []*util.Vector
- }
- func DecodeNodeGPUPricePerHrResult(result *QueryResult) *NodeGPUPricePerHrResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- instanceType, _ := result.GetInstanceType()
- providerId, _ := result.GetProviderID()
- return &NodeGPUPricePerHrResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- InstanceType: instanceType,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- type GPUInfoResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Container string
- Device string
- ModelName string
- UUID string
- Data []*util.Vector
- }
- func DecodeGPUInfoResult(result *QueryResult) *GPUInfoResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- device, _ := result.GetString(DeviceLabel)
- modelName, _ := result.GetString(ModelNameLabel)
- uuid, _ := result.GetString(UUIDLabel)
- return &GPUInfoResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Device: device,
- ModelName: modelName,
- UUID: uuid,
- Data: result.Values,
- }
- }
- type IsGPUSharedResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Container string
- Resource string
- Data []*util.Vector
- }
- func DecodeIsGPUSharedResult(result *QueryResult) *IsGPUSharedResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- resource, _ := result.GetString(ResourceLabel)
- return &IsGPUSharedResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Resource: resource,
- Data: result.Values,
- }
- }
- type PodPVCAllocationResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- PersistentVolume string
- PersistentVolumeClaim string
- Data []*util.Vector
- }
- func DecodePodPVCAllocationResult(result *QueryResult) *PodPVCAllocationResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- pv, _ := result.GetString(PVLabel)
- pvc, _ := result.GetString(PVCLabel)
- return &PodPVCAllocationResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- PersistentVolume: pv,
- PersistentVolumeClaim: pvc,
- Data: result.Values,
- }
- }
- type PVCBytesRequestedResult struct {
- UID string
- Cluster string
- Namespace string
- PersistentVolumeClaim string
- Data []*util.Vector
- }
- func DecodePVCBytesRequestedResult(result *QueryResult) *PVCBytesRequestedResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pvc, _ := result.GetString(PVCLabel)
- return &PVCBytesRequestedResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- PersistentVolumeClaim: pvc,
- Data: result.Values,
- }
- }
- type PVCInfoResult struct {
- UID string
- Cluster string
- Namespace string
- VolumeName string
- PersistentVolumeClaim string
- StorageClass string
- Data []*util.Vector
- }
- func DecodePVCInfoResult(result *QueryResult) *PVCInfoResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- volumeName, _ := result.GetString(VolumeNameLabel)
- pvc, _ := result.GetString(PVCLabel)
- storageClass, _ := result.GetString(StorageClassLabel)
- return &PVCInfoResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- VolumeName: volumeName,
- PersistentVolumeClaim: pvc,
- StorageClass: storageClass,
- Data: result.Values,
- }
- }
- type PVBytesResult struct {
- UID string
- Cluster string
- PersistentVolume string
- Data []*util.Vector
- }
- func DecodePVBytesResult(result *QueryResult) *PVBytesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- pv, _ := result.GetString(PVLabel)
- return &PVBytesResult{
- UID: uid,
- Cluster: cluster,
- PersistentVolume: pv,
- Data: result.Values,
- }
- }
- type PVPricePerGiBHourResult struct {
- UID string
- Cluster string
- VolumeName string
- PersistentVolume string
- ProviderID string
- Data []*util.Vector
- }
- func DecodePVPricePerGiBHourResult(result *QueryResult) *PVPricePerGiBHourResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- volumeName, _ := result.GetString(VolumeNameLabel)
- pv, _ := result.GetString(PVLabel)
- providerId, _ := result.GetProviderID()
- return &PVPricePerGiBHourResult{
- UID: uid,
- Cluster: cluster,
- VolumeName: volumeName,
- PersistentVolume: pv,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- type PVInfoResult struct {
- UID string
- Cluster string
- PersistentVolume string
- StorageClass string
- ProviderID string
- Data []*util.Vector
- }
- func DecodePVInfoResult(result *QueryResult) *PVInfoResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- storageClass, _ := result.GetString(StorageClassLabel)
- providerId, _ := result.GetProviderID()
- pv, _ := result.GetString(PVLabel)
- return &PVInfoResult{
- UID: uid,
- Cluster: cluster,
- PersistentVolume: pv,
- StorageClass: storageClass,
- ProviderID: providerId,
- Data: result.Values,
- }
- }
- // Base type for network usage results
- type NetworkGiBResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Service string
- Data []*util.Vector
- }
- func DecodeNetworkGiBResult(result *QueryResult) *NetworkGiBResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- service, _ := result.GetString(ServiceLabel)
- return &NetworkGiBResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Service: service,
- Data: result.Values,
- }
- }
- // Base type for network price results
- type NetworkPricePerGiBResult struct {
- UID string
- Cluster string
- Data []*util.Vector
- }
- func DecodeNetworkPricePerGiBResult(result *QueryResult) *NetworkPricePerGiBResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- return &NetworkPricePerGiBResult{
- UID: uid,
- Cluster: cluster,
- Data: result.Values,
- }
- }
- // Type alias the specific network subclassification results AND price results
- type NetZoneGiBResult = NetworkGiBResult
- type NetZonePricePerGiBResult = NetworkPricePerGiBResult
- type NetRegionGiBResult = NetworkGiBResult
- type NetRegionPricePerGiBResult = NetworkPricePerGiBResult
- type NetInternetGiBResult = NetworkGiBResult
- type NetInternetPricePerGiBResult = NetworkPricePerGiBResult
- type NetInternetServiceGiBResult = NetworkGiBResult
- type NetNatGatewayPricePerGiBResult = NetworkPricePerGiBResult
- type NetNatGatewayGiBResult = NetworkGiBResult
- type NetZoneIngressGiBResult = NetworkGiBResult
- type NetRegionIngressGiBResult = NetworkGiBResult
- type NetInternetIngressGiBResult = NetworkGiBResult
- type NetInternetServiceIngressGiBResult = NetworkGiBResult
- type NetNatGatewayIngressGiBResult = NetworkGiBResult
- func DecodeNetZoneGiBResult(result *QueryResult) *NetZoneGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetZonePricePerGiBResult(result *QueryResult) *NetZonePricePerGiBResult {
- return DecodeNetworkPricePerGiBResult(result)
- }
- func DecodeNetRegionGiBResult(result *QueryResult) *NetRegionGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetRegionPricePerGiBResult(result *QueryResult) *NetRegionPricePerGiBResult {
- return DecodeNetworkPricePerGiBResult(result)
- }
- func DecodeNetInternetGiBResult(result *QueryResult) *NetInternetGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetInternetPricePerGiBResult(result *QueryResult) *NetInternetPricePerGiBResult {
- return DecodeNetworkPricePerGiBResult(result)
- }
- func DecodeNetInternetServiceGiBResult(result *QueryResult) *NetInternetServiceGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetNatGatewayPricePerGiBResult(result *QueryResult) *NetNatGatewayPricePerGiBResult {
- return DecodeNetworkPricePerGiBResult(result)
- }
- func DecodeNetNatGatewayGiBResult(result *QueryResult) *NetNatGatewayGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetZoneIngressGiBResult(result *QueryResult) *NetZoneIngressGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetRegionIngressGiBResult(result *QueryResult) *NetRegionIngressGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetInternetIngressGiBResult(result *QueryResult) *NetInternetIngressGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetInternetServiceIngressGiBResult(result *QueryResult) *NetInternetServiceIngressGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- func DecodeNetNatGatewayIngressGiBResult(result *QueryResult) *NetNatGatewayIngressGiBResult {
- return DecodeNetworkGiBResult(result)
- }
- type NetReceiveBytesResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Container string
- Data []*util.Vector
- }
- func DecodeNetReceiveBytesResult(result *QueryResult) *NetReceiveBytesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- return &NetReceiveBytesResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Data: result.Values,
- }
- }
- type NetTransferBytesResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Container string
- Data []*util.Vector
- }
- func DecodeNetTransferBytesResult(result *QueryResult) *NetTransferBytesResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- container, _ := result.GetContainer()
- return &NetTransferBytesResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Container: container,
- Data: result.Values,
- }
- }
- type NamespaceAnnotationsResult struct {
- UID string
- Cluster string
- Namespace string
- Annotations map[string]string
- Data []*util.Vector
- }
- func DecodeNamespaceAnnotationsResult(result *QueryResult) *NamespaceAnnotationsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- annotations := result.GetAnnotations()
- return &NamespaceAnnotationsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Annotations: annotations,
- Data: result.Values,
- }
- }
- type PodAnnotationsResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Annotations map[string]string
- Data []*util.Vector
- }
- func DecodePodAnnotationsResult(result *QueryResult) *PodAnnotationsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- annotations := result.GetAnnotations()
- return &PodAnnotationsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Annotations: annotations,
- Data: result.Values,
- }
- }
- type NodeLabelsResult struct {
- UID string
- Cluster string
- Node string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodeNodeLabelsResult(result *QueryResult) *NodeLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- node, _ := result.GetNode()
- labels := result.GetLabels()
- return &NodeLabelsResult{
- UID: uid,
- Cluster: cluster,
- Node: node,
- Labels: labels,
- Data: result.Values,
- }
- }
- type NamespaceLabelsResult struct {
- UID string
- Cluster string
- Namespace string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodeNamespaceLabelsResult(result *QueryResult) *NamespaceLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- labels := result.GetLabels()
- return &NamespaceLabelsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Labels: labels,
- Data: result.Values,
- }
- }
- type PodLabelsResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodePodLabelsResult(result *QueryResult) *PodLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- labels := result.GetLabels()
- return &PodLabelsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Labels: labels,
- Data: result.Values,
- }
- }
- type ServiceLabelsResult struct {
- UID string
- Cluster string
- Namespace string
- Service string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodeServiceLabelsResult(result *QueryResult) *ServiceLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- service, _ := result.GetString(ServiceLabel)
- labels := result.GetLabels()
- return &ServiceLabelsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Service: service,
- Labels: labels,
- Data: result.Values,
- }
- }
- type DeploymentLabelsResult struct {
- UID string
- Cluster string
- Namespace string
- Deployment string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodeDeploymentLabelsResult(result *QueryResult) *DeploymentLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- deployment, _ := result.GetString(DeploymentLabel)
- labels := result.GetLabels()
- return &DeploymentLabelsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Deployment: deployment,
- Labels: labels,
- Data: result.Values,
- }
- }
- type StatefulSetLabelsResult struct {
- UID string
- Cluster string
- Namespace string
- StatefulSet string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodeStatefulSetLabelsResult(result *QueryResult) *StatefulSetLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- statefulSet, _ := result.GetString(StatefulSetLabel)
- labels := result.GetLabels()
- return &StatefulSetLabelsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- StatefulSet: statefulSet,
- Labels: labels,
- Data: result.Values,
- }
- }
- type DaemonSetLabelsResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- DaemonSet string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodeDaemonSetLabelsResult(result *QueryResult) *DaemonSetLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- daemonSet, _ := result.GetString(OwnerNameLabel)
- labels := result.GetLabels()
- return &DaemonSetLabelsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- DaemonSet: daemonSet,
- Labels: labels,
- Data: result.Values,
- }
- }
- type JobLabelsResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- Job string
- Labels map[string]string
- Data []*util.Vector
- }
- func DecodeJobLabelsResult(result *QueryResult) *JobLabelsResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- pod, _ := result.GetPod()
- job, _ := result.GetString(OwnerNameLabel)
- labels := result.GetLabels()
- return &JobLabelsResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- Job: job,
- Labels: labels,
- Data: result.Values,
- }
- }
- type PodsWithReplicaSetOwnerResult struct {
- UID string
- Cluster string
- Namespace string
- Pod string
- ReplicaSet string
- Data []*util.Vector
- }
- func DecodePodsWithReplicaSetOwnerResult(result *QueryResult) *PodsWithReplicaSetOwnerResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- replicaSet, _ := result.GetString(OwnerNameLabel)
- pod, _ := result.GetPod()
- return &PodsWithReplicaSetOwnerResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- Pod: pod,
- ReplicaSet: replicaSet,
- Data: result.Values,
- }
- }
- type ReplicaSetsWithoutOwnersResult struct {
- UID string
- Cluster string
- Namespace string
- ReplicaSet string
- Data []*util.Vector
- }
- func DecodeReplicaSetsWithoutOwnersResult(result *QueryResult) *ReplicaSetsWithoutOwnersResult {
- uid, _ := result.GetString(UIDLabel)
- return &ReplicaSetsWithoutOwnersResult{
- UID: uid,
- Data: result.Values,
- }
- }
- type ReplicaSetsWithRolloutResult struct {
- UID string
- Cluster string
- Namespace string
- ReplicaSet string
- OwnerName string
- OwnerKind string
- Data []*util.Vector
- }
- func DecodeReplicaSetsWithRolloutResult(result *QueryResult) *ReplicaSetsWithRolloutResult {
- uid, _ := result.GetString(UIDLabel)
- cluster, _ := result.GetCluster()
- namespace, _ := result.GetNamespace()
- replicaSet, _ := result.GetString(ReplicaSetLabel)
- ownerName, _ := result.GetString(OwnerNameLabel)
- ownerKind, _ := result.GetString(OwnerKindLabel)
- return &ReplicaSetsWithRolloutResult{
- UID: uid,
- Cluster: cluster,
- Namespace: namespace,
- ReplicaSet: replicaSet,
- OwnerName: ownerName,
- OwnerKind: ownerKind,
- Data: result.Values,
- }
- }
- type ResourceQuotaMetricResult struct {
- UID string
- Namespace string
- ResourceQuota string
- Resource string
- Unit string
- Data []*util.Vector
- }
- func DecodeResourceQuotaMetricResult(result *QueryResult) *ResourceQuotaMetricResult {
- uid, _ := result.GetString(UIDLabel)
- namespace, _ := result.GetNamespace()
- resourceQuota, _ := result.GetString(ResourceQuotaLabel)
- resource, _ := result.GetString(ResourceLabel)
- unit, _ := result.GetString(UnitLabel)
- return &ResourceQuotaMetricResult{
- UID: uid,
- Namespace: namespace,
- ResourceQuota: resourceQuota,
- Resource: resource,
- Unit: unit,
- Data: result.Values,
- }
- }
- type ResourceQuotaSpecCPURequestAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecCPURequestAvgResult(result *QueryResult) *ResourceQuotaSpecCPURequestAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaSpecCPURequestMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecCPURequestMaxResult(result *QueryResult) *ResourceQuotaSpecCPURequestMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaSpecRAMRequestAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecRAMRequestAvgResult(result *QueryResult) *ResourceQuotaSpecRAMRequestAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaSpecRAMRequestMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecRAMRequestMaxResult(result *QueryResult) *ResourceQuotaSpecRAMRequestMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaSpecCPULimitAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecCPULimitAvgResult(result *QueryResult) *ResourceQuotaSpecCPULimitAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaSpecCPULimitMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecCPULimitMaxResult(result *QueryResult) *ResourceQuotaSpecCPULimitMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaSpecRAMLimitAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecRAMLimitAvgResult(result *QueryResult) *ResourceQuotaSpecRAMLimitAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaSpecRAMLimitMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaSpecRAMLimitMaxResult(result *QueryResult) *ResourceQuotaSpecRAMLimitMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedCPURequestAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedCPURequestAvgResult(result *QueryResult) *ResourceQuotaStatusUsedCPURequestAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedCPURequestMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedCPURequestMaxResult(result *QueryResult) *ResourceQuotaStatusUsedCPURequestMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedRAMRequestAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedRAMRequestAvgResult(result *QueryResult) *ResourceQuotaStatusUsedRAMRequestAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedRAMRequestMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedRAMRequestMaxResult(result *QueryResult) *ResourceQuotaStatusUsedRAMRequestMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedCPULimitAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedCPULimitAvgResult(result *QueryResult) *ResourceQuotaStatusUsedCPULimitAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedCPULimitMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedCPULimitMaxResult(result *QueryResult) *ResourceQuotaStatusUsedCPULimitMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedRAMLimitAvgResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedRAMLimitAvgResult(result *QueryResult) *ResourceQuotaStatusUsedRAMLimitAvgResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- type ResourceQuotaStatusUsedRAMLimitMaxResult = ResourceQuotaMetricResult
- func DecodeResourceQuotaStatusUsedRAMLimitMaxResult(result *QueryResult) *ResourceQuotaStatusUsedRAMLimitMaxResult {
- return DecodeResourceQuotaMetricResult(result)
- }
- func DecodeAll[T any](results []*QueryResult, decode ResultDecoder[T]) []*T {
- decoded := make([]*T, 0, len(results))
- for _, result := range results {
- decoded = append(decoded, decode(result))
- }
- return decoded
- }
|