in cost-optimization/gke-shift-left-cost/api/builder_volumeclaim.go [44:66]
func buildVolumeClaimV1(volume *coreV1.PersistentVolumeClaim, conf CostimatorConfig) VolumeClaim {
conf = populateConfigNotProvided(conf)
storageClass := storageClassStandard
if volume.Spec.StorageClassName != (*string)(nil) && *volume.Spec.StorageClassName != "" {
storageClass = *volume.Spec.StorageClassName
}
res := volume.Spec.Resources
requests := res.Requests.Storage().Value()
limits := res.Limits.Storage().Value()
// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified
if requests == 0 {
requests = limits
}
if limits == 0 {
limits = requests
}
return VolumeClaim{
APIVersionKindName: buildAPIVersionKindName(volume.APIVersion, VolumeClaimKind, volume.GetNamespace(), volume.GetName()),
StorageClass: storageClass,
Requests: Resource{Storage: requests},
Limits: Resource{Storage: limits},
}
}