// accessModesIndexFunc is an indexing function that returns a persistent volume's AccessModes as a string func accessModesIndexFunc(obj interface{}) (string, error) { if pv, ok := obj.(*api.PersistentVolume); ok { modes := volume.GetAccessModesAsString(pv.Spec.AccessModes) return modes, nil } return "", fmt.Errorf("object is not a persistent volume: %v", obj) }
func printPersistentVolume(pv *api.PersistentVolume, w io.Writer, withNamespace bool, wide bool, columnLabels []string) error { var name string if withNamespace { name = types.NamespacedName{pv.Namespace, pv.Name}.String() } else { name = pv.Name } claimRefUID := "" if pv.Spec.ClaimRef != nil { claimRefUID += pv.Spec.ClaimRef.Namespace claimRefUID += "/" claimRefUID += pv.Spec.ClaimRef.Name } modesStr := volume.GetAccessModesAsString(pv.Spec.AccessModes) aQty := pv.Spec.Capacity[api.ResourceStorage] aSize := aQty.Value() if _, err := fmt.Fprintf(w, "%s\t%s\t%d\t%s\t%s\t%s\t%s", name, formatLabels(pv.Labels), aSize, modesStr, pv.Status.Phase, claimRefUID, pv.Status.Reason); err != nil { return err } _, err := fmt.Fprint(w, appendLabels(pv.Labels, columnLabels)) return err }
func printPersistentVolume(pv *api.PersistentVolume, w io.Writer) error { claimRefUID := "" if pv.Spec.ClaimRef != nil { claimRefUID += pv.Spec.ClaimRef.Name claimRefUID += " / " claimRefUID += string(pv.Spec.ClaimRef.UID) } modesStr := volume.GetAccessModesAsString(pv.Spec.AccessModes) aQty := pv.Spec.Capacity[api.ResourceStorage] aSize := aQty.Value() _, err := fmt.Fprintf(w, "%s\t%s\t%d\t%s\t%s\t%s\n", pv.Name, pv.Labels, aSize, modesStr, pv.Status.Phase, claimRefUID) return err }