aboutsummaryrefslogtreecommitdiff
path: root/pkg/k8s.io/api/core/v1/resource.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-03-16 04:27:41 -0400
committerGitHub <noreply@github.com>2022-03-16 04:27:41 -0400
commitbbae81a291159895d1dba841a591293eec6607c2 (patch)
treee881cbcd49da88b7033fd5074f57f361642b76b7 /pkg/k8s.io/api/core/v1/resource.go
parent772c6c22065efdba8ef98bc99f47c4fa628049c9 (diff)
parent19d0c5a8a311735bb98efc2bb5a95a2d2fce0477 (diff)
downloadpodman-bbae81a291159895d1dba841a591293eec6607c2.tar.gz
podman-bbae81a291159895d1dba841a591293eec6607c2.tar.bz2
podman-bbae81a291159895d1dba841a591293eec6607c2.zip
Merge pull request #13489 from Luap99/k8s
move k8s deps into podman
Diffstat (limited to 'pkg/k8s.io/api/core/v1/resource.go')
-rw-r--r--pkg/k8s.io/api/core/v1/resource.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/pkg/k8s.io/api/core/v1/resource.go b/pkg/k8s.io/api/core/v1/resource.go
new file mode 100644
index 000000000..9270054b3
--- /dev/null
+++ b/pkg/k8s.io/api/core/v1/resource.go
@@ -0,0 +1,60 @@
+/*
+Copyright 2017 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1
+
+import (
+ "github.com/containers/podman/v4/pkg/k8s.io/apimachinery/pkg/api/resource"
+)
+
+// Returns string version of ResourceName.
+func (rn ResourceName) String() string {
+ return string(rn)
+}
+
+// Cpu returns the Cpu limit if specified.
+// nolint:golint,stylecheck
+func (rl *ResourceList) Cpu() *resource.Quantity {
+ return rl.Name(ResourceCPU, resource.DecimalSI)
+}
+
+// Memory returns the Memory limit if specified.
+func (rl *ResourceList) Memory() *resource.Quantity {
+ return rl.Name(ResourceMemory, resource.BinarySI)
+}
+
+// Storage returns the Storage limit if specified.
+func (rl *ResourceList) Storage() *resource.Quantity {
+ return rl.Name(ResourceStorage, resource.BinarySI)
+}
+
+// Pods returns the list of pods
+func (rl *ResourceList) Pods() *resource.Quantity {
+ return rl.Name(ResourcePods, resource.DecimalSI)
+}
+
+// StorageEphemeral returns the list of ephemeral storage volumes, if any
+func (rl *ResourceList) StorageEphemeral() *resource.Quantity {
+ return rl.Name(ResourceEphemeralStorage, resource.BinarySI)
+}
+
+// Name returns the resource with name if specified, otherwise it returns a nil quantity with default format.
+func (rl *ResourceList) Name(name ResourceName, defaultFormat resource.Format) *resource.Quantity {
+ if val, ok := (*rl)[name]; ok {
+ return &val
+ }
+ return &resource.Quantity{Format: defaultFormat}
+}