code: func Properties(vm *object.VirtualMachine) (*mo.VirtualMachine, error) {
  	log.Printf("[DEBUG] Fetching properties for VM %q", vm.InventoryPath)
  	ctx, cancel := context.WithTimeout(context.Background(), provider.DefaultAPITimeout)
  	defer cancel()
  	var props mo.VirtualMachine
  	if err := vm.Properties(ctx, vm.Reference(), nil, &props); err != nil {
  		return nil, err
  	}
  	return &props, nil
  }
docs: // Properties is a convenience method that wraps fetching the
  // VirtualMachine MO from its higher-level object.