code: func (v VirtualMachine) CreateSnapshot(ctx context.Context, name string, description string, memory bool, quiesce bool) (*Task, error) {
  	req := types.CreateSnapshot_Task{
  		This:        v.Reference(),
  		Name:        name,
  		Description: description,
  		Memory:      memory,
  		Quiesce:     quiesce,
  	}
  
  	res, err := methods.CreateSnapshot_Task(ctx, v.c, &req)
  	if err != nil {
  		return nil, err
  	}
  
  	return NewTask(v.c, res.Returnval), nil
  }
docs: // CreateSnapshot creates a new snapshot of a virtual machine.