AWS SDK for C++

AWS SDK for C++ Version 1.11.686

Loading...
Searching...
No Matches
CalculateRoutesRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/geo-routes/GeoRoutesRequest.h>
10#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
11#include <aws/geo-routes/model/GeometryFormat.h>
12#include <aws/geo-routes/model/MeasurementSystem.h>
13#include <aws/geo-routes/model/RouteAllowOptions.h>
14#include <aws/geo-routes/model/RouteAvoidanceOptions.h>
15#include <aws/geo-routes/model/RouteDestinationOptions.h>
16#include <aws/geo-routes/model/RouteDriverOptions.h>
17#include <aws/geo-routes/model/RouteExclusionOptions.h>
18#include <aws/geo-routes/model/RouteLegAdditionalFeature.h>
19#include <aws/geo-routes/model/RouteOriginOptions.h>
20#include <aws/geo-routes/model/RouteSpanAdditionalFeature.h>
21#include <aws/geo-routes/model/RouteTollOptions.h>
22#include <aws/geo-routes/model/RouteTrafficOptions.h>
23#include <aws/geo-routes/model/RouteTravelMode.h>
24#include <aws/geo-routes/model/RouteTravelModeOptions.h>
25#include <aws/geo-routes/model/RouteTravelStepType.h>
26#include <aws/geo-routes/model/RouteWaypoint.h>
27#include <aws/geo-routes/model/RoutingObjective.h>
28
29#include <utility>
30
31namespace Aws {
32namespace Http {
33class URI;
34} // namespace Http
35namespace GeoRoutes {
36namespace Model {
37
41 public:
42 AWS_GEOROUTES_API CalculateRoutesRequest() = default;
43
44 // Service request name is the Operation name which will send this request out,
45 // each operation should has unique request name, so that we can get operation's name from this request.
46 // Note: this is not true for response, multiple operations may have the same response name,
47 // so we can not get operation's name from response.
48 inline virtual const char* GetServiceRequestName() const override { return "CalculateRoutes"; }
49
50 AWS_GEOROUTES_API Aws::String SerializePayload() const override;
51
52 AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
53
55
58 inline const RouteAllowOptions& GetAllow() const { return m_allow; }
59 inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; }
60 template <typename AllowT = RouteAllowOptions>
61 void SetAllow(AllowT&& value) {
62 m_allowHasBeenSet = true;
63 m_allow = std::forward<AllowT>(value);
64 }
65 template <typename AllowT = RouteAllowOptions>
67 SetAllow(std::forward<AllowT>(value));
68 return *this;
69 }
71
73
79 inline const Aws::String& GetArrivalTime() const { return m_arrivalTime; }
80 inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; }
81 template <typename ArrivalTimeT = Aws::String>
82 void SetArrivalTime(ArrivalTimeT&& value) {
83 m_arrivalTimeHasBeenSet = true;
84 m_arrivalTime = std::forward<ArrivalTimeT>(value);
85 }
86 template <typename ArrivalTimeT = Aws::String>
87 CalculateRoutesRequest& WithArrivalTime(ArrivalTimeT&& value) {
88 SetArrivalTime(std::forward<ArrivalTimeT>(value));
89 return *this;
90 }
92
94
100 inline const RouteAvoidanceOptions& GetAvoid() const { return m_avoid; }
101 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
102 template <typename AvoidT = RouteAvoidanceOptions>
103 void SetAvoid(AvoidT&& value) {
104 m_avoidHasBeenSet = true;
105 m_avoid = std::forward<AvoidT>(value);
106 }
107 template <typename AvoidT = RouteAvoidanceOptions>
109 SetAvoid(std::forward<AvoidT>(value));
110 return *this;
111 }
113
115
118 inline bool GetDepartNow() const { return m_departNow; }
119 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
120 inline void SetDepartNow(bool value) {
121 m_departNowHasBeenSet = true;
122 m_departNow = value;
123 }
125 SetDepartNow(value);
126 return *this;
127 }
129
131
137 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
138 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
139 template <typename DepartureTimeT = Aws::String>
140 void SetDepartureTime(DepartureTimeT&& value) {
141 m_departureTimeHasBeenSet = true;
142 m_departureTime = std::forward<DepartureTimeT>(value);
143 }
144 template <typename DepartureTimeT = Aws::String>
145 CalculateRoutesRequest& WithDepartureTime(DepartureTimeT&& value) {
146 SetDepartureTime(std::forward<DepartureTimeT>(value));
147 return *this;
148 }
150
152
156 inline const Aws::Vector<double>& GetDestination() const { return m_destination; }
157 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
158 template <typename DestinationT = Aws::Vector<double>>
159 void SetDestination(DestinationT&& value) {
160 m_destinationHasBeenSet = true;
161 m_destination = std::forward<DestinationT>(value);
162 }
163 template <typename DestinationT = Aws::Vector<double>>
165 SetDestination(std::forward<DestinationT>(value));
166 return *this;
167 }
169 m_destinationHasBeenSet = true;
170 m_destination.push_back(value);
171 return *this;
172 }
174
176
179 inline const RouteDestinationOptions& GetDestinationOptions() const { return m_destinationOptions; }
180 inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; }
181 template <typename DestinationOptionsT = RouteDestinationOptions>
182 void SetDestinationOptions(DestinationOptionsT&& value) {
183 m_destinationOptionsHasBeenSet = true;
184 m_destinationOptions = std::forward<DestinationOptionsT>(value);
185 }
186 template <typename DestinationOptionsT = RouteDestinationOptions>
187 CalculateRoutesRequest& WithDestinationOptions(DestinationOptionsT&& value) {
188 SetDestinationOptions(std::forward<DestinationOptionsT>(value));
189 return *this;
190 }
192
194
197 inline const RouteDriverOptions& GetDriver() const { return m_driver; }
198 inline bool DriverHasBeenSet() const { return m_driverHasBeenSet; }
199 template <typename DriverT = RouteDriverOptions>
200 void SetDriver(DriverT&& value) {
201 m_driverHasBeenSet = true;
202 m_driver = std::forward<DriverT>(value);
203 }
204 template <typename DriverT = RouteDriverOptions>
206 SetDriver(std::forward<DriverT>(value));
207 return *this;
208 }
210
212
215 inline const RouteExclusionOptions& GetExclude() const { return m_exclude; }
216 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
217 template <typename ExcludeT = RouteExclusionOptions>
218 void SetExclude(ExcludeT&& value) {
219 m_excludeHasBeenSet = true;
220 m_exclude = std::forward<ExcludeT>(value);
221 }
222 template <typename ExcludeT = RouteExclusionOptions>
224 SetExclude(std::forward<ExcludeT>(value));
225 return *this;
226 }
228
230
234 inline MeasurementSystem GetInstructionsMeasurementSystem() const { return m_instructionsMeasurementSystem; }
235 inline bool InstructionsMeasurementSystemHasBeenSet() const { return m_instructionsMeasurementSystemHasBeenSet; }
237 m_instructionsMeasurementSystemHasBeenSet = true;
238 m_instructionsMeasurementSystem = value;
239 }
242 return *this;
243 }
245
247
251 inline const Aws::String& GetKey() const { return m_key; }
252 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
253 template <typename KeyT = Aws::String>
254 void SetKey(KeyT&& value) {
255 m_keyHasBeenSet = true;
256 m_key = std::forward<KeyT>(value);
257 }
258 template <typename KeyT = Aws::String>
260 SetKey(std::forward<KeyT>(value));
261 return *this;
262 }
264
266
271 inline const Aws::Vector<Aws::String>& GetLanguages() const { return m_languages; }
272 inline bool LanguagesHasBeenSet() const { return m_languagesHasBeenSet; }
273 template <typename LanguagesT = Aws::Vector<Aws::String>>
274 void SetLanguages(LanguagesT&& value) {
275 m_languagesHasBeenSet = true;
276 m_languages = std::forward<LanguagesT>(value);
277 }
278 template <typename LanguagesT = Aws::Vector<Aws::String>>
280 SetLanguages(std::forward<LanguagesT>(value));
281 return *this;
282 }
283 template <typename LanguagesT = Aws::String>
285 m_languagesHasBeenSet = true;
286 m_languages.emplace_back(std::forward<LanguagesT>(value));
287 return *this;
288 }
290
292
308 inline const Aws::Vector<RouteLegAdditionalFeature>& GetLegAdditionalFeatures() const { return m_legAdditionalFeatures; }
309 inline bool LegAdditionalFeaturesHasBeenSet() const { return m_legAdditionalFeaturesHasBeenSet; }
310 template <typename LegAdditionalFeaturesT = Aws::Vector<RouteLegAdditionalFeature>>
311 void SetLegAdditionalFeatures(LegAdditionalFeaturesT&& value) {
312 m_legAdditionalFeaturesHasBeenSet = true;
313 m_legAdditionalFeatures = std::forward<LegAdditionalFeaturesT>(value);
314 }
315 template <typename LegAdditionalFeaturesT = Aws::Vector<RouteLegAdditionalFeature>>
316 CalculateRoutesRequest& WithLegAdditionalFeatures(LegAdditionalFeaturesT&& value) {
317 SetLegAdditionalFeatures(std::forward<LegAdditionalFeaturesT>(value));
318 return *this;
319 }
321 m_legAdditionalFeaturesHasBeenSet = true;
322 m_legAdditionalFeatures.push_back(value);
323 return *this;
324 }
326
328
338 inline GeometryFormat GetLegGeometryFormat() const { return m_legGeometryFormat; }
339 inline bool LegGeometryFormatHasBeenSet() const { return m_legGeometryFormatHasBeenSet; }
341 m_legGeometryFormatHasBeenSet = true;
342 m_legGeometryFormat = value;
343 }
346 return *this;
347 }
349
351
355 inline int GetMaxAlternatives() const { return m_maxAlternatives; }
356 inline bool MaxAlternativesHasBeenSet() const { return m_maxAlternativesHasBeenSet; }
357 inline void SetMaxAlternatives(int value) {
358 m_maxAlternativesHasBeenSet = true;
359 m_maxAlternatives = value;
360 }
362 SetMaxAlternatives(value);
363 return *this;
364 }
366
368
372 inline RoutingObjective GetOptimizeRoutingFor() const { return m_optimizeRoutingFor; }
373 inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; }
375 m_optimizeRoutingForHasBeenSet = true;
376 m_optimizeRoutingFor = value;
377 }
380 return *this;
381 }
383
385
388 inline const Aws::Vector<double>& GetOrigin() const { return m_origin; }
389 inline bool OriginHasBeenSet() const { return m_originHasBeenSet; }
390 template <typename OriginT = Aws::Vector<double>>
391 void SetOrigin(OriginT&& value) {
392 m_originHasBeenSet = true;
393 m_origin = std::forward<OriginT>(value);
394 }
395 template <typename OriginT = Aws::Vector<double>>
397 SetOrigin(std::forward<OriginT>(value));
398 return *this;
399 }
400 inline CalculateRoutesRequest& AddOrigin(double value) {
401 m_originHasBeenSet = true;
402 m_origin.push_back(value);
403 return *this;
404 }
406
408
411 inline const RouteOriginOptions& GetOriginOptions() const { return m_originOptions; }
412 inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; }
413 template <typename OriginOptionsT = RouteOriginOptions>
414 void SetOriginOptions(OriginOptionsT&& value) {
415 m_originOptionsHasBeenSet = true;
416 m_originOptions = std::forward<OriginOptionsT>(value);
417 }
418 template <typename OriginOptionsT = RouteOriginOptions>
419 CalculateRoutesRequest& WithOriginOptions(OriginOptionsT&& value) {
420 SetOriginOptions(std::forward<OriginOptionsT>(value));
421 return *this;
422 }
424
426
431 inline const Aws::Vector<RouteSpanAdditionalFeature>& GetSpanAdditionalFeatures() const { return m_spanAdditionalFeatures; }
432 inline bool SpanAdditionalFeaturesHasBeenSet() const { return m_spanAdditionalFeaturesHasBeenSet; }
433 template <typename SpanAdditionalFeaturesT = Aws::Vector<RouteSpanAdditionalFeature>>
434 void SetSpanAdditionalFeatures(SpanAdditionalFeaturesT&& value) {
435 m_spanAdditionalFeaturesHasBeenSet = true;
436 m_spanAdditionalFeatures = std::forward<SpanAdditionalFeaturesT>(value);
437 }
438 template <typename SpanAdditionalFeaturesT = Aws::Vector<RouteSpanAdditionalFeature>>
439 CalculateRoutesRequest& WithSpanAdditionalFeatures(SpanAdditionalFeaturesT&& value) {
440 SetSpanAdditionalFeatures(std::forward<SpanAdditionalFeaturesT>(value));
441 return *this;
442 }
444 m_spanAdditionalFeaturesHasBeenSet = true;
445 m_spanAdditionalFeatures.push_back(value);
446 return *this;
447 }
449
451
454 inline const RouteTollOptions& GetTolls() const { return m_tolls; }
455 inline bool TollsHasBeenSet() const { return m_tollsHasBeenSet; }
456 template <typename TollsT = RouteTollOptions>
457 void SetTolls(TollsT&& value) {
458 m_tollsHasBeenSet = true;
459 m_tolls = std::forward<TollsT>(value);
460 }
461 template <typename TollsT = RouteTollOptions>
463 SetTolls(std::forward<TollsT>(value));
464 return *this;
465 }
467
469
472 inline const RouteTrafficOptions& GetTraffic() const { return m_traffic; }
473 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
474 template <typename TrafficT = RouteTrafficOptions>
475 void SetTraffic(TrafficT&& value) {
476 m_trafficHasBeenSet = true;
477 m_traffic = std::forward<TrafficT>(value);
478 }
479 template <typename TrafficT = RouteTrafficOptions>
481 SetTraffic(std::forward<TrafficT>(value));
482 return *this;
483 }
485
487
492 inline RouteTravelMode GetTravelMode() const { return m_travelMode; }
493 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
494 inline void SetTravelMode(RouteTravelMode value) {
495 m_travelModeHasBeenSet = true;
496 m_travelMode = value;
497 }
499 SetTravelMode(value);
500 return *this;
501 }
503
505
508 inline const RouteTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
509 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
510 template <typename TravelModeOptionsT = RouteTravelModeOptions>
511 void SetTravelModeOptions(TravelModeOptionsT&& value) {
512 m_travelModeOptionsHasBeenSet = true;
513 m_travelModeOptions = std::forward<TravelModeOptionsT>(value);
514 }
515 template <typename TravelModeOptionsT = RouteTravelModeOptions>
516 CalculateRoutesRequest& WithTravelModeOptions(TravelModeOptionsT&& value) {
517 SetTravelModeOptions(std::forward<TravelModeOptionsT>(value));
518 return *this;
519 }
521
523
528 inline RouteTravelStepType GetTravelStepType() const { return m_travelStepType; }
529 inline bool TravelStepTypeHasBeenSet() const { return m_travelStepTypeHasBeenSet; }
531 m_travelStepTypeHasBeenSet = true;
532 m_travelStepType = value;
533 }
535 SetTravelStepType(value);
536 return *this;
537 }
539
541
544 inline const Aws::Vector<RouteWaypoint>& GetWaypoints() const { return m_waypoints; }
545 inline bool WaypointsHasBeenSet() const { return m_waypointsHasBeenSet; }
546 template <typename WaypointsT = Aws::Vector<RouteWaypoint>>
547 void SetWaypoints(WaypointsT&& value) {
548 m_waypointsHasBeenSet = true;
549 m_waypoints = std::forward<WaypointsT>(value);
550 }
551 template <typename WaypointsT = Aws::Vector<RouteWaypoint>>
553 SetWaypoints(std::forward<WaypointsT>(value));
554 return *this;
555 }
556 template <typename WaypointsT = RouteWaypoint>
558 m_waypointsHasBeenSet = true;
559 m_waypoints.emplace_back(std::forward<WaypointsT>(value));
560 return *this;
561 }
563 private:
564 RouteAllowOptions m_allow;
565 bool m_allowHasBeenSet = false;
566
567 Aws::String m_arrivalTime;
568 bool m_arrivalTimeHasBeenSet = false;
569
570 RouteAvoidanceOptions m_avoid;
571 bool m_avoidHasBeenSet = false;
572
573 bool m_departNow{false};
574 bool m_departNowHasBeenSet = false;
575
576 Aws::String m_departureTime;
577 bool m_departureTimeHasBeenSet = false;
578
579 Aws::Vector<double> m_destination;
580 bool m_destinationHasBeenSet = false;
581
582 RouteDestinationOptions m_destinationOptions;
583 bool m_destinationOptionsHasBeenSet = false;
584
585 RouteDriverOptions m_driver;
586 bool m_driverHasBeenSet = false;
587
588 RouteExclusionOptions m_exclude;
589 bool m_excludeHasBeenSet = false;
590
591 MeasurementSystem m_instructionsMeasurementSystem{MeasurementSystem::NOT_SET};
592 bool m_instructionsMeasurementSystemHasBeenSet = false;
593
594 Aws::String m_key;
595 bool m_keyHasBeenSet = false;
596
597 Aws::Vector<Aws::String> m_languages;
598 bool m_languagesHasBeenSet = false;
599
600 Aws::Vector<RouteLegAdditionalFeature> m_legAdditionalFeatures;
601 bool m_legAdditionalFeaturesHasBeenSet = false;
602
603 GeometryFormat m_legGeometryFormat{GeometryFormat::NOT_SET};
604 bool m_legGeometryFormatHasBeenSet = false;
605
606 int m_maxAlternatives{0};
607 bool m_maxAlternativesHasBeenSet = false;
608
609 RoutingObjective m_optimizeRoutingFor{RoutingObjective::NOT_SET};
610 bool m_optimizeRoutingForHasBeenSet = false;
611
612 Aws::Vector<double> m_origin;
613 bool m_originHasBeenSet = false;
614
615 RouteOriginOptions m_originOptions;
616 bool m_originOptionsHasBeenSet = false;
617
618 Aws::Vector<RouteSpanAdditionalFeature> m_spanAdditionalFeatures;
619 bool m_spanAdditionalFeaturesHasBeenSet = false;
620
621 RouteTollOptions m_tolls;
622 bool m_tollsHasBeenSet = false;
623
624 RouteTrafficOptions m_traffic;
625 bool m_trafficHasBeenSet = false;
626
628 bool m_travelModeHasBeenSet = false;
629
630 RouteTravelModeOptions m_travelModeOptions;
631 bool m_travelModeOptionsHasBeenSet = false;
632
634 bool m_travelStepTypeHasBeenSet = false;
635
636 Aws::Vector<RouteWaypoint> m_waypoints;
637 bool m_waypointsHasBeenSet = false;
638};
639
640} // namespace Model
641} // namespace GeoRoutes
642} // 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