code: func (vs *VSphere) DeleteVolume(vmDiskPath string) error {
  	klog.V(1).Infof("Starting to delete vSphere volume with vmDiskPath: %s", vmDiskPath)
  	deleteVolumeInternal := func(vmDiskPath string) error {
  		// Create context
  		ctx, cancel := context.WithCancel(context.Background())
  		defer cancel()
  		vsi, err := vs.getVSphereInstanceForServer(vs.cfg.Workspace.VCenterIP, ctx)
  		if err != nil {
  			return err
  		}
  		dc, err := vclib.GetDatacenter(ctx, vsi.conn, vs.cfg.Workspace.Datacenter)
  		if err != nil {
  			return err
  		}
  		disk := diskmanagers.VirtualDisk{
  			DiskPath:      vmDiskPath,
  			VolumeOptions: &vclib.VolumeOptions{},
  			VMOptions:     &vclib.VMOptions{},
  		}
  		err = disk.Delete(ctx, dc)
  		if err != nil {
  			klog.Errorf("Failed to delete vsphere volume with vmDiskPath: %s. err: %+v", vmDiskPath, err)
  		}
  		return err
  	}
  	requestTime := time.Now()
  	err := deleteVolumeInternal(vmDiskPath)
  	vclib.RecordvSphereMetric(vclib.OperationDeleteVolume, requestTime, err)
  	return err
  }
docs: // DeleteVolume deletes a volume given volume name.