AWS SDK for C++

AWS SDK for C++ Version 1.11.794

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
61 inline const RouteAllowOptions& GetAllow() const { return m_allow; }
62 inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; }
63 template <typename AllowT = RouteAllowOptions>
64 void SetAllow(AllowT&& value) {
65 m_allowHasBeenSet = true;
66 m_allow = std::forward<AllowT>(value);
67 }
68 template <typename AllowT = RouteAllowOptions>
70 SetAllow(std::forward<AllowT>(value));
71 return *this;
72 }
74
76
85 inline const Aws::String& GetArrivalTime() const { return m_arrivalTime; }
86 inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; }
87 template <typename ArrivalTimeT = Aws::String>
88 void SetArrivalTime(ArrivalTimeT&& value) {
89 m_arrivalTimeHasBeenSet = true;
90 m_arrivalTime = std::forward<ArrivalTimeT>(value);
91 }
92 template <typename ArrivalTimeT = Aws::String>
93 CalculateRoutesRequest& WithArrivalTime(ArrivalTimeT&& value) {
94 SetArrivalTime(std::forward<ArrivalTimeT>(value));
95 return *this;
96 }
98
100
110 inline const RouteAvoidanceOptions& GetAvoid() const { return m_avoid; }
111 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
112 template <typename AvoidT = RouteAvoidanceOptions>
113 void SetAvoid(AvoidT&& value) {
114 m_avoidHasBeenSet = true;
115 m_avoid = std::forward<AvoidT>(value);
116 }
117 template <typename AvoidT = RouteAvoidanceOptions>
119 SetAvoid(std::forward<AvoidT>(value));
120 return *this;
121 }
123
125
128 inline bool GetDepartNow() const { return m_departNow; }
129 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
130 inline void SetDepartNow(bool value) {
131 m_departNowHasBeenSet = true;
132 m_departNow = value;
133 }
135 SetDepartNow(value);
136 return *this;
137 }
139
141
147 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
148 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
149 template <typename DepartureTimeT = Aws::String>
150 void SetDepartureTime(DepartureTimeT&& value) {
151 m_departureTimeHasBeenSet = true;
152 m_departureTime = std::forward<DepartureTimeT>(value);
153 }
154 template <typename DepartureTimeT = Aws::String>
155 CalculateRoutesRequest& WithDepartureTime(DepartureTimeT&& value) {
156 SetDepartureTime(std::forward<DepartureTimeT>(value));
157 return *this;
158 }
160
162
166 inline const Aws::Vector<double>& GetDestination() const { return m_destination; }
167 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
168 template <typename DestinationT = Aws::Vector<double>>
169 void SetDestination(DestinationT&& value) {
170 m_destinationHasBeenSet = true;
171 m_destination = std::forward<DestinationT>(value);
172 }
173 template <typename DestinationT = Aws::Vector<double>>
175 SetDestination(std::forward<DestinationT>(value));
176 return *this;
177 }
179 m_destinationHasBeenSet = true;
180 m_destination.push_back(value);
181 return *this;
182 }
184
186
192 inline const RouteDestinationOptions& GetDestinationOptions() const { return m_destinationOptions; }
193 inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; }
194 template <typename DestinationOptionsT = RouteDestinationOptions>
195 void SetDestinationOptions(DestinationOptionsT&& value) {
196 m_destinationOptionsHasBeenSet = true;
197 m_destinationOptions = std::forward<DestinationOptionsT>(value);
198 }
199 template <typename DestinationOptionsT = RouteDestinationOptions>
200 CalculateRoutesRequest& WithDestinationOptions(DestinationOptionsT&& value) {
201 SetDestinationOptions(std::forward<DestinationOptionsT>(value));
202 return *this;
203 }
205
207
213 inline const RouteDriverOptions& GetDriver() const { return m_driver; }
214 inline bool DriverHasBeenSet() const { return m_driverHasBeenSet; }
215 template <typename DriverT = RouteDriverOptions>
216 void SetDriver(DriverT&& value) {
217 m_driverHasBeenSet = true;
218 m_driver = std::forward<DriverT>(value);
219 }
220 template <typename DriverT = RouteDriverOptions>
222 SetDriver(std::forward<DriverT>(value));
223 return *this;
224 }
226
228
234 inline const RouteExclusionOptions& GetExclude() const { return m_exclude; }
235 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
236 template <typename ExcludeT = RouteExclusionOptions>
237 void SetExclude(ExcludeT&& value) {
238 m_excludeHasBeenSet = true;
239 m_exclude = std::forward<ExcludeT>(value);
240 }
241 template <typename ExcludeT = RouteExclusionOptions>
243 SetExclude(std::forward<ExcludeT>(value));
244 return *this;
245 }
247
249
253 inline MeasurementSystem GetInstructionsMeasurementSystem() const { return m_instructionsMeasurementSystem; }
254 inline bool InstructionsMeasurementSystemHasBeenSet() const { return m_instructionsMeasurementSystemHasBeenSet; }
256 m_instructionsMeasurementSystemHasBeenSet = true;
257 m_instructionsMeasurementSystem = value;
258 }
261 return *this;
262 }
264
266
270 inline const Aws::String& GetKey() const { return m_key; }
271 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
272 template <typename KeyT = Aws::String>
273 void SetKey(KeyT&& value) {
274 m_keyHasBeenSet = true;
275 m_key = std::forward<KeyT>(value);
276 }
277 template <typename KeyT = Aws::String>
279 SetKey(std::forward<KeyT>(value));
280 return *this;
281 }
283
285
293 inline const Aws::Vector<Aws::String>& GetLanguages() const { return m_languages; }
294 inline bool LanguagesHasBeenSet() const { return m_languagesHasBeenSet; }
295 template <typename LanguagesT = Aws::Vector<Aws::String>>
296 void SetLanguages(LanguagesT&& value) {
297 m_languagesHasBeenSet = true;
298 m_languages = std::forward<LanguagesT>(value);
299 }
300 template <typename LanguagesT = Aws::Vector<Aws::String>>
302 SetLanguages(std::forward<LanguagesT>(value));
303 return *this;
304 }
305 template <typename LanguagesT = Aws::String>
307 m_languagesHasBeenSet = true;
308 m_languages.emplace_back(std::forward<LanguagesT>(value));
309 return *this;
310 }
312
314
334 inline const Aws::Vector<RouteLegAdditionalFeature>& GetLegAdditionalFeatures() const { return m_legAdditionalFeatures; }
335 inline bool LegAdditionalFeaturesHasBeenSet() const { return m_legAdditionalFeaturesHasBeenSet; }
336 template <typename LegAdditionalFeaturesT = Aws::Vector<RouteLegAdditionalFeature>>
337 void SetLegAdditionalFeatures(LegAdditionalFeaturesT&& value) {
338 m_legAdditionalFeaturesHasBeenSet = true;
339 m_legAdditionalFeatures = std::forward<LegAdditionalFeaturesT>(value);
340 }
341 template <typename LegAdditionalFeaturesT = Aws::Vector<RouteLegAdditionalFeature>>
342 CalculateRoutesRequest& WithLegAdditionalFeatures(LegAdditionalFeaturesT&& value) {
343 SetLegAdditionalFeatures(std::forward<LegAdditionalFeaturesT>(value));
344 return *this;
345 }
347 m_legAdditionalFeaturesHasBeenSet = true;
348 m_legAdditionalFeatures.push_back(value);
349 return *this;
350 }
352
354
363 inline GeometryFormat GetLegGeometryFormat() const { return m_legGeometryFormat; }
364 inline bool LegGeometryFormatHasBeenSet() const { return m_legGeometryFormatHasBeenSet; }
366 m_legGeometryFormatHasBeenSet = true;
367 m_legGeometryFormat = value;
368 }
371 return *this;
372 }
374
376
383 inline int GetMaxAlternatives() const { return m_maxAlternatives; }
384 inline bool MaxAlternativesHasBeenSet() const { return m_maxAlternativesHasBeenSet; }
385 inline void SetMaxAlternatives(int value) {
386 m_maxAlternativesHasBeenSet = true;
387 m_maxAlternatives = value;
388 }
390 SetMaxAlternatives(value);
391 return *this;
392 }
394
396
402 inline RoutingObjective GetOptimizeRoutingFor() const { return m_optimizeRoutingFor; }
403 inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; }
405 m_optimizeRoutingForHasBeenSet = true;
406 m_optimizeRoutingFor = value;
407 }
410 return *this;
411 }
413
415
419 inline const Aws::Vector<double>& GetOrigin() const { return m_origin; }
420 inline bool OriginHasBeenSet() const { return m_originHasBeenSet; }
421 template <typename OriginT = Aws::Vector<double>>
422 void SetOrigin(OriginT&& value) {
423 m_originHasBeenSet = true;
424 m_origin = std::forward<OriginT>(value);
425 }
426 template <typename OriginT = Aws::Vector<double>>
428 SetOrigin(std::forward<OriginT>(value));
429 return *this;
430 }
431 inline CalculateRoutesRequest& AddOrigin(double value) {
432 m_originHasBeenSet = true;
433 m_origin.push_back(value);
434 return *this;
435 }
437
439
447 inline const RouteOriginOptions& GetOriginOptions() const { return m_originOptions; }
448 inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; }
449 template <typename OriginOptionsT = RouteOriginOptions>
450 void SetOriginOptions(OriginOptionsT&& value) {
451 m_originOptionsHasBeenSet = true;
452 m_originOptions = std::forward<OriginOptionsT>(value);
453 }
454 template <typename OriginOptionsT = RouteOriginOptions>
455 CalculateRoutesRequest& WithOriginOptions(OriginOptionsT&& value) {
456 SetOriginOptions(std::forward<OriginOptionsT>(value));
457 return *this;
458 }
460
462
470 inline const Aws::Vector<RouteSpanAdditionalFeature>& GetSpanAdditionalFeatures() const { return m_spanAdditionalFeatures; }
471 inline bool SpanAdditionalFeaturesHasBeenSet() const { return m_spanAdditionalFeaturesHasBeenSet; }
472 template <typename SpanAdditionalFeaturesT = Aws::Vector<RouteSpanAdditionalFeature>>
473 void SetSpanAdditionalFeatures(SpanAdditionalFeaturesT&& value) {
474 m_spanAdditionalFeaturesHasBeenSet = true;
475 m_spanAdditionalFeatures = std::forward<SpanAdditionalFeaturesT>(value);
476 }
477 template <typename SpanAdditionalFeaturesT = Aws::Vector<RouteSpanAdditionalFeature>>
478 CalculateRoutesRequest& WithSpanAdditionalFeatures(SpanAdditionalFeaturesT&& value) {
479 SetSpanAdditionalFeatures(std::forward<SpanAdditionalFeaturesT>(value));
480 return *this;
481 }
483 m_spanAdditionalFeaturesHasBeenSet = true;
484 m_spanAdditionalFeatures.push_back(value);
485 return *this;
486 }
488
490
496 inline const RouteTollOptions& GetTolls() const { return m_tolls; }
497 inline bool TollsHasBeenSet() const { return m_tollsHasBeenSet; }
498 template <typename TollsT = RouteTollOptions>
499 void SetTolls(TollsT&& value) {
500 m_tollsHasBeenSet = true;
501 m_tolls = std::forward<TollsT>(value);
502 }
503 template <typename TollsT = RouteTollOptions>
505 SetTolls(std::forward<TollsT>(value));
506 return *this;
507 }
509
511
517 inline const RouteTrafficOptions& GetTraffic() const { return m_traffic; }
518 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
519 template <typename TrafficT = RouteTrafficOptions>
520 void SetTraffic(TrafficT&& value) {
521 m_trafficHasBeenSet = true;
522 m_traffic = std::forward<TrafficT>(value);
523 }
524 template <typename TrafficT = RouteTrafficOptions>
526 SetTraffic(std::forward<TrafficT>(value));
527 return *this;
528 }
530
532
540 inline RouteTravelMode GetTravelMode() const { return m_travelMode; }
541 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
542 inline void SetTravelMode(RouteTravelMode value) {
543 m_travelModeHasBeenSet = true;
544 m_travelMode = value;
545 }
547 SetTravelMode(value);
548 return *this;
549 }
551
553
560 inline const RouteTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
561 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
562 template <typename TravelModeOptionsT = RouteTravelModeOptions>
563 void SetTravelModeOptions(TravelModeOptionsT&& value) {
564 m_travelModeOptionsHasBeenSet = true;
565 m_travelModeOptions = std::forward<TravelModeOptionsT>(value);
566 }
567 template <typename TravelModeOptionsT = RouteTravelModeOptions>
568 CalculateRoutesRequest& WithTravelModeOptions(TravelModeOptionsT&& value) {
569 SetTravelModeOptions(std::forward<TravelModeOptionsT>(value));
570 return *this;
571 }
573
575
584 inline RouteTravelStepType GetTravelStepType() const { return m_travelStepType; }
585 inline bool TravelStepTypeHasBeenSet() const { return m_travelStepTypeHasBeenSet; }
587 m_travelStepTypeHasBeenSet = true;
588 m_travelStepType = value;
589 }
591 SetTravelStepType(value);
592 return *this;
593 }
595
597
603 inline const Aws::Vector<RouteWaypoint>& GetWaypoints() const { return m_waypoints; }
604 inline bool WaypointsHasBeenSet() const { return m_waypointsHasBeenSet; }
605 template <typename WaypointsT = Aws::Vector<RouteWaypoint>>
606 void SetWaypoints(WaypointsT&& value) {
607 m_waypointsHasBeenSet = true;
608 m_waypoints = std::forward<WaypointsT>(value);
609 }
610 template <typename WaypointsT = Aws::Vector<RouteWaypoint>>
612 SetWaypoints(std::forward<WaypointsT>(value));
613 return *this;
614 }
615 template <typename WaypointsT = RouteWaypoint>
617 m_waypointsHasBeenSet = true;
618 m_waypoints.emplace_back(std::forward<WaypointsT>(value));
619 return *this;
620 }
622 private:
623 RouteAllowOptions m_allow;
624
625 Aws::String m_arrivalTime;
626
627 RouteAvoidanceOptions m_avoid;
628
629 bool m_departNow{false};
630
631 Aws::String m_departureTime;
632
633 Aws::Vector<double> m_destination;
634
635 RouteDestinationOptions m_destinationOptions;
636
637 RouteDriverOptions m_driver;
638
639 RouteExclusionOptions m_exclude;
640
641 MeasurementSystem m_instructionsMeasurementSystem{MeasurementSystem::NOT_SET};
642
643 Aws::String m_key;
644
645 Aws::Vector<Aws::String> m_languages;
646
647 Aws::Vector<RouteLegAdditionalFeature> m_legAdditionalFeatures;
648
649 GeometryFormat m_legGeometryFormat{GeometryFormat::NOT_SET};
650
651 int m_maxAlternatives{0};
652
653 RoutingObjective m_optimizeRoutingFor{RoutingObjective::NOT_SET};
654
655 Aws::Vector<double> m_origin;
656
657 RouteOriginOptions m_originOptions;
658
659 Aws::Vector<RouteSpanAdditionalFeature> m_spanAdditionalFeatures;
660
661 RouteTollOptions m_tolls;
662
663 RouteTrafficOptions m_traffic;
664
666
667 RouteTravelModeOptions m_travelModeOptions;
668
670
671 Aws::Vector<RouteWaypoint> m_waypoints;
672 bool m_allowHasBeenSet = false;
673 bool m_arrivalTimeHasBeenSet = false;
674 bool m_avoidHasBeenSet = false;
675 bool m_departNowHasBeenSet = false;
676 bool m_departureTimeHasBeenSet = false;
677 bool m_destinationHasBeenSet = false;
678 bool m_destinationOptionsHasBeenSet = false;
679 bool m_driverHasBeenSet = false;
680 bool m_excludeHasBeenSet = false;
681 bool m_instructionsMeasurementSystemHasBeenSet = false;
682 bool m_keyHasBeenSet = false;
683 bool m_languagesHasBeenSet = false;
684 bool m_legAdditionalFeaturesHasBeenSet = false;
685 bool m_legGeometryFormatHasBeenSet = false;
686 bool m_maxAlternativesHasBeenSet = false;
687 bool m_optimizeRoutingForHasBeenSet = false;
688 bool m_originHasBeenSet = false;
689 bool m_originOptionsHasBeenSet = false;
690 bool m_spanAdditionalFeaturesHasBeenSet = false;
691 bool m_tollsHasBeenSet = false;
692 bool m_trafficHasBeenSet = false;
693 bool m_travelModeHasBeenSet = false;
694 bool m_travelModeOptionsHasBeenSet = false;
695 bool m_travelStepTypeHasBeenSet = false;
696 bool m_waypointsHasBeenSet = false;
697};
698
699} // namespace Model
700} // namespace GeoRoutes
701} // 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