code: func diskApplyOperationDelete(
  	index int,
  	oldData map[string]interface{},
  	newDataSet []interface{},
  	c *govmomi.Client,
  	d *schema.ResourceData,
  	l *object.VirtualDeviceList,
  	spec *[]types.BaseVirtualDeviceConfigSpec,
  ) error {
  	didx := -1
  	for ni, ne := range newDataSet {
  		newData := ne.(map[string]interface{})
  		var name string
  		var err error
  		if name, err = diskLabelOrName(newData); err != nil {
  			return err
  		}
  		if (name == diskDeletedName || name == diskDetachedName) && oldData["uuid"] == newData["uuid"] {
  			didx = ni
  			break
  		}
  	}
  	if didx < 0 {
  		// Deleted entry not found
  		return nil
  	}
  	r := NewDiskSubresource(c, d, oldData, nil, index)
  	dspec, err := r.Delete(*l)
  	if err != nil {
  		return fmt.Errorf("%s: %s", r.Addr(), err)
  	}
  	*l = applyDeviceChange(*l, dspec)
  	*spec = append(*spec, dspec...)
  	return nil
  }
docs: // diskApplyOperationDelete is an inner-loop helper for disk deletion
  // operations.