...
1 package resource
2
3 import (
4 corev1 "k8s.io/api/core/v1"
5 )
6
7 type Resource string
8
9 const (
10 UIRequestResource Resource = "display.edge.ncr.com/ui-request"
11 AudioRequestResource Resource = "audio.edge.ncr.com/audio-request"
12 )
13
14 func (resource Resource) String() string {
15 return string(resource)
16 }
17
18 func (resource Resource) ResourceName() corev1.ResourceName {
19 return corev1.ResourceName(resource)
20 }
21
22
23
24 func ContainersHasResourceRequest(ctrs []corev1.Container, resource Resource) bool {
25 containers := findPodContainersWithResourceRequest(ctrs, resource)
26 return len(containers) > 0
27 }
28
29
30 func findPodContainersWithResourceRequest(ctrs []corev1.Container, resource Resource) []*corev1.Container {
31 containers := []*corev1.Container{}
32 for idx, container := range ctrs {
33 for resourceName := range container.Resources.Requests {
34 if resourceName == resource.ResourceName() {
35 containers = append(containers, &ctrs[idx])
36 }
37 }
38 }
39 return containers
40 }
41
View as plain text