code: func (c *Client) getDeviceProfilesByValues(vals ...string) ([]contract.DeviceProfile, error) {
  	conn := c.Pool.Get()
  	defer conn.Close()
  
  	objects, err := getObjectsByValues(conn, vals...)
  	if err != nil {
  		return []contract.DeviceProfile{}, err
  	}
  
  	dp := make([]contract.DeviceProfile, len(objects))
  	for i, object := range objects {
  		err = unmarshalDeviceProfile(object, &dp[i])
  		if err != nil {
  			return []contract.DeviceProfile{}, err
  		}
  	}
  
  	return dp, nil
  }
docs: // Get device profiles with the passed query