type nodeBuilder … func makeNode(name string) nodeBuilder { … } func (nb nodeBuilder) withLabel(key, value string) nodeBuilder { … } type pvBuilder … func makePV(name, className string) pvBuilder { … } func (pvb pvBuilder) withNodeAffinity(keyValues map[string][]string) pvBuilder { … } func (pvb pvBuilder) withVersion(version string) pvBuilder { … } func (pvb pvBuilder) withCapacity(capacity resource.Quantity) pvBuilder { … } func (pvb pvBuilder) withPhase(phase v1.PersistentVolumePhase) pvBuilder { … } type pvcBuilder … func makePVC(name string, storageClassName string) pvcBuilder { … } func (pvcb pvcBuilder) withBoundPV(pvName string) pvcBuilder { … } func (pvcb pvcBuilder) withRequestStorage(request resource.Quantity) pvcBuilder { … } func (pvcb pvcBuilder) withPhase(phase v1.PersistentVolumeClaimPhase) pvcBuilder { … } type podBuilder … func makePod(name string) podBuilder { … } func (pb podBuilder) withNodeName(name string) podBuilder { … } func (pb podBuilder) withNamespace(name string) podBuilder { … } func (pb podBuilder) withPVCVolume(pvcName, name string) podBuilder { … } func (pb podBuilder) withPVCSVolume(pvcs []*v1.PersistentVolumeClaim) podBuilder { … } func (pb podBuilder) withEmptyDirVolume() podBuilder { … } func (pb podBuilder) withGenericEphemeralVolume(name string) podBuilder { … } func (pb podBuilder) withCSI(driver string) podBuilder { … }