diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2022-03-16 04:27:41 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-16 04:27:41 -0400 |
commit | bbae81a291159895d1dba841a591293eec6607c2 (patch) | |
tree | e881cbcd49da88b7033fd5074f57f361642b76b7 /pkg/k8s.io/api/core/v1/resource.go | |
parent | 772c6c22065efdba8ef98bc99f47c4fa628049c9 (diff) | |
parent | 19d0c5a8a311735bb98efc2bb5a95a2d2fce0477 (diff) | |
download | podman-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.go | 60 |
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} +} |