code: func (vm VirtualMachine) ListRequest() (ListCommand, error) {
  	// XXX: AffinityGroupID, SecurityGroupID
  
  	req := &ListVirtualMachines{
  		GroupID:    vm.GroupID,
  		ID:         vm.ID,
  		Name:       vm.Name,
  		State:      vm.State,
  		TemplateID: vm.TemplateID,
  		ZoneID:     vm.ZoneID,
  	}
  
  	nic := vm.DefaultNic()
  	if nic != nil {
  		req.IPAddress = nic.IPAddress
  	}
  
  	for i := range vm.Tags {
  		req.Tags = append(req.Tags, vm.Tags[i])
  	}
  
  	return req, nil
  }
docs: // ListRequest builds the ListVirtualMachines request