AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CalculateRoutesRequest.h
1
6#pragma once
7#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
8#include <aws/geo-routes/GeoRoutesRequest.h>
9#include <aws/geo-routes/model/RouteAllowOptions.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/geo-routes/model/RouteAvoidanceOptions.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/geo-routes/model/RouteDestinationOptions.h>
14#include <aws/geo-routes/model/RouteDriverOptions.h>
15#include <aws/geo-routes/model/RouteExclusionOptions.h>
16#include <aws/geo-routes/model/MeasurementSystem.h>
17#include <aws/geo-routes/model/GeometryFormat.h>
18#include <aws/geo-routes/model/RoutingObjective.h>
19#include <aws/geo-routes/model/RouteOriginOptions.h>
20#include <aws/geo-routes/model/RouteTollOptions.h>
21#include <aws/geo-routes/model/RouteTrafficOptions.h>
22#include <aws/geo-routes/model/RouteTravelMode.h>
23#include <aws/geo-routes/model/RouteTravelModeOptions.h>
24#include <aws/geo-routes/model/RouteTravelStepType.h>
25#include <aws/geo-routes/model/RouteLegAdditionalFeature.h>
26#include <aws/geo-routes/model/RouteSpanAdditionalFeature.h>
27#include <aws/geo-routes/model/RouteWaypoint.h>
28#include <utility>
29
30namespace Aws
31{
32namespace Http
33{
34 class URI;
35} //namespace Http
36namespace GeoRoutes
37{
38namespace Model
39{
40
44 {
45 public:
46 AWS_GEOROUTES_API CalculateRoutesRequest() = default;
47
48 // Service request name is the Operation name which will send this request out,
49 // each operation should has unique request name, so that we can get operation's name from this request.
50 // Note: this is not true for response, multiple operations may have the same response name,
51 // so we can not get operation's name from response.
52 inline virtual const char* GetServiceRequestName() const override { return "CalculateRoutes"; }
53
54 AWS_GEOROUTES_API Aws::String SerializePayload() const override;
55
56 AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
57
58
60
63 inline const RouteAllowOptions& GetAllow() const { return m_allow; }
64 inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; }
65 template<typename AllowT = RouteAllowOptions>
66 void SetAllow(AllowT&& value) { m_allowHasBeenSet = true; m_allow = std::forward<AllowT>(value); }
67 template<typename AllowT = RouteAllowOptions>
68 CalculateRoutesRequest& WithAllow(AllowT&& value) { SetAllow(std::forward<AllowT>(value)); return *this;}
70
72
78 inline const Aws::String& GetArrivalTime() const { return m_arrivalTime; }
79 inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; }
80 template<typename ArrivalTimeT = Aws::String>
81 void SetArrivalTime(ArrivalTimeT&& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = std::forward<ArrivalTimeT>(value); }
82 template<typename ArrivalTimeT = Aws::String>
83 CalculateRoutesRequest& WithArrivalTime(ArrivalTimeT&& value) { SetArrivalTime(std::forward<ArrivalTimeT>(value)); return *this;}
85
87
93 inline const RouteAvoidanceOptions& GetAvoid() const { return m_avoid; }
94 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
95 template<typename AvoidT = RouteAvoidanceOptions>
96 void SetAvoid(AvoidT&& value) { m_avoidHasBeenSet = true; m_avoid = std::forward<AvoidT>(value); }
97 template<typename AvoidT = RouteAvoidanceOptions>
98 CalculateRoutesRequest& WithAvoid(AvoidT&& value) { SetAvoid(std::forward<AvoidT>(value)); return *this;}
100
102
105 inline bool GetDepartNow() const { return m_departNow; }
106 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
107 inline void SetDepartNow(bool value) { m_departNowHasBeenSet = true; m_departNow = value; }
108 inline CalculateRoutesRequest& WithDepartNow(bool value) { SetDepartNow(value); return *this;}
110
112
118 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
119 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
120 template<typename DepartureTimeT = Aws::String>
121 void SetDepartureTime(DepartureTimeT&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::forward<DepartureTimeT>(value); }
122 template<typename DepartureTimeT = Aws::String>
123 CalculateRoutesRequest& WithDepartureTime(DepartureTimeT&& value) { SetDepartureTime(std::forward<DepartureTimeT>(value)); return *this;}
125
127
131 inline const Aws::Vector<double>& GetDestination() const { return m_destination; }
132 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
133 template<typename DestinationT = Aws::Vector<double>>
134 void SetDestination(DestinationT&& value) { m_destinationHasBeenSet = true; m_destination = std::forward<DestinationT>(value); }
135 template<typename DestinationT = Aws::Vector<double>>
136 CalculateRoutesRequest& WithDestination(DestinationT&& value) { SetDestination(std::forward<DestinationT>(value)); return *this;}
137 inline CalculateRoutesRequest& AddDestination(double value) { m_destinationHasBeenSet = true; m_destination.push_back(value); return *this; }
139
141
144 inline const RouteDestinationOptions& GetDestinationOptions() const { return m_destinationOptions; }
145 inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; }
146 template<typename DestinationOptionsT = RouteDestinationOptions>
147 void SetDestinationOptions(DestinationOptionsT&& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = std::forward<DestinationOptionsT>(value); }
148 template<typename DestinationOptionsT = RouteDestinationOptions>
149 CalculateRoutesRequest& WithDestinationOptions(DestinationOptionsT&& value) { SetDestinationOptions(std::forward<DestinationOptionsT>(value)); return *this;}
151
153
156 inline const RouteDriverOptions& GetDriver() const { return m_driver; }
157 inline bool DriverHasBeenSet() const { return m_driverHasBeenSet; }
158 template<typename DriverT = RouteDriverOptions>
159 void SetDriver(DriverT&& value) { m_driverHasBeenSet = true; m_driver = std::forward<DriverT>(value); }
160 template<typename DriverT = RouteDriverOptions>
161 CalculateRoutesRequest& WithDriver(DriverT&& value) { SetDriver(std::forward<DriverT>(value)); return *this;}
163
165
168 inline const RouteExclusionOptions& GetExclude() const { return m_exclude; }
169 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
170 template<typename ExcludeT = RouteExclusionOptions>
171 void SetExclude(ExcludeT&& value) { m_excludeHasBeenSet = true; m_exclude = std::forward<ExcludeT>(value); }
172 template<typename ExcludeT = RouteExclusionOptions>
173 CalculateRoutesRequest& WithExclude(ExcludeT&& value) { SetExclude(std::forward<ExcludeT>(value)); return *this;}
175
177
181 inline MeasurementSystem GetInstructionsMeasurementSystem() const { return m_instructionsMeasurementSystem; }
182 inline bool InstructionsMeasurementSystemHasBeenSet() const { return m_instructionsMeasurementSystemHasBeenSet; }
183 inline void SetInstructionsMeasurementSystem(MeasurementSystem value) { m_instructionsMeasurementSystemHasBeenSet = true; m_instructionsMeasurementSystem = value; }
186
188
192 inline const Aws::String& GetKey() const { return m_key; }
193 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
194 template<typename KeyT = Aws::String>
195 void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward<KeyT>(value); }
196 template<typename KeyT = Aws::String>
197 CalculateRoutesRequest& WithKey(KeyT&& value) { SetKey(std::forward<KeyT>(value)); return *this;}
199
201
206 inline const Aws::Vector<Aws::String>& GetLanguages() const { return m_languages; }
207 inline bool LanguagesHasBeenSet() const { return m_languagesHasBeenSet; }
208 template<typename LanguagesT = Aws::Vector<Aws::String>>
209 void SetLanguages(LanguagesT&& value) { m_languagesHasBeenSet = true; m_languages = std::forward<LanguagesT>(value); }
210 template<typename LanguagesT = Aws::Vector<Aws::String>>
211 CalculateRoutesRequest& WithLanguages(LanguagesT&& value) { SetLanguages(std::forward<LanguagesT>(value)); return *this;}
212 template<typename LanguagesT = Aws::String>
213 CalculateRoutesRequest& AddLanguages(LanguagesT&& value) { m_languagesHasBeenSet = true; m_languages.emplace_back(std::forward<LanguagesT>(value)); return *this; }
215
217
233 inline const Aws::Vector<RouteLegAdditionalFeature>& GetLegAdditionalFeatures() const { return m_legAdditionalFeatures; }
234 inline bool LegAdditionalFeaturesHasBeenSet() const { return m_legAdditionalFeaturesHasBeenSet; }
235 template<typename LegAdditionalFeaturesT = Aws::Vector<RouteLegAdditionalFeature>>
236 void SetLegAdditionalFeatures(LegAdditionalFeaturesT&& value) { m_legAdditionalFeaturesHasBeenSet = true; m_legAdditionalFeatures = std::forward<LegAdditionalFeaturesT>(value); }
237 template<typename LegAdditionalFeaturesT = Aws::Vector<RouteLegAdditionalFeature>>
238 CalculateRoutesRequest& WithLegAdditionalFeatures(LegAdditionalFeaturesT&& value) { SetLegAdditionalFeatures(std::forward<LegAdditionalFeaturesT>(value)); return *this;}
239 inline CalculateRoutesRequest& AddLegAdditionalFeatures(RouteLegAdditionalFeature value) { m_legAdditionalFeaturesHasBeenSet = true; m_legAdditionalFeatures.push_back(value); return *this; }
241
243
253 inline GeometryFormat GetLegGeometryFormat() const { return m_legGeometryFormat; }
254 inline bool LegGeometryFormatHasBeenSet() const { return m_legGeometryFormatHasBeenSet; }
255 inline void SetLegGeometryFormat(GeometryFormat value) { m_legGeometryFormatHasBeenSet = true; m_legGeometryFormat = value; }
258
260
264 inline int GetMaxAlternatives() const { return m_maxAlternatives; }
265 inline bool MaxAlternativesHasBeenSet() const { return m_maxAlternativesHasBeenSet; }
266 inline void SetMaxAlternatives(int value) { m_maxAlternativesHasBeenSet = true; m_maxAlternatives = value; }
267 inline CalculateRoutesRequest& WithMaxAlternatives(int value) { SetMaxAlternatives(value); return *this;}
269
271
275 inline RoutingObjective GetOptimizeRoutingFor() const { return m_optimizeRoutingFor; }
276 inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; }
277 inline void SetOptimizeRoutingFor(RoutingObjective value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = value; }
280
282
285 inline const Aws::Vector<double>& GetOrigin() const { return m_origin; }
286 inline bool OriginHasBeenSet() const { return m_originHasBeenSet; }
287 template<typename OriginT = Aws::Vector<double>>
288 void SetOrigin(OriginT&& value) { m_originHasBeenSet = true; m_origin = std::forward<OriginT>(value); }
289 template<typename OriginT = Aws::Vector<double>>
290 CalculateRoutesRequest& WithOrigin(OriginT&& value) { SetOrigin(std::forward<OriginT>(value)); return *this;}
291 inline CalculateRoutesRequest& AddOrigin(double value) { m_originHasBeenSet = true; m_origin.push_back(value); return *this; }
293
295
298 inline const RouteOriginOptions& GetOriginOptions() const { return m_originOptions; }
299 inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; }
300 template<typename OriginOptionsT = RouteOriginOptions>
301 void SetOriginOptions(OriginOptionsT&& value) { m_originOptionsHasBeenSet = true; m_originOptions = std::forward<OriginOptionsT>(value); }
302 template<typename OriginOptionsT = RouteOriginOptions>
303 CalculateRoutesRequest& WithOriginOptions(OriginOptionsT&& value) { SetOriginOptions(std::forward<OriginOptionsT>(value)); return *this;}
305
307
312 inline const Aws::Vector<RouteSpanAdditionalFeature>& GetSpanAdditionalFeatures() const { return m_spanAdditionalFeatures; }
313 inline bool SpanAdditionalFeaturesHasBeenSet() const { return m_spanAdditionalFeaturesHasBeenSet; }
314 template<typename SpanAdditionalFeaturesT = Aws::Vector<RouteSpanAdditionalFeature>>
315 void SetSpanAdditionalFeatures(SpanAdditionalFeaturesT&& value) { m_spanAdditionalFeaturesHasBeenSet = true; m_spanAdditionalFeatures = std::forward<SpanAdditionalFeaturesT>(value); }
316 template<typename SpanAdditionalFeaturesT = Aws::Vector<RouteSpanAdditionalFeature>>
317 CalculateRoutesRequest& WithSpanAdditionalFeatures(SpanAdditionalFeaturesT&& value) { SetSpanAdditionalFeatures(std::forward<SpanAdditionalFeaturesT>(value)); return *this;}
318 inline CalculateRoutesRequest& AddSpanAdditionalFeatures(RouteSpanAdditionalFeature value) { m_spanAdditionalFeaturesHasBeenSet = true; m_spanAdditionalFeatures.push_back(value); return *this; }
320
322
325 inline const RouteTollOptions& GetTolls() const { return m_tolls; }
326 inline bool TollsHasBeenSet() const { return m_tollsHasBeenSet; }
327 template<typename TollsT = RouteTollOptions>
328 void SetTolls(TollsT&& value) { m_tollsHasBeenSet = true; m_tolls = std::forward<TollsT>(value); }
329 template<typename TollsT = RouteTollOptions>
330 CalculateRoutesRequest& WithTolls(TollsT&& value) { SetTolls(std::forward<TollsT>(value)); return *this;}
332
334
337 inline const RouteTrafficOptions& GetTraffic() const { return m_traffic; }
338 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
339 template<typename TrafficT = RouteTrafficOptions>
340 void SetTraffic(TrafficT&& value) { m_trafficHasBeenSet = true; m_traffic = std::forward<TrafficT>(value); }
341 template<typename TrafficT = RouteTrafficOptions>
342 CalculateRoutesRequest& WithTraffic(TrafficT&& value) { SetTraffic(std::forward<TrafficT>(value)); return *this;}
344
346
351 inline RouteTravelMode GetTravelMode() const { return m_travelMode; }
352 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
353 inline void SetTravelMode(RouteTravelMode value) { m_travelModeHasBeenSet = true; m_travelMode = value; }
356
358
361 inline const RouteTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
362 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
363 template<typename TravelModeOptionsT = RouteTravelModeOptions>
364 void SetTravelModeOptions(TravelModeOptionsT&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::forward<TravelModeOptionsT>(value); }
365 template<typename TravelModeOptionsT = RouteTravelModeOptions>
366 CalculateRoutesRequest& WithTravelModeOptions(TravelModeOptionsT&& value) { SetTravelModeOptions(std::forward<TravelModeOptionsT>(value)); return *this;}
368
370
375 inline RouteTravelStepType GetTravelStepType() const { return m_travelStepType; }
376 inline bool TravelStepTypeHasBeenSet() const { return m_travelStepTypeHasBeenSet; }
377 inline void SetTravelStepType(RouteTravelStepType value) { m_travelStepTypeHasBeenSet = true; m_travelStepType = value; }
380
382
385 inline const Aws::Vector<RouteWaypoint>& GetWaypoints() const { return m_waypoints; }
386 inline bool WaypointsHasBeenSet() const { return m_waypointsHasBeenSet; }
387 template<typename WaypointsT = Aws::Vector<RouteWaypoint>>
388 void SetWaypoints(WaypointsT&& value) { m_waypointsHasBeenSet = true; m_waypoints = std::forward<WaypointsT>(value); }
389 template<typename WaypointsT = Aws::Vector<RouteWaypoint>>
390 CalculateRoutesRequest& WithWaypoints(WaypointsT&& value) { SetWaypoints(std::forward<WaypointsT>(value)); return *this;}
391 template<typename WaypointsT = RouteWaypoint>
392 CalculateRoutesRequest& AddWaypoints(WaypointsT&& value) { m_waypointsHasBeenSet = true; m_waypoints.emplace_back(std::forward<WaypointsT>(value)); return *this; }
394 private:
395
396 RouteAllowOptions m_allow;
397 bool m_allowHasBeenSet = false;
398
399 Aws::String m_arrivalTime;
400 bool m_arrivalTimeHasBeenSet = false;
401
402 RouteAvoidanceOptions m_avoid;
403 bool m_avoidHasBeenSet = false;
404
405 bool m_departNow{false};
406 bool m_departNowHasBeenSet = false;
407
408 Aws::String m_departureTime;
409 bool m_departureTimeHasBeenSet = false;
410
411 Aws::Vector<double> m_destination;
412 bool m_destinationHasBeenSet = false;
413
414 RouteDestinationOptions m_destinationOptions;
415 bool m_destinationOptionsHasBeenSet = false;
416
417 RouteDriverOptions m_driver;
418 bool m_driverHasBeenSet = false;
419
420 RouteExclusionOptions m_exclude;
421 bool m_excludeHasBeenSet = false;
422
423 MeasurementSystem m_instructionsMeasurementSystem{MeasurementSystem::NOT_SET};
424 bool m_instructionsMeasurementSystemHasBeenSet = false;
425
426 Aws::String m_key;
427 bool m_keyHasBeenSet = false;
428
429 Aws::Vector<Aws::String> m_languages;
430 bool m_languagesHasBeenSet = false;
431
432 Aws::Vector<RouteLegAdditionalFeature> m_legAdditionalFeatures;
433 bool m_legAdditionalFeaturesHasBeenSet = false;
434
435 GeometryFormat m_legGeometryFormat{GeometryFormat::NOT_SET};
436 bool m_legGeometryFormatHasBeenSet = false;
437
438 int m_maxAlternatives{0};
439 bool m_maxAlternativesHasBeenSet = false;
440
441 RoutingObjective m_optimizeRoutingFor{RoutingObjective::NOT_SET};
442 bool m_optimizeRoutingForHasBeenSet = false;
443
444 Aws::Vector<double> m_origin;
445 bool m_originHasBeenSet = false;
446
447 RouteOriginOptions m_originOptions;
448 bool m_originOptionsHasBeenSet = false;
449
450 Aws::Vector<RouteSpanAdditionalFeature> m_spanAdditionalFeatures;
451 bool m_spanAdditionalFeaturesHasBeenSet = false;
452
453 RouteTollOptions m_tolls;
454 bool m_tollsHasBeenSet = false;
455
456 RouteTrafficOptions m_traffic;
457 bool m_trafficHasBeenSet = false;
458
460 bool m_travelModeHasBeenSet = false;
461
462 RouteTravelModeOptions m_travelModeOptions;
463 bool m_travelModeOptionsHasBeenSet = false;
464
466 bool m_travelStepTypeHasBeenSet = false;
467
468 Aws::Vector<RouteWaypoint> m_waypoints;
469 bool m_waypointsHasBeenSet = false;
470 };
471
472} // namespace Model
473} // namespace GeoRoutes
474} // namespace Aws
void SetSpanAdditionalFeatures(SpanAdditionalFeaturesT &&value)
const Aws::Vector< RouteSpanAdditionalFeature > & GetSpanAdditionalFeatures() const
CalculateRoutesRequest & WithTravelModeOptions(TravelModeOptionsT &&value)
CalculateRoutesRequest & WithOptimizeRoutingFor(RoutingObjective value)
void SetDestinationOptions(DestinationOptionsT &&value)
const Aws::Vector< Aws::String > & GetLanguages() const
CalculateRoutesRequest & WithExclude(ExcludeT &&value)
const RouteExclusionOptions & GetExclude() const
CalculateRoutesRequest & WithWaypoints(WaypointsT &&value)
CalculateRoutesRequest & WithTolls(TollsT &&value)
const Aws::Vector< double > & GetDestination() const
CalculateRoutesRequest & AddWaypoints(WaypointsT &&value)
CalculateRoutesRequest & AddSpanAdditionalFeatures(RouteSpanAdditionalFeature value)
CalculateRoutesRequest & WithKey(KeyT &&value)
const Aws::Vector< RouteLegAdditionalFeature > & GetLegAdditionalFeatures() const
const RouteAvoidanceOptions & GetAvoid() const
CalculateRoutesRequest & WithTravelStepType(RouteTravelStepType value)
AWS_GEOROUTES_API CalculateRoutesRequest()=default
CalculateRoutesRequest & WithDestination(DestinationT &&value)
CalculateRoutesRequest & WithSpanAdditionalFeatures(SpanAdditionalFeaturesT &&value)
void SetLegAdditionalFeatures(LegAdditionalFeaturesT &&value)
CalculateRoutesRequest & WithLegAdditionalFeatures(LegAdditionalFeaturesT &&value)
CalculateRoutesRequest & WithInstructionsMeasurementSystem(MeasurementSystem value)
virtual const char * GetServiceRequestName() const override
void SetTravelModeOptions(TravelModeOptionsT &&value)
const RouteDestinationOptions & GetDestinationOptions() const
CalculateRoutesRequest & WithDestinationOptions(DestinationOptionsT &&value)
CalculateRoutesRequest & WithOrigin(OriginT &&value)
CalculateRoutesRequest & WithDriver(DriverT &&value)
AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
CalculateRoutesRequest & WithDepartNow(bool value)
CalculateRoutesRequest & AddDestination(double value)
CalculateRoutesRequest & WithArrivalTime(ArrivalTimeT &&value)
CalculateRoutesRequest & WithLanguages(LanguagesT &&value)
const Aws::Vector< RouteWaypoint > & GetWaypoints() const
CalculateRoutesRequest & AddLanguages(LanguagesT &&value)
CalculateRoutesRequest & WithAllow(AllowT &&value)
CalculateRoutesRequest & WithDepartureTime(DepartureTimeT &&value)
CalculateRoutesRequest & WithAvoid(AvoidT &&value)
void SetInstructionsMeasurementSystem(MeasurementSystem value)
CalculateRoutesRequest & AddLegAdditionalFeatures(RouteLegAdditionalFeature value)
CalculateRoutesRequest & WithLegGeometryFormat(GeometryFormat value)
const RouteTrafficOptions & GetTraffic() const
CalculateRoutesRequest & AddOrigin(double value)
CalculateRoutesRequest & WithTraffic(TrafficT &&value)
const Aws::Vector< double > & GetOrigin() const
CalculateRoutesRequest & WithMaxAlternatives(int value)
CalculateRoutesRequest & WithOriginOptions(OriginOptionsT &&value)
CalculateRoutesRequest & WithTravelMode(RouteTravelMode value)
const RouteTravelModeOptions & GetTravelModeOptions() const
AWS_GEOROUTES_API Aws::String SerializePayload() const override
const RouteOriginOptions & GetOriginOptions() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector