func deepCopy_api_ResourceRequirements(in api.ResourceRequirements, out *api.ResourceRequirements, c *conversion.Cloner) error { if in.Limits != nil { out.Limits = make(api.ResourceList) for key, val := range in.Limits { newVal := new(resource.Quantity) if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { return err } out.Limits[key] = *newVal } } else { out.Limits = nil } if in.Requests != nil { out.Requests = make(api.ResourceList) for key, val := range in.Requests { newVal := new(resource.Quantity) if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { return err } out.Requests[key] = *newVal } } else { out.Requests = nil } return nil }
func mockResources() kapi.ResourceRequirements { res := kapi.ResourceRequirements{} res.Limits = kapi.ResourceList{} res.Limits[kapi.ResourceCPU] = resource.MustParse("100m") res.Limits[kapi.ResourceMemory] = resource.MustParse("100Mi") return res }
func getResourceRequirements(cpu, memory string) api.ResourceRequirements { res := api.ResourceRequirements{} res.Limits = api.ResourceList{} if cpu != "" { res.Limits[api.ResourceCPU] = resource.MustParse(cpu) } if memory != "" { res.Limits[api.ResourceMemory] = resource.MustParse(memory) } return res }
// HandleResourceRequirements parses the limits and requests parameters if specified func HandleResourceRequirements(params map[string]string) (api.ResourceRequirements, error) { result := api.ResourceRequirements{} limits, err := populateResourceList(params["limits"]) if err != nil { return result, err } result.Limits = limits requests, err := populateResourceList(params["requests"]) if err != nil { return result, err } result.Requests = requests return result, nil }
// defaultContainerResourceRequirements returns the default requirements for a container // the requirement.Limits are taken from the LimitRange defaults (if specified) // the requirement.Requests are taken from the LimitRange min (if specified) func defaultContainerResourceRequirements(limitRange *api.LimitRange) api.ResourceRequirements { requirements := api.ResourceRequirements{} requirements.Limits = api.ResourceList{} requirements.Requests = api.ResourceList{} for i := range limitRange.Spec.Limits { limit := limitRange.Spec.Limits[i] if limit.Type == api.LimitTypeContainer { for k, v := range limit.Default { value := v.Copy() requirements.Limits[k] = *value } } } return requirements }
func getPod(cpuLimit, memoryLimit string) *api.Pod { resources := api.ResourceRequirements{} if cpuLimit != "" || memoryLimit != "" { resources.Limits = make(api.ResourceList) } if cpuLimit != "" { resources.Limits[api.ResourceCPU] = resource.MustParse(cpuLimit) } if memoryLimit != "" { resources.Limits[api.ResourceMemory] = resource.MustParse(memoryLimit) } return &api.Pod{ Spec: api.PodSpec{ Containers: []api.Container{ { Name: "foo", Resources: resources, }, }, }, } }
func getResourceRequirements(requests, limits api.ResourceList) api.ResourceRequirements { res := api.ResourceRequirements{} res.Requests = requests res.Limits = limits return res }