AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CalculateRouteRequest.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/location/LocationServiceRequest.h>
11#include <aws/location/LocationService_EXPORTS.h>
12#include <aws/location/model/CalculateRouteCarModeOptions.h>
13#include <aws/location/model/CalculateRouteTruckModeOptions.h>
14#include <aws/location/model/DistanceUnit.h>
15#include <aws/location/model/OptimizationMode.h>
16#include <aws/location/model/TravelMode.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Http {
22class URI;
23} // namespace Http
24namespace LocationService {
25namespace Model {
26
30 public:
31 AWS_LOCATIONSERVICE_API CalculateRouteRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CalculateRoute"; }
38
39 AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override;
40
41 AWS_LOCATIONSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
42
44
48 inline const Aws::String& GetCalculatorName() const { return m_calculatorName; }
49 inline bool CalculatorNameHasBeenSet() const { return m_calculatorNameHasBeenSet; }
50 template <typename CalculatorNameT = Aws::String>
51 void SetCalculatorName(CalculatorNameT&& value) {
52 m_calculatorNameHasBeenSet = true;
53 m_calculatorName = std::forward<CalculatorNameT>(value);
54 }
55 template <typename CalculatorNameT = Aws::String>
56 CalculateRouteRequest& WithCalculatorName(CalculatorNameT&& value) {
57 SetCalculatorName(std::forward<CalculatorNameT>(value));
58 return *this;
59 }
61
63
76 inline const Aws::Vector<double>& GetDeparturePosition() const { return m_departurePosition; }
77 inline bool DeparturePositionHasBeenSet() const { return m_departurePositionHasBeenSet; }
78 template <typename DeparturePositionT = Aws::Vector<double>>
79 void SetDeparturePosition(DeparturePositionT&& value) {
80 m_departurePositionHasBeenSet = true;
81 m_departurePosition = std::forward<DeparturePositionT>(value);
82 }
83 template <typename DeparturePositionT = Aws::Vector<double>>
84 CalculateRouteRequest& WithDeparturePosition(DeparturePositionT&& value) {
85 SetDeparturePosition(std::forward<DeparturePositionT>(value));
86 return *this;
87 }
89 m_departurePositionHasBeenSet = true;
90 m_departurePosition.push_back(value);
91 return *this;
92 }
94
96
107 inline const Aws::Vector<double>& GetDestinationPosition() const { return m_destinationPosition; }
108 inline bool DestinationPositionHasBeenSet() const { return m_destinationPositionHasBeenSet; }
109 template <typename DestinationPositionT = Aws::Vector<double>>
110 void SetDestinationPosition(DestinationPositionT&& value) {
111 m_destinationPositionHasBeenSet = true;
112 m_destinationPosition = std::forward<DestinationPositionT>(value);
113 }
114 template <typename DestinationPositionT = Aws::Vector<double>>
115 CalculateRouteRequest& WithDestinationPosition(DestinationPositionT&& value) {
116 SetDestinationPosition(std::forward<DestinationPositionT>(value));
117 return *this;
118 }
120 m_destinationPositionHasBeenSet = true;
121 m_destinationPosition.push_back(value);
122 return *this;
123 }
125
127
142 inline const Aws::Vector<Aws::Vector<double>>& GetWaypointPositions() const { return m_waypointPositions; }
143 inline bool WaypointPositionsHasBeenSet() const { return m_waypointPositionsHasBeenSet; }
144 template <typename WaypointPositionsT = Aws::Vector<Aws::Vector<double>>>
145 void SetWaypointPositions(WaypointPositionsT&& value) {
146 m_waypointPositionsHasBeenSet = true;
147 m_waypointPositions = std::forward<WaypointPositionsT>(value);
148 }
149 template <typename WaypointPositionsT = Aws::Vector<Aws::Vector<double>>>
150 CalculateRouteRequest& WithWaypointPositions(WaypointPositionsT&& value) {
151 SetWaypointPositions(std::forward<WaypointPositionsT>(value));
152 return *this;
153 }
154 template <typename WaypointPositionsT = Aws::Vector<double>>
155 CalculateRouteRequest& AddWaypointPositions(WaypointPositionsT&& value) {
156 m_waypointPositionsHasBeenSet = true;
157 m_waypointPositions.emplace_back(std::forward<WaypointPositionsT>(value));
158 return *this;
159 }
161
163
180 inline TravelMode GetTravelMode() const { return m_travelMode; }
181 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
182 inline void SetTravelMode(TravelMode value) {
183 m_travelModeHasBeenSet = true;
184 m_travelMode = value;
185 }
187 SetTravelMode(value);
188 return *this;
189 }
191
193
201 inline const Aws::Utils::DateTime& GetDepartureTime() const { return m_departureTime; }
202 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
203 template <typename DepartureTimeT = Aws::Utils::DateTime>
204 void SetDepartureTime(DepartureTimeT&& value) {
205 m_departureTimeHasBeenSet = true;
206 m_departureTime = std::forward<DepartureTimeT>(value);
207 }
208 template <typename DepartureTimeT = Aws::Utils::DateTime>
209 CalculateRouteRequest& WithDepartureTime(DepartureTimeT&& value) {
210 SetDepartureTime(std::forward<DepartureTimeT>(value));
211 return *this;
212 }
214
216
223 inline bool GetDepartNow() const { return m_departNow; }
224 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
225 inline void SetDepartNow(bool value) {
226 m_departNowHasBeenSet = true;
227 m_departNow = value;
228 }
230 SetDepartNow(value);
231 return *this;
232 }
234
236
240 inline DistanceUnit GetDistanceUnit() const { return m_distanceUnit; }
241 inline bool DistanceUnitHasBeenSet() const { return m_distanceUnitHasBeenSet; }
242 inline void SetDistanceUnit(DistanceUnit value) {
243 m_distanceUnitHasBeenSet = true;
244 m_distanceUnit = value;
245 }
247 SetDistanceUnit(value);
248 return *this;
249 }
251
253
258 inline bool GetIncludeLegGeometry() const { return m_includeLegGeometry; }
259 inline bool IncludeLegGeometryHasBeenSet() const { return m_includeLegGeometryHasBeenSet; }
260 inline void SetIncludeLegGeometry(bool value) {
261 m_includeLegGeometryHasBeenSet = true;
262 m_includeLegGeometry = value;
263 }
266 return *this;
267 }
269
271
276 inline const CalculateRouteCarModeOptions& GetCarModeOptions() const { return m_carModeOptions; }
277 inline bool CarModeOptionsHasBeenSet() const { return m_carModeOptionsHasBeenSet; }
278 template <typename CarModeOptionsT = CalculateRouteCarModeOptions>
279 void SetCarModeOptions(CarModeOptionsT&& value) {
280 m_carModeOptionsHasBeenSet = true;
281 m_carModeOptions = std::forward<CarModeOptionsT>(value);
282 }
283 template <typename CarModeOptionsT = CalculateRouteCarModeOptions>
284 CalculateRouteRequest& WithCarModeOptions(CarModeOptionsT&& value) {
285 SetCarModeOptions(std::forward<CarModeOptionsT>(value));
286 return *this;
287 }
289
291
297 inline const CalculateRouteTruckModeOptions& GetTruckModeOptions() const { return m_truckModeOptions; }
298 inline bool TruckModeOptionsHasBeenSet() const { return m_truckModeOptionsHasBeenSet; }
299 template <typename TruckModeOptionsT = CalculateRouteTruckModeOptions>
300 void SetTruckModeOptions(TruckModeOptionsT&& value) {
301 m_truckModeOptionsHasBeenSet = true;
302 m_truckModeOptions = std::forward<TruckModeOptionsT>(value);
303 }
304 template <typename TruckModeOptionsT = CalculateRouteTruckModeOptions>
305 CalculateRouteRequest& WithTruckModeOptions(TruckModeOptionsT&& value) {
306 SetTruckModeOptions(std::forward<TruckModeOptionsT>(value));
307 return *this;
308 }
310
312
318 inline const Aws::Utils::DateTime& GetArrivalTime() const { return m_arrivalTime; }
319 inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; }
320 template <typename ArrivalTimeT = Aws::Utils::DateTime>
321 void SetArrivalTime(ArrivalTimeT&& value) {
322 m_arrivalTimeHasBeenSet = true;
323 m_arrivalTime = std::forward<ArrivalTimeT>(value);
324 }
325 template <typename ArrivalTimeT = Aws::Utils::DateTime>
326 CalculateRouteRequest& WithArrivalTime(ArrivalTimeT&& value) {
327 SetArrivalTime(std::forward<ArrivalTimeT>(value));
328 return *this;
329 }
331
333
336 inline OptimizationMode GetOptimizeFor() const { return m_optimizeFor; }
337 inline bool OptimizeForHasBeenSet() const { return m_optimizeForHasBeenSet; }
338 inline void SetOptimizeFor(OptimizationMode value) {
339 m_optimizeForHasBeenSet = true;
340 m_optimizeFor = value;
341 }
343 SetOptimizeFor(value);
344 return *this;
345 }
347
349
354 inline const Aws::String& GetKey() const { return m_key; }
355 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
356 template <typename KeyT = Aws::String>
357 void SetKey(KeyT&& value) {
358 m_keyHasBeenSet = true;
359 m_key = std::forward<KeyT>(value);
360 }
361 template <typename KeyT = Aws::String>
363 SetKey(std::forward<KeyT>(value));
364 return *this;
365 }
367 private:
368 Aws::String m_calculatorName;
369
370 Aws::Vector<double> m_departurePosition;
371
372 Aws::Vector<double> m_destinationPosition;
373
374 Aws::Vector<Aws::Vector<double>> m_waypointPositions;
375
376 TravelMode m_travelMode{TravelMode::NOT_SET};
377
378 Aws::Utils::DateTime m_departureTime{};
379
380 bool m_departNow{false};
381
382 DistanceUnit m_distanceUnit{DistanceUnit::NOT_SET};
383
384 bool m_includeLegGeometry{false};
385
386 CalculateRouteCarModeOptions m_carModeOptions;
387
388 CalculateRouteTruckModeOptions m_truckModeOptions;
389
390 Aws::Utils::DateTime m_arrivalTime{};
391
393
394 Aws::String m_key;
395 bool m_calculatorNameHasBeenSet = false;
396 bool m_departurePositionHasBeenSet = false;
397 bool m_destinationPositionHasBeenSet = false;
398 bool m_waypointPositionsHasBeenSet = false;
399 bool m_travelModeHasBeenSet = false;
400 bool m_departureTimeHasBeenSet = false;
401 bool m_departNowHasBeenSet = false;
402 bool m_distanceUnitHasBeenSet = false;
403 bool m_includeLegGeometryHasBeenSet = false;
404 bool m_carModeOptionsHasBeenSet = false;
405 bool m_truckModeOptionsHasBeenSet = false;
406 bool m_arrivalTimeHasBeenSet = false;
407 bool m_optimizeForHasBeenSet = false;
408 bool m_keyHasBeenSet = false;
409};
410
411} // namespace Model
412} // namespace LocationService
413} // namespace Aws
CalculateRouteRequest & WithTravelMode(TravelMode value)
const CalculateRouteCarModeOptions & GetCarModeOptions() const
CalculateRouteRequest & WithCarModeOptions(CarModeOptionsT &&value)
CalculateRouteRequest & WithArrivalTime(ArrivalTimeT &&value)
CalculateRouteRequest & WithTruckModeOptions(TruckModeOptionsT &&value)
CalculateRouteRequest & AddWaypointPositions(WaypointPositionsT &&value)
const Aws::Vector< double > & GetDeparturePosition() const
const Aws::Vector< Aws::Vector< double > > & GetWaypointPositions() const
CalculateRouteRequest & WithIncludeLegGeometry(bool value)
CalculateRouteRequest & WithCalculatorName(CalculatorNameT &&value)
const CalculateRouteTruckModeOptions & GetTruckModeOptions() const
CalculateRouteRequest & AddDestinationPosition(double value)
const Aws::Vector< double > & GetDestinationPosition() const
virtual const char * GetServiceRequestName() const override
CalculateRouteRequest & WithDepartureTime(DepartureTimeT &&value)
CalculateRouteRequest & AddDeparturePosition(double value)
CalculateRouteRequest & WithDestinationPosition(DestinationPositionT &&value)
CalculateRouteRequest & WithDistanceUnit(DistanceUnit value)
AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override
CalculateRouteRequest & WithOptimizeFor(OptimizationMode value)
const Aws::Utils::DateTime & GetDepartureTime() const
CalculateRouteRequest & WithWaypointPositions(WaypointPositionsT &&value)
AWS_LOCATIONSERVICE_API CalculateRouteRequest()=default
CalculateRouteRequest & WithDeparturePosition(DeparturePositionT &&value)
void SetDestinationPosition(DestinationPositionT &&value)
const Aws::Utils::DateTime & GetArrivalTime() const
AWS_LOCATIONSERVICE_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector