code: func (client *Client) CreateRoute(route Route, generatePort bool) (Route, Warnings, error) {
  	body, err := json.Marshal(route)
  	if err != nil {
  		return Route{}, nil, err
  	}
  
  	request, err := client.newHTTPRequest(requestOptions{
  		RequestName: internal.PostRouteRequest,
  		Body:        bytes.NewReader(body),
  	})
  	if err != nil {
  		return Route{}, nil, err
  	}
  
  	if generatePort {
  		query := url.Values{}
  		query.Add("generate_port", "true")
  		request.URL.RawQuery = query.Encode()
  	}
  
  	var updatedRoute Route
  	response := cloudcontroller.Response{
  		DecodeJSONResponseInto: &updatedRoute,
  	}
  
  	err = client.connection.Make(request, &response)
  	return updatedRoute, response.Warnings, err
  }
docs: // CreateRoute creates the route with the given properties; SpaceGUID and
  // DomainGUID are required Route properties. Additional configuration rules:
  // - generatePort = true to generate a random port on the cloud controller.
  // - generatePort takes precedence over the provided port. Setting the port and
  // generatePort only works with CC API 2.53.0 or higher and when TCP router
  // groups are enabled.